diff --git a/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-bundle.json b/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-bundle.json index 90fae187..719f60dc 100644 --- a/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-bundle.json +++ b/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-bundle.json @@ -168,6 +168,58 @@ "method": "PUT", "url": "Patient/denom-EXM104-FHIR3" } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.292", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292", + "title": "Emergency Department Visit", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "4525004", + "display": "Emergency department patient visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1111.143", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143", + "title": "Observation Services", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-09", + "concept": [ { + "code": "448851000124103", + "display": "Hospital admission from observation unit (procedure)" + }, { + "code": "448951000124107", + "display": "Admission to observation unit (procedure)" + }, { + "code": "76464004", + "display": "Hospital admission, for observation (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1111.143" + } }, { "resource": { "resourceType": "MeasureReport", @@ -441,178 +493,6 @@ "method": "PUT", "url": "MeasureReport/measurereport-numer-EXM104-FHIR3" } - }, { - "resource": { - "resourceType": "Condition", - "id": "denom-EXM104-FHIR3-1", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition" ] - }, - "verificationStatus": "confirmed", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/condition-category", - "code": "encounter-diagnosis", - "display": "Encounter Diagnosis" - } ] - } ], - "code": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "116288000", - "display": "Paralytic stroke (disorder)" - } ] - }, - "subject": { - "reference": "Patient/denom-EXM104-FHIR3" - } - }, - "request": { - "method": "PUT", - "url": "Condition/denom-EXM104-FHIR3-1" - } - }, { - "resource": { - "resourceType": "Bundle", - "id": "tests-Condition-bundle", - "type": "transaction", - "entry": [ { - "resource": { - "resourceType": "Condition", - "id": "denom-EXM104-FHIR3-1", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition" ] - }, - "verificationStatus": "confirmed", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/condition-category", - "code": "encounter-diagnosis", - "display": "Encounter Diagnosis" - } ] - } ], - "code": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "116288000", - "display": "Paralytic stroke (disorder)" - } ] - }, - "subject": { - "reference": "Patient/denom-EXM104-FHIR3" - } - }, - "request": { - "method": "PUT", - "url": "Condition/denom-EXM104-FHIR3-1" - } - } ] - }, - "request": { - "method": "PUT", - "url": "tests-Condition-bundle" - } - }, { - "resource": { - "resourceType": "Encounter", - "id": "denom-EXM104-FHIR3-2", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] - }, - "status": "finished", - "class": { - "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", - "code": "IMP", - "display": "inpatient encounter" - }, - "type": [ { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "32485007", - "display": "Hospital admission (procedure)" - } ] - } ], - "subject": { - "reference": "Patient/denom-EXM104-FHIR3" - }, - "period": { - "start": "2019-08-21T00:00:00-06:00", - "end": "2019-12-19T08:15:00-07:00" - }, - "diagnosis": [ { - "condition": { - "reference": "Condition/denom-EXM104-FHIR3-1" - }, - "role": { - "coding": [ { - "system": "http://hl7.org/fhir/diagnosis-role", - "code": "billing", - "display": "Billing" - } ] - }, - "rank": 1 - } ] - }, - "request": { - "method": "PUT", - "url": "Encounter/denom-EXM104-FHIR3-2" - } - }, { - "resource": { - "resourceType": "Bundle", - "id": "tests-Encounter-bundle", - "type": "transaction", - "entry": [ { - "resource": { - "resourceType": "Encounter", - "id": "denom-EXM104-FHIR3-2", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] - }, - "status": "finished", - "class": { - "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", - "code": "IMP", - "display": "inpatient encounter" - }, - "type": [ { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "32485007", - "display": "Hospital admission (procedure)" - } ] - } ], - "subject": { - "reference": "Patient/denom-EXM104-FHIR3" - }, - "period": { - "start": "2019-08-21T00:00:00-06:00", - "end": "2019-12-19T08:15:00-07:00" - }, - "diagnosis": [ { - "condition": { - "reference": "Condition/denom-EXM104-FHIR3-1" - }, - "role": { - "coding": [ { - "system": "http://hl7.org/fhir/diagnosis-role", - "code": "billing", - "display": "Billing" - } ] - }, - "rank": 1 - } ] - }, - "request": { - "method": "PUT", - "url": "Encounter/denom-EXM104-FHIR3-2" - } - } ] - }, - "request": { - "method": "PUT", - "url": "tests-Encounter-bundle" - } }, { "resource": { "resourceType": "Patient", @@ -704,16 +584,11 @@ }, "text": { "status": "generated", - "div": "
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Measure Title

Discharged on Antithrombotic Therapy

Measure ID

EXM104

Description

Ischemic stroke patients prescribed or continuing to take antithrombotic therapy at hospital discharge

\n
\n
\n
Measurement PeriodJanuary 1 - December 31
Copyright and Disclaimer Notice\n
\n
These performance measures are not clinical guidelines and do not establish a standard of medical care, and have not been tested for all potential applications. The measures and specifications are provided without warranty.
\n
\n
HEDIS%26reg; is a registered trademark of the National Committee for Quality Assurance (NCQA). The HEDIS measures and specifications are owned by NCQA. NCQA holds a copyright in the HEDIS measures and specifications and may rescind or alter these measures and specifications at any time. Users of the HEDIS measures and specifications shall not have the right to alter, enhance or otherwise modify the HEDIS measures and specifications, and shall not disassemble, recompile or reverse engineer the HEDIS measures and specifications. Anyone desiring to use or reproduce the materials, subject to licensed user restrictions, without modification for an internal, non-commercial purpose may do so without obtaining any approval from NCQA. Use of the Rules for Allowable Adjustments of HEDIS to make permitted adjustments of the materials does not constitute a modification. All other uses, including a commercial use, or any external reproduction, distribution and publication must be approved by NCQA and are subject to a license at the discretion of NCQA.\n\nHEDIS measures and specifications are not clinical guidelines, do not establish a standard of medical care and have not been tested for all potential applications. The measures and specifications are provided “as is” without warranty of any kind. NCQA makes no representations, warranties or endorsements about the quality of any product, test or protocol identified as numerator compliant or otherwise identified as meeting the requirements of a HEDIS measure or specification. NCQA also makes no representations, warranties or endorsements about the quality of any organization or clinician who uses or reports performance measures. NCQA has no liability to anyone who relies on HEDIS measures and specifications or data reflective of performance under such measures and specifications.\n\nCalculated measure results, based on unadjusted HEDIS specifications, may not be termed “Health Plan HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Uncertified, Unaudited Health Plan HEDIS Rates.”\n\nCalculated measure results, based on adjusted HEDIS specifications, may not be termed “Adjusted HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Adjusted, Uncertified, Unaudited HEDIS Rates.”\n\nLimited proprietary coding is contained in the measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. NCQA disclaims all liability for use or accuracy of any coding contained in the specifications.\n\nThe American Medical Association holds a copyright to the CPT%26reg; codes contained in the measures specifications.\n\nThe American Hospital Association holds a copyright to the Uniform Bill Codes (UB) contained in the measure specifications. The UB Codes in the HEDIS specifications are included with the permission of the AHA. The UB Codes contained in the HEDIS specifications may be used by health plans and other health care delivery organizations for the purpose of calculating and reporting HEDIS measure results or using HEDIS measure results for their internal quality improvement purposes. All other uses of the UB Codes require a license from the AHA. Anyone desiring to use the UB Codes in a commercial Product(s) to generate HEDIS results, or for any other commercial use, must obtain a commercial use license directly from the AHA. To inquire about licensing, contact ub04@healthforum.com.\n\nSome measure specifications contain coding from LOINC%26reg; (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright %26copy; 1995-2019, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/terms-of-use.\n\n"SNOMED” and “SNOMED CT” are registered trademarks of the International Health Terminology Standards Development Organization (IHTSDO).\n\n“HL7” is the registered trademark of Health Level Seven International.\n\n%26copy; 2019 by the National Committee for Quality Assurance, all rights reserved.
\n
\n
Clinical Recommendation Statement\n

Clinical trial results suggest that antithrombotic therapy should be prescribed at discharge following acute ischemic stroke to reduce stroke mortality and morbidity as long as no contraindications exist

\n
\n
References\n
\n
Adams HP, del Zoppo G, Alberts MJ, Bhatt DL, Brass L, Furlan A, Grubb RL, Higashida RT, Jauch EC, Kidwell C, Lyden PD, Morgenstern LB, Qureshi AI, Rosenwasser RH, Scott PA, Wijdicks E. Guidelines for the Early Management of Adults with Ischemic Stroke: A Guideline From the American Heart Association/American Stroke Association Stroke Council, Clinical CardiologyCouncil, Cardiovascular Radiology and Intervention Council, and the Atherosclerotic Peripheral Vascular Disease and Quality of Care Outcomes in Research Interdisciplinary Working Groups. Stroke. 2007;38:1655-1711.
\n
\n
\n
\n
Adams H, Adams R, Del Zoppo G, Goldstein LB. Guidelines for the Early Management of Patients With Ischemic Stroke: Guidelines Update A Scientific Statement From the Stroke Council of the American Heart Association/American Stroke Association. Stroke Vol. 36, 2005: 916:923.
\n
\n
\n
\n
Albers GW, Amarenco P, Easton JD, Sacco RL, Teal P. Antithrombotic and Thrombolytic Therapy for Ischemic Stroke. Chest Vol. 119, 2001: 300-320.
\n
\n
\n
\n
Brott TG, Clark WM, Grotta JC, et al. Stroke the first hours. Guidelines for acute treatment. Consensus Statement. National Stroke Association. 2000.
\n
\n
\n
\n
Chen ZM, Sandercock P, Pan HC, et al. Indications for early aspirin use in acute ischemic stroke: a combined analysis of 40,000 randomized patients from the Chinese acute stroke trial and the international stroke trial. On behalf of the CAST and IST collaborative groups, Stroke 2000;31:1240-1249.
\n
\n
\n
\n
Coull BM, Williams LS, Goldstein LB, et al. Anticoagulants and Antiplatelet Agents in Acute Ischemic Stroke. Report of the Joint Stroke Guideline Development Committee of the American Academy of Neurology and the American Stroke Association (a Division of the American Heart Association) Stroke. 2002;33:1934 - 1942.
\n
\n
\n
\n
Guideline on the Use of Aspirin as Secondary Prophylaxis for Vascular Disease in Primary Care, Centre for Health Services Research University of Newcastle upon Tyne, %26amp; Centre for Health Economics of York, 1998.
\n
\n
\n
\n
Kernan, W.N., B. Ovbiagele, H. R. Black, D. M. Bravata, M. I. Chimowitz, M. D. Ezekowitz, M. C. Fang, M. Fisher, K. L. Furie, D. V. Heck, S. C. Johnston, S. E. Kasner, S. J. Kittner, P. H. Mitchell, M. W. Rich, D. Richardson, L. H. Schwamm, J. A. Wilson. "Guidelines for the Prevention of Stroke in Patients with Stroke and Transient Ischemic Attack: A Guideline for Healthcare Professionals from the American Heart Association/American Stroke Association." [in eng.]  Stroke 45, no. 7 (May 2014): 2160-223. 
\n
\n
Characteristics
ScoringProportion
TypeProcess
Improvement NotationA higher rate indicates better performance.
Guidance\n

The "Non-elective Inpatient Encounter" value set intends to capture all non-scheduled hospitalizations. This value set is a subset of the "Inpatient encounter" value set, excluding concepts that specifically refer to elective hospital admissions. Non-elective admissions include emergency, urgent and unplanned admissions.

\n

The "Medication, Discharge" datatype refers to the discharge medication list and is intended to express medications ordered for post-discharge use.

\n
\n
Definitions
\n \n \n
\n \n \n \n \n
\n

Table of Contents

\n \n
\n \n

Definitions

\n \n

Functions

\n \n

Terminology

\n
\n
    \n \n
\n
\n

Data Criteria (QDM Data Elements)

\n
\n
    \n \n
\n
\n

Supplemental Data Elements

\n \n
\n
    \n
  • None
  • \n
\n
\n

Risk Adjustment Variables

\n
\n
    \n
  • None
  • \n
\n
\n
\n \n \n \n
\n
" + "div": "
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Measure Title

Discharged on Antithrombotic Therapy

Measure ID

EXM104

Description

Ischemic stroke patients prescribed or continuing to take antithrombotic therapy at hospital discharge

\n
\n
\n
Measurement PeriodJanuary 1 - December 31
Copyright and Disclaimer Notice\n
\n
These performance measures are not clinical guidelines and do not establish a standard of medical care, and have not been tested for all potential applications. The measures and specifications are provided without warranty.
\n
\n
HEDIS%26reg; is a registered trademark of the National Committee for Quality Assurance (NCQA). The HEDIS measures and specifications are owned by NCQA. NCQA holds a copyright in the HEDIS measures and specifications and may rescind or alter these measures and specifications at any time. Users of the HEDIS measures and specifications shall not have the right to alter, enhance or otherwise modify the HEDIS measures and specifications, and shall not disassemble, recompile or reverse engineer the HEDIS measures and specifications. Anyone desiring to use or reproduce the materials, subject to licensed user restrictions, without modification for an internal, non-commercial purpose may do so without obtaining any approval from NCQA. Use of the Rules for Allowable Adjustments of HEDIS to make permitted adjustments of the materials does not constitute a modification. All other uses, including a commercial use, or any external reproduction, distribution and publication must be approved by NCQA and are subject to a license at the discretion of NCQA.\n\nHEDIS measures and specifications are not clinical guidelines, do not establish a standard of medical care and have not been tested for all potential applications. The measures and specifications are provided “as is” without warranty of any kind. NCQA makes no representations, warranties or endorsements about the quality of any product, test or protocol identified as numerator compliant or otherwise identified as meeting the requirements of a HEDIS measure or specification. NCQA also makes no representations, warranties or endorsements about the quality of any organization or clinician who uses or reports performance measures. NCQA has no liability to anyone who relies on HEDIS measures and specifications or data reflective of performance under such measures and specifications.\n\nCalculated measure results, based on unadjusted HEDIS specifications, may not be termed “Health Plan HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Uncertified, Unaudited Health Plan HEDIS Rates.”\n\nCalculated measure results, based on adjusted HEDIS specifications, may not be termed “Adjusted HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Adjusted, Uncertified, Unaudited HEDIS Rates.”\n\nLimited proprietary coding is contained in the measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. NCQA disclaims all liability for use or accuracy of any coding contained in the specifications.\n\nThe American Medical Association holds a copyright to the CPT%26reg; codes contained in the measures specifications.\n\nThe American Hospital Association holds a copyright to the Uniform Bill Codes (UB) contained in the measure specifications. The UB Codes in the HEDIS specifications are included with the permission of the AHA. The UB Codes contained in the HEDIS specifications may be used by health plans and other health care delivery organizations for the purpose of calculating and reporting HEDIS measure results or using HEDIS measure results for their internal quality improvement purposes. All other uses of the UB Codes require a license from the AHA. Anyone desiring to use the UB Codes in a commercial Product(s) to generate HEDIS results, or for any other commercial use, must obtain a commercial use license directly from the AHA. To inquire about licensing, contact ub04@healthforum.com.\n\nSome measure specifications contain coding from LOINC%26reg; (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright %26copy; 1995-2019, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/terms-of-use.\n\n"SNOMED” and “SNOMED CT” are registered trademarks of the International Health Terminology Standards Development Organization (IHTSDO).\n\n“HL7” is the registered trademark of Health Level Seven International.\n\n%26copy; 2019 by the National Committee for Quality Assurance, all rights reserved.
\n
\n
Clinical Recommendation Statement\n

Clinical trial results suggest that antithrombotic therapy should be prescribed at discharge following acute ischemic stroke to reduce stroke mortality and morbidity as long as no contraindications exist

\n
\n
References\n
\n
Adams HP, del Zoppo G, Alberts MJ, Bhatt DL, Brass L, Furlan A, Grubb RL, Higashida RT, Jauch EC, Kidwell C, Lyden PD, Morgenstern LB, Qureshi AI, Rosenwasser RH, Scott PA, Wijdicks E. Guidelines for the Early Management of Adults with Ischemic Stroke: A Guideline From the American Heart Association/American Stroke Association Stroke Council, Clinical CardiologyCouncil, Cardiovascular Radiology and Intervention Council, and the Atherosclerotic Peripheral Vascular Disease and Quality of Care Outcomes in Research Interdisciplinary Working Groups. Stroke. 2007;38:1655-1711.
\n
\n
\n
\n
Adams H, Adams R, Del Zoppo G, Goldstein LB. Guidelines for the Early Management of Patients With Ischemic Stroke: Guidelines Update A Scientific Statement From the Stroke Council of the American Heart Association/American Stroke Association. Stroke Vol. 36, 2005: 916:923.
\n
\n
\n
\n
Albers GW, Amarenco P, Easton JD, Sacco RL, Teal P. Antithrombotic and Thrombolytic Therapy for Ischemic Stroke. Chest Vol. 119, 2001: 300-320.
\n
\n
\n
\n
Brott TG, Clark WM, Grotta JC, et al. Stroke the first hours. Guidelines for acute treatment. Consensus Statement. National Stroke Association. 2000.
\n
\n
\n
\n
Chen ZM, Sandercock P, Pan HC, et al. Indications for early aspirin use in acute ischemic stroke: a combined analysis of 40,000 randomized patients from the Chinese acute stroke trial and the international stroke trial. On behalf of the CAST and IST collaborative groups, Stroke 2000;31:1240-1249.
\n
\n
\n
\n
Coull BM, Williams LS, Goldstein LB, et al. Anticoagulants and Antiplatelet Agents in Acute Ischemic Stroke. Report of the Joint Stroke Guideline Development Committee of the American Academy of Neurology and the American Stroke Association (a Division of the American Heart Association) Stroke. 2002;33:1934 - 1942.
\n
\n
\n
\n
Guideline on the Use of Aspirin as Secondary Prophylaxis for Vascular Disease in Primary Care, Centre for Health Services Research University of Newcastle upon Tyne, %26amp; Centre for Health Economics of York, 1998.
\n
\n
\n
\n
Kernan, W.N., B. Ovbiagele, H. R. Black, D. M. Bravata, M. I. Chimowitz, M. D. Ezekowitz, M. C. Fang, M. Fisher, K. L. Furie, D. V. Heck, S. C. Johnston, S. E. Kasner, S. J. Kittner, P. H. Mitchell, M. W. Rich, D. Richardson, L. H. Schwamm, J. A. Wilson. "Guidelines for the Prevention of Stroke in Patients with Stroke and Transient Ischemic Attack: A Guideline for Healthcare Professionals from the American Heart Association/American Stroke Association." [in eng.]  Stroke 45, no. 7 (May 2014): 2160-223. 
\n
\n
Characteristics
ScoringProportion
TypeProcess
Improvement NotationA higher rate indicates better performance.
Guidance\n

The "Non-elective Inpatient Encounter" value set intends to capture all non-scheduled hospitalizations. This value set is a subset of the "Inpatient encounter" value set, excluding concepts that specifically refer to elective hospital admissions. Non-elective admissions include emergency, urgent and unplanned admissions.

\n

The "Medication, Discharge" datatype refers to the discharge medication list and is intended to express medications ordered for post-discharge use.

\n
\n
Definitions
\n \n \n
\n \n \n \n \n
\n

Table of Contents

\n \n
\n \n

Definitions

\n \n

Functions

\n \n

Terminology

\n
\n
    \n \n
\n
\n

Data Criteria (QDM Data Elements)

\n
\n
    \n \n
\n
\n

Supplemental Data Elements

\n \n
\n
    \n
  • None
  • \n
\n
\n

Risk Adjustment Variables

\n
\n
    \n
  • None
  • \n
\n
\n
\n \n \n \n
\n
" }, "extension": [ { "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", "valueCode": "boolean" - }, { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-exm104-FHIR3", "identifier": [ { @@ -919,64 +794,465 @@ } }, { "resource": { - "resourceType": "MeasureReport", - "id": "measurereport-denom-EXM104-FHIR3", - "contained": [ { - "resourceType": "Bundle", - "id": "b20ba55e-a72e-493d-868d-e9f6c007d11a", - "type": "collection", - "entry": [ { - "fullUrl": "Condition/denom-EXM104-FHIR3-1", - "resource": { - "resourceType": "Condition", - "id": "denom-EXM104-FHIR3-1", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition" ] - }, - "verificationStatus": "confirmed", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/condition-category", - "code": "encounter-diagnosis", - "display": "Encounter Diagnosis" - } ] - } ], - "code": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "116288000", - "display": "Paralytic stroke (disorder)" - } ] - }, - "subject": { - "reference": "Patient/denom-EXM104-FHIR3" - } - } - }, { - "fullUrl": "Encounter/denom-EXM104-FHIR3-2", - "resource": { - "resourceType": "Encounter", - "id": "denom-EXM104-FHIR3-2", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] - }, - "status": "finished", - "class": { - "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", - "code": "IMP", - "display": "inpatient encounter" - }, - "type": [ { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "32485007", - "display": "Hospital admission (procedure)" - } ] - } ], - "subject": { - "reference": "Patient/denom-EXM104-FHIR3" - }, - "period": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.247", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247", + "title": "Ischemic Stroke", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "111297002", + "display": "Nonparalytic stroke (disorder)" + }, { + "code": "116288000", + "display": "Paralytic stroke (disorder)" + }, { + "code": "195185009", + "display": "Cerebral infarct due to thrombosis of precerebral arteries (disorder)" + }, { + "code": "195186005", + "display": "Cerebral infarction due to embolism of precerebral arteries (disorder)" + }, { + "code": "195189003", + "display": "Cerebral infarction due to thrombosis of cerebral arteries (disorder)" + }, { + "code": "195190007", + "display": "Cerebral infarction due to embolism of cerebral arteries (disorder)" + }, { + "code": "195212005", + "display": "Brainstem stroke syndrome (disorder)" + }, { + "code": "195213000", + "display": "Cerebellar stroke syndrome (disorder)" + }, { + "code": "195216008", + "display": "Left sided cerebral hemisphere cerebrovascular accident (disorder)" + }, { + "code": "195217004", + "display": "Right sided cerebral hemisphere cerebrovascular accident (disorder)" + }, { + "code": "195230003", + "display": "Cerebral infarction due to cerebral venous thrombosis, non-pyogenic (disorder)" + }, { + "code": "230690007", + "display": "Cerebrovascular accident (disorder)" + }, { + "code": "230691006", + "display": "Cerebrovascular accident due to occlusion of cerebral artery (disorder)" + }, { + "code": "230692004", + "display": "Infarction - precerebral (disorder)" + }, { + "code": "230693009", + "display": "Anterior cerebral circulation infarction (disorder)" + }, { + "code": "230694003", + "display": "Total anterior cerebral circulation infarction (disorder)" + }, { + "code": "230695002", + "display": "Partial anterior cerebral circulation infarction (disorder)" + }, { + "code": "230696001", + "display": "Posterior cerebral circulation infarction (disorder)" + }, { + "code": "230698000", + "display": "Lacunar infarction (disorder)" + }, { + "code": "230699008", + "display": "Pure motor lacunar infarction (disorder)" + }, { + "code": "230700009", + "display": "Pure sensory lacunar infarction (disorder)" + }, { + "code": "230701008", + "display": "Pure sensorimotor lacunar infarction (disorder)" + }, { + "code": "307363008", + "display": "Multiple lacunar infarcts (disorder)" + }, { + "code": "426107000", + "display": "Acute lacunar infarction (disorder)" + } ] + }, { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2020", + "concept": [ { + "code": "I63.00", + "display": "Cerebral infarction due to thrombosis of unspecified precerebral artery" + }, { + "code": "I63.011", + "display": "Cerebral infarction due to thrombosis of right vertebral artery" + }, { + "code": "I63.012", + "display": "Cerebral infarction due to thrombosis of left vertebral artery" + }, { + "code": "I63.013", + "display": "Cerebral infarction due to thrombosis of bilateral vertebral arteries" + }, { + "code": "I63.019", + "display": "Cerebral infarction due to thrombosis of unspecified vertebral artery" + }, { + "code": "I63.02", + "display": "Cerebral infarction due to thrombosis of basilar artery" + }, { + "code": "I63.031", + "display": "Cerebral infarction due to thrombosis of right carotid artery" + }, { + "code": "I63.032", + "display": "Cerebral infarction due to thrombosis of left carotid artery" + }, { + "code": "I63.033", + "display": "Cerebral infarction due to thrombosis of bilateral carotid arteries" + }, { + "code": "I63.039", + "display": "Cerebral infarction due to thrombosis of unspecified carotid artery" + }, { + "code": "I63.09", + "display": "Cerebral infarction due to thrombosis of other precerebral artery" + }, { + "code": "I63.10", + "display": "Cerebral infarction due to embolism of unspecified precerebral artery" + }, { + "code": "I63.111", + "display": "Cerebral infarction due to embolism of right vertebral artery" + }, { + "code": "I63.112", + "display": "Cerebral infarction due to embolism of left vertebral artery" + }, { + "code": "I63.113", + "display": "Cerebral infarction due to embolism of bilateral vertebral arteries" + }, { + "code": "I63.119", + "display": "Cerebral infarction due to embolism of unspecified vertebral artery" + }, { + "code": "I63.12", + "display": "Cerebral infarction due to embolism of basilar artery" + }, { + "code": "I63.131", + "display": "Cerebral infarction due to embolism of right carotid artery" + }, { + "code": "I63.132", + "display": "Cerebral infarction due to embolism of left carotid artery" + }, { + "code": "I63.133", + "display": "Cerebral infarction due to embolism of bilateral carotid arteries" + }, { + "code": "I63.139", + "display": "Cerebral infarction due to embolism of unspecified carotid artery" + }, { + "code": "I63.19", + "display": "Cerebral infarction due to embolism of other precerebral artery" + }, { + "code": "I63.20", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified precerebral arteries" + }, { + "code": "I63.211", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right vertebral artery" + }, { + "code": "I63.212", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left vertebral artery" + }, { + "code": "I63.213", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral vertebral arteries" + }, { + "code": "I63.219", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified vertebral artery" + }, { + "code": "I63.22", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of basilar artery" + }, { + "code": "I63.231", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right carotid arteries" + }, { + "code": "I63.232", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left carotid arteries" + }, { + "code": "I63.233", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral carotid arteries" + }, { + "code": "I63.239", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified carotid artery" + }, { + "code": "I63.29", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of other precerebral arteries" + }, { + "code": "I63.30", + "display": "Cerebral infarction due to thrombosis of unspecified cerebral artery" + }, { + "code": "I63.311", + "display": "Cerebral infarction due to thrombosis of right middle cerebral artery" + }, { + "code": "I63.312", + "display": "Cerebral infarction due to thrombosis of left middle cerebral artery" + }, { + "code": "I63.313", + "display": "Cerebral infarction due to thrombosis of bilateral middle cerebral arteries" + }, { + "code": "I63.319", + "display": "Cerebral infarction due to thrombosis of unspecified middle cerebral artery" + }, { + "code": "I63.321", + "display": "Cerebral infarction due to thrombosis of right anterior cerebral artery" + }, { + "code": "I63.322", + "display": "Cerebral infarction due to thrombosis of left anterior cerebral artery" + }, { + "code": "I63.323", + "display": "Cerebral infarction due to thrombosis of bilateral anterior cerebral arteries" + }, { + "code": "I63.329", + "display": "Cerebral infarction due to thrombosis of unspecified anterior cerebral artery" + }, { + "code": "I63.331", + "display": "Cerebral infarction due to thrombosis of right posterior cerebral artery" + }, { + "code": "I63.332", + "display": "Cerebral infarction due to thrombosis of left posterior cerebral artery" + }, { + "code": "I63.333", + "display": "Cerebral infarction due to thrombosis of bilateral posterior cerebral arteries" + }, { + "code": "I63.339", + "display": "Cerebral infarction due to thrombosis of unspecified posterior cerebral artery" + }, { + "code": "I63.341", + "display": "Cerebral infarction due to thrombosis of right cerebellar artery" + }, { + "code": "I63.342", + "display": "Cerebral infarction due to thrombosis of left cerebellar artery" + }, { + "code": "I63.343", + "display": "Cerebral infarction due to thrombosis of bilateral cerebellar arteries" + }, { + "code": "I63.349", + "display": "Cerebral infarction due to thrombosis of unspecified cerebellar artery" + }, { + "code": "I63.39", + "display": "Cerebral infarction due to thrombosis of other cerebral artery" + }, { + "code": "I63.40", + "display": "Cerebral infarction due to embolism of unspecified cerebral artery" + }, { + "code": "I63.411", + "display": "Cerebral infarction due to embolism of right middle cerebral artery" + }, { + "code": "I63.412", + "display": "Cerebral infarction due to embolism of left middle cerebral artery" + }, { + "code": "I63.413", + "display": "Cerebral infarction due to embolism of bilateral middle cerebral arteries" + }, { + "code": "I63.419", + "display": "Cerebral infarction due to embolism of unspecified middle cerebral artery" + }, { + "code": "I63.421", + "display": "Cerebral infarction due to embolism of right anterior cerebral artery" + }, { + "code": "I63.422", + "display": "Cerebral infarction due to embolism of left anterior cerebral artery" + }, { + "code": "I63.423", + "display": "Cerebral infarction due to embolism of bilateral anterior cerebral arteries" + }, { + "code": "I63.429", + "display": "Cerebral infarction due to embolism of unspecified anterior cerebral artery" + }, { + "code": "I63.431", + "display": "Cerebral infarction due to embolism of right posterior cerebral artery" + }, { + "code": "I63.432", + "display": "Cerebral infarction due to embolism of left posterior cerebral artery" + }, { + "code": "I63.433", + "display": "Cerebral infarction due to embolism of bilateral posterior cerebral arteries" + }, { + "code": "I63.439", + "display": "Cerebral infarction due to embolism of unspecified posterior cerebral artery" + }, { + "code": "I63.441", + "display": "Cerebral infarction due to embolism of right cerebellar artery" + }, { + "code": "I63.442", + "display": "Cerebral infarction due to embolism of left cerebellar artery" + }, { + "code": "I63.443", + "display": "Cerebral infarction due to embolism of bilateral cerebellar arteries" + }, { + "code": "I63.449", + "display": "Cerebral infarction due to embolism of unspecified cerebellar artery" + }, { + "code": "I63.49", + "display": "Cerebral infarction due to embolism of other cerebral artery" + }, { + "code": "I63.50", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified cerebral artery" + }, { + "code": "I63.511", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right middle cerebral artery" + }, { + "code": "I63.512", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left middle cerebral artery" + }, { + "code": "I63.513", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral middle cerebral arteries" + }, { + "code": "I63.519", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified middle cerebral artery" + }, { + "code": "I63.521", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right anterior cerebral artery" + }, { + "code": "I63.522", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left anterior cerebral artery" + }, { + "code": "I63.523", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral anterior cerebral arteries" + }, { + "code": "I63.529", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified anterior cerebral artery" + }, { + "code": "I63.531", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right posterior cerebral artery" + }, { + "code": "I63.532", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left posterior cerebral artery" + }, { + "code": "I63.533", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral posterior cerebral arteries" + }, { + "code": "I63.539", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified posterior cerebral artery" + }, { + "code": "I63.541", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right cerebellar artery" + }, { + "code": "I63.542", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left cerebellar artery" + }, { + "code": "I63.543", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral cerebellar arteries" + }, { + "code": "I63.549", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified cerebellar artery" + }, { + "code": "I63.59", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of other cerebral artery" + }, { + "code": "I63.6", + "display": "Cerebral infarction due to cerebral venous thrombosis, nonpyogenic" + }, { + "code": "I63.81", + "display": "Other cerebral infarction due to occlusion or stenosis of small artery" + }, { + "code": "I63.89", + "display": "Other cerebral infarction" + }, { + "code": "I63.9", + "display": "Cerebral infarction, unspecified" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.247" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.424", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.424" + } ], + "version": "20170726", + "name": "Non-ElectiveInpatientEncounter", + "title": "Non-Elective Inpatient Encounter", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } + }, { + "resource": { + "resourceType": "MeasureReport", + "id": "measurereport-denom-EXM104-FHIR3", + "contained": [ { + "resourceType": "Bundle", + "id": "b20ba55e-a72e-493d-868d-e9f6c007d11a", + "type": "collection", + "entry": [ { + "fullUrl": "Condition/denom-EXM104-FHIR3-1", + "resource": { + "resourceType": "Condition", + "id": "denom-EXM104-FHIR3-1", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition" ] + }, + "verificationStatus": "confirmed", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "encounter-diagnosis", + "display": "Encounter Diagnosis" + } ] + } ], + "code": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "116288000", + "display": "Paralytic stroke (disorder)" + } ] + }, + "subject": { + "reference": "Patient/denom-EXM104-FHIR3" + } + } + }, { + "fullUrl": "Encounter/denom-EXM104-FHIR3-2", + "resource": { + "resourceType": "Encounter", + "id": "denom-EXM104-FHIR3-2", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] + }, + "status": "finished", + "class": { + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", + "code": "IMP", + "display": "inpatient encounter" + }, + "type": [ { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "32485007", + "display": "Hospital admission (procedure)" + } ] + } ], + "subject": { + "reference": "Patient/denom-EXM104-FHIR3" + }, + "period": { "start": "2019-08-21T00:00:00-06:00", "end": "2019-12-19T08:15:00-07:00" }, @@ -1153,36 +1429,2071 @@ } }, { "resource": { - "resourceType": "Library", - "id": "library-EXM104-FHIR3-8.1.000", - "text": { - "status": "generated", - "div": "
\n \n \n
Id: library-EXM104-FHIR3-8.1.000
Type: Logic Library
Version: 8.1.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000

type: depends-on

Resource:
reference: Library/library-TJCOverall-FHIR3-3.6.000

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424

type: Patient

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: MedicationRequest

type: MedicationRequest

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201

type: MedicationRequest

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39

Content: type: text/cql
library EXM104_FHIR3 version '8.1.000'\n\n/*\nBased on CMS104v8 - Discharged on Antithrombotic Therapy\nAuthor: TJC\nSTK 2\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0'\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude TJCOverall_FHIR3 version '3.6.000' called TJC\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\n// NOTE: This is an R4 code system\ncodesystem "MedicationRequestCategory": 'http://terminology.hl7.org/CodeSystem/medicationrequest-category'\n\nvalueset "Antithrombotic Therapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201'\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'\nvalueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'\nvalueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'\nvalueset "Medical Reason": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'\nvalueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'\nvalueset "Patient Refusal": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ticagrelor Therapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\n\n// NOTE: This is an R4 code\ncode "Discharge": 'discharge' from "MedicationRequestCategory" display 'Discharge'\n\nparameter "Measurement Period" Interval<DateTime>\n  default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n\tSDE."SDE Payer"\n\ndefine "SDE Race":\n  SDE."SDE Race"\n\ndefine "SDE Sex":\n\tSDE."SDE Sex"\n\ndefine "Initial Population":\n\tTJC."Encounter with Principal Diagnosis and Age"\n\n  define "Encounter with Principal Diagnosis and Age":\n  \t"All Stroke Encounter" AllStrokeEncounter\n  \t\twith ["Patient"] BirthDate\n  \t\t\tsuch that AgeInYearsAt(AllStrokeEncounter.period.start) >= 18\n\n        define "All Stroke Encounter":\n        \t"Non Elective Inpatient Encounter" NonElectiveEncounter\n        \t\twhere Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Hemorrhagic Stroke"\n        \t\tor Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Ischemic Stroke"\n\n            define "Non Elective Inpatient Encounter":\n            \t["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\n            \t\twhere Global."LengthInDays"(NonElectiveEncounter.period)<= 120\n            \t\t\tand NonElectiveEncounter.period ends during "Measurement Period"\n\ndefine "Denominator":\n\tTJC."Ischemic Stroke Encounter"\n\n  define "Ischemic Stroke Encounter":\n  \t"Encounter with Principal Diagnosis and Age" EncounterWithAge\n  \t\twhere Global.PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"\n\ndefine "Denominator Exclusion":\n\tTJC."Ischemic Stroke Encounters with Discharge Disposition"\n\t\tunion TJC."Comfort Measures during Hospitalization"\n\n    define "Ischemic Stroke Encounters with Discharge Disposition":\n    \t( ( "Ischemic Stroke Encounter" IschemicStrokeEncounter\n    \t\t\t\twhere IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"\n    \t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"\n    \t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"\n    \t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"\n    \t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\n    \t\t)\n    \t)\n\n    define "Comfort Measures during Hospitalization":\n    \t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n    \t\twith "Intervention Comfort Measures" ComfortMeasure\n    \t\t\tsuch that Coalesce(start of ComfortMeasure.performed, ComfortMeasure.authoredOn)during Global."HospitalizationWithObservation"(IschemicStrokeEncounter)\n\n          define "Intervention Comfort Measures":\n          \t(["ProcedureRequest": "Comfort Measures"] P\n          \t\twhere P.intent = 'order')\n          \t\tunion\n          \t\t(["Procedure": "Comfort Measures"] IntervetionPerformed\n          \t\twhere IntervetionPerformed.status = 'completed')\n\ndefine "Numerator":\n\tTJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Antithrombotic Therapy at Discharge" DischargeAntithrombotic\n\t\t\tsuch that DischargeAntithrombotic.authoredOn during IschemicStrokeEncounter.period\n\n      define "Antithrombotic Therapy at Discharge":\n      \t//The following should work, but it's pending a fix in the CQL Engine, ref https://github.com/DBCG/cql_engine/issues/271.\n        //["MedicationRequest": "Antithrombotic Therapy"] Antithrombotic\n        //where Antithrombotic.intent = 'order'\n        \n        //Temporarily using the following until the fix is available.\n        ["MedicationRequest"] Antithrombotic\n            where (Antithrombotic.medication as CodeableConcept) in "Antithrombotic Therapy"\n      \t    and Antithrombotic.intent = 'order'\n\ndefine "Denominator Exceptions":\n\t"Encounter With No Antithrombotic At Discharge"\n\t\tunion "Encounter With Ticagrelor at Discharge"\n\n    define "Encounter With No Antithrombotic At Discharge":\n    \tTJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\n    \t\twith "Antithrombotic Not Given at Discharge" NoDischargeAntithrombotic\n    \t\t\tsuch that NoDischargeAntithrombotic.authoredOn during IschemicStrokeEncounter.period\n\n          define "Antithrombotic Not Given at Discharge":\n          \t["MedicationRequest": "Antithrombotic Therapy"] NoAntithromboticDischarge\n          \t  // STU3\n          \t\twhere exists (NoAntithromboticDischarge.extension E where E.url = 'http://hl7.org/fhir/us/davinci-deqm/STU3/StructureDefinition/extension-doNotPerform' and E.value is true)\n          \t\t// R4\n          \t\t//where NoAntithromboticDischarge.doNotPerform is true\n          \t\t\tand (singleton from NoAntithromboticDischarge.reasonCode in "Medical Reason"\n          \t\t\t\tor singleton from NoAntithromboticDischarge.reasonCode in "Patient Refusal")\n\n          // NOTE: On the assumption that status of not-taken is the closest to what the measure is looking for, this is the expression:\n          // TODO: Request discussion w/ Pharmacy regarding how medications not prescribed at discharged would be documented\n          //define "Antithrombotic Not Given at Discharge R4":\n          //  ["MedicationStatement": "Antithrombotic Therapy"] AntithromboticTherapy\n          //\t  where AntithromboticTherapy.status = 'not-taken'\n          //\t\t  and (AntithromboticTherapy.statusReason in "Medical Reason"\n          //\t\t\t\tor AntithrombtoicTherapy.statusReason in "Patient Refusal")\n\n          // If it's documented as a checkbox, it may be represented as an observation\n          //define "Antithrombotic Not Given at Discharge (Observation)":\n          //  ["Observation": "Medication Not Given At Discharge"] O\n          //\t  where O.value in "Antithrombotic Therapy"\n\n      /*\n      define "Encounter With Ticagrelor During Hospitalization":\n      \tTJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\n      \t\twith ["MedicationAdministration": medication in TJC."Ticagrelor Therapy"] Ticagrelor\n      \t\t\tsuch that Ticagrelor.effective starts during Global."HospitalizationWithObservation"(IschemicStrokeEncounter)\n      */\n      //Looking for Ticagrelor as discharge medication, include a corrected defintion in 2021 CQL based measure\n      define "Encounter With Ticagrelor at Discharge":\n        TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\n          with "Ticagrelor Therapy at Discharge" DischargeTicagrelor\n            such that DischargeTicagrelor.authoredOn during IschemicStrokeEncounter.period\n\n            define "Ticagrelor Therapy at Discharge":\n              ["MedicationRequest": medication in TJC."Ticagrelor Therapy"] Ticagrelor\n                where (Ticagrelor.medication as CodeableConcept) in TJC."Ticagrelor Therapy"\n                  and Ticagrelor.intent = 'order'\n
\n \n \n
\n
" - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.207", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.207" } ], - "version": "8.1.000", - "name": "EXM104_FHIR3", + "version": "20170725", + "name": "DischargedtoHealthCareFacilityforHospiceCare", + "title": "Discharged to Health Care Facility for Hospice Care", "status": "active", - "experimental": true, - "type": { - "coding": [ { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "428371000124100", + "display": "Discharge to healthcare facility for hospice care (procedure)" + } ] } ] - }, - "content": [ { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE0xMDRfRkhJUjMgdmVyc2lvbiAnOC4xLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEwNHY4IC0gRGlzY2hhcmdlZCBvbiBBbnRpdGhyb21ib3RpYyBUaGVyYXB5CkF1dGhvcjogVEpDClNUSyAyCiovCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKaW5jbHVkZSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcgY2FsbGVkIEdsb2JhbAppbmNsdWRlIFRKQ092ZXJhbGxfRkhJUjMgdmVyc2lvbiAnMy42LjAwMCcgY2FsbGVkIFRKQwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCmNvZGVzeXN0ZW0gIlJlcXVlc3RJbnRlbnQiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCcKLy8gTk9URTogVGhpcyBpcyBhbiBSNCBjb2RlIHN5c3RlbQpjb2Rlc3lzdGVtICJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnknCgp2YWx1ZXNldCAiQW50aXRocm9tYm90aWMgVGhlcmFweSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjAxJwp2YWx1ZXNldCAiQ29tZm9ydCBNZWFzdXJlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUnCnZhbHVlc2V0ICJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuODcnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNycKdmFsdWVzZXQgIkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDknCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkhlbW9ycmhhZ2ljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjEyJwp2YWx1ZXNldCAiSXNjaGVtaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNDcnCnZhbHVlc2V0ICJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOCcKdmFsdWVzZXQgIk1lZGljYWwgUmVhc29uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40NzMnCnZhbHVlc2V0ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDI0Jwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MycKdmFsdWVzZXQgIk9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xJwp2YWx1ZXNldCAiUGF0aWVudCBFeHBpcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDknCnZhbHVlc2V0ICJQYXRpZW50IFJlZnVzYWwiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjkzJwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiVGljYWdyZWxvciBUaGVyYXB5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOScKCmNvZGUgIkJpcnRoIGRhdGUiOiAnMjExMTItOCcgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ0JpcnRoIGRhdGUnCgovLyBOT1RFOiBUaGlzIGlzIGFuIFI0IGNvZGUKY29kZSAiRGlzY2hhcmdlIjogJ2Rpc2NoYXJnZScgZnJvbSAiTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIgZGlzcGxheSAnRGlzY2hhcmdlJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgogIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCkKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CglTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgoJU0RFLiJTREUgU2V4IgoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgoJVEpDLiJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiCgogIGRlZmluZSAiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIjoKICAJIkFsbCBTdHJva2UgRW5jb3VudGVyIiBBbGxTdHJva2VFbmNvdW50ZXIKICAJCXdpdGggWyJQYXRpZW50Il0gQmlydGhEYXRlCiAgCQkJc3VjaCB0aGF0IEFnZUluWWVhcnNBdChBbGxTdHJva2VFbmNvdW50ZXIucGVyaW9kLnN0YXJ0KSA+PSAxOAoKICAgICAgICBkZWZpbmUgIkFsbCBTdHJva2UgRW5jb3VudGVyIjoKICAgICAgICAJIk5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBOb25FbGVjdGl2ZUVuY291bnRlcgogICAgICAgIAkJd2hlcmUgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSGVtb3JyaGFnaWMgU3Ryb2tlIgogICAgICAgIAkJb3IgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKICAgICAgICAgICAgZGVmaW5lICJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6CiAgICAgICAgICAgIAlbIkVuY291bnRlciI6ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciJdIE5vbkVsZWN0aXZlRW5jb3VudGVyCiAgICAgICAgICAgIAkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKICAgICAgICAgICAgCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CglUSkMuIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiCgogIGRlZmluZSAiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciI6CiAgCSJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiIEVuY291bnRlcldpdGhBZ2UKICAJCXdoZXJlIEdsb2JhbC5QcmluY2lwYWxEaWFnbm9zaXMoRW5jb3VudGVyV2l0aEFnZSkuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgoJVEpDLiJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBEaXNwb3NpdGlvbiIKCQl1bmlvbiBUSkMuIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiIKCiAgICBkZWZpbmUgIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIERpc3Bvc2l0aW9uIjoKICAgIAkoICggIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCiAgICAJCQkJd2hlcmUgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSIKICAgIAkJCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiCiAgICAJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiUGF0aWVudCBFeHBpcmVkIgogICAgCQkJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIgogICAgCQkJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSIKICAgIAkJKQogICAgCSkKCiAgICBkZWZpbmUgIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiI6CiAgICAJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCiAgICAJCXdpdGggIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiBDb21mb3J0TWVhc3VyZQogICAgCQkJc3VjaCB0aGF0IENvYWxlc2NlKHN0YXJ0IG9mIENvbWZvcnRNZWFzdXJlLnBlcmZvcm1lZCwgQ29tZm9ydE1lYXN1cmUuYXV0aG9yZWRPbilkdXJpbmcgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKElzY2hlbWljU3Ryb2tlRW5jb3VudGVyKQoKICAgICAgICAgIGRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgogICAgICAgICAgCShbIlByb2NlZHVyZVJlcXVlc3QiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIFAKICAgICAgICAgIAkJd2hlcmUgUC5pbnRlbnQgPSAnb3JkZXInKQogICAgICAgICAgCQl1bmlvbgogICAgICAgICAgCQkoWyJQcm9jZWR1cmUiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIEludGVydmV0aW9uUGVyZm9ybWVkCiAgICAgICAgICAJCXdoZXJlIEludGVydmV0aW9uUGVyZm9ybWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnKQoKZGVmaW5lICJOdW1lcmF0b3IiOgoJVEpDLiJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgoJCXdpdGggIkFudGl0aHJvbWJvdGljIFRoZXJhcHkgYXQgRGlzY2hhcmdlIiBEaXNjaGFyZ2VBbnRpdGhyb21ib3RpYwoJCQlzdWNoIHRoYXQgRGlzY2hhcmdlQW50aXRocm9tYm90aWMuYXV0aG9yZWRPbiBkdXJpbmcgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kCgogICAgICBkZWZpbmUgIkFudGl0aHJvbWJvdGljIFRoZXJhcHkgYXQgRGlzY2hhcmdlIjoKICAgICAgCS8vVGhlIGZvbGxvd2luZyBzaG91bGQgd29yaywgYnV0IGl0J3MgcGVuZGluZyBhIGZpeCBpbiB0aGUgQ1FMIEVuZ2luZSwgcmVmIGh0dHBzOi8vZ2l0aHViLmNvbS9EQkNHL2NxbF9lbmdpbmUvaXNzdWVzLzI3MS4KICAgICAgICAvL1siTWVkaWNhdGlvblJlcXVlc3QiOiAiQW50aXRocm9tYm90aWMgVGhlcmFweSJdIEFudGl0aHJvbWJvdGljCiAgICAgICAgLy93aGVyZSBBbnRpdGhyb21ib3RpYy5pbnRlbnQgPSAnb3JkZXInCiAgICAgICAgCiAgICAgICAgLy9UZW1wb3JhcmlseSB1c2luZyB0aGUgZm9sbG93aW5nIHVudGlsIHRoZSBmaXggaXMgYXZhaWxhYmxlLgogICAgICAgIFsiTWVkaWNhdGlvblJlcXVlc3QiXSBBbnRpdGhyb21ib3RpYwogICAgICAgICAgICB3aGVyZSAoQW50aXRocm9tYm90aWMubWVkaWNhdGlvbiBhcyBDb2RlYWJsZUNvbmNlcHQpIGluICJBbnRpdGhyb21ib3RpYyBUaGVyYXB5IgogICAgICAJICAgIGFuZCBBbnRpdGhyb21ib3RpYy5pbnRlbnQgPSAnb3JkZXInCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2VwdGlvbnMiOgoJIkVuY291bnRlciBXaXRoIE5vIEFudGl0aHJvbWJvdGljIEF0IERpc2NoYXJnZSIKCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggVGljYWdyZWxvciBhdCBEaXNjaGFyZ2UiCgogICAgZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBObyBBbnRpdGhyb21ib3RpYyBBdCBEaXNjaGFyZ2UiOgogICAgCVRKQy4iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKICAgIAkJd2l0aCAiQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSIgTm9EaXNjaGFyZ2VBbnRpdGhyb21ib3RpYwogICAgCQkJc3VjaCB0aGF0IE5vRGlzY2hhcmdlQW50aXRocm9tYm90aWMuYXV0aG9yZWRPbiBkdXJpbmcgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kCgogICAgICAgICAgZGVmaW5lICJBbnRpdGhyb21ib3RpYyBOb3QgR2l2ZW4gYXQgRGlzY2hhcmdlIjoKICAgICAgICAgIAlbIk1lZGljYXRpb25SZXF1ZXN0IjogIkFudGl0aHJvbWJvdGljIFRoZXJhcHkiXSBOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlCiAgICAgICAgICAJICAvLyBTVFUzCiAgICAgICAgICAJCXdoZXJlIGV4aXN0cyAoTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZS5leHRlbnNpb24gRSB3aGVyZSBFLnVybCA9ICdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2RhdmluY2ktZGVxbS9TVFUzL1N0cnVjdHVyZURlZmluaXRpb24vZXh0ZW5zaW9uLWRvTm90UGVyZm9ybScgYW5kIEUudmFsdWUgaXMgdHJ1ZSkKICAgICAgICAgIAkJLy8gUjQKICAgICAgICAgIAkJLy93aGVyZSBOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlLmRvTm90UGVyZm9ybSBpcyB0cnVlCiAgICAgICAgICAJCQlhbmQgKHNpbmdsZXRvbiBmcm9tIE5vQW50aXRocm9tYm90aWNEaXNjaGFyZ2UucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iCiAgICAgICAgICAJCQkJb3Igc2luZ2xldG9uIGZyb20gTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZS5yZWFzb25Db2RlIGluICJQYXRpZW50IFJlZnVzYWwiKQoKICAgICAgICAgIC8vIE5PVEU6IE9uIHRoZSBhc3N1bXB0aW9uIHRoYXQgc3RhdHVzIG9mIG5vdC10YWtlbiBpcyB0aGUgY2xvc2VzdCB0byB3aGF0IHRoZSBtZWFzdXJlIGlzIGxvb2tpbmcgZm9yLCB0aGlzIGlzIHRoZSBleHByZXNzaW9uOgogICAgICAgICAgLy8gVE9ETzogUmVxdWVzdCBkaXNjdXNzaW9uIHcvIFBoYXJtYWN5IHJlZ2FyZGluZyBob3cgbWVkaWNhdGlvbnMgbm90IHByZXNjcmliZWQgYXQgZGlzY2hhcmdlZCB3b3VsZCBiZSBkb2N1bWVudGVkCiAgICAgICAgICAvL2RlZmluZSAiQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSBSNCI6CiAgICAgICAgICAvLyAgWyJNZWRpY2F0aW9uU3RhdGVtZW50IjogIkFudGl0aHJvbWJvdGljIFRoZXJhcHkiXSBBbnRpdGhyb21ib3RpY1RoZXJhcHkKICAgICAgICAgIC8vCSAgd2hlcmUgQW50aXRocm9tYm90aWNUaGVyYXB5LnN0YXR1cyA9ICdub3QtdGFrZW4nCiAgICAgICAgICAvLwkJICBhbmQgKEFudGl0aHJvbWJvdGljVGhlcmFweS5zdGF0dXNSZWFzb24gaW4gIk1lZGljYWwgUmVhc29uIgogICAgICAgICAgLy8JCQkJb3IgQW50aXRocm9tYnRvaWNUaGVyYXB5LnN0YXR1c1JlYXNvbiBpbiAiUGF0aWVudCBSZWZ1c2FsIikKCiAgICAgICAgICAvLyBJZiBpdCdzIGRvY3VtZW50ZWQgYXMgYSBjaGVja2JveCwgaXQgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGFuIG9ic2VydmF0aW9uCiAgICAgICAgICAvL2RlZmluZSAiQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSAoT2JzZXJ2YXRpb24pIjoKICAgICAgICAgIC8vICBbIk9ic2VydmF0aW9uIjogIk1lZGljYXRpb24gTm90IEdpdmVuIEF0IERpc2NoYXJnZSJdIE8KICAgICAgICAgIC8vCSAgd2hlcmUgTy52YWx1ZSBpbiAiQW50aXRocm9tYm90aWMgVGhlcmFweSIKCiAgICAgIC8qCiAgICAgIGRlZmluZSAiRW5jb3VudGVyIFdpdGggVGljYWdyZWxvciBEdXJpbmcgSG9zcGl0YWxpemF0aW9uIjoKICAgICAgCVRKQy4iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKICAgICAgCQl3aXRoIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiBUSkMuIlRpY2FncmVsb3IgVGhlcmFweSJdIFRpY2FncmVsb3IKICAgICAgCQkJc3VjaCB0aGF0IFRpY2FncmVsb3IuZWZmZWN0aXZlIHN0YXJ0cyBkdXJpbmcgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKElzY2hlbWljU3Ryb2tlRW5jb3VudGVyKQogICAgICAqLwogICAgICAvL0xvb2tpbmcgZm9yIFRpY2FncmVsb3IgYXMgZGlzY2hhcmdlIG1lZGljYXRpb24sIGluY2x1ZGUgYSBjb3JyZWN0ZWQgZGVmaW50aW9uIGluIDIwMjEgQ1FMIGJhc2VkIG1lYXN1cmUKICAgICAgZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBUaWNhZ3JlbG9yIGF0IERpc2NoYXJnZSI6CiAgICAgICAgVEpDLiJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgogICAgICAgICAgd2l0aCAiVGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSIgRGlzY2hhcmdlVGljYWdyZWxvcgogICAgICAgICAgICBzdWNoIHRoYXQgRGlzY2hhcmdlVGljYWdyZWxvci5hdXRob3JlZE9uIGR1cmluZyBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QKCiAgICAgICAgICAgIGRlZmluZSAiVGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSI6CiAgICAgICAgICAgICAgWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gVEpDLiJUaWNhZ3JlbG9yIFRoZXJhcHkiXSBUaWNhZ3JlbG9yCiAgICAgICAgICAgICAgICB3aGVyZSAoVGljYWdyZWxvci5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdCkgaW4gVEpDLiJUaWNhZ3JlbG9yIFRoZXJhcHkiCiAgICAgICAgICAgICAgICAgIGFuZCBUaWNhZ3JlbG9yLmludGVudCA9ICdvcmRlcicK" - } ] + } }, "request": { "method": "PUT", - "url": "Library/library-EXM104-FHIR3-8.1.000" + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.207" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.209", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.209" + } ], + "version": "20170725", + "name": "DischargedtoHomeforHospiceCare", + "title": "Discharged to Home for Hospice Care", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "428361000124107", + "display": "Discharge to home for hospice care (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.209" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.308", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.308" + } ], + "version": "20170726", + "name": "LeftAgainstMedicalAdvice", + "title": "Left Against Medical Advice", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "445060000", + "display": "Left against medical advice (finding)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.308" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.309", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.309" + } ], + "version": "20170726", + "name": "PatientExpired", + "title": "Patient Expired", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "371828006", + "display": "Patient deceased during stay (discharge status = dead) (finding)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.309" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-SupplementalDataElements-FHIR3-1.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-SupplementalDataElements-FHIR3-1.0.0
Type: Logic Library
Version: 1.0.0
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Coverage

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591

Content: type: text/cql
library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Payer":\n    [Coverage: type in "Payer"] Payer\n      return {\n        code: Payer.type,\n        period: Payer.period\n      }\n\ndefine "SDE Race":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Sex":\n  case\n    when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n    when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n    else null\n  end\n
\n \n \n
\n
" + }, + "version": "1.0.0", + "name": "SupplementalDataElements_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1" + } ], + "version": "20150331", + "name": "ONCAdministrativeSex", + "title": "ONC Administrative Sex", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + }, { + "code": "M", + "display": "Male" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.93", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93", + "title": "Patient Refusal", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "105480006", + "display": "Refusal of treatment by patient (situation)" + }, { + "code": "182890002", + "display": "Patient requests alternative treatment (finding)" + }, { + "code": "182895007", + "display": "Drug declined by patient (situation)" + }, { + "code": "182896008", + "display": "Drug declined by patient - dislikes taste (situation)" + }, { + "code": "182897004", + "display": "Drug declined by patient - side effects (situation)" + }, { + "code": "182898009", + "display": "Drug declined by patient - inconvenient (situation)" + }, { + "code": "182900006", + "display": "Drug declined by patient - patient beliefs (situation)" + }, { + "code": "182901005", + "display": "Drug declined by patient - alternative therapy (situation)" + }, { + "code": "182903008", + "display": "Drug declined by patient - reason unknown (situation)" + }, { + "code": "183944003", + "display": "Procedure refused (situation)" + }, { + "code": "183945002", + "display": "Procedure refused for religious reason (situation)" + }, { + "code": "183946001", + "display": "Procedure refused - uncooperative (situation)" + }, { + "code": "183947005", + "display": "Refused procedure - after thought (situation)" + }, { + "code": "183948000", + "display": "Refused procedure - parent's wish (situation)" + }, { + "code": "275936005", + "display": "Patient noncompliance - general (situation)" + }, { + "code": "371138003", + "display": "Refusal of treatment by parents (situation)" + }, { + "code": "406149000", + "display": "Medication refused (situation)" + }, { + "code": "413312003", + "display": "Patient non-compliant - refused service (situation)" + }, { + "code": "416432009", + "display": "Procedure not wanted (situation)" + }, { + "code": "443390004", + "display": "Refused (qualifier value)" + }, { + "code": "609589008", + "display": "Refused by parents of subject (qualifier value)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.93" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.201", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201", + "title": "Antithrombotic Therapy", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "version": "2019-08", + "concept": [ { + "code": "1037045", + "display": "dabigatran etexilate 150 MG Oral Capsule" + }, { + "code": "1037179", + "display": "dabigatran etexilate 75 MG Oral Capsule" + }, { + "code": "103863", + "display": "Aspirin 150 MG Rectal Suppository" + }, { + "code": "1092398", + "display": "Aspirin 500 MG / Diphenhydramine Hydrochloride 25 MG Oral Tablet" + }, { + "code": "1114198", + "display": "rivaroxaban 10 MG Oral Tablet" + }, { + "code": "1232082", + "display": "rivaroxaban 15 MG Oral Tablet" + }, { + "code": "1232086", + "display": "rivaroxaban 20 MG Oral Tablet" + }, { + "code": "1250907", + "display": "Aspirin 500 MG / Diphenhydramine Citrate 38.3 MG Oral Tablet" + }, { + "code": "1291868", + "display": "Aspirin 325 MG / Diphenhydramine Citrate 38 MG Oral Tablet" + }, { + "code": "1361574", + "display": "heparin sodium, porcine 20000 UNT/ML Injectable Solution" + }, { + "code": "1364435", + "display": "apixaban 2.5 MG Oral Tablet" + }, { + "code": "1364445", + "display": "apixaban 5 MG Oral Tablet" + }, { + "code": "1536467", + "display": "Aspirin 325 MG / Citric Acid 1000 MG / Sodium Bicarbonate 1700 MG Effervescent Oral Tablet" + }, { + "code": "1536498", + "display": "Aspirin 325 MG / Dextromethorphan Hydrobromide 10 MG / Phenylephrine bitartrate 7.8 MG Effervescent Oral Tablet" + }, { + "code": "1536503", + "display": "Aspirin 500 MG / Dextromethorphan Hydrobromide 10 MG / doxylamine succinate 6.25 MG / Phenylephrine bitartrate 7.8 MG Effervescent Oral Tablet" + }, { + "code": "1536675", + "display": "Aspirin 325 MG / Citric Acid 1000 MG / Sodium Bicarbonate 1916 MG Effervescent Oral Tablet" + }, { + "code": "1536815", + "display": "Aspirin 500 MG / Caffeine 65 MG Effervescent Oral Tablet" + }, { + "code": "1536833", + "display": "Aspirin 500 MG / Citric Acid 1000 MG / Sodium Bicarbonate 1985 MG Effervescent Oral Tablet" + }, { + "code": "1536840", + "display": "Aspirin 325 MG / Chlorpheniramine Maleate 2 MG / Phenylephrine bitartrate 7.8 MG Effervescent Oral Tablet" + }, { + "code": "1537029", + "display": "Aspirin 325 MG / Chlorpheniramine Maleate 2 MG / Dextromethorphan Hydrobromide 10 MG / Phenylephrine bitartrate 7.8 MG Effervescent Oral Tablet" + }, { + "code": "1549682", + "display": "{42 (rivaroxaban 15 MG Oral Tablet) / 9 (rivaroxaban 20 MG Oral Tablet) } Pack" + }, { + "code": "1593110", + "display": "Acetaminophen 250 MG / Aspirin 250 MG / Diphenhydramine Citrate 38 MG Oral Tablet" + }, { + "code": "1599543", + "display": "edoxaban 15 MG Oral Tablet" + }, { + "code": "1599551", + "display": "edoxaban 30 MG Oral Tablet" + }, { + "code": "1599555", + "display": "edoxaban 60 MG Oral Tablet" + }, { + "code": "1658717", + "display": "250 ML heparin sodium, porcine 100 UNT/ML Injection" + }, { + "code": "1659195", + "display": "500 ML heparin sodium, porcine 50 UNT/ML Injection" + }, { + "code": "1659197", + "display": "250 ML heparin sodium, porcine 50 UNT/ML Injection" + }, { + "code": "1665356", + "display": "24 HR Aspirin 162.5 MG Extended Release Oral Capsule" + }, { + "code": "1722689", + "display": "Aspirin 81 MG / Calcium Carbonate 777 MG Oral Tablet" + }, { + "code": "1723476", + "display": "dabigatran etexilate 110 MG Oral Capsule" + }, { + "code": "1730187", + "display": "{12 (Aspirin 325 MG / Dextromethorphan Hydrobromide 10 MG / Phenylephrine bitartrate 7.8 MG Effervescent Oral Tablet) / 8 (Aspirin 500 MG / Dextromethorphan Hydrobromide 10 MG / doxylamine succinate 6.25 MG / Phenylephrine bitartrate 7.8 MG Effervescent Oral Tablet) } Pack" + }, { + "code": "1804735", + "display": "50 ML argatroban 1 MG/ML Injection" + }, { + "code": "1804737", + "display": "125 ML argatroban 1 MG/ML Injection" + }, { + "code": "1804738", + "display": "250 ML argatroban 1 MG/ML Injection" + }, { + "code": "1811631", + "display": "Aspirin 81 MG / Omeprazole 40 MG Delayed Release Oral Tablet" + }, { + "code": "1811632", + "display": "Aspirin 325 MG / Omeprazole 40 MG Delayed Release Oral Tablet" + }, { + "code": "198464", + "display": "Aspirin 300 MG Rectal Suppository" + }, { + "code": "198466", + "display": "Aspirin 325 MG Oral Capsule" + }, { + "code": "198467", + "display": "Aspirin 325 MG Delayed Release Oral Tablet" + }, { + "code": "198471", + "display": "Aspirin 500 MG Oral Tablet" + }, { + "code": "198473", + "display": "Aspirin 600 MG Rectal Suppository" + }, { + "code": "198475", + "display": "Aspirin 650 MG Oral Tablet" + }, { + "code": "198479", + "display": "Aspirin 400 MG / Caffeine 32 MG Oral Tablet" + }, { + "code": "198480", + "display": "Aspirin 500 MG / Caffeine 32 MG Oral Tablet" + }, { + "code": "1992427", + "display": "{74 (apixaban 5 MG Oral Tablet) } Pack" + }, { + "code": "199274", + "display": "Aspirin 300 MG Oral Capsule" + }, { + "code": "212033", + "display": "Aspirin 325 MG Oral Tablet" + }, { + "code": "243670", + "display": "Aspirin 81 MG Oral Tablet" + }, { + "code": "243685", + "display": "Aspirin 421 MG / Caffeine 32 MG Oral Tablet" + }, { + "code": "243694", + "display": "Acetaminophen 194 MG / Aspirin 227 MG / Caffeine 33 MG Oral Tablet" + }, { + "code": "259081", + "display": "12 HR Aspirin 25 MG / Dipyridamole 200 MG Extended Release Oral Capsule" + }, { + "code": "308278", + "display": "Acetaminophen 115 MG / Aspirin 210 MG / Caffeine 16 MG / salicylamide 65 MG Oral Tablet" + }, { + "code": "308297", + "display": "Acetaminophen 250 MG / Aspirin 250 MG / Caffeine 65 MG Oral Tablet" + }, { + "code": "308351", + "display": "2.5 ML argatroban 100 MG/ML Injection" + }, { + "code": "308363", + "display": "Aspirin 325 MG / Caffeine 16 MG / salicylamide 95 MG Oral Tablet" + }, { + "code": "308409", + "display": "Aspirin 500 MG Delayed Release Oral Tablet" + }, { + "code": "308411", + "display": "Aspirin 650 MG Delayed Release Oral Tablet" + }, { + "code": "308416", + "display": "Aspirin 81 MG Delayed Release Oral Tablet" + }, { + "code": "308417", + "display": "Aspirin 975 MG Delayed Release Oral Tablet" + }, { + "code": "309362", + "display": "clopidogrel 75 MG Oral Tablet" + }, { + "code": "313406", + "display": "Ticlopidine Hydrochloride 250 MG Oral Tablet" + }, { + "code": "318272", + "display": "Aspirin 81 MG Chewable Tablet" + }, { + "code": "359221", + "display": "Acetaminophen 110 MG / Aspirin 162 MG / Caffeine 32.4 MG / salicylamide 152 MG Oral Tablet" + }, { + "code": "432638", + "display": "Acetaminophen 250 MG / Aspirin 250 MG Oral Tablet" + }, { + "code": "605252", + "display": "Aspirin 650 MG / Caffeine 33.3 MG / salicylamide 195 MG Oral Powder" + }, { + "code": "692836", + "display": "Acetaminophen 325 MG / Aspirin 500 MG / Caffeine 65 MG Oral Powder" + }, { + "code": "702316", + "display": "Aspirin 500 MG / Caffeine 32.5 MG Oral Tablet" + }, { + "code": "747211", + "display": "Aspirin 81 MG Disintegrating Oral Tablet" + }, { + "code": "749196", + "display": "clopidogrel 300 MG Oral Tablet" + }, { + "code": "763111", + "display": "Acetaminophen 325 MG / Aspirin 500 MG Oral Powder" + }, { + "code": "763116", + "display": "Acetaminophen 260 MG / Aspirin 520 MG / Caffeine 32.5 MG Oral Powder" + }, { + "code": "797050", + "display": "Aspirin 650 MG / Caffeine 32 MG / salicylamide 200 MG Oral Powder" + }, { + "code": "827318", + "display": "Acetaminophen 250 MG / Aspirin 250 MG / Caffeine 65 MG Oral Capsule" + }, { + "code": "854238", + "display": "0.6 ML Enoxaparin sodium 100 MG/ML Prefilled Syringe" + }, { + "code": "854241", + "display": "0.8 ML Enoxaparin sodium 100 MG/ML Prefilled Syringe" + }, { + "code": "854245", + "display": "0.8 ML Enoxaparin sodium 150 MG/ML Prefilled Syringe" + }, { + "code": "854248", + "display": "1 ML Enoxaparin sodium 100 MG/ML Prefilled Syringe" + }, { + "code": "854252", + "display": "1 ML Enoxaparin sodium 150 MG/ML Prefilled Syringe" + }, { + "code": "854255", + "display": "Enoxaparin sodium 100 MG/ML Injectable Solution" + }, { + "code": "855288", + "display": "Warfarin Sodium 1 MG Oral Tablet" + }, { + "code": "855296", + "display": "Warfarin Sodium 10 MG Oral Tablet" + }, { + "code": "855302", + "display": "Warfarin Sodium 2 MG Oral Tablet" + }, { + "code": "855312", + "display": "Warfarin Sodium 2.5 MG Oral Tablet" + }, { + "code": "855318", + "display": "Warfarin Sodium 3 MG Oral Tablet" + }, { + "code": "855324", + "display": "Warfarin Sodium 4 MG Oral Tablet" + }, { + "code": "855332", + "display": "Warfarin Sodium 5 MG Oral Tablet" + }, { + "code": "855338", + "display": "Warfarin Sodium 6 MG Oral Tablet" + }, { + "code": "855344", + "display": "Warfarin Sodium 7.5 MG Oral Tablet" + }, { + "code": "861356", + "display": "0.8 ML Fondaparinux sodium 12.5 MG/ML Prefilled Syringe" + }, { + "code": "861360", + "display": "0.5 ML Fondaparinux sodium 5 MG/ML Prefilled Syringe" + }, { + "code": "861363", + "display": "0.4 ML Fondaparinux sodium 12.5 MG/ML Prefilled Syringe" + }, { + "code": "861365", + "display": "0.6 ML Fondaparinux sodium 12.5 MG/ML Prefilled Syringe" + }, { + "code": "863184", + "display": "Aspirin 360 MG / Caffeine 75 MG / magnesium carbonate 100 MG / Magnesium Salicylate 60 MG Oral Tablet" + }, { + "code": "863186", + "display": "Aspirin 410 MG / Caffeine 60 MG / salicylamide 30 MG Oral Tablet" + }, { + "code": "896884", + "display": "Aspirin 742 MG / Caffeine 38 MG / salicylamide 222 MG Oral Powder" + }, { + "code": "900528", + "display": "Aspirin 850 MG / Caffeine 65 MG Oral Powder" + }, { + "code": "978725", + "display": "0.2 ML Dalteparin Sodium 12500 UNT/ML Prefilled Syringe" + }, { + "code": "978733", + "display": "0.2 ML Dalteparin Sodium 25000 UNT/ML Prefilled Syringe" + }, { + "code": "978736", + "display": "0.3 ML Dalteparin Sodium 25000 UNT/ML Prefilled Syringe" + }, { + "code": "978740", + "display": "0.5 ML Dalteparin Sodium 25000 UNT/ML Prefilled Syringe" + }, { + "code": "978744", + "display": "0.6 ML Dalteparin Sodium 25000 UNT/ML Prefilled Syringe" + }, { + "code": "978746", + "display": "0.72 ML Dalteparin Sodium 25000 UNT/ML Prefilled Syringe" + }, { + "code": "978755", + "display": "1 ML Dalteparin Sodium 10000 UNT/ML Prefilled Syringe" + }, { + "code": "978759", + "display": "Dalteparin Sodium 10000 UNT/ML Injectable Solution" + }, { + "code": "978777", + "display": "Dalteparin Sodium 25000 UNT/ML Injectable Solution" + }, { + "code": "994430", + "display": "Aspirin 1000 MG / Caffeine 65 MG Oral Powder" + }, { + "code": "994435", + "display": "Aspirin 845 MG / Caffeine 65 MG Oral Powder" + }, { + "code": "994528", + "display": "Aspirin 385 MG / Caffeine 30 MG / Orphenadrine Citrate 25 MG Oral Tablet" + }, { + "code": "994535", + "display": "Aspirin 770 MG / Caffeine 60 MG / Orphenadrine Citrate 50 MG Oral Tablet" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.201" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-EXM104-FHIR3-8.1.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-EXM104-FHIR3-8.1.000
Type: Logic Library
Version: 8.1.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000

type: depends-on

Resource:
reference: Library/library-TJCOverall-FHIR3-3.6.000

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424

type: Patient

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: MedicationRequest

type: MedicationRequest

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201

type: MedicationRequest

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39

Content: type: text/cql
library EXM104_FHIR3 version '8.1.000'\n\n/*\nBased on CMS104v8 - Discharged on Antithrombotic Therapy\nAuthor: TJC\nSTK 2\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0'\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude TJCOverall_FHIR3 version '3.6.000' called TJC\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\n// NOTE: This is an R4 code system\ncodesystem "MedicationRequestCategory": 'http://terminology.hl7.org/CodeSystem/medicationrequest-category'\n\nvalueset "Antithrombotic Therapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201'\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'\nvalueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'\nvalueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'\nvalueset "Medical Reason": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'\nvalueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'\nvalueset "Patient Refusal": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ticagrelor Therapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\n\n// NOTE: This is an R4 code\ncode "Discharge": 'discharge' from "MedicationRequestCategory" display 'Discharge'\n\nparameter "Measurement Period" Interval<DateTime>\n  default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n\tSDE."SDE Payer"\n\ndefine "SDE Race":\n  SDE."SDE Race"\n\ndefine "SDE Sex":\n\tSDE."SDE Sex"\n\ndefine "Initial Population":\n\tTJC."Encounter with Principal Diagnosis and Age"\n\n  define "Encounter with Principal Diagnosis and Age":\n  \t"All Stroke Encounter" AllStrokeEncounter\n  \t\twith ["Patient"] BirthDate\n  \t\t\tsuch that AgeInYearsAt(AllStrokeEncounter.period.start) >= 18\n\n        define "All Stroke Encounter":\n        \t"Non Elective Inpatient Encounter" NonElectiveEncounter\n        \t\twhere Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Hemorrhagic Stroke"\n        \t\tor Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Ischemic Stroke"\n\n            define "Non Elective Inpatient Encounter":\n            \t["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\n            \t\twhere Global."LengthInDays"(NonElectiveEncounter.period)<= 120\n            \t\t\tand NonElectiveEncounter.period ends during "Measurement Period"\n\ndefine "Denominator":\n\tTJC."Ischemic Stroke Encounter"\n\n  define "Ischemic Stroke Encounter":\n  \t"Encounter with Principal Diagnosis and Age" EncounterWithAge\n  \t\twhere Global.PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"\n\ndefine "Denominator Exclusion":\n\tTJC."Ischemic Stroke Encounters with Discharge Disposition"\n\t\tunion TJC."Comfort Measures during Hospitalization"\n\n    define "Ischemic Stroke Encounters with Discharge Disposition":\n    \t( ( "Ischemic Stroke Encounter" IschemicStrokeEncounter\n    \t\t\t\twhere IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"\n    \t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"\n    \t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"\n    \t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"\n    \t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\n    \t\t)\n    \t)\n\n    define "Comfort Measures during Hospitalization":\n    \t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n    \t\twith "Intervention Comfort Measures" ComfortMeasure\n    \t\t\tsuch that Coalesce(start of ComfortMeasure.performed, ComfortMeasure.authoredOn)during Global."HospitalizationWithObservation"(IschemicStrokeEncounter)\n\n          define "Intervention Comfort Measures":\n          \t(["ProcedureRequest": "Comfort Measures"] P\n          \t\twhere P.intent = 'order')\n          \t\tunion\n          \t\t(["Procedure": "Comfort Measures"] IntervetionPerformed\n          \t\twhere IntervetionPerformed.status = 'completed')\n\ndefine "Numerator":\n\tTJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Antithrombotic Therapy at Discharge" DischargeAntithrombotic\n\t\t\tsuch that DischargeAntithrombotic.authoredOn during IschemicStrokeEncounter.period\n\n      define "Antithrombotic Therapy at Discharge":\n      \t//The following should work, but it's pending a fix in the CQL Engine, ref https://github.com/DBCG/cql_engine/issues/271.\n        //["MedicationRequest": "Antithrombotic Therapy"] Antithrombotic\n        //where Antithrombotic.intent = 'order'\n        \n        //Temporarily using the following until the fix is available.\n        ["MedicationRequest"] Antithrombotic\n            where (Antithrombotic.medication as CodeableConcept) in "Antithrombotic Therapy"\n      \t    and Antithrombotic.intent = 'order'\n\ndefine "Denominator Exceptions":\n\t"Encounter With No Antithrombotic At Discharge"\n\t\tunion "Encounter With Ticagrelor at Discharge"\n\n    define "Encounter With No Antithrombotic At Discharge":\n    \tTJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\n    \t\twith "Antithrombotic Not Given at Discharge" NoDischargeAntithrombotic\n    \t\t\tsuch that NoDischargeAntithrombotic.authoredOn during IschemicStrokeEncounter.period\n\n          define "Antithrombotic Not Given at Discharge":\n          \t["MedicationRequest": "Antithrombotic Therapy"] NoAntithromboticDischarge\n          \t  // STU3\n          \t\twhere exists (NoAntithromboticDischarge.extension E where E.url = 'http://hl7.org/fhir/us/davinci-deqm/STU3/StructureDefinition/extension-doNotPerform' and E.value is true)\n          \t\t// R4\n          \t\t//where NoAntithromboticDischarge.doNotPerform is true\n          \t\t\tand (singleton from NoAntithromboticDischarge.reasonCode in "Medical Reason"\n          \t\t\t\tor singleton from NoAntithromboticDischarge.reasonCode in "Patient Refusal")\n\n          // NOTE: On the assumption that status of not-taken is the closest to what the measure is looking for, this is the expression:\n          // TODO: Request discussion w/ Pharmacy regarding how medications not prescribed at discharged would be documented\n          //define "Antithrombotic Not Given at Discharge R4":\n          //  ["MedicationStatement": "Antithrombotic Therapy"] AntithromboticTherapy\n          //\t  where AntithromboticTherapy.status = 'not-taken'\n          //\t\t  and (AntithromboticTherapy.statusReason in "Medical Reason"\n          //\t\t\t\tor AntithrombtoicTherapy.statusReason in "Patient Refusal")\n\n          // If it's documented as a checkbox, it may be represented as an observation\n          //define "Antithrombotic Not Given at Discharge (Observation)":\n          //  ["Observation": "Medication Not Given At Discharge"] O\n          //\t  where O.value in "Antithrombotic Therapy"\n\n      /*\n      define "Encounter With Ticagrelor During Hospitalization":\n      \tTJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\n      \t\twith ["MedicationAdministration": medication in TJC."Ticagrelor Therapy"] Ticagrelor\n      \t\t\tsuch that Ticagrelor.effective starts during Global."HospitalizationWithObservation"(IschemicStrokeEncounter)\n      */\n      //Looking for Ticagrelor as discharge medication, include a corrected defintion in 2021 CQL based measure\n      define "Encounter With Ticagrelor at Discharge":\n        TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\n          with "Ticagrelor Therapy at Discharge" DischargeTicagrelor\n            such that DischargeTicagrelor.authoredOn during IschemicStrokeEncounter.period\n\n            define "Ticagrelor Therapy at Discharge":\n              ["MedicationRequest": medication in TJC."Ticagrelor Therapy"] Ticagrelor\n                where (Ticagrelor.medication as CodeableConcept) in TJC."Ticagrelor Therapy"\n                  and Ticagrelor.intent = 'order'\n
\n \n \n
\n
" + }, + "version": "8.1.000", + "name": "EXM104_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-TJCOverall-FHIR3-3.6.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } ] + }, { + "type": "Patient" + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } ] + }, { + "type": "MedicationRequest" + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201" + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTEwNF9GSElSMyIgdmVyc2lvbj0iOC4xLjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iNC4wLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlRKQyIgcGF0aD0iVEpDT3ZlcmFsbF9GSElSMyIgdmVyc2lvbj0iMy42LjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlNERSIgcGF0aD0iU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIiB2ZXJzaW9uPSIxLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGRlZmF1bHQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAxOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICA8L2RlZmF1bHQ+DQogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPg0KICAgICAgPC9kZWY+DQogICA8L3BhcmFtZXRlcnM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IkxPSU5DIiBpZD0iaHR0cDovL2xvaW5jLm9yZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJTTk9NRURDVCIgaWQ9Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpYWdub3NpcyBSb2xlIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSZXF1ZXN0SW50ZW50IiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IiBpZD0iaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9tZWRpY2F0aW9ucmVxdWVzdC1jYXRlZ29yeSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC9jb2RlU3lzdGVtcz4NCiAgIDx2YWx1ZVNldHM+DQogICAgICA8ZGVmIG5hbWU9IkFudGl0aHJvbWJvdGljIFRoZXJhcHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjAxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuODciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJIZW1vcnJoYWdpYyBTdHJva2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjEyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IklzY2hlbWljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNDciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJNZWRpY2FsIFJlYXNvbiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40NzMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDI0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik9ic2VydmF0aW9uIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQgRXhwaXJlZCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCBSZWZ1c2FsIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjkzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlBheWVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlRpY2FncmVsb3IgVGhlcmFweSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC92YWx1ZVNldHM+DQogICA8Y29kZXM+DQogICAgICA8ZGVmIG5hbWU9IkJpcnRoIGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIiBpZD0iZGlzY2hhcmdlIiBkaXNwbGF5PSJEaXNjaGFyZ2UiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIvPg0KICAgICAgPC9kZWY+DQogICA8L2NvZGVzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgRXRobmljaXR5IiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgUGF5ZXIiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIFJhY2UiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgU2V4IiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiIGxpYnJhcnlOYW1lPSJUSkMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9uIEVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkFsbCBTdHJva2UgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb25FbGVjdGl2ZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJJc2NoZW1pYyBTdHJva2UiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJBbGxTdHJva2VFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQWxsIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IkJpcnRoRGF0ZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkNhbGN1bGF0ZUFnZUF0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJwZXJpb2QiIHNjb3BlPSJBbGxTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxOCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZW5vbWluYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkVuY291bnRlcldpdGhBZ2UiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXJXaXRoQWdlIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IklzY2hlbWljIFN0cm9rZSIvPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZW5vbWluYXRvciBFeGNsdXNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIERpc3Bvc2l0aW9uIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIERpc3Bvc2l0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IlBhdGllbnQgRXhwaXJlZCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlAiPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpbnRlbnQiIHNjb3BlPSJQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvcmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSW50ZXJ2ZXRpb25QZXJmb3JtZWQiPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkludGVydmV0aW9uUGVyZm9ybWVkIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQW50aXRocm9tYm90aWMgVGhlcmFweSBhdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkFudGl0aHJvbWJvdGljIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IkFudGl0aHJvbWJvdGljIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJBbnRpdGhyb21ib3RpYyBUaGVyYXB5Ii8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IkFudGl0aHJvbWJvdGljIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvcmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTnVtZXJhdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJEaXNjaGFyZ2VBbnRpdGhyb21ib3RpYyIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQW50aXRocm9tYm90aWMgVGhlcmFweSBhdCBEaXNjaGFyZ2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJEaXNjaGFyZ2VBbnRpdGhyb21ib3RpYyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkFudGl0aHJvbWJvdGljIFRoZXJhcHkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vQW50aXRocm9tYm90aWNEaXNjaGFyZ2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9kYXZpbmNpLWRlcW0vU1RVMy9TdHJ1Y3R1cmVEZWZpbml0aW9uL2V4dGVuc2lvbi1kb05vdFBlcmZvcm0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNUcnVlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQm9vbGVhbiIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlYXNvbkNvZGUiIHNjb3BlPSJOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJNZWRpY2FsIFJlYXNvbiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWFzb25Db2RlIiBzY29wZT0iTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iUGF0aWVudCBSZWZ1c2FsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVuY291bnRlciBXaXRoIE5vIEFudGl0aHJvbWJvdGljIEF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgbGlicmFyeU5hbWU9IlRKQyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iTm9EaXNjaGFyZ2VBbnRpdGhyb21ib3RpYyIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik5vRGlzY2hhcmdlQW50aXRocm9tYm90aWMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRpY2FncmVsb3IgVGhlcmFweSBhdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlRpY2FncmVsb3IiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJUaWNhZ3JlbG9yIFRoZXJhcHkiIGxpYnJhcnlOYW1lPSJUSkMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iVGljYWdyZWxvciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iVGljYWdyZWxvciBUaGVyYXB5IiBsaWJyYXJ5TmFtZT0iVEpDIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IlRpY2FncmVsb3IiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBUaWNhZ3JlbG9yIGF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgbGlicmFyeU5hbWU9IlRKQyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iRGlzY2hhcmdlVGljYWdyZWxvciIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkRpc2NoYXJnZVRpY2FncmVsb3IiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2VwdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciBXaXRoIE5vIEFudGl0aHJvbWJvdGljIEF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciBXaXRoIFRpY2FncmVsb3IgYXQgRGlzY2hhcmdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE0xMDRfRkhJUjMgdmVyc2lvbiAnOC4xLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEwNHY4IC0gRGlzY2hhcmdlZCBvbiBBbnRpdGhyb21ib3RpYyBUaGVyYXB5CkF1dGhvcjogVEpDClNUSyAyCiovCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKaW5jbHVkZSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcgY2FsbGVkIEdsb2JhbAppbmNsdWRlIFRKQ092ZXJhbGxfRkhJUjMgdmVyc2lvbiAnMy42LjAwMCcgY2FsbGVkIFRKQwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCmNvZGVzeXN0ZW0gIlJlcXVlc3RJbnRlbnQiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCcKLy8gTk9URTogVGhpcyBpcyBhbiBSNCBjb2RlIHN5c3RlbQpjb2Rlc3lzdGVtICJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnknCgp2YWx1ZXNldCAiQW50aXRocm9tYm90aWMgVGhlcmFweSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjAxJwp2YWx1ZXNldCAiQ29tZm9ydCBNZWFzdXJlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUnCnZhbHVlc2V0ICJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuODcnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNycKdmFsdWVzZXQgIkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDknCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkhlbW9ycmhhZ2ljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjEyJwp2YWx1ZXNldCAiSXNjaGVtaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNDcnCnZhbHVlc2V0ICJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOCcKdmFsdWVzZXQgIk1lZGljYWwgUmVhc29uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40NzMnCnZhbHVlc2V0ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDI0Jwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MycKdmFsdWVzZXQgIk9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xJwp2YWx1ZXNldCAiUGF0aWVudCBFeHBpcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDknCnZhbHVlc2V0ICJQYXRpZW50IFJlZnVzYWwiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjkzJwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiVGljYWdyZWxvciBUaGVyYXB5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOScKCmNvZGUgIkJpcnRoIGRhdGUiOiAnMjExMTItOCcgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ0JpcnRoIGRhdGUnCgovLyBOT1RFOiBUaGlzIGlzIGFuIFI0IGNvZGUKY29kZSAiRGlzY2hhcmdlIjogJ2Rpc2NoYXJnZScgZnJvbSAiTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIgZGlzcGxheSAnRGlzY2hhcmdlJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgogIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCkKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CglTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgoJU0RFLiJTREUgU2V4IgoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgoJVEpDLiJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiCgogIGRlZmluZSAiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIjoKICAJIkFsbCBTdHJva2UgRW5jb3VudGVyIiBBbGxTdHJva2VFbmNvdW50ZXIKICAJCXdpdGggWyJQYXRpZW50Il0gQmlydGhEYXRlCiAgCQkJc3VjaCB0aGF0IEFnZUluWWVhcnNBdChBbGxTdHJva2VFbmNvdW50ZXIucGVyaW9kLnN0YXJ0KSA+PSAxOAoKICAgICAgICBkZWZpbmUgIkFsbCBTdHJva2UgRW5jb3VudGVyIjoKICAgICAgICAJIk5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBOb25FbGVjdGl2ZUVuY291bnRlcgogICAgICAgIAkJd2hlcmUgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSGVtb3JyaGFnaWMgU3Ryb2tlIgogICAgICAgIAkJb3IgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKICAgICAgICAgICAgZGVmaW5lICJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6CiAgICAgICAgICAgIAlbIkVuY291bnRlciI6ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciJdIE5vbkVsZWN0aXZlRW5jb3VudGVyCiAgICAgICAgICAgIAkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKICAgICAgICAgICAgCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CglUSkMuIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiCgogIGRlZmluZSAiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciI6CiAgCSJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiIEVuY291bnRlcldpdGhBZ2UKICAJCXdoZXJlIEdsb2JhbC5QcmluY2lwYWxEaWFnbm9zaXMoRW5jb3VudGVyV2l0aEFnZSkuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgoJVEpDLiJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBEaXNwb3NpdGlvbiIKCQl1bmlvbiBUSkMuIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiIKCiAgICBkZWZpbmUgIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIERpc3Bvc2l0aW9uIjoKICAgIAkoICggIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCiAgICAJCQkJd2hlcmUgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSIKICAgIAkJCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiCiAgICAJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiUGF0aWVudCBFeHBpcmVkIgogICAgCQkJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIgogICAgCQkJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSIKICAgIAkJKQogICAgCSkKCiAgICBkZWZpbmUgIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiI6CiAgICAJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCiAgICAJCXdpdGggIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiBDb21mb3J0TWVhc3VyZQogICAgCQkJc3VjaCB0aGF0IENvYWxlc2NlKHN0YXJ0IG9mIENvbWZvcnRNZWFzdXJlLnBlcmZvcm1lZCwgQ29tZm9ydE1lYXN1cmUuYXV0aG9yZWRPbilkdXJpbmcgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKElzY2hlbWljU3Ryb2tlRW5jb3VudGVyKQoKICAgICAgICAgIGRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgogICAgICAgICAgCShbIlByb2NlZHVyZVJlcXVlc3QiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIFAKICAgICAgICAgIAkJd2hlcmUgUC5pbnRlbnQgPSAnb3JkZXInKQogICAgICAgICAgCQl1bmlvbgogICAgICAgICAgCQkoWyJQcm9jZWR1cmUiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIEludGVydmV0aW9uUGVyZm9ybWVkCiAgICAgICAgICAJCXdoZXJlIEludGVydmV0aW9uUGVyZm9ybWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnKQoKZGVmaW5lICJOdW1lcmF0b3IiOgoJVEpDLiJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgoJCXdpdGggIkFudGl0aHJvbWJvdGljIFRoZXJhcHkgYXQgRGlzY2hhcmdlIiBEaXNjaGFyZ2VBbnRpdGhyb21ib3RpYwoJCQlzdWNoIHRoYXQgRGlzY2hhcmdlQW50aXRocm9tYm90aWMuYXV0aG9yZWRPbiBkdXJpbmcgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kCgogICAgICBkZWZpbmUgIkFudGl0aHJvbWJvdGljIFRoZXJhcHkgYXQgRGlzY2hhcmdlIjoKICAgICAgCS8vVGhlIGZvbGxvd2luZyBzaG91bGQgd29yaywgYnV0IGl0J3MgcGVuZGluZyBhIGZpeCBpbiB0aGUgQ1FMIEVuZ2luZSwgcmVmIGh0dHBzOi8vZ2l0aHViLmNvbS9EQkNHL2NxbF9lbmdpbmUvaXNzdWVzLzI3MS4KICAgICAgICAvL1siTWVkaWNhdGlvblJlcXVlc3QiOiAiQW50aXRocm9tYm90aWMgVGhlcmFweSJdIEFudGl0aHJvbWJvdGljCiAgICAgICAgLy93aGVyZSBBbnRpdGhyb21ib3RpYy5pbnRlbnQgPSAnb3JkZXInCiAgICAgICAgCiAgICAgICAgLy9UZW1wb3JhcmlseSB1c2luZyB0aGUgZm9sbG93aW5nIHVudGlsIHRoZSBmaXggaXMgYXZhaWxhYmxlLgogICAgICAgIFsiTWVkaWNhdGlvblJlcXVlc3QiXSBBbnRpdGhyb21ib3RpYwogICAgICAgICAgICB3aGVyZSAoQW50aXRocm9tYm90aWMubWVkaWNhdGlvbiBhcyBDb2RlYWJsZUNvbmNlcHQpIGluICJBbnRpdGhyb21ib3RpYyBUaGVyYXB5IgogICAgICAJICAgIGFuZCBBbnRpdGhyb21ib3RpYy5pbnRlbnQgPSAnb3JkZXInCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2VwdGlvbnMiOgoJIkVuY291bnRlciBXaXRoIE5vIEFudGl0aHJvbWJvdGljIEF0IERpc2NoYXJnZSIKCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggVGljYWdyZWxvciBhdCBEaXNjaGFyZ2UiCgogICAgZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBObyBBbnRpdGhyb21ib3RpYyBBdCBEaXNjaGFyZ2UiOgogICAgCVRKQy4iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKICAgIAkJd2l0aCAiQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSIgTm9EaXNjaGFyZ2VBbnRpdGhyb21ib3RpYwogICAgCQkJc3VjaCB0aGF0IE5vRGlzY2hhcmdlQW50aXRocm9tYm90aWMuYXV0aG9yZWRPbiBkdXJpbmcgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kCgogICAgICAgICAgZGVmaW5lICJBbnRpdGhyb21ib3RpYyBOb3QgR2l2ZW4gYXQgRGlzY2hhcmdlIjoKICAgICAgICAgIAlbIk1lZGljYXRpb25SZXF1ZXN0IjogIkFudGl0aHJvbWJvdGljIFRoZXJhcHkiXSBOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlCiAgICAgICAgICAJICAvLyBTVFUzCiAgICAgICAgICAJCXdoZXJlIGV4aXN0cyAoTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZS5leHRlbnNpb24gRSB3aGVyZSBFLnVybCA9ICdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2RhdmluY2ktZGVxbS9TVFUzL1N0cnVjdHVyZURlZmluaXRpb24vZXh0ZW5zaW9uLWRvTm90UGVyZm9ybScgYW5kIEUudmFsdWUgaXMgdHJ1ZSkKICAgICAgICAgIAkJLy8gUjQKICAgICAgICAgIAkJLy93aGVyZSBOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlLmRvTm90UGVyZm9ybSBpcyB0cnVlCiAgICAgICAgICAJCQlhbmQgKHNpbmdsZXRvbiBmcm9tIE5vQW50aXRocm9tYm90aWNEaXNjaGFyZ2UucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iCiAgICAgICAgICAJCQkJb3Igc2luZ2xldG9uIGZyb20gTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZS5yZWFzb25Db2RlIGluICJQYXRpZW50IFJlZnVzYWwiKQoKICAgICAgICAgIC8vIE5PVEU6IE9uIHRoZSBhc3N1bXB0aW9uIHRoYXQgc3RhdHVzIG9mIG5vdC10YWtlbiBpcyB0aGUgY2xvc2VzdCB0byB3aGF0IHRoZSBtZWFzdXJlIGlzIGxvb2tpbmcgZm9yLCB0aGlzIGlzIHRoZSBleHByZXNzaW9uOgogICAgICAgICAgLy8gVE9ETzogUmVxdWVzdCBkaXNjdXNzaW9uIHcvIFBoYXJtYWN5IHJlZ2FyZGluZyBob3cgbWVkaWNhdGlvbnMgbm90IHByZXNjcmliZWQgYXQgZGlzY2hhcmdlZCB3b3VsZCBiZSBkb2N1bWVudGVkCiAgICAgICAgICAvL2RlZmluZSAiQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSBSNCI6CiAgICAgICAgICAvLyAgWyJNZWRpY2F0aW9uU3RhdGVtZW50IjogIkFudGl0aHJvbWJvdGljIFRoZXJhcHkiXSBBbnRpdGhyb21ib3RpY1RoZXJhcHkKICAgICAgICAgIC8vCSAgd2hlcmUgQW50aXRocm9tYm90aWNUaGVyYXB5LnN0YXR1cyA9ICdub3QtdGFrZW4nCiAgICAgICAgICAvLwkJICBhbmQgKEFudGl0aHJvbWJvdGljVGhlcmFweS5zdGF0dXNSZWFzb24gaW4gIk1lZGljYWwgUmVhc29uIgogICAgICAgICAgLy8JCQkJb3IgQW50aXRocm9tYnRvaWNUaGVyYXB5LnN0YXR1c1JlYXNvbiBpbiAiUGF0aWVudCBSZWZ1c2FsIikKCiAgICAgICAgICAvLyBJZiBpdCdzIGRvY3VtZW50ZWQgYXMgYSBjaGVja2JveCwgaXQgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGFuIG9ic2VydmF0aW9uCiAgICAgICAgICAvL2RlZmluZSAiQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSAoT2JzZXJ2YXRpb24pIjoKICAgICAgICAgIC8vICBbIk9ic2VydmF0aW9uIjogIk1lZGljYXRpb24gTm90IEdpdmVuIEF0IERpc2NoYXJnZSJdIE8KICAgICAgICAgIC8vCSAgd2hlcmUgTy52YWx1ZSBpbiAiQW50aXRocm9tYm90aWMgVGhlcmFweSIKCiAgICAgIC8qCiAgICAgIGRlZmluZSAiRW5jb3VudGVyIFdpdGggVGljYWdyZWxvciBEdXJpbmcgSG9zcGl0YWxpemF0aW9uIjoKICAgICAgCVRKQy4iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKICAgICAgCQl3aXRoIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiBUSkMuIlRpY2FncmVsb3IgVGhlcmFweSJdIFRpY2FncmVsb3IKICAgICAgCQkJc3VjaCB0aGF0IFRpY2FncmVsb3IuZWZmZWN0aXZlIHN0YXJ0cyBkdXJpbmcgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKElzY2hlbWljU3Ryb2tlRW5jb3VudGVyKQogICAgICAqLwogICAgICAvL0xvb2tpbmcgZm9yIFRpY2FncmVsb3IgYXMgZGlzY2hhcmdlIG1lZGljYXRpb24sIGluY2x1ZGUgYSBjb3JyZWN0ZWQgZGVmaW50aW9uIGluIDIwMjEgQ1FMIGJhc2VkIG1lYXN1cmUKICAgICAgZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBUaWNhZ3JlbG9yIGF0IERpc2NoYXJnZSI6CiAgICAgICAgVEpDLiJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgogICAgICAgICAgd2l0aCAiVGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSIgRGlzY2hhcmdlVGljYWdyZWxvcgogICAgICAgICAgICBzdWNoIHRoYXQgRGlzY2hhcmdlVGljYWdyZWxvci5hdXRob3JlZE9uIGR1cmluZyBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QKCiAgICAgICAgICAgIGRlZmluZSAiVGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSI6CiAgICAgICAgICAgICAgWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gVEpDLiJUaWNhZ3JlbG9yIFRoZXJhcHkiXSBUaWNhZ3JlbG9yCiAgICAgICAgICAgICAgICB3aGVyZSAoVGljYWdyZWxvci5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdCkgaW4gVEpDLiJUaWNhZ3JlbG9yIFRoZXJhcHkiCiAgICAgICAgICAgICAgICAgIGFuZCBUaWNhZ3JlbG9yLmludGVudCA9ICdvcmRlcicK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-EXM104-FHIR3-8.1.000" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.837", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.837" + } ], + "version": "20121025", + "name": "Ethnicity", + "title": "Ethnicity", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "2135-2", + "display": "Hispanic or Latino" + }, { + "code": "2186-5", + "display": "Not Hispanic or Latino" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.3591", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.3591" + } ], + "version": "20180718", + "name": "Payer", + "title": "Payer", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.phdsc.org/standards/pdfs/SourceofPaymentTypologyVersion6FINALSeptember2015.pdf", + "version": "8.0", + "concept": [ { + "code": "1", + "display": "MEDICARE" + }, { + "code": "11", + "display": "Medicare (Managed Care)" + }, { + "code": "111", + "display": "Medicare HMO" + }, { + "code": "112", + "display": "Medicare PPO" + }, { + "code": "113", + "display": "Medicare POS" + }, { + "code": "119", + "display": "Medicare Managed Care Other" + }, { + "code": "12", + "display": "Medicare (Non-managed Care)" + }, { + "code": "121", + "display": "Medicare FFS" + }, { + "code": "122", + "display": "Medicare Drug Benefit" + }, { + "code": "123", + "display": "Medicare Medical Savings Account (MSA)" + }, { + "code": "129", + "display": "Medicare Non-managed Care Other" + }, { + "code": "13", + "display": "Medicare Hospice" + }, { + "code": "14", + "display": "Dual Eligibility Medicare/Medicaid Organization" + }, { + "code": "19", + "display": "Medicare Other" + }, { + "code": "191", + "display": "Medicare Pharmacy Benefit Manager" + }, { + "code": "2", + "display": "MEDICAID" + }, { + "code": "21", + "display": "Medicaid (Managed Care)" + }, { + "code": "211", + "display": "Medicaid HMO" + }, { + "code": "212", + "display": "Medicaid PPO" + }, { + "code": "213", + "display": "Medicaid PCCM (Primary Care Case Management)" + }, { + "code": "219", + "display": "Medicaid Managed Care Other" + }, { + "code": "22", + "display": "Medicaid (Non-managed Care Plan)" + }, { + "code": "23", + "display": "Medicaid/SCHIP" + }, { + "code": "25", + "display": "Medicaid - Out of State" + }, { + "code": "26", + "display": "Medicaid -- Long Term Care" + }, { + "code": "29", + "display": "Medicaid Other" + }, { + "code": "291", + "display": "Medicaid Pharmacy Benefit Manager" + }, { + "code": "299", + "display": "Medicaid - Dental" + }, { + "code": "3", + "display": "OTHER GOVERNMENT (Federal/State/Local) (excluding Department of Corrections)" + }, { + "code": "31", + "display": "Department of Defense" + }, { + "code": "311", + "display": "TRICARE (CHAMPUS)" + }, { + "code": "3111", + "display": "TRICARE Prime--HMO" + }, { + "code": "3112", + "display": "TRICARE Extra--PPO" + }, { + "code": "3113", + "display": "TRICARE Standard - Fee For Service" + }, { + "code": "3114", + "display": "TRICARE For Life--Medicare Supplement" + }, { + "code": "3115", + "display": "TRICARE Reserve Select" + }, { + "code": "3116", + "display": "Uniformed Services Family Health Plan (USFHP) -- HMO" + }, { + "code": "3119", + "display": "Department of Defense - (other)" + }, { + "code": "312", + "display": "Military Treatment Facility" + }, { + "code": "3121", + "display": "Enrolled Prime--HMO" + }, { + "code": "3122", + "display": "Non-enrolled Space Available" + }, { + "code": "3123", + "display": "TRICARE For Life (TFL)" + }, { + "code": "313", + "display": "Dental --Stand Alone" + }, { + "code": "32", + "display": "Department of Veterans Affairs" + }, { + "code": "321", + "display": "Veteran care--Care provided to Veterans" + }, { + "code": "3211", + "display": "Direct Care--Care provided in VA facilities" + }, { + "code": "3212", + "display": "Indirect Care--Care provided outside VA facilities" + }, { + "code": "32121", + "display": "Fee Basis" + }, { + "code": "32122", + "display": "Foreign Fee/Foreign Medical Program (FMP)" + }, { + "code": "32123", + "display": "Contract Nursing Home/Community Nursing Home" + }, { + "code": "32124", + "display": "State Veterans Home" + }, { + "code": "32125", + "display": "Sharing Agreements" + }, { + "code": "32126", + "display": "Other Federal Agency" + }, { + "code": "32127", + "display": "Dental Care" + }, { + "code": "32128", + "display": "Vision Care" + }, { + "code": "322", + "display": "Non-veteran care" + }, { + "code": "3221", + "display": "Civilian Health and Medical Program for the VA (CHAMPVA)" + }, { + "code": "3222", + "display": "Spina Bifida Health Care Program (SB)" + }, { + "code": "3223", + "display": "Children of Women Vietnam Veterans (CWVV)" + }, { + "code": "3229", + "display": "Other non-veteran care" + }, { + "code": "33", + "display": "Indian Health Service or Tribe" + }, { + "code": "331", + "display": "Indian Health Service -- Regular" + }, { + "code": "332", + "display": "Indian Health Service -- Contract" + }, { + "code": "333", + "display": "Indian Health Service - Managed Care" + }, { + "code": "334", + "display": "Indian Tribe - Sponsored Coverage" + }, { + "code": "34", + "display": "HRSA Program" + }, { + "code": "341", + "display": "Title V (MCH Block Grant)" + }, { + "code": "342", + "display": "Migrant Health Program" + }, { + "code": "343", + "display": "Ryan White Act" + }, { + "code": "349", + "display": "Other" + }, { + "code": "35", + "display": "Black Lung" + }, { + "code": "36", + "display": "State Government" + }, { + "code": "361", + "display": "State SCHIP program (codes for individual states)" + }, { + "code": "362", + "display": "Specific state programs (list/ local code)" + }, { + "code": "369", + "display": "State, not otherwise specified (other state)" + }, { + "code": "37", + "display": "Local Government" + }, { + "code": "371", + "display": "Local - Managed care" + }, { + "code": "3711", + "display": "HMO" + }, { + "code": "3712", + "display": "PPO" + }, { + "code": "3713", + "display": "POS" + }, { + "code": "372", + "display": "FFS/Indemnity" + }, { + "code": "379", + "display": "Local, not otherwise specified (other local, county)" + }, { + "code": "38", + "display": "Other Government (Federal, State, Local not specified)" + }, { + "code": "381", + "display": "Federal, State, Local not specified managed care" + }, { + "code": "3811", + "display": "Federal, State, Local not specified - HMO" + }, { + "code": "3812", + "display": "Federal, State, Local not specified - PPO" + }, { + "code": "3813", + "display": "Federal, State, Local not specified - POS" + }, { + "code": "3819", + "display": "Federal, State, Local not specified - not specified managed care" + }, { + "code": "382", + "display": "Federal, State, Local not specified - FFS" + }, { + "code": "389", + "display": "Federal, State, Local not specified - Other" + }, { + "code": "39", + "display": "Other Federal" + }, { + "code": "391", + "display": "Federal Employee Health Plan - Use when known" + }, { + "code": "4", + "display": "DEPARTMENTS OF CORRECTIONS" + }, { + "code": "41", + "display": "Corrections Federal" + }, { + "code": "42", + "display": "Corrections State" + }, { + "code": "43", + "display": "Corrections Local" + }, { + "code": "44", + "display": "Corrections Unknown Level" + }, { + "code": "5", + "display": "PRIVATE HEALTH INSURANCE" + }, { + "code": "51", + "display": "Managed Care (Private)" + }, { + "code": "511", + "display": "Commercial Managed Care - HMO" + }, { + "code": "512", + "display": "Commercial Managed Care - PPO" + }, { + "code": "513", + "display": "Commercial Managed Care - POS" + }, { + "code": "514", + "display": "Exclusive Provider Organization" + }, { + "code": "515", + "display": "Gatekeeper PPO (GPPO)" + }, { + "code": "516", + "display": "Commercial Managed Care - Pharmacy Benefit Manager" + }, { + "code": "517", + "display": "Commercial Managed Care - Dental" + }, { + "code": "519", + "display": "Managed Care, Other (non HMO)" + }, { + "code": "52", + "display": "Private Health Insurance - Indemnity" + }, { + "code": "521", + "display": "Commercial Indemnity" + }, { + "code": "522", + "display": "Self-insured (ERISA) Administrative Services Only (ASO) plan" + }, { + "code": "523", + "display": "Medicare supplemental policy (as second payer)" + }, { + "code": "524", + "display": "Indemnity Insurance - Dental" + }, { + "code": "529", + "display": "Private health insurance--other commercial Indemnity" + }, { + "code": "53", + "display": "Managed Care (private) or private health insurance (indemnity), not otherwise specified" + }, { + "code": "54", + "display": "Organized Delivery System" + }, { + "code": "55", + "display": "Small Employer Purchasing Group" + }, { + "code": "56", + "display": "Specialized Stand Alone Plan" + }, { + "code": "561", + "display": "Dental" + }, { + "code": "562", + "display": "Vision" + }, { + "code": "59", + "display": "Other Private Insurance" + }, { + "code": "6", + "display": "BLUE CROSS/BLUE SHIELD" + }, { + "code": "61", + "display": "BC Managed Care" + }, { + "code": "611", + "display": "BC Managed Care -- HMO" + }, { + "code": "612", + "display": "BC Managed Care -- PPO" + }, { + "code": "613", + "display": "BC Managed Care -- POS" + }, { + "code": "614", + "display": "BC Managed Care - Dental" + }, { + "code": "619", + "display": "BC Managed Care -- Other" + }, { + "code": "62", + "display": "BC Insurance Indemnity" + }, { + "code": "621", + "display": "BC Indemnity" + }, { + "code": "622", + "display": "BC Self-insured (ERISA) Administrative Services Only (ASO)Plan" + }, { + "code": "623", + "display": "BC Medicare Supplemental Plan" + }, { + "code": "629", + "display": "BC Indemnity - Dental" + }, { + "code": "7", + "display": "MANAGED CARE, UNSPECIFIED (to be used only if one can't distinguish public from private)" + }, { + "code": "71", + "display": "HMO" + }, { + "code": "72", + "display": "PPO" + }, { + "code": "73", + "display": "POS" + }, { + "code": "79", + "display": "Other Managed Care" + }, { + "code": "8", + "display": "NO PAYMENT from an Organization/Agency/Program/Private Payer Listed" + }, { + "code": "81", + "display": "Self-pay (Includes applicants for insurance and Medicaid applicants)" + }, { + "code": "82", + "display": "No Charge" + }, { + "code": "821", + "display": "Charity" + }, { + "code": "822", + "display": "Professional Courtesy" + }, { + "code": "823", + "display": "Research/Clinical Trial" + }, { + "code": "83", + "display": "Refusal to Pay/Bad Debt" + }, { + "code": "84", + "display": "Hill Burton Free Care" + }, { + "code": "85", + "display": "Research/Donor" + }, { + "code": "89", + "display": "No Payment, Other" + }, { + "code": "9", + "display": "MISCELLANEOUS/OTHER" + }, { + "code": "91", + "display": "Foreign National" + }, { + "code": "92", + "display": "Other (Non-government)" + }, { + "code": "93", + "display": "Disability Insurance" + }, { + "code": "94", + "display": "Long-term Care Insurance" + }, { + "code": "95", + "display": "Worker's Compensation" + }, { + "code": "951", + "display": "Worker's Comp HMO" + }, { + "code": "953", + "display": "Worker's Comp Fee-for-Service" + }, { + "code": "954", + "display": "Worker's Comp Other Managed Care" + }, { + "code": "959", + "display": "Worker's Comp, Other unspecified" + }, { + "code": "96", + "display": "Auto Insurance (includes no fault)" + }, { + "code": "97", + "display": "Legal Liability / Liability Insurance" + }, { + "code": "98", + "display": "Other specified but not otherwise classifiable (includes Hospice - Unspecified plan)" + }, { + "code": "99", + "display": "No Typology Code available for payment source" + }, { + "code": "9999", + "display": "Unavailable / No Payer Specified / Blank" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-TJCOverall-FHIR3-3.6.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-TJCOverall-FHIR3-3.6.000
Type: Logic Library
Version: 3.6.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

Data Requirements:

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424

type: Patient

Content: type: text/cql
library TJCOverall_FHIR3 version '3.6.000'\n\nusing FHIR version '3.0.0'\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n//TODO: MATGlobalCommonFunctions_FHIR version '2.0.000' need to be updated to 4.0\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "LOINC": 'http://loinc.org'\n\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'\nvalueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'\nvalueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'\nvalueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'\nvalueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'\nvalueset "Ticagrelor Therapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion\n\t\t(["Procedure": "Comfort Measures"] InterventionPerformed\n\t\twhere InterventionPerformed.status = 'completed')\n\ndefine "All Stroke Encounter":\n\t"Non Elective Inpatient Encounter" NonElectiveEncounter\n    where Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Hemorrhagic Stroke"\n      or Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Ischemic Stroke"\n\ndefine "Ischemic Stroke Encounter":\n\t"Encounter with Principal Diagnosis and Age" EncounterWithAge\n\t\twhere Global.PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"\n\ndefine "Non Elective Inpatient Encounter":\n\t["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\n\t\twhere Global."LengthInDays"(NonElectiveEncounter.period)<= 120\n\t\t\tand NonElectiveEncounter.period ends during "Measurement Period"\n\ndefine "Ischemic Stroke Encounters with Discharge Disposition":\n\t( ( "Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\t\t\twhere IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\n\t\t)\n\t)\n\ndefine "Comfort Measures during Hospitalization":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Intervention Comfort Measures" ComfortMeasure\n\t\t\tsuch that Coalesce(start of FHIRHelpers.ToInterval(ComfortMeasure.performed), ComfortMeasure.authoredOn)during Global."HospitalizationWithObservation"(IschemicStrokeEncounter)\n\ndefine "Encounter with Principal Diagnosis and Age":\n\t"All Stroke Encounter" AllStrokeEncounter\n\t\twith ["Patient"] BirthDate\n\t\t\tsuch that Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(BirthDate.birthDate), start of FHIRHelpers.ToInterval(AllStrokeEncounter.period)) >= 18\n\ndefine function "CalendarDayOfOrDayAfter"(StartValue DateTime ):\n\tInterval(Global."ToDate"(StartValue), Global."ToDate"(StartValue + 2 days))\n
\n \n \n
\n
" + }, + "version": "3.6.000", + "name": "TJCOverall_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + } ], + "dataRequirement": [ { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } ] + }, { + "type": "Patient" + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlRKQ092ZXJhbGxfRkhJUjMiIHZlcnNpb249IjMuNi4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iR2xvYmFsIiBwYXRoPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIHZlcnNpb249IjQuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTREUiIHBhdGg9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8cGFyYW1ldGVycz4NCiAgICAgIDxkZWYgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L3BhcmFtZXRlclR5cGVTcGVjaWZpZXI+DQogICAgICA8L2RlZj4NCiAgIDwvcGFyYW1ldGVycz4NCiAgIDxjb2RlU3lzdGVtcz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA4IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IEV4cGlyZWQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlRpY2FncmVsb3IgVGhlcmFweSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aCBkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICA8L2NvZGVzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnRlcnZlbnRpb25QZXJmb3JtZWQiPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkludGVydmVudGlvblBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb25FbGVjdGl2ZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJBbGwgU3Ryb2tlIEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm9uIEVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJIZW1vcnJoYWdpYyBTdHJva2UiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUHJpbmNpcGFsRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQWxsU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkFsbCBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJCaXJ0aERhdGUiIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiBzY29wZT0iQmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJBbGxTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxOCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJXaXRoQWdlIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUHJpbmNpcGFsRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyV2l0aEFnZSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJJc2NoZW1pYyBTdHJva2UiLz4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlcnMgd2l0aCBEaXNjaGFyZ2UgRGlzcG9zaXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iUGF0aWVudCBFeHBpcmVkIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb3dDbG9zZWQ9ImZhbHNlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iU3RhcnRWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJTdGFydFZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iU3RhcnRWYWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBUSkNPdmVyYWxsX0ZISVIzIHZlcnNpb24gJzMuNi4wMDAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKLy9UT0RPOiBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUiB2ZXJzaW9uICcyLjAuMDAwJyBuZWVkIHRvIGJlIHVwZGF0ZWQgdG8gNC4wCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzQuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4Jwpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwoKdmFsdWVzZXQgIkNvbWZvcnQgTWVhc3VyZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1Jwp2YWx1ZXNldCAiRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3Jwp2YWx1ZXNldCAiRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDcnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5Jwp2YWx1ZXNldCAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MicKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJJc2NoZW1pYyBTdHJva2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NycKdmFsdWVzZXQgIkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA4Jwp2YWx1ZXNldCAiTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCcKdmFsdWVzZXQgIlBhdGllbnQgRXhwaXJlZCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5Jwp2YWx1ZXNldCAiVGljYWdyZWxvciBUaGVyYXB5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOScKdmFsdWVzZXQgIk9ic2VydmF0aW9uIFNlcnZpY2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMnCgpjb2RlICJCaXJ0aCBkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIjoKCShbIlByb2NlZHVyZVJlcXVlc3QiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIFAKCQl3aGVyZSBQLmludGVudCA9ICdvcmRlcicpCgkJdW5pb24KCQkoWyJQcm9jZWR1cmUiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIEludGVydmVudGlvblBlcmZvcm1lZAoJCXdoZXJlIEludGVydmVudGlvblBlcmZvcm1lZC5zdGF0dXMgPSAnY29tcGxldGVkJykKCmRlZmluZSAiQWxsIFN0cm9rZSBFbmNvdW50ZXIiOgoJIk5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBOb25FbGVjdGl2ZUVuY291bnRlcgogICAgd2hlcmUgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSGVtb3JyaGFnaWMgU3Ryb2tlIgogICAgICBvciBHbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKE5vbkVsZWN0aXZlRW5jb3VudGVyKS5jb2RlIGluICJJc2NoZW1pYyBTdHJva2UiCgpkZWZpbmUgIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiOgoJIkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgRW5jb3VudGVyV2l0aEFnZQoJCXdoZXJlIEdsb2JhbC5QcmluY2lwYWxEaWFnbm9zaXMoRW5jb3VudGVyV2l0aEFnZSkuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKZGVmaW5lICJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6CglbIkVuY291bnRlciI6ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciJdIE5vbkVsZWN0aXZlRW5jb3VudGVyCgkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBEaXNwb3NpdGlvbiI6CgkoICggIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJCQl3aGVyZSBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiUGF0aWVudCBFeHBpcmVkIgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiCgkJCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiCgkJKQoJKQoKZGVmaW5lICJDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24iOgoJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIENvbWZvcnRNZWFzdXJlCgkJCXN1Y2ggdGhhdCBDb2FsZXNjZShzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKENvbWZvcnRNZWFzdXJlLnBlcmZvcm1lZCksIENvbWZvcnRNZWFzdXJlLmF1dGhvcmVkT24pZHVyaW5nIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIihJc2NoZW1pY1N0cm9rZUVuY291bnRlcikKCmRlZmluZSAiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIjoKCSJBbGwgU3Ryb2tlIEVuY291bnRlciIgQWxsU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCBbIlBhdGllbnQiXSBCaXJ0aERhdGUKCQkJc3VjaCB0aGF0IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShCaXJ0aERhdGUuYmlydGhEYXRlKSwgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChBbGxTdHJva2VFbmNvdW50ZXIucGVyaW9kKSkgPj0gMTgKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKFN0YXJ0VmFsdWUgRGF0ZVRpbWUgKToKCUludGVydmFsKEdsb2JhbC4iVG9EYXRlIihTdGFydFZhbHVlKSwgR2xvYmFsLiJUb0RhdGUiKFN0YXJ0VmFsdWUgKyAyIGRheXMpKQo=" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-TJCOverall-FHIR3-3.6.000" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.836", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.836" + } ], + "version": "20121025", + "name": "Race", + "title": "Race", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "1002-5", + "display": "American Indian or Alaska Native" + }, { + "code": "2028-9", + "display": "Asian" + }, { + "code": "2054-5", + "display": "Black or African American" + }, { + "code": "2076-8", + "display": "Native Hawaiian or Other Pacific Islander" + }, { + "code": "2106-3", + "display": "White" + }, { + "code": "2131-1", + "display": "Other Race" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-4.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-4.0.000
Type: Logic Library
Version: 4.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '4.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t  and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "HospitalizationWithObservation"(TheEncounter FHIR.Encounter):\n\tTheEncounter Visit\n\t\tlet ObsVisit: Last([Encounter: "Observation Services"] LastObs\n\t\t\t\twhere LastObs.period ends 1 hour or less on or before start of Visit.period\n\t\t\t\tsort by end of period\n\t\t\t),\n\t\t\tVisitStart: Coalesce(start of ObsVisit.period, start of Visit.period),\n\t\t\tEDVisit: Last([Encounter: "Emergency Department Visit"] LastED\n\t\t\t\twhere LastED.period ends 1 hour or less on or before VisitStart\n\t\t\t\tsort by end of period\n\t\t\t)\n\t\treturn Interval[Coalesce(start of EDVisit.period, VisitStart), end of Visit.period]\n\ndefine function "HospitalizationWithObservationLengthofStay"(Encounter FHIR.Encounter):\n\t"LengthInDays"("HospitalizationWithObservation"(Encounter))\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] Condition where Condition.id.value = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t//"GetId"(uri String): returns the last String of a Split by / List therefor cannot use in\n\t\treturn singleton from ([Condition] Condition where Condition.id.value = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "4.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMjMiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIyMyIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSI0LjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT2JzZXJ2YXRpb24gU2VydmljZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTQzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iQmlydGhkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlYWQiIGlkPSI0MTkwOTkwMDkiIGRpc3BsYXk9IkRlYWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEQ1QiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFUiIgaWQ9IkVSIiBkaXNwbGF5PSJFbWVyZ2VuY3kgcm9vbSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJSb2xlQ29kZSIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IklDVSIgaWQ9IklDVSIgZGlzcGxheT0iSW50ZW5zaXZlIGNhcmUgdW5pdCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJSb2xlQ29kZSIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkJpbGxpbmciIGlkPSJiaWxsaW5nIiBkaXNwbGF5PSJCaWxsaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkRpYWdub3NpcyBSb2xlIi8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJMZW5ndGhJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkRpZmZlcmVuY2VCZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRW5jb3VudGVySW5wYXRpZW50Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVuY291bnRlciBJbnBhdGllbnQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICA8eWVhciBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3llYXI+DQogICAgICAgICAgICA8bW9udGggcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvbW9udGg+DQogICAgICAgICAgICA8ZGF5IHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9kYXk+DQogICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDx0aW1lem9uZU9mZnNldCB4c2k6dHlwZT0iVGltZXpvbmVGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC90aW1lem9uZU9mZnNldD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRUQgVmlzaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJob3VyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJYIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRURFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgcGF0aD0ibG9jYXRpb24iIHNjb3BlPSJFREVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTGVuZ3RoSW5EYXlzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIEFkbWlzc2lvbiBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQXJyaXZhbCBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IkZpcnN0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikhvc3BpdGFsTG9jYXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9IklkZW50aWZpZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvcnQ+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWaXNpdCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxsZXQgaWRlbnRpZmllcj0iT2JzVmlzaXQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9Ikxhc3QiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTGFzdE9icyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMYXN0T2JzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJJZGVudGlmaWVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2J5Pg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3J0Pg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L2xldD4NCiAgICAgICAgICAgIDxsZXQgaWRlbnRpZmllcj0iVmlzaXRTdGFydCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iT2JzVmlzaXQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvbGV0Pg0KICAgICAgICAgICAgPGxldCBpZGVudGlmaWVyPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikxhc3RFRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMYXN0RUQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmlzaXRTdGFydCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlZpc2l0U3RhcnQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3J0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGJ5IGRpcmVjdGlvbj0iYXNjIiB4c2k6dHlwZT0iQnlFeHByZXNzaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9sZXQ+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iRURWaXNpdCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWaXNpdFN0YXJ0IiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb25MZW5ndGhvZlN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJDb25kaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb25kaXRpb24iIHNjb3BlPSJEIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUEQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icm9sZSIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvQ29uY2VwdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaWxsaW5nIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZWdlciIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmFuayIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJDb25kaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb25kaXRpb24iIHNjb3BlPSJQRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0TG9jYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTG9jYXRpb24iPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TG9jYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJpZCIgc2NvcGU9IkxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVmZXJlbmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlZmVyZW5jZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkUiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRCYXNlRXh0ZW5zaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0UHJvdmVuYW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb3ZlbmFuY2UiIGNvZGVQcm9wZXJ0eT0idGFyZ2V0IiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0TWVkaWNhdGlvbkNvZGUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXF1ZXN0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXF1ZXN0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXF1ZXN0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MycKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiRGVhZCI6ICc0MTkwOTkwMDknIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdEZWFkJwpjb2RlICJFUiI6ICdFUicgZnJvbSAiUm9sZUNvZGUiIGRpc3BsYXkgJ0VtZXJnZW5jeSByb29tJwpjb2RlICJJQ1UiOiAnSUNVJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnSW50ZW5zaXZlIGNhcmUgdW5pdCcKY29kZSAiQmlsbGluZyI6ICdiaWxsaW5nJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAnQmlsbGluZycKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJJbnBhdGllbnQgRW5jb3VudGVyIjoKCVtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRW5jb3VudGVySW5wYXRpZW50CgkJd2hlcmUgRW5jb3VudGVySW5wYXRpZW50LnN0YXR1cyA9ICdmaW5pc2hlZCcKCQkgIGFuZCAiTGVuZ3RoSW5EYXlzIihFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kKSA8PSAxMjAKCQkJYW5kIEVuY291bnRlcklucGF0aWVudC5wZXJpb2QgZW5kcyBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSBmdW5jdGlvbiAiVG9EYXRlIihWYWx1ZSBEYXRlVGltZSk6CglEYXRlVGltZSh5ZWFyIGZyb20gVmFsdWUsIG1vbnRoIGZyb20gVmFsdWUsIGRheSBmcm9tIFZhbHVlLCAwLCAwLCAwLCAwLCB0aW1lem9uZSBmcm9tIFZhbHVlKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5c0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCWRheXMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5EYXlzIihCaXJ0aERhdGVUaW1lIERhdGVUaW1lKToKCUNhbGVuZGFyQWdlSW5EYXlzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCW1vbnRocyBiZXR3ZWVuIFRvRGF0ZShCaXJ0aERhdGVUaW1lKWFuZCBUb0RhdGUoQXNPZikKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbk1vbnRocyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluTW9udGhzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUsIEFzT2YgRGF0ZVRpbWUpOgoJeWVhcnMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFycyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluWWVhcnNBdChCaXJ0aERhdGVUaW1lLCBUb2RheSgpKQoKZGVmaW5lIGZ1bmN0aW9uICJMZW5ndGhJbkRheXMiKFZhbHVlIEludGVydmFsPERhdGVUaW1lPik6CglkaWZmZXJlbmNlIGluIGRheXMgYmV0d2VlbiBzdGFydCBvZiBWYWx1ZSBhbmQgZW5kIG9mIFZhbHVlCgpkZWZpbmUgZnVuY3Rpb24gIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgogICAgc2luZ2xldG9uIGZyb20gKAogICAgICAgIFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIEVEVmlzaXQKICAgICAgICAgICAgd2hlcmUgRURWaXNpdC5zdGF0dXMgPSAnZmluaXNoZWQnCiAgICAgICAgICAgICAgICBhbmQgRURWaXNpdC5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQogICAgKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIFgKICAgIHJldHVybgogICAgICAgIGlmIFggaXMgbnVsbCB0aGVuIFRoZUVuY291bnRlci5wZXJpb2QKICAgICAgICBlbHNlIEludGVydmFsW3N0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoWC5wZXJpb2QpLCBlbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKV0KCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCSggIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIpICkgRURFbmNvdW50ZXIKICAgIHJldHVybgogICAgICAgIGlmIEVERW5jb3VudGVyIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIubG9jYXRpb24KICAgICAgICBlbHNlIGZsYXR0ZW4geyBFREVuY291bnRlci5sb2NhdGlvbiwgVGhlRW5jb3VudGVyLmxvY2F0aW9uIH0KCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJTGVuZ3RoSW5EYXlzKCJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikpCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIEFkbWlzc2lvbiBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJc3RhcnQgb2YgIkhvc3BpdGFsaXphdGlvbiIoVGhlRW5jb3VudGVyKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCWVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFRoZUVuY291bnRlci5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRmlyc3QoCgkgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglUaGVFbmNvdW50ZXIgVmlzaXQKCQlsZXQgT2JzVmlzaXQ6IExhc3QoW0VuY291bnRlcjogIk9ic2VydmF0aW9uIFNlcnZpY2VzIl0gTGFzdE9icwoJCQkJd2hlcmUgTGFzdE9icy5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgVmlzaXQucGVyaW9kCgkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKCQkJKSwKCQkJVmlzaXRTdGFydDogQ29hbGVzY2Uoc3RhcnQgb2YgT2JzVmlzaXQucGVyaW9kLCBzdGFydCBvZiBWaXNpdC5wZXJpb2QpLAoJCQlFRFZpc2l0OiBMYXN0KFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIExhc3RFRAoJCQkJd2hlcmUgTGFzdEVELnBlcmlvZCBlbmRzIDEgaG91ciBvciBsZXNzIG9uIG9yIGJlZm9yZSBWaXNpdFN0YXJ0CgkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKCQkJKQoJCXJldHVybiBJbnRlcnZhbFtDb2FsZXNjZShzdGFydCBvZiBFRFZpc2l0LnBlcmlvZCwgVmlzaXRTdGFydCksIGVuZCBvZiBWaXNpdC5wZXJpb2RdCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbkxlbmd0aG9mU3RheSIoRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCSJMZW5ndGhJbkRheXMiKCJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKEVuY291bnRlcikpCgovLyBUT0RPIC0gZml4IHRoZXNlIChtdXN0IGZldGNoIExvY2F0aW9uIHJlc291cmNlcyBhbmQgY29tcGFyZSBpZCB0byByZWZlcmVuY2UpCi8qZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBEZXBhcnR1cmUgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCWVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKExhc3QoCgkgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKCgKCSAgICBzaW5nbGV0b24gZnJvbSAoCgkgICAgICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCQl3aGVyZSBIb3NwaXRhbExvY2F0aW9uLnR5cGUgfiAiRVIiCgkJKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkZpcnN0IElucGF0aWVudCBJbnRlbnNpdmUgQ2FyZSBVbml0IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJRmlyc3QoCgkgICAgKCBUaGVFbmNvdW50ZXIubG9jYXRpb24gKSBIb3NwaXRhbExvY2F0aW9uCgkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJJQ1UiCgkJCQlhbmQgSG9zcGl0YWxMb2NhdGlvbi5wZXJpb2QgZHVyaW5nIFRoZUVuY291bnRlci5wZXJpb2QKCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkqLwoKLyoKKgoqICAgIENRRk1lYXN1cmVzIENvbW1vbiBMb2dpYwoqCiovCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBPbnNldCIob25zZXQgQ2hvaWNlPEZISVIuZGF0ZVRpbWUsIEZISVIuQWdlLCBGSElSLlBlcmlvZCwgRkhJUi5SYW5nZSwgRkhJUi5zdHJpbmc+KToKICBpZiBvbnNldCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShvbnNldCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShvbnNldCBhcyBGSElSLmRhdGVUaW1lKV0KCWVsc2UgaWYgb25zZXQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKG9uc2V0IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLkFnZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KG9uc2V0IGFzIEZISVIuQWdlKSwKCQkgIEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KG9uc2V0IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24gQ29uZGl0aW9uKToKCWlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5kYXRlVGltZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuUGVyaW9kIHRoZW4KCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuQWdlIHRoZW4KCQlJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSwKCQkJRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLkFnZSkgKyAxIHllYXIpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5ib29sZWFuIHRoZW4KCSAgSW50ZXJ2YWxbZW5kIG9mICJOb3JtYWxpemUgT25zZXQiKGNvbmRpdGlvbi5vbnNldCksIGNvbmRpdGlvbi5hc3NlcnRlZERhdGUpCgllbHNlIG51bGwKCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJldmFsZW5jZVBlcmlvZCIoY29uZGl0aW9uIENvbmRpdGlvbik6CiAgSW50ZXJ2YWxbc3RhcnQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgZW5kIG9mICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24pKQoKZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgSW50ZXJ2YWwiKGNob2ljZSBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5QZXJpb2Q+KToKICBpZiBjaG9pY2UgaXMgRkhJUi5kYXRlVGltZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNob2ljZSBhcyBGSElSLmRhdGVUaW1lKV0KCWVsc2UKCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjaG9pY2UgYXMgRkhJUi5QZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkdldElkIih1cmkgU3RyaW5nKToKCUxhc3QoU3BsaXQodXJpLCAnLycpKQoKZGVmaW5lIGZ1bmN0aW9uICJFbmNvdW50ZXJEaWFnbm9zaXMiKEVuY291bnRlciBFbmNvdW50ZXIpOgogIEVuY291bnRlci5kaWFnbm9zaXMgRAogICAgcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDb25kaXRpb24gd2hlcmUgQ29uZGl0aW9uLmlkLnZhbHVlID0gIkdldElkIihELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgY29uZGl0aW9uIHRoYXQgaXMgc3BlY2lmaWVkIGFzIHRoZSBwcmluY2lwYWwgZGlhZ25vc2lzIGZvciB0aGUgZW5jb3VudGVyCmRlZmluZSBmdW5jdGlvbiAiUHJpbmNpcGFsRGlhZ25vc2lzIihFbmNvdW50ZXIgRW5jb3VudGVyKToKCShzaW5nbGV0b24gZnJvbSAoRW5jb3VudGVyLmRpYWdub3NpcyBEIHdoZXJlIEQucm9sZSB+IFRvQ29uY2VwdCgiQmlsbGluZyIpIGFuZCBELnJhbmsgPSAxKSkgUEQKCS8vIkdldElkIih1cmkgU3RyaW5nKTogcmV0dXJucyB0aGUgbGFzdCBTdHJpbmcgb2YgYSBTcGxpdCBieSAvIExpc3QgdGhlcmVmb3IgY2Fubm90IHVzZSBpbgoJCXJldHVybiBzaW5nbGV0b24gZnJvbSAoW0NvbmRpdGlvbl0gQ29uZGl0aW9uIHdoZXJlIENvbmRpdGlvbi5pZC52YWx1ZSA9ICJHZXRJZCIoUEQuY29uZGl0aW9uLnJlZmVyZW5jZSkpCgovLyBSZXR1cm5zIHRoZSBsb2NhdGlvbiBmb3IgdGhlIGdpdmVuIGxvY2F0aW9uIHJlZmVyZW5jZQpkZWZpbmUgZnVuY3Rpb24gR2V0TG9jYXRpb24ocmVmZXJlbmNlIFJlZmVyZW5jZSk6CiAgc2luZ2xldG9uIGZyb20gKAogICAgW0xvY2F0aW9uXSBMb2NhdGlvbiB3aGVyZSBMb2NhdGlvbi5pZC52YWx1ZSA9IEdldElkKHJlZmVyZW5jZS5yZWZlcmVuY2UpCiAgKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9uIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6CiAgc2luZ2xldG9uIGZyb20gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlLCB1cmwpCgovKgpOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcwpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZQpDUUwgbW9kZWwgaW5mby4KKi8KZGVmaW5lIGZ1bmN0aW9uICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJyArIHVybCkKCQlyZXR1cm4gRQoKZGVmaW5lIGZ1bmN0aW9uICJHZXRCYXNlRXh0ZW5zaW9uIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6CiAgc2luZ2xldG9uIGZyb20gIkdldEJhc2VFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogUHJvdmVuYW5jZSBpcyBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgdGhpcyBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGlsbHVzdHJhdGlvbgpmb3Igd2hhdCB1c2luZyBQcm92ZW5hbmNlIGNvdWxkIGxvb2sgbGlrZSwgYW5kIGlzIG5vdCBhIHRlc3RlZCBwYXR0ZXJuCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJvdmVuYW5jZSIocmVzb3VyY2UgUmVzb3VyY2UpOgogIHNpbmdsZXRvbiBmcm9tIChbUHJvdmVuYW5jZTogdGFyZ2V0IGluIHJlc291cmNlLmlkXSkKCmRlZmluZSBmdW5jdGlvbiAiR2V0TWVkaWNhdGlvbkNvZGUiKHJlcXVlc3QgTWVkaWNhdGlvblJlcXVlc3QpOgogIGlmIHJlcXVlc3QubWVkaWNhdGlvbiBpcyBDb2RlYWJsZUNvbmNlcHQgdGhlbgoJICByZXF1ZXN0Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0CgllbHNlCgkgIChzaW5nbGV0b24gZnJvbSAoW01lZGljYXRpb246IGlkIGluIEdldElkKChyZXF1ZXN0Lm1lZGljYXRpb24gYXMgUmVmZXJlbmNlKS5yZWZlcmVuY2UpXSkpLmNvZGUK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.666.5.307", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.666.5.307" + } ], + "version": "20170504", + "name": "EncounterInpatient", + "title": "Encounter Inpatient", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + }, { + "code": "8715000", + "display": "Hospital admission, elective (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "resource": { + "resourceType": "Condition", + "id": "denom-EXM104-FHIR3-1", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition" ] + }, + "verificationStatus": "confirmed", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "encounter-diagnosis", + "display": "Encounter Diagnosis" + } ] + } ], + "code": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "116288000", + "display": "Paralytic stroke (disorder)" + } ] + }, + "subject": { + "reference": "Patient/denom-EXM104-FHIR3" + } + }, + "request": { + "method": "PUT", + "url": "Condition/denom-EXM104-FHIR3-1" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1110.39", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39", + "title": "Ticagrelor Therapy", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "version": "2019-08", + "concept": [ { + "code": "1116635", + "display": "Ticagrelor 90 MG Oral Tablet" + }, { + "code": "1666332", + "display": "Ticagrelor 60 MG Oral Tablet" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1110.39" + } + }, { + "resource": { + "resourceType": "Bundle", + "id": "tests-Condition-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Condition", + "id": "denom-EXM104-FHIR3-1", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition" ] + }, + "verificationStatus": "confirmed", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "encounter-diagnosis", + "display": "Encounter Diagnosis" + } ] + } ], + "code": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "116288000", + "display": "Paralytic stroke (disorder)" + } ] + }, + "subject": { + "reference": "Patient/denom-EXM104-FHIR3" + } + }, + "request": { + "method": "PUT", + "url": "Condition/denom-EXM104-FHIR3-1" + } + } ] + }, + "request": { + "method": "PUT", + "url": "tests-Condition-bundle" + } + }, { + "resource": { + "resourceType": "Encounter", + "id": "denom-EXM104-FHIR3-2", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] + }, + "status": "finished", + "class": { + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", + "code": "IMP", + "display": "inpatient encounter" + }, + "type": [ { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "32485007", + "display": "Hospital admission (procedure)" + } ] + } ], + "subject": { + "reference": "Patient/denom-EXM104-FHIR3" + }, + "period": { + "start": "2019-08-21T00:00:00-06:00", + "end": "2019-12-19T08:15:00-07:00" + }, + "diagnosis": [ { + "condition": { + "reference": "Condition/denom-EXM104-FHIR3-1" + }, + "role": { + "coding": [ { + "system": "http://hl7.org/fhir/diagnosis-role", + "code": "billing", + "display": "Billing" + } ] + }, + "rank": 1 + } ] + }, + "request": { + "method": "PUT", + "url": "Encounter/denom-EXM104-FHIR3-2" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "1.3.6.1.4.1.33895.1.3.0.45", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "1.3.6.1.4.1.33895.1.3.0.45" + } ], + "version": "20160331", + "name": "ComfortMeasures", + "title": "Comfort Measures", + "status": "active", + "publisher": "TJC EH Steward", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "133918004", + "display": "Comfort measures (regime/therapy)" + }, { + "code": "182964004", + "display": "Terminal care (regime/therapy)" + }, { + "code": "385736008", + "display": "Dying care (regime/therapy)" + }, { + "code": "385763009", + "display": "Hospice care (regime/therapy)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + }, { + "resource": { + "resourceType": "Bundle", + "id": "tests-Encounter-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Encounter", + "id": "denom-EXM104-FHIR3-2", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] + }, + "status": "finished", + "class": { + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", + "code": "IMP", + "display": "inpatient encounter" + }, + "type": [ { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "32485007", + "display": "Hospital admission (procedure)" + } ] + } ], + "subject": { + "reference": "Patient/denom-EXM104-FHIR3" + }, + "period": { + "start": "2019-08-21T00:00:00-06:00", + "end": "2019-12-19T08:15:00-07:00" + }, + "diagnosis": [ { + "condition": { + "reference": "Condition/denom-EXM104-FHIR3-1" + }, + "role": { + "coding": [ { + "system": "http://hl7.org/fhir/diagnosis-role", + "code": "billing", + "display": "Billing" + } ] + }, + "rank": 1 + } ] + }, + "request": { + "method": "PUT", + "url": "Encounter/denom-EXM104-FHIR3-2" + } + } ] + }, + "request": { + "method": "PUT", + "url": "tests-Encounter-bundle" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.87", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.87" + } ], + "version": "20170725", + "name": "DischargeToAcuteCareFacility", + "title": "Discharge To Acute Care Facility", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "306701001", + "display": "Discharge to community hospital (procedure)" + }, { + "code": "306703003", + "display": "Discharge to tertiary referral hospital (procedure)" + }, { + "code": "434781000124105", + "display": "Discharge to acute care hospital (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.87" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" + }, + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.473", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473", + "title": "Medical Reason", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "183932001", + "display": "Procedure contraindicated (situation)" + }, { + "code": "183964008", + "display": "Treatment not indicated (situation)" + }, { + "code": "183966005", + "display": "Drug treatment not indicated (situation)" + }, { + "code": "266721009", + "display": "Absent response to treatment (situation)" + }, { + "code": "31438003", + "display": "Drug resistance (disorder)" + }, { + "code": "35688006", + "display": "Complication of medical care (disorder)" + }, { + "code": "397745006", + "display": "Medical contraindication (finding)" + }, { + "code": "407563006", + "display": "Treatment not tolerated (situation)" + }, { + "code": "410529002", + "display": "Not needed (qualifier value)" + }, { + "code": "410534003", + "display": "Not indicated (qualifier value)" + }, { + "code": "410536001", + "display": "Contraindicated (qualifier value)" + }, { + "code": "416098002", + "display": "Allergy to drug (finding)" + }, { + "code": "419511003", + "display": "Propensity to adverse reactions to drug (finding)" + }, { + "code": "428024001", + "display": "Clinical trial participant (person)" + }, { + "code": "428119001", + "display": "Procedure not indicated (situation)" + }, { + "code": "59037007", + "display": "Intolerance to drug (finding)" + }, { + "code": "62014003", + "display": "Adverse reaction caused by drug (disorder)" + }, { + "code": "79899007", + "display": "Drug interaction (finding)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.473" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.212", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212", + "title": "Hemorrhagic Stroke", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "195155004", + "display": "Subarachnoid hemorrhage from carotid siphon and bifurcation (disorder)" + }, { + "code": "195160000", + "display": "Intracranial subarachnoid hemorrhage from vertebral artery (disorder)" + }, { + "code": "195165005", + "display": "Basal ganglia hemorrhage (disorder)" + }, { + "code": "195167002", + "display": "External capsule hemorrhage (disorder)" + }, { + "code": "195168007", + "display": "Intracerebral hemorrhage with intraventricular hemorrhage (disorder)" + }, { + "code": "195169004", + "display": "Intracerebral hemorrhage, multiple localized (disorder)" + }, { + "code": "20908003", + "display": "Subcortical cerebral hemorrhage (disorder)" + }, { + "code": "230706003", + "display": "Hemorrhagic cerebral infarction (disorder)" + }, { + "code": "230707007", + "display": "Anterior cerebral circulation hemorrhagic infarction (disorder)" + }, { + "code": "230708002", + "display": "Posterior cerebral circulation hemorrhagic infarction (disorder)" + }, { + "code": "230709005", + "display": "Massive supratentorial cerebral hemorrhage (disorder)" + }, { + "code": "230710000", + "display": "Lobar cerebral hemorrhage (disorder)" + }, { + "code": "230711001", + "display": "Thalamic hemorrhage (disorder)" + }, { + "code": "230712008", + "display": "Lacunar hemorrhage (disorder)" + }, { + "code": "23276006", + "display": "Ventricular hemorrhage (disorder)" + }, { + "code": "270907008", + "display": "Spontaneous intracranial subarachnoid hemorrhage (disorder)" + }, { + "code": "274100004", + "display": "Cerebral hemorrhage (disorder)" + }, { + "code": "276277008", + "display": "Subarachnoid hemorrhage from multiple aneurysms (disorder)" + }, { + "code": "276278003", + "display": "Subarachnoid hemorrhage from anterior cerebral artery aneurysm (disorder)" + }, { + "code": "276280009", + "display": "Subarachnoid hemorrhage from middle cerebral artery aneurysm (disorder)" + }, { + "code": "276281008", + "display": "Subarachnoid hemorrhage from posterior cerebral artery aneurysm (disorder)" + }, { + "code": "276282001", + "display": "Subarachnoid hemorrhage from anterior communicating artery aneurysm (disorder)" + }, { + "code": "276283006", + "display": "Subarachnoid hemorrhage from posterior communicating artery aneurysm (disorder)" + }, { + "code": "276284000", + "display": "Subarachnoid hemorrhage from basilar artery aneurysm (disorder)" + }, { + "code": "276285004", + "display": "Subarachnoid hemorrhage from posterior inferior cerebellar artery aneurysm (disorder)" + }, { + "code": "276286003", + "display": "Subarachnoid hemorrhage from carotid artery aneurysm (disorder)" + }, { + "code": "276722003", + "display": "Intracerebellar and posterior fossa hemorrhage (disorder)" + }, { + "code": "28318001", + "display": "Basilar hemorrhage (disorder)" + }, { + "code": "42429001", + "display": "Cerebromeningeal hemorrhage (disorder)" + }, { + "code": "425957003", + "display": "Non-traumatic intracerebral ventricular hemorrhage (disorder)" + }, { + "code": "449020009", + "display": "Intraparenchymal hemorrhage of brain (disorder)" + }, { + "code": "49422009", + "display": "Cortical hemorrhage (disorder)" + }, { + "code": "52201006", + "display": "Internal capsule hemorrhage (disorder)" + }, { + "code": "73020009", + "display": "Cerebral hemisphere hemorrhage (disorder)" + }, { + "code": "75038005", + "display": "Cerebellar hemorrhage (disorder)" + }, { + "code": "7713009", + "display": "Intrapontine hemorrhage (disorder)" + }, { + "code": "95454007", + "display": "Brain stem hemorrhage (disorder)" + } ] + }, { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2020", + "concept": [ { + "code": "I60.00", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified carotid siphon and bifurcation" + }, { + "code": "I60.01", + "display": "Nontraumatic subarachnoid hemorrhage from right carotid siphon and bifurcation" + }, { + "code": "I60.02", + "display": "Nontraumatic subarachnoid hemorrhage from left carotid siphon and bifurcation" + }, { + "code": "I60.10", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified middle cerebral artery" + }, { + "code": "I60.11", + "display": "Nontraumatic subarachnoid hemorrhage from right middle cerebral artery" + }, { + "code": "I60.12", + "display": "Nontraumatic subarachnoid hemorrhage from left middle cerebral artery" + }, { + "code": "I60.2", + "display": "Nontraumatic subarachnoid hemorrhage from anterior communicating artery" + }, { + "code": "I60.30", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified posterior communicating artery" + }, { + "code": "I60.31", + "display": "Nontraumatic subarachnoid hemorrhage from right posterior communicating artery" + }, { + "code": "I60.32", + "display": "Nontraumatic subarachnoid hemorrhage from left posterior communicating artery" + }, { + "code": "I60.4", + "display": "Nontraumatic subarachnoid hemorrhage from basilar artery" + }, { + "code": "I60.50", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified vertebral artery" + }, { + "code": "I60.51", + "display": "Nontraumatic subarachnoid hemorrhage from right vertebral artery" + }, { + "code": "I60.52", + "display": "Nontraumatic subarachnoid hemorrhage from left vertebral artery" + }, { + "code": "I60.6", + "display": "Nontraumatic subarachnoid hemorrhage from other intracranial arteries" + }, { + "code": "I60.7", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified intracranial artery" + }, { + "code": "I60.8", + "display": "Other nontraumatic subarachnoid hemorrhage" + }, { + "code": "I60.9", + "display": "Nontraumatic subarachnoid hemorrhage, unspecified" + }, { + "code": "I61.0", + "display": "Nontraumatic intracerebral hemorrhage in hemisphere, subcortical" + }, { + "code": "I61.1", + "display": "Nontraumatic intracerebral hemorrhage in hemisphere, cortical" + }, { + "code": "I61.2", + "display": "Nontraumatic intracerebral hemorrhage in hemisphere, unspecified" + }, { + "code": "I61.3", + "display": "Nontraumatic intracerebral hemorrhage in brain stem" + }, { + "code": "I61.4", + "display": "Nontraumatic intracerebral hemorrhage in cerebellum" + }, { + "code": "I61.5", + "display": "Nontraumatic intracerebral hemorrhage, intraventricular" + }, { + "code": "I61.6", + "display": "Nontraumatic intracerebral hemorrhage, multiple localized" + }, { + "code": "I61.8", + "display": "Other nontraumatic intracerebral hemorrhage" + }, { + "code": "I61.9", + "display": "Nontraumatic intracerebral hemorrhage, unspecified" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.212" } }, { "resource": { diff --git a/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-files/library-EXM104_FHIR3-8.1.000.json b/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-files/library-EXM104_FHIR3-8.1.000.json index ba7b236a..f9e41e0a 100644 --- a/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-files/library-EXM104_FHIR3-8.1.000.json +++ b/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-files/library-EXM104_FHIR3-8.1.000.json @@ -21,8 +21,341 @@ "code": "logic-library" } ] }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/Library/FHIR-ModelInfo|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/FHIRHelpers|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/MATGlobalCommonFunctions_FHIR3|4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/TJCOverall_FHIR3|3.6.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/SupplementalDataElements_FHIR3|1.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://loinc.org" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://snomed.info/sct/731000124108" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/diagnosis-role" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/request-intent" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://terminology.hl7.org/CodeSystem/medicationrequest-category" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39" + } + } ], + "parameter": [ { + "name": "Measurement Period", + "use": "in", + "min": 0, + "max": "1", + "type": "Period" + }, { + "name": "Patient", + "use": "out", + "min": 0, + "max": "1", + "type": "Patient" + }, { + "name": "SDE Ethnicity", + "use": "out", + "min": 0, + "max": "*", + "type": "Coding" + }, { + "name": "SDE Payer", + "use": "out", + "min": 0, + "max": "*", + "type": "Any" + }, { + "name": "SDE Race", + "use": "out", + "min": 0, + "max": "*", + "type": "Coding" + }, { + "name": "SDE Sex", + "use": "out", + "min": 0, + "max": "1", + "type": "Coding" + }, { + "name": "Initial Population", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Non Elective Inpatient Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "All Stroke Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Encounter with Principal Diagnosis and Age", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Ischemic Stroke Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator Exclusion", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Ischemic Stroke Encounters with Discharge Disposition", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Intervention Comfort Measures", + "use": "out", + "min": 0, + "max": "*", + "type": "Any" + }, { + "name": "Comfort Measures during Hospitalization", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Antithrombotic Therapy at Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "MedicationRequest" + }, { + "name": "Numerator", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Antithrombotic Not Given at Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "MedicationRequest" + }, { + "name": "Encounter With No Antithrombotic At Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Ticagrelor Therapy at Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "MedicationRequest" + }, { + "name": "Encounter With Ticagrelor at Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator Exceptions", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } + } ] + }, { + "type": "Patient" + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + } ] + }, { + "type": "MedicationRequest" + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201" + } + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39" + } + } ] + } ], "content": [ { "contentType": "text/cql", "data": "bGlicmFyeSBFWE0xMDRfRkhJUjMgdmVyc2lvbiAnOC4xLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEwNHY4IC0gRGlzY2hhcmdlZCBvbiBBbnRpdGhyb21ib3RpYyBUaGVyYXB5CkF1dGhvcjogVEpDClNUSyAyCiovCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKaW5jbHVkZSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcgY2FsbGVkIEdsb2JhbAppbmNsdWRlIFRKQ092ZXJhbGxfRkhJUjMgdmVyc2lvbiAnMy42LjAwMCcgY2FsbGVkIFRKQwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCmNvZGVzeXN0ZW0gIlJlcXVlc3RJbnRlbnQiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCcKLy8gTk9URTogVGhpcyBpcyBhbiBSNCBjb2RlIHN5c3RlbQpjb2Rlc3lzdGVtICJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnknCgp2YWx1ZXNldCAiQW50aXRocm9tYm90aWMgVGhlcmFweSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjAxJwp2YWx1ZXNldCAiQ29tZm9ydCBNZWFzdXJlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUnCnZhbHVlc2V0ICJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuODcnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNycKdmFsdWVzZXQgIkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDknCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkhlbW9ycmhhZ2ljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjEyJwp2YWx1ZXNldCAiSXNjaGVtaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNDcnCnZhbHVlc2V0ICJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOCcKdmFsdWVzZXQgIk1lZGljYWwgUmVhc29uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40NzMnCnZhbHVlc2V0ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDI0Jwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MycKdmFsdWVzZXQgIk9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xJwp2YWx1ZXNldCAiUGF0aWVudCBFeHBpcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDknCnZhbHVlc2V0ICJQYXRpZW50IFJlZnVzYWwiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjkzJwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiVGljYWdyZWxvciBUaGVyYXB5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOScKCmNvZGUgIkJpcnRoIGRhdGUiOiAnMjExMTItOCcgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ0JpcnRoIGRhdGUnCgovLyBOT1RFOiBUaGlzIGlzIGFuIFI0IGNvZGUKY29kZSAiRGlzY2hhcmdlIjogJ2Rpc2NoYXJnZScgZnJvbSAiTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIgZGlzcGxheSAnRGlzY2hhcmdlJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgogIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCkKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CglTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgoJU0RFLiJTREUgU2V4IgoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgoJVEpDLiJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiCgogIGRlZmluZSAiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIjoKICAJIkFsbCBTdHJva2UgRW5jb3VudGVyIiBBbGxTdHJva2VFbmNvdW50ZXIKICAJCXdpdGggWyJQYXRpZW50Il0gQmlydGhEYXRlCiAgCQkJc3VjaCB0aGF0IEFnZUluWWVhcnNBdChBbGxTdHJva2VFbmNvdW50ZXIucGVyaW9kLnN0YXJ0KSA+PSAxOAoKICAgICAgICBkZWZpbmUgIkFsbCBTdHJva2UgRW5jb3VudGVyIjoKICAgICAgICAJIk5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBOb25FbGVjdGl2ZUVuY291bnRlcgogICAgICAgIAkJd2hlcmUgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSGVtb3JyaGFnaWMgU3Ryb2tlIgogICAgICAgIAkJb3IgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKICAgICAgICAgICAgZGVmaW5lICJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6CiAgICAgICAgICAgIAlbIkVuY291bnRlciI6ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciJdIE5vbkVsZWN0aXZlRW5jb3VudGVyCiAgICAgICAgICAgIAkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKICAgICAgICAgICAgCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CglUSkMuIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiCgogIGRlZmluZSAiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciI6CiAgCSJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiIEVuY291bnRlcldpdGhBZ2UKICAJCXdoZXJlIEdsb2JhbC5QcmluY2lwYWxEaWFnbm9zaXMoRW5jb3VudGVyV2l0aEFnZSkuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgoJVEpDLiJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBEaXNwb3NpdGlvbiIKCQl1bmlvbiBUSkMuIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiIKCiAgICBkZWZpbmUgIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIERpc3Bvc2l0aW9uIjoKICAgIAkoICggIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCiAgICAJCQkJd2hlcmUgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSIKICAgIAkJCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiCiAgICAJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiUGF0aWVudCBFeHBpcmVkIgogICAgCQkJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIgogICAgCQkJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSIKICAgIAkJKQogICAgCSkKCiAgICBkZWZpbmUgIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiI6CiAgICAJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCiAgICAJCXdpdGggIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiBDb21mb3J0TWVhc3VyZQogICAgCQkJc3VjaCB0aGF0IENvYWxlc2NlKHN0YXJ0IG9mIENvbWZvcnRNZWFzdXJlLnBlcmZvcm1lZCwgQ29tZm9ydE1lYXN1cmUuYXV0aG9yZWRPbilkdXJpbmcgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKElzY2hlbWljU3Ryb2tlRW5jb3VudGVyKQoKICAgICAgICAgIGRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgogICAgICAgICAgCShbIlByb2NlZHVyZVJlcXVlc3QiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIFAKICAgICAgICAgIAkJd2hlcmUgUC5pbnRlbnQgPSAnb3JkZXInKQogICAgICAgICAgCQl1bmlvbgogICAgICAgICAgCQkoWyJQcm9jZWR1cmUiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIEludGVydmV0aW9uUGVyZm9ybWVkCiAgICAgICAgICAJCXdoZXJlIEludGVydmV0aW9uUGVyZm9ybWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnKQoKZGVmaW5lICJOdW1lcmF0b3IiOgoJVEpDLiJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgoJCXdpdGggIkFudGl0aHJvbWJvdGljIFRoZXJhcHkgYXQgRGlzY2hhcmdlIiBEaXNjaGFyZ2VBbnRpdGhyb21ib3RpYwoJCQlzdWNoIHRoYXQgRGlzY2hhcmdlQW50aXRocm9tYm90aWMuYXV0aG9yZWRPbiBkdXJpbmcgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kCgogICAgICBkZWZpbmUgIkFudGl0aHJvbWJvdGljIFRoZXJhcHkgYXQgRGlzY2hhcmdlIjoKICAgICAgCS8vVGhlIGZvbGxvd2luZyBzaG91bGQgd29yaywgYnV0IGl0J3MgcGVuZGluZyBhIGZpeCBpbiB0aGUgQ1FMIEVuZ2luZSwgcmVmIGh0dHBzOi8vZ2l0aHViLmNvbS9EQkNHL2NxbF9lbmdpbmUvaXNzdWVzLzI3MS4KICAgICAgICAvL1siTWVkaWNhdGlvblJlcXVlc3QiOiAiQW50aXRocm9tYm90aWMgVGhlcmFweSJdIEFudGl0aHJvbWJvdGljCiAgICAgICAgLy93aGVyZSBBbnRpdGhyb21ib3RpYy5pbnRlbnQgPSAnb3JkZXInCiAgICAgICAgCiAgICAgICAgLy9UZW1wb3JhcmlseSB1c2luZyB0aGUgZm9sbG93aW5nIHVudGlsIHRoZSBmaXggaXMgYXZhaWxhYmxlLgogICAgICAgIFsiTWVkaWNhdGlvblJlcXVlc3QiXSBBbnRpdGhyb21ib3RpYwogICAgICAgICAgICB3aGVyZSAoQW50aXRocm9tYm90aWMubWVkaWNhdGlvbiBhcyBDb2RlYWJsZUNvbmNlcHQpIGluICJBbnRpdGhyb21ib3RpYyBUaGVyYXB5IgogICAgICAJICAgIGFuZCBBbnRpdGhyb21ib3RpYy5pbnRlbnQgPSAnb3JkZXInCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2VwdGlvbnMiOgoJIkVuY291bnRlciBXaXRoIE5vIEFudGl0aHJvbWJvdGljIEF0IERpc2NoYXJnZSIKCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggVGljYWdyZWxvciBhdCBEaXNjaGFyZ2UiCgogICAgZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBObyBBbnRpdGhyb21ib3RpYyBBdCBEaXNjaGFyZ2UiOgogICAgCVRKQy4iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKICAgIAkJd2l0aCAiQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSIgTm9EaXNjaGFyZ2VBbnRpdGhyb21ib3RpYwogICAgCQkJc3VjaCB0aGF0IE5vRGlzY2hhcmdlQW50aXRocm9tYm90aWMuYXV0aG9yZWRPbiBkdXJpbmcgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kCgogICAgICAgICAgZGVmaW5lICJBbnRpdGhyb21ib3RpYyBOb3QgR2l2ZW4gYXQgRGlzY2hhcmdlIjoKICAgICAgICAgIAlbIk1lZGljYXRpb25SZXF1ZXN0IjogIkFudGl0aHJvbWJvdGljIFRoZXJhcHkiXSBOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlCiAgICAgICAgICAJICAvLyBTVFUzCiAgICAgICAgICAJCXdoZXJlIGV4aXN0cyAoTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZS5leHRlbnNpb24gRSB3aGVyZSBFLnVybCA9ICdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2RhdmluY2ktZGVxbS9TVFUzL1N0cnVjdHVyZURlZmluaXRpb24vZXh0ZW5zaW9uLWRvTm90UGVyZm9ybScgYW5kIEUudmFsdWUgaXMgdHJ1ZSkKICAgICAgICAgIAkJLy8gUjQKICAgICAgICAgIAkJLy93aGVyZSBOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlLmRvTm90UGVyZm9ybSBpcyB0cnVlCiAgICAgICAgICAJCQlhbmQgKHNpbmdsZXRvbiBmcm9tIE5vQW50aXRocm9tYm90aWNEaXNjaGFyZ2UucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iCiAgICAgICAgICAJCQkJb3Igc2luZ2xldG9uIGZyb20gTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZS5yZWFzb25Db2RlIGluICJQYXRpZW50IFJlZnVzYWwiKQoKICAgICAgICAgIC8vIE5PVEU6IE9uIHRoZSBhc3N1bXB0aW9uIHRoYXQgc3RhdHVzIG9mIG5vdC10YWtlbiBpcyB0aGUgY2xvc2VzdCB0byB3aGF0IHRoZSBtZWFzdXJlIGlzIGxvb2tpbmcgZm9yLCB0aGlzIGlzIHRoZSBleHByZXNzaW9uOgogICAgICAgICAgLy8gVE9ETzogUmVxdWVzdCBkaXNjdXNzaW9uIHcvIFBoYXJtYWN5IHJlZ2FyZGluZyBob3cgbWVkaWNhdGlvbnMgbm90IHByZXNjcmliZWQgYXQgZGlzY2hhcmdlZCB3b3VsZCBiZSBkb2N1bWVudGVkCiAgICAgICAgICAvL2RlZmluZSAiQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSBSNCI6CiAgICAgICAgICAvLyAgWyJNZWRpY2F0aW9uU3RhdGVtZW50IjogIkFudGl0aHJvbWJvdGljIFRoZXJhcHkiXSBBbnRpdGhyb21ib3RpY1RoZXJhcHkKICAgICAgICAgIC8vCSAgd2hlcmUgQW50aXRocm9tYm90aWNUaGVyYXB5LnN0YXR1cyA9ICdub3QtdGFrZW4nCiAgICAgICAgICAvLwkJICBhbmQgKEFudGl0aHJvbWJvdGljVGhlcmFweS5zdGF0dXNSZWFzb24gaW4gIk1lZGljYWwgUmVhc29uIgogICAgICAgICAgLy8JCQkJb3IgQW50aXRocm9tYnRvaWNUaGVyYXB5LnN0YXR1c1JlYXNvbiBpbiAiUGF0aWVudCBSZWZ1c2FsIikKCiAgICAgICAgICAvLyBJZiBpdCdzIGRvY3VtZW50ZWQgYXMgYSBjaGVja2JveCwgaXQgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGFuIG9ic2VydmF0aW9uCiAgICAgICAgICAvL2RlZmluZSAiQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSAoT2JzZXJ2YXRpb24pIjoKICAgICAgICAgIC8vICBbIk9ic2VydmF0aW9uIjogIk1lZGljYXRpb24gTm90IEdpdmVuIEF0IERpc2NoYXJnZSJdIE8KICAgICAgICAgIC8vCSAgd2hlcmUgTy52YWx1ZSBpbiAiQW50aXRocm9tYm90aWMgVGhlcmFweSIKCiAgICAgIC8qCiAgICAgIGRlZmluZSAiRW5jb3VudGVyIFdpdGggVGljYWdyZWxvciBEdXJpbmcgSG9zcGl0YWxpemF0aW9uIjoKICAgICAgCVRKQy4iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKICAgICAgCQl3aXRoIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiBUSkMuIlRpY2FncmVsb3IgVGhlcmFweSJdIFRpY2FncmVsb3IKICAgICAgCQkJc3VjaCB0aGF0IFRpY2FncmVsb3IuZWZmZWN0aXZlIHN0YXJ0cyBkdXJpbmcgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKElzY2hlbWljU3Ryb2tlRW5jb3VudGVyKQogICAgICAqLwogICAgICAvL0xvb2tpbmcgZm9yIFRpY2FncmVsb3IgYXMgZGlzY2hhcmdlIG1lZGljYXRpb24sIGluY2x1ZGUgYSBjb3JyZWN0ZWQgZGVmaW50aW9uIGluIDIwMjEgQ1FMIGJhc2VkIG1lYXN1cmUKICAgICAgZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBUaWNhZ3JlbG9yIGF0IERpc2NoYXJnZSI6CiAgICAgICAgVEpDLiJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgogICAgICAgICAgd2l0aCAiVGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSIgRGlzY2hhcmdlVGljYWdyZWxvcgogICAgICAgICAgICBzdWNoIHRoYXQgRGlzY2hhcmdlVGljYWdyZWxvci5hdXRob3JlZE9uIGR1cmluZyBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QKCiAgICAgICAgICAgIGRlZmluZSAiVGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSI6CiAgICAgICAgICAgICAgWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gVEpDLiJUaWNhZ3JlbG9yIFRoZXJhcHkiXSBUaWNhZ3JlbG9yCiAgICAgICAgICAgICAgICB3aGVyZSAoVGljYWdyZWxvci5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdCkgaW4gVEpDLiJUaWNhZ3JlbG9yIFRoZXJhcHkiCiAgICAgICAgICAgICAgICAgIGFuZCBUaWNhZ3JlbG9yLmludGVudCA9ICdvcmRlcicK" + }, { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjMiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTEwNF9GSElSMyIgdmVyc2lvbj0iOC4xLjAwMCIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9Ijk6MS05OjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxIj4KICAgICAgICAgICAgICAgPGE6cz51c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyIiBsb2NhdG9yPSIxMToxLTExOjM1IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICczLjAuMCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMyIgbG9jYXRvcj0iMTI6MS0xMjo3MCIgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iNC4wLjAwMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+TUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQiIGxvY2F0b3I9IjEzOjEtMTM6NTMiIGxvY2FsSWRlbnRpZmllcj0iVEpDIiBwYXRoPSJUSkNPdmVyYWxsX0ZISVIzIiB2ZXJzaW9uPSIzLjYuMDAwIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5USkNPdmVyYWxsX0ZISVIzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICczLjYuMDAwJyBjYWxsZWQgVEpDPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUiIGxvY2F0b3I9IjE0OjEtMTQ6NjUiIGxvY2FsSWRlbnRpZmllcj0iU0RFIiBwYXRoPSJTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMiIHZlcnNpb249IjEuMC4wIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNSI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5TdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzEuMC4wJyBjYWxsZWQgU0RFPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8cGFyYW1ldGVycz4KICAgICAgPGRlZiBsb2NhbElkPSIzOSIgbG9jYXRvcj0iNDg6MS00OTo2NiIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzkiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzgiPgogICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogIGRlZmF1bHQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0Ij5JbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMzYiIGxvY2F0b3I9IjQ5OjExLTQ5OjY2IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjM0IiBsb2NhdG9yPSI0OToyMC00OTo0MSIgeHNpOnR5cGU9IkRhdGVUaW1lIj4KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDE5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIzNSIgbG9jYXRvcj0iNDk6NDQtNDk6NjUiIHhzaTp0eXBlPSJEYXRlVGltZSI+CiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZGVmYXVsdD4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzgiIGxvY2F0b3I9IjQ4OjMyLTQ4OjQ5IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSIzNyIgbG9jYXRvcj0iNDg6NDEtNDg6NDgiIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPgogICAgICA8L2RlZj4KICAgPC9wYXJhbWV0ZXJzPgogICA8Y29kZVN5c3RlbXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iNiIgbG9jYXRvcj0iMTY6MS0xNjozOCIgbmFtZT0iTE9JTkMiIGlkPSJodHRwOi8vbG9pbmMub3JnIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNiI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtMT0lOQyZxdW90OzogJ2h0dHA6Ly9sb2luYy5vcmcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjciIGxvY2F0b3I9IjE3OjEtMTc6NjAiIG5hbWU9IlNOT01FRENUIiBpZD0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O1NOT01FRENUJnF1b3Q7OiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgiIGxvY2F0b3I9IjE4OjEtMTg6NjUiIG5hbWU9IkRpYWdub3NpcyBSb2xlIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7RGlhZ25vc2lzIFJvbGUmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5IiBsb2NhdG9yPSIxOToxLTE5OjY0IiBuYW1lPSJSZXF1ZXN0SW50ZW50IiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7UmVxdWVzdEludGVudCZxdW90OzogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwIiBsb2NhdG9yPSIyMToxLTIxOjEwNiIgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIgaWQ9Imh0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5JnF1b3Q7OiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9tZWRpY2F0aW9ucmVxdWVzdC1jYXRlZ29yeSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvY29kZVN5c3RlbXM+CiAgIDx2YWx1ZVNldHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTEiIGxvY2F0b3I9IjIzOjEtMjM6MTA3IiBuYW1lPSJBbnRpdGhyb21ib3RpYyBUaGVyYXB5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtBbnRpdGhyb21ib3RpYyBUaGVyYXB5JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTIiIGxvY2F0b3I9IjI0OjEtMjQ6OTQiIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMiI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7Q29tZm9ydCBNZWFzdXJlcyZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8xLjMuNi4xLjQuMS4zMzg5NS4xLjMuMC40NSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTMiIGxvY2F0b3I9IjI1OjEtMjU6MTE2IiBuYW1lPSJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS44NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS44Nyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQiIGxvY2F0b3I9IjI2OjEtMjY6MTM2IiBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0Rpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE1IiBsb2NhdG9yPSIyNzoxLTI3OjEyMCIgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTUiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0Rpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwOSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTYiIGxvY2F0b3I9IjI4OjEtMjg6MTExIiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNiI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7RW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNyIgbG9jYXRvcj0iMjk6MS0yOTo4NyIgbmFtZT0iRXRobmljaXR5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM3IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTciPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0V0aG5pY2l0eSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTgiIGxvY2F0b3I9IjMwOjEtMzA6MTAzIiBuYW1lPSJIZW1vcnJoYWdpYyBTdHJva2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjEyIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTgiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0hlbW9ycmhhZ2ljIFN0cm9rZSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE5IiBsb2NhdG9yPSIzMToxLTMxOjEwMCIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE5Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtJc2NoZW1pYyBTdHJva2UmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMCIgbG9jYXRvcj0iMzI6MS0zMjoxMTIiIG5hbWU9IkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMCI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7TGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjEiIGxvY2F0b3I9IjMzOjEtMzM6OTkiIG5hbWU9Ik1lZGljYWwgUmVhc29uIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQ3MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtNZWRpY2FsIFJlYXNvbiZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40NzMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyIiBsb2NhdG9yPSIzNDoxLTM0OjExNyIgbmFtZT0iTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDI0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjIiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O05vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjMiIGxvY2F0b3I9IjM1OjEtMzU6MTAyIiBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMyI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7T2JzZXJ2YXRpb24gU2VydmljZXMmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTQzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNCIgbG9jYXRvcj0iMzY6MS0zNjo5NyIgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI0Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtPTkMgQWRtaW5pc3RyYXRpdmUgU2V4JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNSIgbG9jYXRvcj0iMzc6MS0zNzoxMDAiIG5hbWU9IlBhdGllbnQgRXhwaXJlZCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNSI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7UGF0aWVudCBFeHBpcmVkJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjYiIGxvY2F0b3I9IjM4OjEtMzg6OTkiIG5hbWU9IlBhdGllbnQgUmVmdXNhbCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS45MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI2Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtQYXRpZW50IFJlZnVzYWwmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuOTMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3IiBsb2NhdG9yPSIzOToxLTM5Ojg0IiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNyI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7UGF5ZXImcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyOCIgbG9jYXRvcj0iNDA6MS00MDo4MiIgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI4Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtSYWNlJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyOSIgbG9jYXRvcj0iNDE6MS00MTo5OSIgbmFtZT0iVGljYWdyZWxvciBUaGVyYXB5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTEwLjM5IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjkiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1RpY2FncmVsb3IgVGhlcmFweSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdmFsdWVTZXRzPgogICA8Y29kZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzEiIGxvY2F0b3I9IjQzOjEtNDM6NjIiIG5hbWU9IkJpcnRoIGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzEiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7QmlydGggZGF0ZSZxdW90OzogJzIxMTEyLTgnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzAiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0xPSU5DJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdCaXJ0aCBkYXRlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIzMCIgbG9jYXRvcj0iNDM6MzUtNDM6NDEiIG5hbWU9IkxPSU5DIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMzIiBsb2NhdG9yPSI0NjoxLTQ2OjgyIiBuYW1lPSJEaXNjaGFyZ2UiIGlkPSJkaXNjaGFyZ2UiIGRpc3BsYXk9IkRpc2NoYXJnZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMzIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O0Rpc2NoYXJnZSZxdW90OzogJ2Rpc2NoYXJnZScgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnRGlzY2hhcmdlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIzMiIgbG9jYXRvcj0iNDY6MzYtNDY6NjIiIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0Q2F0ZWdvcnkiLz4KICAgICAgPC9kZWY+CiAgIDwvY29kZXM+CiAgIDxjb250ZXh0cz4KICAgICAgPGRlZiBsb2NhdG9yPSI1MToxLTUxOjE1IiBuYW1lPSJQYXRpZW50Ii8+CiAgIDwvY29udGV4dHM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjUxOjEtNTE6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUxOjEtNTE6MTUiIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQyIiBsb2NhdG9yPSI1MzoxLTU0OjIxIiBuYW1lPSJTREUgRXRobmljaXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtTREUgRXRobmljaXR5JnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+U0RFPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U0RFIEV0aG5pY2l0eSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQxIiBsb2NhdG9yPSI1NDozLTU0OjIxIiBuYW1lPSJTREUgRXRobmljaXR5IiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NSIgbG9jYXRvcj0iNTY6MS01NzoxNiIgbmFtZT0iU0RFIFBheWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtTREUgUGF5ZXImcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPlNERTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1NERSBQYXllciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ0IiBsb2NhdG9yPSI1NzoyLTU3OjE2IiBuYW1lPSJTREUgUGF5ZXIiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ4IiBsb2NhdG9yPSI1OToxLTYwOjE2IiBuYW1lPSJTREUgUmFjZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7U0RFIFJhY2UmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5TREU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTREUgUmFjZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ3IiBsb2NhdG9yPSI2MDozLTYwOjE2IiBuYW1lPSJTREUgUmFjZSIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTEiIGxvY2F0b3I9IjYyOjEtNjM6MTQiIG5hbWU9IlNERSBTZXgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1MSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O1NERSBTZXgmcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPlNERTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1NERSBTZXgmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MCIgbG9jYXRvcj0iNjM6Mi02MzoxNCIgbmFtZT0iU0RFIFNleCIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTQiIGxvY2F0b3I9IjY1OjEtNjY6NDkiIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7SW5pdGlhbCBQb3B1bGF0aW9uJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5USkM8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MyIgbG9jYXRvcj0iNjY6Mi02Njo0OSIgbmFtZT0iRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2OSIgbG9jYXRvcj0iNzg6MTMtODE6NzkiIG5hbWU9Ik5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciZxdW90OzoKICAgICAgICAgICAgCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7RW5jb3VudGVyJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTm9uRWxlY3RpdmVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjY3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TGVuZ3RoSW5EYXlzJnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Tm9uRWxlY3RpdmVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxIj4mbHQ7PSAxMjA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgIAkJCWFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob25FbGVjdGl2ZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjYiPiBlbmRzIGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjgiIGxvY2F0b3I9Ijc5OjE0LTgxOjc5IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjU2IiBsb2NhdG9yPSI3OToxNC03OTo4MyIgYWxpYXM9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTUiIGxvY2F0b3I9Ijc5OjE0LTc5OjYyIiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iNzk6MjgtNzk6NjEiIG5hbWU9Ik5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjY3IiBsb2NhdG9yPSI4MDoxNS04MTo3OSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYyIiBsb2NhdG9yPSI4MDoyMS04MDo3NiIgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjAiIGxvY2F0b3I9IjgwOjIxLTgwOjcwIiBuYW1lPSJMZW5ndGhJbkRheXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTkiIGxvY2F0b3I9IjgwOjQzLTgwOjY5IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MSIgbG9jYXRvcj0iODA6NzQtODA6NzYiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY2IiBsb2NhdG9yPSI4MToyMC04MTo3OSIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODE6NDgtODE6NTEiIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY0IiBsb2NhdG9yPSI4MToyMC04MTo0NiIgcGF0aD0icGVyaW9kIiBzY29wZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjUiIGxvY2F0b3I9IjgxOjYwLTgxOjc5IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijg2IiBsb2NhdG9yPSI3Mzo5LTc2Ojg2IiBuYW1lPSJBbGwgU3Ryb2tlIEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7QWxsIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs6CiAgICAgICAgCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O05vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTm9uRWxlY3RpdmVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIAkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UHJpbmNpcGFsRGlhZ25vc2lzKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob25FbGVjdGl2ZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SGVtb3JyaGFnaWMgU3Ryb2tlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAJCW9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HbG9iYWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QcmluY2lwYWxEaWFnbm9zaXMoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk5vbkVsZWN0aXZlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4NSIgbG9jYXRvcj0iNzQ6MTAtNzY6ODYiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzEiIGxvY2F0b3I9Ijc0OjEwLTc0OjY0IiBhbGlhcz0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3MCIgbG9jYXRvcj0iNzQ6MTAtNzQ6NDMiIG5hbWU9Ik5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9Ijg0IiBsb2NhdG9yPSI3NToxMS03Njo4NiIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzciIGxvY2F0b3I9Ijc1OjE3LTc1OjkyIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3NSIgbG9jYXRvcj0iNzU6MTctNzU6NjgiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzQiIGxvY2F0b3I9Ijc1OjE3LTc1OjYzIiBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjczIiBsb2NhdG9yPSI3NTo0My03NTo2MiIgbmFtZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSI3NiIgbG9jYXRvcj0iNzU6NzMtNzU6OTIiIG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODMiIGxvY2F0b3I9Ijc2OjE0LTc2Ojg2IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MSIgbG9jYXRvcj0iNzY6MTQtNzY6NjUiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODAiIGxvY2F0b3I9Ijc2OjE0LTc2OjYwIiBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc5IiBsb2NhdG9yPSI3Njo0MC03Njo1OSIgbmFtZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSI4MiIgbG9jYXRvcj0iNzY6NzAtNzY6ODYiIG5hbWU9IklzY2hlbWljIFN0cm9rZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5OSIgbG9jYXRvcj0iNjg6My03MTo2NiIgbmFtZT0iRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOTkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UmcXVvdDs6CiAgCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijk4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0FsbCBTdHJva2UgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gQWxsU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aXRoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtQYXRpZW50JnF1b3Q7XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAJCQlzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5BZ2VJblllYXJzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWxsU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk1Ij4gPj0gMTg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTgiIGxvY2F0b3I9IjY5OjQtNzE6NjYiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODgiIGxvY2F0b3I9IjY5OjQtNjk6NDQiIGFsaWFzPSJBbGxTdHJva2VFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4NyIgbG9jYXRvcj0iNjk6NC02OToyNSIgbmFtZT0iQWxsIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9Ijk3IiBsb2NhdG9yPSI3MDo1LTcxOjY2IiBhbGlhcz0iQmlydGhEYXRlIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg5IiBsb2NhdG9yPSI3MDoxMC03MDoyMCIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgICAgIDxzdWNoVGhhdCBsb2NhbElkPSI5NiIgbG9jYXRvcj0iNzE6MTYtNzE6NjYiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk0IiBsb2NhdG9yPSI3MToxNi03MTo2MCIgcHJlY2lzaW9uPSJZZWFyIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5MyIgbG9jYXRvcj0iNzE6MjktNzE6NTkiIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjkyIiBsb2NhdG9yPSI3MToyOS03MTo1MyIgcGF0aD0icGVyaW9kIiBzY29wZT0iQWxsU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTUiIGxvY2F0b3I9IjcxOjY1LTcxOjY2IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE4IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3N1Y2hUaGF0PgogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDIiIGxvY2F0b3I9IjgzOjEtODQ6MzIiIG5hbWU9IkRlbm9taW5hdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RGVub21pbmF0b3ImcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+VEpDPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDEiIGxvY2F0b3I9Ijg0OjItODQ6MzIiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIGxpYnJhcnlOYW1lPSJUSkMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExMiIgbG9jYXRvcj0iODY6My04ODo3OSIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs6CiAgCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0VuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEVuY291bnRlcldpdGhBZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogIAkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkdsb2JhbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QcmluY2lwYWxEaWFnbm9zaXMoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXJXaXRoQWdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTExIiBsb2NhdG9yPSI4Nzo0LTg4Ojc5IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEwNCIgbG9jYXRvcj0iODc6NC04Nzo2NCIgYWxpYXM9IkVuY291bnRlcldpdGhBZ2UiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDMiIGxvY2F0b3I9Ijg3OjQtODc6NDciIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxMTAiIGxvY2F0b3I9Ijg4OjUtODg6NzkiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEwOCIgbG9jYXRvcj0iODg6MTEtODg6NTgiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTA3IiBsb2NhdG9yPSI4ODoxMS04ODo1MyIgbmFtZT0iUHJpbmNpcGFsRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDYiIGxvY2F0b3I9Ijg4OjM3LTg4OjUyIiBuYW1lPSJFbmNvdW50ZXJXaXRoQWdlIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTA5IiBsb2NhdG9yPSI4ODo2My04ODo3OSIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMTgiIGxvY2F0b3I9IjkwOjEtOTI6NTMiIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2x1c2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExOCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0Rlbm9taW5hdG9yIEV4Y2x1c2lvbiZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExNyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRKQzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBEaXNwb3NpdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJdW5pb24gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRKQzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTE3IiBsb2NhdG9yPSI5MToyLTkyOjUzIiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTQiIGxvY2F0b3I9IjkxOjItOTE6NjAiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIERpc3Bvc2l0aW9uIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTYiIGxvY2F0b3I9IjkyOjktOTI6NTMiIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiIgbGlicmFyeU5hbWU9IlRKQyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNTEiIGxvY2F0b3I9Ijk0OjUtMTAyOjYiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIERpc3Bvc2l0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTUxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7SXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlcnMgd2l0aCBEaXNjaGFyZ2UgRGlzcG9zaXRpb24mcXVvdDs6CiAgICAJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTUwIj4KICAgICAgICAgICAgICAgICAgPGE6cz4oIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgCQkJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmhvc3BpdGFsaXphdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGlzY2hhcmdlRGlzcG9zaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0Rpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIAkJCQkJb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5ob3NwaXRhbGl6YXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRpc2NoYXJnZURpc3Bvc2l0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIAkJCQkJb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5ob3NwaXRhbGl6YXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRpc2NoYXJnZURpc3Bvc2l0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQYXRpZW50IEV4cGlyZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIAkJCQkJb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5ob3NwaXRhbGl6YXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRpc2NoYXJnZURpc3Bvc2l0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgCQkJCQlvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmhvc3BpdGFsaXphdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGlzY2hhcmdlRGlzcG9zaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0Rpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAJCSk8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAJKTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTUwIiBsb2NhdG9yPSI5NTo2LTEwMjo2IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyMCIgbG9jYXRvcj0iOTU6MTAtOTU6NjAiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExOSIgbG9jYXRvcj0iOTU6MTAtOTU6MzYiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMTQ5IiBsb2NhdG9yPSI5Njo5LTEwMDoxMjkiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0MyIgbG9jYXRvcj0iOTY6MTUtOTk6MTEzIiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzciIGxvY2F0b3I9Ijk2OjE1LTk4OjkzIiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzEiIGxvY2F0b3I9Ijk2OjE1LTk3OjEwNSIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTI1IiBsb2NhdG9yPSI5NjoxNS05NjoxMTIiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyMyIgbG9jYXRvcj0iOTY6MTUtOTY6NzQiIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyMiIgbG9jYXRvcj0iOTY6MTUtOTY6NTMiIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIxMjQiIGxvY2F0b3I9Ijk2Ojc5LTk2OjExMiIgbmFtZT0iRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzMCIgbG9jYXRvcj0iOTc6MTMtOTc6MTA1IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjgiIGxvY2F0b3I9Ijk3OjEzLTk3OjcyIiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMjciIGxvY2F0b3I9Ijk3OjEzLTk3OjUxIiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTI5IiBsb2NhdG9yPSI5Nzo3Ny05NzoxMDUiIG5hbWU9IkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzYiIGxvY2F0b3I9Ijk4OjEzLTk4OjkzIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzQiIGxvY2F0b3I9Ijk4OjEzLTk4OjcyIiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMzMiIGxvY2F0b3I9Ijk4OjEzLTk4OjUxIiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTM1IiBsb2NhdG9yPSI5ODo3Ny05ODo5MyIgbmFtZT0iUGF0aWVudCBFeHBpcmVkIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0MiIgbG9jYXRvcj0iOTk6MTMtOTk6MTEzIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDAiIGxvY2F0b3I9Ijk5OjEzLTk5OjcyIiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMzkiIGxvY2F0b3I9Ijk5OjEzLTk5OjUxIiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTQxIiBsb2NhdG9yPSI5OTo3Ny05OToxMTMiIG5hbWU9IkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0OCIgbG9jYXRvcj0iMTAwOjEzLTEwMDoxMjkiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0NiIgbG9jYXRvcj0iMTAwOjEzLTEwMDo3MiIgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTQ1IiBsb2NhdG9yPSIxMDA6MTMtMTAwOjUxIiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTQ3IiBsb2NhdG9yPSIxMDA6NzctMTAwOjEyOSIgbmFtZT0iRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE2OSIgbG9jYXRvcj0iMTA5OjExLTExNDo2MCIgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNjkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyZxdW90OzoKICAgICAgICAgIAk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNjgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O1Byb2NlZHVyZVJlcXVlc3QmcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0NvbWZvcnQgTWVhc3VyZXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IFA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aW50ZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidvcmRlcic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgIAkJdW5pb24KICAgICAgICAgIAkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7UHJvY2VkdXJlJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDb21mb3J0IE1lYXN1cmVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJbnRlcnZldGlvblBlcmZvcm1lZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2ZXRpb25QZXJmb3JtZWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidjb21wbGV0ZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNjgiIGxvY2F0b3I9IjExMDoxMi0xMTQ6NjAiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2MCIgbG9jYXRvcj0iMTEwOjEyLTExMTozNyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNTUiIGxvY2F0b3I9IjExMDoxMy0xMTA6NTQiIGFsaWFzPSJQIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTU0IiBsb2NhdG9yPSIxMTA6MTMtMTEwOjUyIiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjExMDozNC0xMTA6NTEiIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMTU5IiBsb2NhdG9yPSIxMTE6MTMtMTExOjM2IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTciIGxvY2F0b3I9IjExMToxOS0xMTE6MjYiIHBhdGg9ImludGVudCIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1OCIgbG9jYXRvcj0iMTExOjMwLTExMTozNiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjciIGxvY2F0b3I9IjExMzoxMy0xMTQ6NjAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTYyIiBsb2NhdG9yPSIxMTM6MTQtMTEzOjY3IiBhbGlhcz0iSW50ZXJ2ZXRpb25QZXJmb3JtZWQiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNjEiIGxvY2F0b3I9IjExMzoxNC0xMTM6NDYiIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIxMTM6MjgtMTEzOjQ1IiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjE2NiIgbG9jYXRvcj0iMTE0OjEzLTExNDo1OSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTY0IiBsb2NhdG9yPSIxMTQ6MTktMTE0OjQ1IiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJJbnRlcnZldGlvblBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTY1IiBsb2NhdG9yPSIxMTQ6NDktMTE0OjU5IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE4NCIgbG9jYXRvcj0iMTA0OjUtMTA3OjE1OCIgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTg0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7Q29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uJnF1b3Q7OgogICAgCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE4MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBDb21mb3J0TWVhc3VyZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIAkJCXN1Y2ggdGhhdCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29hbGVzY2UoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29tZm9ydE1lYXN1cmU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyZm9ybWVkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29tZm9ydE1lYXN1cmU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YXV0aG9yZWRPbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODEiPmR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0hvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbiZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxODMiIGxvY2F0b3I9IjEwNTo2LTEwNzoxNTgiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTUzIiBsb2NhdG9yPSIxMDU6Ni0xMDU6NTYiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE1MiIgbG9jYXRvcj0iMTA1OjYtMTA1OjMyIiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSIxODIiIGxvY2F0b3I9IjEwNjo3LTEwNzoxNTgiIGFsaWFzPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IldpdGgiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNzAiIGxvY2F0b3I9IjEwNjoxMi0xMDY6NDIiIG5hbWU9IkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8c3VjaFRoYXQgbG9jYWxJZD0iMTgxIiBsb2NhdG9yPSIxMDc6MTgtMTA3OjE1OCIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTc3IiBsb2NhdG9yPSIxMDc6MTgtMTA3Ojg3IiB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzQiIGxvY2F0b3I9IjEwNzoyNy0xMDc6NTkiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTczIiBsb2NhdG9yPSIxMDc6MzYtMTA3OjU5IiBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTc2IiBsb2NhdG9yPSIxMDc6NjItMTA3Ojg2IiBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iQ29tZm9ydE1lYXN1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTgwIiBsb2NhdG9yPSIxMDc6OTUtMTA3OjE1OCIgbmFtZT0iSG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzkiIGxvY2F0b3I9IjEwNzoxMzUtMTA3OjE1NyIgbmFtZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwMSIgbG9jYXRvcj0iMTIxOjctMTI5OjQ2IiBuYW1lPSJBbnRpdGhyb21ib3RpYyBUaGVyYXB5IGF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIwMSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0FudGl0aHJvbWJvdGljIFRoZXJhcHkgYXQgRGlzY2hhcmdlJnF1b3Q7OgogICAgICAJLy9UaGUgZm9sbG93aW5nIHNob3VsZCB3b3JrLCBidXQgaXQncyBwZW5kaW5nIGEgZml4IGluIHRoZSBDUUwgRW5naW5lLCByZWYgaHR0cHM6Ly9naXRodWIuY29tL0RCQ0cvY3FsX2VuZ2luZS9pc3N1ZXMvMjcxLgogICAgICAgIC8vWyZxdW90O01lZGljYXRpb25SZXF1ZXN0JnF1b3Q7OiAmcXVvdDtBbnRpdGhyb21ib3RpYyBUaGVyYXB5JnF1b3Q7XSBBbnRpdGhyb21ib3RpYwogICAgICAgIC8vd2hlcmUgQW50aXRocm9tYm90aWMuaW50ZW50ID0gJ29yZGVyJwogICAgICAgIAogICAgICAgIC8vVGVtcG9yYXJpbHkgdXNpbmcgdGhlIGZvbGxvd2luZyB1bnRpbCB0aGUgZml4IGlzIGF2YWlsYWJsZS4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMDAiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtNZWRpY2F0aW9uUmVxdWVzdCZxdW90O108L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBBbnRpdGhyb21ib3RpYzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFudGl0aHJvbWJvdGljPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm1lZGljYXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNvZGVhYmxlQ29uY2VwdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtBbnRpdGhyb21ib3RpYyBUaGVyYXB5JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgCSAgICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QW50aXRocm9tYm90aWM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aW50ZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidvcmRlcic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMDAiIGxvY2F0b3I9IjEyNzo5LTEyOTo0NiIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxODgiIGxvY2F0b3I9IjEyNzo5LTEyNzo0NCIgYWxpYXM9IkFudGl0aHJvbWJvdGljIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTg3IiBsb2NhdG9yPSIxMjc6OS0xMjc6MjkiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxOTkiIGxvY2F0b3I9IjEyODoxMy0xMjk6NDYiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTQiIGxvY2F0b3I9IjEyODoxOS0xMjg6OTIiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5MiIgbG9jYXRvcj0iMTI4OjE5LTEyODo2NCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTkwIiBsb2NhdG9yPSIxMjg6MjAtMTI4OjQ0IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iQW50aXRocm9tYm90aWMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE5MSIgbG9jYXRvcj0iMTI4OjQ5LTEyODo2MyIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIxOTMiIGxvY2F0b3I9IjEyODo2OS0xMjg6OTIiIG5hbWU9IkFudGl0aHJvbWJvdGljIFRoZXJhcHkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5OCIgbG9jYXRvcj0iMTI5OjE2LTEyOTo0NiIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk2IiBsb2NhdG9yPSIxMjk6MTYtMTI5OjM2IiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJBbnRpdGhyb21ib3RpYyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk3IiBsb2NhdG9yPSIxMjk6NDAtMTI5OjQ2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTEiIGxvY2F0b3I9IjExNjoxLTExOTo4NSIgbmFtZT0iTnVtZXJhdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjExIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7TnVtZXJhdG9yJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VEpDLiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aXRoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtBbnRpdGhyb21ib3RpYyBUaGVyYXB5IGF0IERpc2NoYXJnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IERpc2NoYXJnZUFudGl0aHJvbWJvdGljPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQlzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RGlzY2hhcmdlQW50aXRocm9tYm90aWM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YXV0aG9yZWRPbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMTAiIGxvY2F0b3I9IjExNzoyLTExOTo4NSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxODYiIGxvY2F0b3I9IjExNzoyLTExNzo1NiIgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTg1IiBsb2NhdG9yPSIxMTc6Mi0xMTc6MzIiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIGxpYnJhcnlOYW1lPSJUSkMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjIwOSIgbG9jYXRvcj0iMTE4OjMtMTE5Ojg1IiBhbGlhcz0iRGlzY2hhcmdlQW50aXRocm9tYm90aWMiIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjAyIiBsb2NhdG9yPSIxMTg6OC0xMTg6NDQiIG5hbWU9IkFudGl0aHJvbWJvdGljIFRoZXJhcHkgYXQgRGlzY2hhcmdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8c3VjaFRoYXQgbG9jYWxJZD0iMjA4IiBsb2NhdG9yPSIxMTk6MTQtMTE5Ojg1IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwNSIgbG9jYXRvcj0iMTE5OjE0LTExOTo0NyIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkRpc2NoYXJnZUFudGl0aHJvbWJvdGljIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwNyIgbG9jYXRvcj0iMTE5OjU2LTExOTo4NSIgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0MSIgbG9jYXRvcj0iMTQwOjExLTE0Nzo5MCIgbmFtZT0iQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI0MSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0FudGl0aHJvbWJvdGljIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UmcXVvdDs6CiAgICAgICAgICAJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQwIj4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7TWVkaWNhdGlvblJlcXVlc3QmcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0FudGl0aHJvbWJvdGljIFRoZXJhcHkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE5vQW50aXRocm9tYm90aWNEaXNjaGFyZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgCSAgLy8gU1RVMwogICAgICAgICAgCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5leGlzdHMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Tm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZS5leHRlbnNpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBFPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2RhdmluY2ktZGVxbS9TVFUzL1N0cnVjdHVyZURlZmluaXRpb24vZXh0ZW5zaW9uLWRvTm90UGVyZm9ybSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIHRydWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAJCS8vIFI0CiAgICAgICAgICAJCS8vd2hlcmUgTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZS5kb05vdFBlcmZvcm0gaXMgdHJ1ZQogICAgICAgICAgCQkJYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob0FudGl0aHJvbWJvdGljRGlzY2hhcmdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJlYXNvbkNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWRpY2FsIFJlYXNvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAJCQkJb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob0FudGl0aHJvbWJvdGljRGlzY2hhcmdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJlYXNvbkNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQYXRpZW50IFJlZnVzYWwmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDAiIGxvY2F0b3I9IjE0MToxMi0xNDc6OTAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjE1IiBsb2NhdG9yPSIxNDE6MTItMTQxOjg0IiBhbGlhcz0iTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIxNCIgbG9jYXRvcj0iMTQxOjEyLTE0MTo1OCIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iMTQxOjM0LTE0MTo1NyIgbmFtZT0iQW50aXRocm9tYm90aWMgVGhlcmFweSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyMzkiIGxvY2F0b3I9IjE0MzoxMy0xNDc6OTAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjciIGxvY2F0b3I9IjE0MzoxOS0xNDM6MTg0IiB4c2k6dHlwZT0iRXhpc3RzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjI2IiBsb2NhdG9yPSIxNDM6MjYtMTQzOjE4NCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMTciIGxvY2F0b3I9IjE0MzoyNy0xNDM6NjMiIGFsaWFzPSJFIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjE2IiBsb2NhdG9yPSIxNDM6MjctMTQzOjYxIiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyMjUiIGxvY2F0b3I9IjE0Mzo2NS0xNDM6MTgzIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjIxIiBsb2NhdG9yPSIxNDM6NzEtMTQzOjE2MyIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjE5IiBsb2NhdG9yPSIxNDM6NzEtMTQzOjc1IiBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjAiIGxvY2F0b3I9IjE0Mzo3OS0xNDM6MTYzIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9kYXZpbmNpLWRlcW0vU1RVMy9TdHJ1Y3R1cmVEZWZpbml0aW9uL2V4dGVuc2lvbi1kb05vdFBlcmZvcm0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjI0IiBsb2NhdG9yPSIxNDM6MTY5LTE0MzoxODMiIHhzaTp0eXBlPSJJc1RydWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0Jvb2xlYW4iIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyMyIgbG9jYXRvcj0iMTQzOjE2OS0xNDM6MTc1IiBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM4IiBsb2NhdG9yPSIxNDY6MTgtMTQ3OjkwIiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzIiIGxvY2F0b3I9IjE0NjoxOS0xNDY6ODkiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzMCIgbG9jYXRvcj0iMTQ2OjE5LTE0Njo2OSIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjkiIGxvY2F0b3I9IjE0NjozNC0xNDY6NjkiIHBhdGg9InJlYXNvbkNvZGUiIHNjb3BlPSJOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIyMzEiIGxvY2F0b3I9IjE0Njo3NC0xNDY6ODkiIG5hbWU9Ik1lZGljYWwgUmVhc29uIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzciIGxvY2F0b3I9IjE0NzoxOC0xNDc6ODkiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNSIgbG9jYXRvcj0iMTQ3OjE4LTE0Nzo2OCIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzQiIGxvY2F0b3I9IjE0NzozMy0xNDc6NjgiIHBhdGg9InJlYXNvbkNvZGUiIHNjb3BlPSJOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIyMzYiIGxvY2F0b3I9IjE0Nzo3My0xNDc6ODkiIG5hbWU9IlBhdGllbnQgUmVmdXNhbCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI1MSIgbG9jYXRvcj0iMTM1OjUtMTM4OjkxIiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBObyBBbnRpdGhyb21ib3RpYyBBdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNTEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtFbmNvdW50ZXIgV2l0aCBObyBBbnRpdGhyb21ib3RpYyBBdCBEaXNjaGFyZ2UmcXVvdDs6CiAgICAJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjUwIj4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VEpDLiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE5vRGlzY2hhcmdlQW50aXRocm9tYm90aWM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAJCQlzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Tm9EaXNjaGFyZ2VBbnRpdGhyb21ib3RpYzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hdXRob3JlZE9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDgiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1MCIgbG9jYXRvcj0iMTM2OjYtMTM4OjkxIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIxMyIgbG9jYXRvcj0iMTM2OjYtMTM2OjYwIiBhbGlhcz0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMTIiIGxvY2F0b3I9IjEzNjo2LTEzNjozNiIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgbGlicmFyeU5hbWU9IlRKQyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgbG9jYWxJZD0iMjQ5IiBsb2NhdG9yPSIxMzc6Ny0xMzg6OTEiIGFsaWFzPSJOb0Rpc2NoYXJnZUFudGl0aHJvbWJvdGljIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI0MiIgbG9jYXRvcj0iMTM3OjEyLTEzNzo1MCIgbmFtZT0iQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjI0OCIgbG9jYXRvcj0iMTM4OjE4LTEzODo5MSIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDUiIGxvY2F0b3I9IjEzODoxOC0xMzg6NTMiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJOb0Rpc2NoYXJnZUFudGl0aHJvbWJvdGljIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NyIgbG9jYXRvcj0iMTM4OjYyLTEzODo5MSIgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3MCIgbG9jYXRvcj0iMTc0OjEzLTE3Nzo0OSIgbmFtZT0iVGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI3MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O1RpY2FncmVsb3IgVGhlcmFweSBhdCBEaXNjaGFyZ2UmcXVvdDs6CiAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjY5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7TWVkaWNhdGlvblJlcXVlc3QmcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm1lZGljYXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRKQy4mcXVvdDtUaWNhZ3JlbG9yIFRoZXJhcHkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IFRpY2FncmVsb3I8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VGljYWdyZWxvcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tZWRpY2F0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Db2RlYWJsZUNvbmNlcHQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5USkM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7VGljYWdyZWxvciBUaGVyYXB5JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5UaWNhZ3JlbG9yPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmludGVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nb3JkZXInPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjY5IiBsb2NhdG9yPSIxNzU6MTUtMTc3OjQ5IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI1NiIgbG9jYXRvcj0iMTc1OjE1LTE3NTo4NiIgYWxpYXM9IlRpY2FncmVsb3IiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNTUiIGxvY2F0b3I9IjE3NToxNS0xNzU6NzUiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjE3NTo1MS0xNzU6NzQiIG5hbWU9IlRpY2FncmVsb3IgVGhlcmFweSIgbGlicmFyeU5hbWU9IlRKQyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyNjgiIGxvY2F0b3I9IjE3NjoxNy0xNzc6NDkiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjMiIGxvY2F0b3I9IjE3NjoyMy0xNzY6OTIiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2MCIgbG9jYXRvcj0iMTc2OjIzLTE3Njo2NCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjU4IiBsb2NhdG9yPSIxNzY6MjQtMTc2OjQ0IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iVGljYWdyZWxvciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjU5IiBsb2NhdG9yPSIxNzY6NDktMTc2OjYzIiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjI2MiIgbG9jYXRvcj0iMTc2OjY5LTE3Njo5MiIgbmFtZT0iVGljYWdyZWxvciBUaGVyYXB5IiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjciIGxvY2F0b3I9IjE3NzoyMy0xNzc6NDkiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2NSIgbG9jYXRvcj0iMTc3OjIzLTE3NzozOSIgcGF0aD0iaW50ZW50IiBzY29wZT0iVGljYWdyZWxvciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY2IiBsb2NhdG9yPSIxNzc6NDMtMTc3OjQ5IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyODAiIGxvY2F0b3I9IjE2OTo3LTE3Mjo5MCIgbmFtZT0iRW5jb3VudGVyIFdpdGggVGljYWdyZWxvciBhdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyODAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtFbmNvdW50ZXIgV2l0aCBUaWNhZ3JlbG9yIGF0IERpc2NoYXJnZSZxdW90OzoKICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzkiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5USkMuJnF1b3Q7SXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IElzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7VGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IERpc2NoYXJnZVRpY2FncmVsb3I8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgIHN1Y2ggdGhhdCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5EaXNjaGFyZ2VUaWNhZ3JlbG9yPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmF1dGhvcmVkT248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NyI+IGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjc5IiBsb2NhdG9yPSIxNzA6OS0xNzI6OTAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjU0IiBsb2NhdG9yPSIxNzA6OS0xNzA6NjMiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1MyIgbG9jYXRvcj0iMTcwOjktMTcwOjM5IiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSIyNzgiIGxvY2F0b3I9IjE3MToxMS0xNzI6OTAiIGFsaWFzPSJEaXNjaGFyZ2VUaWNhZ3JlbG9yIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI3MSIgbG9jYXRvcj0iMTcxOjE2LTE3MTo0OCIgbmFtZT0iVGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjI3NyIgbG9jYXRvcj0iMTcyOjIzLTE3Mjo5MCIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzQiIGxvY2F0b3I9IjE3MjoyMy0xNzI6NTIiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJEaXNjaGFyZ2VUaWNhZ3JlbG9yIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3NiIgbG9jYXRvcj0iMTcyOjYxLTE3Mjo5MCIgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI4MyIgbG9jYXRvcj0iMTMxOjEtMTMzOjQ4IiBuYW1lPSJEZW5vbWluYXRvciBFeGNlcHRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjgzIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RGVub21pbmF0b3IgRXhjZXB0aW9ucyZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI4MiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtFbmNvdW50ZXIgV2l0aCBObyBBbnRpdGhyb21ib3RpYyBBdCBEaXNjaGFyZ2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJdW5pb24gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtFbmNvdW50ZXIgV2l0aCBUaWNhZ3JlbG9yIGF0IERpc2NoYXJnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI4MiIgbG9jYXRvcj0iMTMyOjItMTMzOjQ4IiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTIiIGxvY2F0b3I9IjEzMjoyLTEzMjo0OCIgbmFtZT0iRW5jb3VudGVyIFdpdGggTm8gQW50aXRocm9tYm90aWMgQXQgRGlzY2hhcmdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODEiIGxvY2F0b3I9IjEzMzo5LTEzMzo0OCIgbmFtZT0iRW5jb3VudGVyIFdpdGggVGljYWdyZWxvciBhdCBEaXNjaGFyZ2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo=" } ] } \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-files/library-deps-EXM104_FHIR3-8.1.000-bundle.json b/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-files/library-deps-EXM104_FHIR3-8.1.000-bundle.json new file mode 100644 index 00000000..3adad7cd --- /dev/null +++ b/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-files/library-deps-EXM104_FHIR3-8.1.000-bundle.json @@ -0,0 +1,223 @@ +{ + "resourceType": "Bundle", + "id": "library-deps-EXM104-FHIR3-8.1.000-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" + }, + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-4.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-4.0.000
Type: Logic Library
Version: 4.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '4.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t  and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "HospitalizationWithObservation"(TheEncounter FHIR.Encounter):\n\tTheEncounter Visit\n\t\tlet ObsVisit: Last([Encounter: "Observation Services"] LastObs\n\t\t\t\twhere LastObs.period ends 1 hour or less on or before start of Visit.period\n\t\t\t\tsort by end of period\n\t\t\t),\n\t\t\tVisitStart: Coalesce(start of ObsVisit.period, start of Visit.period),\n\t\t\tEDVisit: Last([Encounter: "Emergency Department Visit"] LastED\n\t\t\t\twhere LastED.period ends 1 hour or less on or before VisitStart\n\t\t\t\tsort by end of period\n\t\t\t)\n\t\treturn Interval[Coalesce(start of EDVisit.period, VisitStart), end of Visit.period]\n\ndefine function "HospitalizationWithObservationLengthofStay"(Encounter FHIR.Encounter):\n\t"LengthInDays"("HospitalizationWithObservation"(Encounter))\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] Condition where Condition.id.value = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t//"GetId"(uri String): returns the last String of a Split by / List therefor cannot use in\n\t\treturn singleton from ([Condition] Condition where Condition.id.value = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "4.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMjMiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIyMyIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSI0LjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT2JzZXJ2YXRpb24gU2VydmljZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTQzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iQmlydGhkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlYWQiIGlkPSI0MTkwOTkwMDkiIGRpc3BsYXk9IkRlYWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEQ1QiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFUiIgaWQ9IkVSIiBkaXNwbGF5PSJFbWVyZ2VuY3kgcm9vbSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJSb2xlQ29kZSIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IklDVSIgaWQ9IklDVSIgZGlzcGxheT0iSW50ZW5zaXZlIGNhcmUgdW5pdCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJSb2xlQ29kZSIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkJpbGxpbmciIGlkPSJiaWxsaW5nIiBkaXNwbGF5PSJCaWxsaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkRpYWdub3NpcyBSb2xlIi8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJMZW5ndGhJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkRpZmZlcmVuY2VCZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRW5jb3VudGVySW5wYXRpZW50Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVuY291bnRlciBJbnBhdGllbnQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICA8eWVhciBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3llYXI+DQogICAgICAgICAgICA8bW9udGggcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvbW9udGg+DQogICAgICAgICAgICA8ZGF5IHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9kYXk+DQogICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDx0aW1lem9uZU9mZnNldCB4c2k6dHlwZT0iVGltZXpvbmVGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC90aW1lem9uZU9mZnNldD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRUQgVmlzaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJob3VyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJYIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRURFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgcGF0aD0ibG9jYXRpb24iIHNjb3BlPSJFREVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTGVuZ3RoSW5EYXlzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIEFkbWlzc2lvbiBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQXJyaXZhbCBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IkZpcnN0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikhvc3BpdGFsTG9jYXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9IklkZW50aWZpZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvcnQ+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWaXNpdCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxsZXQgaWRlbnRpZmllcj0iT2JzVmlzaXQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9Ikxhc3QiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTGFzdE9icyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMYXN0T2JzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJJZGVudGlmaWVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2J5Pg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3J0Pg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L2xldD4NCiAgICAgICAgICAgIDxsZXQgaWRlbnRpZmllcj0iVmlzaXRTdGFydCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iT2JzVmlzaXQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvbGV0Pg0KICAgICAgICAgICAgPGxldCBpZGVudGlmaWVyPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikxhc3RFRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMYXN0RUQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmlzaXRTdGFydCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlZpc2l0U3RhcnQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3J0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGJ5IGRpcmVjdGlvbj0iYXNjIiB4c2k6dHlwZT0iQnlFeHByZXNzaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9sZXQ+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iRURWaXNpdCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWaXNpdFN0YXJ0IiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb25MZW5ndGhvZlN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJDb25kaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb25kaXRpb24iIHNjb3BlPSJEIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUEQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icm9sZSIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvQ29uY2VwdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaWxsaW5nIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZWdlciIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmFuayIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJDb25kaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb25kaXRpb24iIHNjb3BlPSJQRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0TG9jYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTG9jYXRpb24iPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TG9jYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJpZCIgc2NvcGU9IkxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVmZXJlbmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlZmVyZW5jZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkUiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRCYXNlRXh0ZW5zaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0UHJvdmVuYW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb3ZlbmFuY2UiIGNvZGVQcm9wZXJ0eT0idGFyZ2V0IiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0TWVkaWNhdGlvbkNvZGUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXF1ZXN0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXF1ZXN0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXF1ZXN0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MycKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiRGVhZCI6ICc0MTkwOTkwMDknIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdEZWFkJwpjb2RlICJFUiI6ICdFUicgZnJvbSAiUm9sZUNvZGUiIGRpc3BsYXkgJ0VtZXJnZW5jeSByb29tJwpjb2RlICJJQ1UiOiAnSUNVJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnSW50ZW5zaXZlIGNhcmUgdW5pdCcKY29kZSAiQmlsbGluZyI6ICdiaWxsaW5nJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAnQmlsbGluZycKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJJbnBhdGllbnQgRW5jb3VudGVyIjoKCVtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRW5jb3VudGVySW5wYXRpZW50CgkJd2hlcmUgRW5jb3VudGVySW5wYXRpZW50LnN0YXR1cyA9ICdmaW5pc2hlZCcKCQkgIGFuZCAiTGVuZ3RoSW5EYXlzIihFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kKSA8PSAxMjAKCQkJYW5kIEVuY291bnRlcklucGF0aWVudC5wZXJpb2QgZW5kcyBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSBmdW5jdGlvbiAiVG9EYXRlIihWYWx1ZSBEYXRlVGltZSk6CglEYXRlVGltZSh5ZWFyIGZyb20gVmFsdWUsIG1vbnRoIGZyb20gVmFsdWUsIGRheSBmcm9tIFZhbHVlLCAwLCAwLCAwLCAwLCB0aW1lem9uZSBmcm9tIFZhbHVlKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5c0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCWRheXMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5EYXlzIihCaXJ0aERhdGVUaW1lIERhdGVUaW1lKToKCUNhbGVuZGFyQWdlSW5EYXlzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCW1vbnRocyBiZXR3ZWVuIFRvRGF0ZShCaXJ0aERhdGVUaW1lKWFuZCBUb0RhdGUoQXNPZikKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbk1vbnRocyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluTW9udGhzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUsIEFzT2YgRGF0ZVRpbWUpOgoJeWVhcnMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFycyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluWWVhcnNBdChCaXJ0aERhdGVUaW1lLCBUb2RheSgpKQoKZGVmaW5lIGZ1bmN0aW9uICJMZW5ndGhJbkRheXMiKFZhbHVlIEludGVydmFsPERhdGVUaW1lPik6CglkaWZmZXJlbmNlIGluIGRheXMgYmV0d2VlbiBzdGFydCBvZiBWYWx1ZSBhbmQgZW5kIG9mIFZhbHVlCgpkZWZpbmUgZnVuY3Rpb24gIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgogICAgc2luZ2xldG9uIGZyb20gKAogICAgICAgIFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIEVEVmlzaXQKICAgICAgICAgICAgd2hlcmUgRURWaXNpdC5zdGF0dXMgPSAnZmluaXNoZWQnCiAgICAgICAgICAgICAgICBhbmQgRURWaXNpdC5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQogICAgKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIFgKICAgIHJldHVybgogICAgICAgIGlmIFggaXMgbnVsbCB0aGVuIFRoZUVuY291bnRlci5wZXJpb2QKICAgICAgICBlbHNlIEludGVydmFsW3N0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoWC5wZXJpb2QpLCBlbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKV0KCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCSggIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIpICkgRURFbmNvdW50ZXIKICAgIHJldHVybgogICAgICAgIGlmIEVERW5jb3VudGVyIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIubG9jYXRpb24KICAgICAgICBlbHNlIGZsYXR0ZW4geyBFREVuY291bnRlci5sb2NhdGlvbiwgVGhlRW5jb3VudGVyLmxvY2F0aW9uIH0KCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJTGVuZ3RoSW5EYXlzKCJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikpCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIEFkbWlzc2lvbiBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJc3RhcnQgb2YgIkhvc3BpdGFsaXphdGlvbiIoVGhlRW5jb3VudGVyKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCWVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFRoZUVuY291bnRlci5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRmlyc3QoCgkgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglUaGVFbmNvdW50ZXIgVmlzaXQKCQlsZXQgT2JzVmlzaXQ6IExhc3QoW0VuY291bnRlcjogIk9ic2VydmF0aW9uIFNlcnZpY2VzIl0gTGFzdE9icwoJCQkJd2hlcmUgTGFzdE9icy5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgVmlzaXQucGVyaW9kCgkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKCQkJKSwKCQkJVmlzaXRTdGFydDogQ29hbGVzY2Uoc3RhcnQgb2YgT2JzVmlzaXQucGVyaW9kLCBzdGFydCBvZiBWaXNpdC5wZXJpb2QpLAoJCQlFRFZpc2l0OiBMYXN0KFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIExhc3RFRAoJCQkJd2hlcmUgTGFzdEVELnBlcmlvZCBlbmRzIDEgaG91ciBvciBsZXNzIG9uIG9yIGJlZm9yZSBWaXNpdFN0YXJ0CgkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKCQkJKQoJCXJldHVybiBJbnRlcnZhbFtDb2FsZXNjZShzdGFydCBvZiBFRFZpc2l0LnBlcmlvZCwgVmlzaXRTdGFydCksIGVuZCBvZiBWaXNpdC5wZXJpb2RdCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbkxlbmd0aG9mU3RheSIoRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCSJMZW5ndGhJbkRheXMiKCJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKEVuY291bnRlcikpCgovLyBUT0RPIC0gZml4IHRoZXNlIChtdXN0IGZldGNoIExvY2F0aW9uIHJlc291cmNlcyBhbmQgY29tcGFyZSBpZCB0byByZWZlcmVuY2UpCi8qZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBEZXBhcnR1cmUgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCWVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKExhc3QoCgkgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKCgKCSAgICBzaW5nbGV0b24gZnJvbSAoCgkgICAgICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCQl3aGVyZSBIb3NwaXRhbExvY2F0aW9uLnR5cGUgfiAiRVIiCgkJKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkZpcnN0IElucGF0aWVudCBJbnRlbnNpdmUgQ2FyZSBVbml0IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJRmlyc3QoCgkgICAgKCBUaGVFbmNvdW50ZXIubG9jYXRpb24gKSBIb3NwaXRhbExvY2F0aW9uCgkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJJQ1UiCgkJCQlhbmQgSG9zcGl0YWxMb2NhdGlvbi5wZXJpb2QgZHVyaW5nIFRoZUVuY291bnRlci5wZXJpb2QKCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkqLwoKLyoKKgoqICAgIENRRk1lYXN1cmVzIENvbW1vbiBMb2dpYwoqCiovCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBPbnNldCIob25zZXQgQ2hvaWNlPEZISVIuZGF0ZVRpbWUsIEZISVIuQWdlLCBGSElSLlBlcmlvZCwgRkhJUi5SYW5nZSwgRkhJUi5zdHJpbmc+KToKICBpZiBvbnNldCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShvbnNldCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShvbnNldCBhcyBGSElSLmRhdGVUaW1lKV0KCWVsc2UgaWYgb25zZXQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKG9uc2V0IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLkFnZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KG9uc2V0IGFzIEZISVIuQWdlKSwKCQkgIEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KG9uc2V0IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24gQ29uZGl0aW9uKToKCWlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5kYXRlVGltZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuUGVyaW9kIHRoZW4KCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuQWdlIHRoZW4KCQlJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSwKCQkJRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLkFnZSkgKyAxIHllYXIpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5ib29sZWFuIHRoZW4KCSAgSW50ZXJ2YWxbZW5kIG9mICJOb3JtYWxpemUgT25zZXQiKGNvbmRpdGlvbi5vbnNldCksIGNvbmRpdGlvbi5hc3NlcnRlZERhdGUpCgllbHNlIG51bGwKCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJldmFsZW5jZVBlcmlvZCIoY29uZGl0aW9uIENvbmRpdGlvbik6CiAgSW50ZXJ2YWxbc3RhcnQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgZW5kIG9mICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24pKQoKZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgSW50ZXJ2YWwiKGNob2ljZSBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5QZXJpb2Q+KToKICBpZiBjaG9pY2UgaXMgRkhJUi5kYXRlVGltZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNob2ljZSBhcyBGSElSLmRhdGVUaW1lKV0KCWVsc2UKCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjaG9pY2UgYXMgRkhJUi5QZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkdldElkIih1cmkgU3RyaW5nKToKCUxhc3QoU3BsaXQodXJpLCAnLycpKQoKZGVmaW5lIGZ1bmN0aW9uICJFbmNvdW50ZXJEaWFnbm9zaXMiKEVuY291bnRlciBFbmNvdW50ZXIpOgogIEVuY291bnRlci5kaWFnbm9zaXMgRAogICAgcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDb25kaXRpb24gd2hlcmUgQ29uZGl0aW9uLmlkLnZhbHVlID0gIkdldElkIihELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgY29uZGl0aW9uIHRoYXQgaXMgc3BlY2lmaWVkIGFzIHRoZSBwcmluY2lwYWwgZGlhZ25vc2lzIGZvciB0aGUgZW5jb3VudGVyCmRlZmluZSBmdW5jdGlvbiAiUHJpbmNpcGFsRGlhZ25vc2lzIihFbmNvdW50ZXIgRW5jb3VudGVyKToKCShzaW5nbGV0b24gZnJvbSAoRW5jb3VudGVyLmRpYWdub3NpcyBEIHdoZXJlIEQucm9sZSB+IFRvQ29uY2VwdCgiQmlsbGluZyIpIGFuZCBELnJhbmsgPSAxKSkgUEQKCS8vIkdldElkIih1cmkgU3RyaW5nKTogcmV0dXJucyB0aGUgbGFzdCBTdHJpbmcgb2YgYSBTcGxpdCBieSAvIExpc3QgdGhlcmVmb3IgY2Fubm90IHVzZSBpbgoJCXJldHVybiBzaW5nbGV0b24gZnJvbSAoW0NvbmRpdGlvbl0gQ29uZGl0aW9uIHdoZXJlIENvbmRpdGlvbi5pZC52YWx1ZSA9ICJHZXRJZCIoUEQuY29uZGl0aW9uLnJlZmVyZW5jZSkpCgovLyBSZXR1cm5zIHRoZSBsb2NhdGlvbiBmb3IgdGhlIGdpdmVuIGxvY2F0aW9uIHJlZmVyZW5jZQpkZWZpbmUgZnVuY3Rpb24gR2V0TG9jYXRpb24ocmVmZXJlbmNlIFJlZmVyZW5jZSk6CiAgc2luZ2xldG9uIGZyb20gKAogICAgW0xvY2F0aW9uXSBMb2NhdGlvbiB3aGVyZSBMb2NhdGlvbi5pZC52YWx1ZSA9IEdldElkKHJlZmVyZW5jZS5yZWZlcmVuY2UpCiAgKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9uIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6CiAgc2luZ2xldG9uIGZyb20gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlLCB1cmwpCgovKgpOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcwpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZQpDUUwgbW9kZWwgaW5mby4KKi8KZGVmaW5lIGZ1bmN0aW9uICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJyArIHVybCkKCQlyZXR1cm4gRQoKZGVmaW5lIGZ1bmN0aW9uICJHZXRCYXNlRXh0ZW5zaW9uIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6CiAgc2luZ2xldG9uIGZyb20gIkdldEJhc2VFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogUHJvdmVuYW5jZSBpcyBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgdGhpcyBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGlsbHVzdHJhdGlvbgpmb3Igd2hhdCB1c2luZyBQcm92ZW5hbmNlIGNvdWxkIGxvb2sgbGlrZSwgYW5kIGlzIG5vdCBhIHRlc3RlZCBwYXR0ZXJuCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJvdmVuYW5jZSIocmVzb3VyY2UgUmVzb3VyY2UpOgogIHNpbmdsZXRvbiBmcm9tIChbUHJvdmVuYW5jZTogdGFyZ2V0IGluIHJlc291cmNlLmlkXSkKCmRlZmluZSBmdW5jdGlvbiAiR2V0TWVkaWNhdGlvbkNvZGUiKHJlcXVlc3QgTWVkaWNhdGlvblJlcXVlc3QpOgogIGlmIHJlcXVlc3QubWVkaWNhdGlvbiBpcyBDb2RlYWJsZUNvbmNlcHQgdGhlbgoJICByZXF1ZXN0Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0CgllbHNlCgkgIChzaW5nbGV0b24gZnJvbSAoW01lZGljYXRpb246IGlkIGluIEdldElkKChyZXF1ZXN0Lm1lZGljYXRpb24gYXMgUmVmZXJlbmNlKS5yZWZlcmVuY2UpXSkpLmNvZGUK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-SupplementalDataElements-FHIR3-1.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-SupplementalDataElements-FHIR3-1.0.0
Type: Logic Library
Version: 1.0.0
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Coverage

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591

Content: type: text/cql
library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Payer":\n    [Coverage: type in "Payer"] Payer\n      return {\n        code: Payer.type,\n        period: Payer.period\n      }\n\ndefine "SDE Race":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Sex":\n  case\n    when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n    when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n    else null\n  end\n
\n \n \n
\n
" + }, + "version": "1.0.0", + "name": "SupplementalDataElements_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-TJCOverall-FHIR3-3.6.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-TJCOverall-FHIR3-3.6.000
Type: Logic Library
Version: 3.6.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

Data Requirements:

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424

type: Patient

Content: type: text/cql
library TJCOverall_FHIR3 version '3.6.000'\n\nusing FHIR version '3.0.0'\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n//TODO: MATGlobalCommonFunctions_FHIR version '2.0.000' need to be updated to 4.0\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "LOINC": 'http://loinc.org'\n\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'\nvalueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'\nvalueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'\nvalueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'\nvalueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'\nvalueset "Ticagrelor Therapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion\n\t\t(["Procedure": "Comfort Measures"] InterventionPerformed\n\t\twhere InterventionPerformed.status = 'completed')\n\ndefine "All Stroke Encounter":\n\t"Non Elective Inpatient Encounter" NonElectiveEncounter\n    where Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Hemorrhagic Stroke"\n      or Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Ischemic Stroke"\n\ndefine "Ischemic Stroke Encounter":\n\t"Encounter with Principal Diagnosis and Age" EncounterWithAge\n\t\twhere Global.PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"\n\ndefine "Non Elective Inpatient Encounter":\n\t["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\n\t\twhere Global."LengthInDays"(NonElectiveEncounter.period)<= 120\n\t\t\tand NonElectiveEncounter.period ends during "Measurement Period"\n\ndefine "Ischemic Stroke Encounters with Discharge Disposition":\n\t( ( "Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\t\t\twhere IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\n\t\t)\n\t)\n\ndefine "Comfort Measures during Hospitalization":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Intervention Comfort Measures" ComfortMeasure\n\t\t\tsuch that Coalesce(start of FHIRHelpers.ToInterval(ComfortMeasure.performed), ComfortMeasure.authoredOn)during Global."HospitalizationWithObservation"(IschemicStrokeEncounter)\n\ndefine "Encounter with Principal Diagnosis and Age":\n\t"All Stroke Encounter" AllStrokeEncounter\n\t\twith ["Patient"] BirthDate\n\t\t\tsuch that Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(BirthDate.birthDate), start of FHIRHelpers.ToInterval(AllStrokeEncounter.period)) >= 18\n\ndefine function "CalendarDayOfOrDayAfter"(StartValue DateTime ):\n\tInterval(Global."ToDate"(StartValue), Global."ToDate"(StartValue + 2 days))\n
\n \n \n
\n
" + }, + "version": "3.6.000", + "name": "TJCOverall_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + } ], + "dataRequirement": [ { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } ] + }, { + "type": "Patient" + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlRKQ092ZXJhbGxfRkhJUjMiIHZlcnNpb249IjMuNi4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iR2xvYmFsIiBwYXRoPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIHZlcnNpb249IjQuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTREUiIHBhdGg9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8cGFyYW1ldGVycz4NCiAgICAgIDxkZWYgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L3BhcmFtZXRlclR5cGVTcGVjaWZpZXI+DQogICAgICA8L2RlZj4NCiAgIDwvcGFyYW1ldGVycz4NCiAgIDxjb2RlU3lzdGVtcz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA4IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IEV4cGlyZWQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlRpY2FncmVsb3IgVGhlcmFweSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aCBkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICA8L2NvZGVzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnRlcnZlbnRpb25QZXJmb3JtZWQiPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkludGVydmVudGlvblBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb25FbGVjdGl2ZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJBbGwgU3Ryb2tlIEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm9uIEVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJIZW1vcnJoYWdpYyBTdHJva2UiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUHJpbmNpcGFsRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQWxsU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkFsbCBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJCaXJ0aERhdGUiIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiBzY29wZT0iQmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJBbGxTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxOCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJXaXRoQWdlIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUHJpbmNpcGFsRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyV2l0aEFnZSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJJc2NoZW1pYyBTdHJva2UiLz4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlcnMgd2l0aCBEaXNjaGFyZ2UgRGlzcG9zaXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iUGF0aWVudCBFeHBpcmVkIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb3dDbG9zZWQ9ImZhbHNlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iU3RhcnRWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJTdGFydFZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iU3RhcnRWYWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBUSkNPdmVyYWxsX0ZISVIzIHZlcnNpb24gJzMuNi4wMDAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKLy9UT0RPOiBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUiB2ZXJzaW9uICcyLjAuMDAwJyBuZWVkIHRvIGJlIHVwZGF0ZWQgdG8gNC4wCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzQuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4Jwpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwoKdmFsdWVzZXQgIkNvbWZvcnQgTWVhc3VyZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1Jwp2YWx1ZXNldCAiRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3Jwp2YWx1ZXNldCAiRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDcnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5Jwp2YWx1ZXNldCAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MicKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJJc2NoZW1pYyBTdHJva2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NycKdmFsdWVzZXQgIkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA4Jwp2YWx1ZXNldCAiTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCcKdmFsdWVzZXQgIlBhdGllbnQgRXhwaXJlZCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5Jwp2YWx1ZXNldCAiVGljYWdyZWxvciBUaGVyYXB5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOScKdmFsdWVzZXQgIk9ic2VydmF0aW9uIFNlcnZpY2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMnCgpjb2RlICJCaXJ0aCBkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIjoKCShbIlByb2NlZHVyZVJlcXVlc3QiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIFAKCQl3aGVyZSBQLmludGVudCA9ICdvcmRlcicpCgkJdW5pb24KCQkoWyJQcm9jZWR1cmUiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIEludGVydmVudGlvblBlcmZvcm1lZAoJCXdoZXJlIEludGVydmVudGlvblBlcmZvcm1lZC5zdGF0dXMgPSAnY29tcGxldGVkJykKCmRlZmluZSAiQWxsIFN0cm9rZSBFbmNvdW50ZXIiOgoJIk5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBOb25FbGVjdGl2ZUVuY291bnRlcgogICAgd2hlcmUgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSGVtb3JyaGFnaWMgU3Ryb2tlIgogICAgICBvciBHbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKE5vbkVsZWN0aXZlRW5jb3VudGVyKS5jb2RlIGluICJJc2NoZW1pYyBTdHJva2UiCgpkZWZpbmUgIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiOgoJIkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgRW5jb3VudGVyV2l0aEFnZQoJCXdoZXJlIEdsb2JhbC5QcmluY2lwYWxEaWFnbm9zaXMoRW5jb3VudGVyV2l0aEFnZSkuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKZGVmaW5lICJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6CglbIkVuY291bnRlciI6ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciJdIE5vbkVsZWN0aXZlRW5jb3VudGVyCgkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBEaXNwb3NpdGlvbiI6CgkoICggIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJCQl3aGVyZSBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiUGF0aWVudCBFeHBpcmVkIgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiCgkJCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiCgkJKQoJKQoKZGVmaW5lICJDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24iOgoJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIENvbWZvcnRNZWFzdXJlCgkJCXN1Y2ggdGhhdCBDb2FsZXNjZShzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKENvbWZvcnRNZWFzdXJlLnBlcmZvcm1lZCksIENvbWZvcnRNZWFzdXJlLmF1dGhvcmVkT24pZHVyaW5nIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIihJc2NoZW1pY1N0cm9rZUVuY291bnRlcikKCmRlZmluZSAiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIjoKCSJBbGwgU3Ryb2tlIEVuY291bnRlciIgQWxsU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCBbIlBhdGllbnQiXSBCaXJ0aERhdGUKCQkJc3VjaCB0aGF0IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShCaXJ0aERhdGUuYmlydGhEYXRlKSwgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChBbGxTdHJva2VFbmNvdW50ZXIucGVyaW9kKSkgPj0gMTgKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKFN0YXJ0VmFsdWUgRGF0ZVRpbWUgKToKCUludGVydmFsKEdsb2JhbC4iVG9EYXRlIihTdGFydFZhbHVlKSwgR2xvYmFsLiJUb0RhdGUiKFN0YXJ0VmFsdWUgKyAyIGRheXMpKQo=" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-TJCOverall-FHIR3-3.6.000" + } + } ] +} \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-files/measure-EXM104_FHIR3-8.1.000.json b/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-files/measure-EXM104_FHIR3-8.1.000.json index fd72b3f1..f197d18d 100644 --- a/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-files/measure-EXM104_FHIR3-8.1.000.json +++ b/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-files/measure-EXM104_FHIR3-8.1.000.json @@ -8,7 +8,7 @@ }, "text": { "status": "generated", - "div": "
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Measure Title

Discharged on Antithrombotic Therapy

Measure ID

EXM104

Description

Ischemic stroke patients prescribed or continuing to take antithrombotic therapy at hospital discharge

\n
\n
\n
Measurement PeriodJanuary 1 - December 31
Copyright and Disclaimer Notice\n
\n
These performance measures are not clinical guidelines and do not establish a standard of medical care, and have not been tested for all potential applications. The measures and specifications are provided without warranty.
\n
\n
HEDIS%26reg; is a registered trademark of the National Committee for Quality Assurance (NCQA). The HEDIS measures and specifications are owned by NCQA. NCQA holds a copyright in the HEDIS measures and specifications and may rescind or alter these measures and specifications at any time. Users of the HEDIS measures and specifications shall not have the right to alter, enhance or otherwise modify the HEDIS measures and specifications, and shall not disassemble, recompile or reverse engineer the HEDIS measures and specifications. Anyone desiring to use or reproduce the materials, subject to licensed user restrictions, without modification for an internal, non-commercial purpose may do so without obtaining any approval from NCQA. Use of the Rules for Allowable Adjustments of HEDIS to make permitted adjustments of the materials does not constitute a modification. All other uses, including a commercial use, or any external reproduction, distribution and publication must be approved by NCQA and are subject to a license at the discretion of NCQA.\n\nHEDIS measures and specifications are not clinical guidelines, do not establish a standard of medical care and have not been tested for all potential applications. The measures and specifications are provided “as is” without warranty of any kind. NCQA makes no representations, warranties or endorsements about the quality of any product, test or protocol identified as numerator compliant or otherwise identified as meeting the requirements of a HEDIS measure or specification. NCQA also makes no representations, warranties or endorsements about the quality of any organization or clinician who uses or reports performance measures. NCQA has no liability to anyone who relies on HEDIS measures and specifications or data reflective of performance under such measures and specifications.\n\nCalculated measure results, based on unadjusted HEDIS specifications, may not be termed “Health Plan HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Uncertified, Unaudited Health Plan HEDIS Rates.”\n\nCalculated measure results, based on adjusted HEDIS specifications, may not be termed “Adjusted HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Adjusted, Uncertified, Unaudited HEDIS Rates.”\n\nLimited proprietary coding is contained in the measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. NCQA disclaims all liability for use or accuracy of any coding contained in the specifications.\n\nThe American Medical Association holds a copyright to the CPT%26reg; codes contained in the measures specifications.\n\nThe American Hospital Association holds a copyright to the Uniform Bill Codes (UB) contained in the measure specifications. The UB Codes in the HEDIS specifications are included with the permission of the AHA. The UB Codes contained in the HEDIS specifications may be used by health plans and other health care delivery organizations for the purpose of calculating and reporting HEDIS measure results or using HEDIS measure results for their internal quality improvement purposes. All other uses of the UB Codes require a license from the AHA. Anyone desiring to use the UB Codes in a commercial Product(s) to generate HEDIS results, or for any other commercial use, must obtain a commercial use license directly from the AHA. To inquire about licensing, contact ub04@healthforum.com.\n\nSome measure specifications contain coding from LOINC%26reg; (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright %26copy; 1995-2019, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/terms-of-use.\n\n"SNOMED” and “SNOMED CT” are registered trademarks of the International Health Terminology Standards Development Organization (IHTSDO).\n\n“HL7” is the registered trademark of Health Level Seven International.\n\n%26copy; 2019 by the National Committee for Quality Assurance, all rights reserved.
\n
\n
Clinical Recommendation Statement\n

Clinical trial results suggest that antithrombotic therapy should be prescribed at discharge following acute ischemic stroke to reduce stroke mortality and morbidity as long as no contraindications exist

\n
\n
References\n
\n
Adams HP, del Zoppo G, Alberts MJ, Bhatt DL, Brass L, Furlan A, Grubb RL, Higashida RT, Jauch EC, Kidwell C, Lyden PD, Morgenstern LB, Qureshi AI, Rosenwasser RH, Scott PA, Wijdicks E. Guidelines for the Early Management of Adults with Ischemic Stroke: A Guideline From the American Heart Association/American Stroke Association Stroke Council, Clinical CardiologyCouncil, Cardiovascular Radiology and Intervention Council, and the Atherosclerotic Peripheral Vascular Disease and Quality of Care Outcomes in Research Interdisciplinary Working Groups. Stroke. 2007;38:1655-1711.
\n
\n
\n
\n
Adams H, Adams R, Del Zoppo G, Goldstein LB. Guidelines for the Early Management of Patients With Ischemic Stroke: Guidelines Update A Scientific Statement From the Stroke Council of the American Heart Association/American Stroke Association. Stroke Vol. 36, 2005: 916:923.
\n
\n
\n
\n
Albers GW, Amarenco P, Easton JD, Sacco RL, Teal P. Antithrombotic and Thrombolytic Therapy for Ischemic Stroke. Chest Vol. 119, 2001: 300-320.
\n
\n
\n
\n
Brott TG, Clark WM, Grotta JC, et al. Stroke the first hours. Guidelines for acute treatment. Consensus Statement. National Stroke Association. 2000.
\n
\n
\n
\n
Chen ZM, Sandercock P, Pan HC, et al. Indications for early aspirin use in acute ischemic stroke: a combined analysis of 40,000 randomized patients from the Chinese acute stroke trial and the international stroke trial. On behalf of the CAST and IST collaborative groups, Stroke 2000;31:1240-1249.
\n
\n
\n
\n
Coull BM, Williams LS, Goldstein LB, et al. Anticoagulants and Antiplatelet Agents in Acute Ischemic Stroke. Report of the Joint Stroke Guideline Development Committee of the American Academy of Neurology and the American Stroke Association (a Division of the American Heart Association) Stroke. 2002;33:1934 - 1942.
\n
\n
\n
\n
Guideline on the Use of Aspirin as Secondary Prophylaxis for Vascular Disease in Primary Care, Centre for Health Services Research University of Newcastle upon Tyne, %26amp; Centre for Health Economics of York, 1998.
\n
\n
\n
\n
Kernan, W.N., B. Ovbiagele, H. R. Black, D. M. Bravata, M. I. Chimowitz, M. D. Ezekowitz, M. C. Fang, M. Fisher, K. L. Furie, D. V. Heck, S. C. Johnston, S. E. Kasner, S. J. Kittner, P. H. Mitchell, M. W. Rich, D. Richardson, L. H. Schwamm, J. A. Wilson. "Guidelines for the Prevention of Stroke in Patients with Stroke and Transient Ischemic Attack: A Guideline for Healthcare Professionals from the American Heart Association/American Stroke Association." [in eng.]  Stroke 45, no. 7 (May 2014): 2160-223. 
\n
\n
Characteristics
ScoringProportion
TypeProcess
Improvement NotationA higher rate indicates better performance.
Guidance\n

The "Non-elective Inpatient Encounter" value set intends to capture all non-scheduled hospitalizations. This value set is a subset of the "Inpatient encounter" value set, excluding concepts that specifically refer to elective hospital admissions. Non-elective admissions include emergency, urgent and unplanned admissions.

\n

The "Medication, Discharge" datatype refers to the discharge medication list and is intended to express medications ordered for post-discharge use.

\n
\n
Definitions
\n \n \n
\n \n \n \n \n
\n

Table of Contents

\n \n
\n \n

Definitions

\n \n

Functions

\n \n

Terminology

\n
\n
    \n \n
\n
\n

Data Criteria (QDM Data Elements)

\n
\n
    \n \n
\n
\n

Supplemental Data Elements

\n \n
\n
    \n
  • None
  • \n
\n
\n

Risk Adjustment Variables

\n
\n
    \n
  • None
  • \n
\n
\n
\n \n \n \n
\n
" + "div": "
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Measure Title

Discharged on Antithrombotic Therapy

Measure ID

EXM104

Description

Ischemic stroke patients prescribed or continuing to take antithrombotic therapy at hospital discharge

\n
\n
\n
Measurement PeriodJanuary 1 - December 31
Copyright and Disclaimer Notice\n
\n
These performance measures are not clinical guidelines and do not establish a standard of medical care, and have not been tested for all potential applications. The measures and specifications are provided without warranty.
\n
\n
HEDIS%26reg; is a registered trademark of the National Committee for Quality Assurance (NCQA). The HEDIS measures and specifications are owned by NCQA. NCQA holds a copyright in the HEDIS measures and specifications and may rescind or alter these measures and specifications at any time. Users of the HEDIS measures and specifications shall not have the right to alter, enhance or otherwise modify the HEDIS measures and specifications, and shall not disassemble, recompile or reverse engineer the HEDIS measures and specifications. Anyone desiring to use or reproduce the materials, subject to licensed user restrictions, without modification for an internal, non-commercial purpose may do so without obtaining any approval from NCQA. Use of the Rules for Allowable Adjustments of HEDIS to make permitted adjustments of the materials does not constitute a modification. All other uses, including a commercial use, or any external reproduction, distribution and publication must be approved by NCQA and are subject to a license at the discretion of NCQA.\n\nHEDIS measures and specifications are not clinical guidelines, do not establish a standard of medical care and have not been tested for all potential applications. The measures and specifications are provided “as is” without warranty of any kind. NCQA makes no representations, warranties or endorsements about the quality of any product, test or protocol identified as numerator compliant or otherwise identified as meeting the requirements of a HEDIS measure or specification. NCQA also makes no representations, warranties or endorsements about the quality of any organization or clinician who uses or reports performance measures. NCQA has no liability to anyone who relies on HEDIS measures and specifications or data reflective of performance under such measures and specifications.\n\nCalculated measure results, based on unadjusted HEDIS specifications, may not be termed “Health Plan HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Uncertified, Unaudited Health Plan HEDIS Rates.”\n\nCalculated measure results, based on adjusted HEDIS specifications, may not be termed “Adjusted HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Adjusted, Uncertified, Unaudited HEDIS Rates.”\n\nLimited proprietary coding is contained in the measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. NCQA disclaims all liability for use or accuracy of any coding contained in the specifications.\n\nThe American Medical Association holds a copyright to the CPT%26reg; codes contained in the measures specifications.\n\nThe American Hospital Association holds a copyright to the Uniform Bill Codes (UB) contained in the measure specifications. The UB Codes in the HEDIS specifications are included with the permission of the AHA. The UB Codes contained in the HEDIS specifications may be used by health plans and other health care delivery organizations for the purpose of calculating and reporting HEDIS measure results or using HEDIS measure results for their internal quality improvement purposes. All other uses of the UB Codes require a license from the AHA. Anyone desiring to use the UB Codes in a commercial Product(s) to generate HEDIS results, or for any other commercial use, must obtain a commercial use license directly from the AHA. To inquire about licensing, contact ub04@healthforum.com.\n\nSome measure specifications contain coding from LOINC%26reg; (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright %26copy; 1995-2019, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/terms-of-use.\n\n"SNOMED” and “SNOMED CT” are registered trademarks of the International Health Terminology Standards Development Organization (IHTSDO).\n\n“HL7” is the registered trademark of Health Level Seven International.\n\n%26copy; 2019 by the National Committee for Quality Assurance, all rights reserved.
\n
\n
Clinical Recommendation Statement\n

Clinical trial results suggest that antithrombotic therapy should be prescribed at discharge following acute ischemic stroke to reduce stroke mortality and morbidity as long as no contraindications exist

\n
\n
References\n
\n
Adams HP, del Zoppo G, Alberts MJ, Bhatt DL, Brass L, Furlan A, Grubb RL, Higashida RT, Jauch EC, Kidwell C, Lyden PD, Morgenstern LB, Qureshi AI, Rosenwasser RH, Scott PA, Wijdicks E. Guidelines for the Early Management of Adults with Ischemic Stroke: A Guideline From the American Heart Association/American Stroke Association Stroke Council, Clinical CardiologyCouncil, Cardiovascular Radiology and Intervention Council, and the Atherosclerotic Peripheral Vascular Disease and Quality of Care Outcomes in Research Interdisciplinary Working Groups. Stroke. 2007;38:1655-1711.
\n
\n
\n
\n
Adams H, Adams R, Del Zoppo G, Goldstein LB. Guidelines for the Early Management of Patients With Ischemic Stroke: Guidelines Update A Scientific Statement From the Stroke Council of the American Heart Association/American Stroke Association. Stroke Vol. 36, 2005: 916:923.
\n
\n
\n
\n
Albers GW, Amarenco P, Easton JD, Sacco RL, Teal P. Antithrombotic and Thrombolytic Therapy for Ischemic Stroke. Chest Vol. 119, 2001: 300-320.
\n
\n
\n
\n
Brott TG, Clark WM, Grotta JC, et al. Stroke the first hours. Guidelines for acute treatment. Consensus Statement. National Stroke Association. 2000.
\n
\n
\n
\n
Chen ZM, Sandercock P, Pan HC, et al. Indications for early aspirin use in acute ischemic stroke: a combined analysis of 40,000 randomized patients from the Chinese acute stroke trial and the international stroke trial. On behalf of the CAST and IST collaborative groups, Stroke 2000;31:1240-1249.
\n
\n
\n
\n
Coull BM, Williams LS, Goldstein LB, et al. Anticoagulants and Antiplatelet Agents in Acute Ischemic Stroke. Report of the Joint Stroke Guideline Development Committee of the American Academy of Neurology and the American Stroke Association (a Division of the American Heart Association) Stroke. 2002;33:1934 - 1942.
\n
\n
\n
\n
Guideline on the Use of Aspirin as Secondary Prophylaxis for Vascular Disease in Primary Care, Centre for Health Services Research University of Newcastle upon Tyne, %26amp; Centre for Health Economics of York, 1998.
\n
\n
\n
\n
Kernan, W.N., B. Ovbiagele, H. R. Black, D. M. Bravata, M. I. Chimowitz, M. D. Ezekowitz, M. C. Fang, M. Fisher, K. L. Furie, D. V. Heck, S. C. Johnston, S. E. Kasner, S. J. Kittner, P. H. Mitchell, M. W. Rich, D. Richardson, L. H. Schwamm, J. A. Wilson. "Guidelines for the Prevention of Stroke in Patients with Stroke and Transient Ischemic Attack: A Guideline for Healthcare Professionals from the American Heart Association/American Stroke Association." [in eng.]  Stroke 45, no. 7 (May 2014): 2160-223. 
\n
\n
Characteristics
ScoringProportion
TypeProcess
Improvement NotationA higher rate indicates better performance.
Guidance\n

The "Non-elective Inpatient Encounter" value set intends to capture all non-scheduled hospitalizations. This value set is a subset of the "Inpatient encounter" value set, excluding concepts that specifically refer to elective hospital admissions. Non-elective admissions include emergency, urgent and unplanned admissions.

\n

The "Medication, Discharge" datatype refers to the discharge medication list and is intended to express medications ordered for post-discharge use.

\n
\n
Definitions
\n \n \n
\n \n \n \n \n
\n

Table of Contents

\n \n
\n \n

Definitions

\n \n

Functions

\n \n

Terminology

\n
\n
    \n \n
\n
\n

Data Criteria (QDM Data Elements)

\n
\n
    \n \n
\n
\n

Supplemental Data Elements

\n \n
\n
    \n
  • None
  • \n
\n
\n

Risk Adjustment Variables

\n
\n
    \n
  • None
  • \n
\n
\n
\n \n \n \n
\n
" }, "extension": [ { "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", diff --git a/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-files/valuesets-EXM104_FHIR3-8.1.000-bundle.json b/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-files/valuesets-EXM104_FHIR3-8.1.000-bundle.json new file mode 100644 index 00000000..30d95ca4 --- /dev/null +++ b/fhir3/bundles/measure/EXM104_FHIR3-8.1.000/EXM104_FHIR3-8.1.000-files/valuesets-EXM104_FHIR3-8.1.000-bundle.json @@ -0,0 +1,2052 @@ +{ + "resourceType": "Bundle", + "id": "valuesets-EXM104-FHIR3-8.1.000-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.209", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.209" + } ], + "version": "20170725", + "name": "DischargedtoHomeforHospiceCare", + "title": "Discharged to Home for Hospice Care", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "428361000124107", + "display": "Discharge to home for hospice care (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.209" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.308", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.308" + } ], + "version": "20170726", + "name": "LeftAgainstMedicalAdvice", + "title": "Left Against Medical Advice", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "445060000", + "display": "Left against medical advice (finding)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.308" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.309", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.309" + } ], + "version": "20170726", + "name": "PatientExpired", + "title": "Patient Expired", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "371828006", + "display": "Patient deceased during stay (discharge status = dead) (finding)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.309" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.424", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.424" + } ], + "version": "20170726", + "name": "Non-ElectiveInpatientEncounter", + "title": "Non-Elective Inpatient Encounter", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.3591", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.3591" + } ], + "version": "20180718", + "name": "Payer", + "title": "Payer", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.phdsc.org/standards/pdfs/SourceofPaymentTypologyVersion6FINALSeptember2015.pdf", + "version": "8.0", + "concept": [ { + "code": "1", + "display": "MEDICARE" + }, { + "code": "11", + "display": "Medicare (Managed Care)" + }, { + "code": "111", + "display": "Medicare HMO" + }, { + "code": "112", + "display": "Medicare PPO" + }, { + "code": "113", + "display": "Medicare POS" + }, { + "code": "119", + "display": "Medicare Managed Care Other" + }, { + "code": "12", + "display": "Medicare (Non-managed Care)" + }, { + "code": "121", + "display": "Medicare FFS" + }, { + "code": "122", + "display": "Medicare Drug Benefit" + }, { + "code": "123", + "display": "Medicare Medical Savings Account (MSA)" + }, { + "code": "129", + "display": "Medicare Non-managed Care Other" + }, { + "code": "13", + "display": "Medicare Hospice" + }, { + "code": "14", + "display": "Dual Eligibility Medicare/Medicaid Organization" + }, { + "code": "19", + "display": "Medicare Other" + }, { + "code": "191", + "display": "Medicare Pharmacy Benefit Manager" + }, { + "code": "2", + "display": "MEDICAID" + }, { + "code": "21", + "display": "Medicaid (Managed Care)" + }, { + "code": "211", + "display": "Medicaid HMO" + }, { + "code": "212", + "display": "Medicaid PPO" + }, { + "code": "213", + "display": "Medicaid PCCM (Primary Care Case Management)" + }, { + "code": "219", + "display": "Medicaid Managed Care Other" + }, { + "code": "22", + "display": "Medicaid (Non-managed Care Plan)" + }, { + "code": "23", + "display": "Medicaid/SCHIP" + }, { + "code": "25", + "display": "Medicaid - Out of State" + }, { + "code": "26", + "display": "Medicaid -- Long Term Care" + }, { + "code": "29", + "display": "Medicaid Other" + }, { + "code": "291", + "display": "Medicaid Pharmacy Benefit Manager" + }, { + "code": "299", + "display": "Medicaid - Dental" + }, { + "code": "3", + "display": "OTHER GOVERNMENT (Federal/State/Local) (excluding Department of Corrections)" + }, { + "code": "31", + "display": "Department of Defense" + }, { + "code": "311", + "display": "TRICARE (CHAMPUS)" + }, { + "code": "3111", + "display": "TRICARE Prime--HMO" + }, { + "code": "3112", + "display": "TRICARE Extra--PPO" + }, { + "code": "3113", + "display": "TRICARE Standard - Fee For Service" + }, { + "code": "3114", + "display": "TRICARE For Life--Medicare Supplement" + }, { + "code": "3115", + "display": "TRICARE Reserve Select" + }, { + "code": "3116", + "display": "Uniformed Services Family Health Plan (USFHP) -- HMO" + }, { + "code": "3119", + "display": "Department of Defense - (other)" + }, { + "code": "312", + "display": "Military Treatment Facility" + }, { + "code": "3121", + "display": "Enrolled Prime--HMO" + }, { + "code": "3122", + "display": "Non-enrolled Space Available" + }, { + "code": "3123", + "display": "TRICARE For Life (TFL)" + }, { + "code": "313", + "display": "Dental --Stand Alone" + }, { + "code": "32", + "display": "Department of Veterans Affairs" + }, { + "code": "321", + "display": "Veteran care--Care provided to Veterans" + }, { + "code": "3211", + "display": "Direct Care--Care provided in VA facilities" + }, { + "code": "3212", + "display": "Indirect Care--Care provided outside VA facilities" + }, { + "code": "32121", + "display": "Fee Basis" + }, { + "code": "32122", + "display": "Foreign Fee/Foreign Medical Program (FMP)" + }, { + "code": "32123", + "display": "Contract Nursing Home/Community Nursing Home" + }, { + "code": "32124", + "display": "State Veterans Home" + }, { + "code": "32125", + "display": "Sharing Agreements" + }, { + "code": "32126", + "display": "Other Federal Agency" + }, { + "code": "32127", + "display": "Dental Care" + }, { + "code": "32128", + "display": "Vision Care" + }, { + "code": "322", + "display": "Non-veteran care" + }, { + "code": "3221", + "display": "Civilian Health and Medical Program for the VA (CHAMPVA)" + }, { + "code": "3222", + "display": "Spina Bifida Health Care Program (SB)" + }, { + "code": "3223", + "display": "Children of Women Vietnam Veterans (CWVV)" + }, { + "code": "3229", + "display": "Other non-veteran care" + }, { + "code": "33", + "display": "Indian Health Service or Tribe" + }, { + "code": "331", + "display": "Indian Health Service -- Regular" + }, { + "code": "332", + "display": "Indian Health Service -- Contract" + }, { + "code": "333", + "display": "Indian Health Service - Managed Care" + }, { + "code": "334", + "display": "Indian Tribe - Sponsored Coverage" + }, { + "code": "34", + "display": "HRSA Program" + }, { + "code": "341", + "display": "Title V (MCH Block Grant)" + }, { + "code": "342", + "display": "Migrant Health Program" + }, { + "code": "343", + "display": "Ryan White Act" + }, { + "code": "349", + "display": "Other" + }, { + "code": "35", + "display": "Black Lung" + }, { + "code": "36", + "display": "State Government" + }, { + "code": "361", + "display": "State SCHIP program (codes for individual states)" + }, { + "code": "362", + "display": "Specific state programs (list/ local code)" + }, { + "code": "369", + "display": "State, not otherwise specified (other state)" + }, { + "code": "37", + "display": "Local Government" + }, { + "code": "371", + "display": "Local - Managed care" + }, { + "code": "3711", + "display": "HMO" + }, { + "code": "3712", + "display": "PPO" + }, { + "code": "3713", + "display": "POS" + }, { + "code": "372", + "display": "FFS/Indemnity" + }, { + "code": "379", + "display": "Local, not otherwise specified (other local, county)" + }, { + "code": "38", + "display": "Other Government (Federal, State, Local not specified)" + }, { + "code": "381", + "display": "Federal, State, Local not specified managed care" + }, { + "code": "3811", + "display": "Federal, State, Local not specified - HMO" + }, { + "code": "3812", + "display": "Federal, State, Local not specified - PPO" + }, { + "code": "3813", + "display": "Federal, State, Local not specified - POS" + }, { + "code": "3819", + "display": "Federal, State, Local not specified - not specified managed care" + }, { + "code": "382", + "display": "Federal, State, Local not specified - FFS" + }, { + "code": "389", + "display": "Federal, State, Local not specified - Other" + }, { + "code": "39", + "display": "Other Federal" + }, { + "code": "391", + "display": "Federal Employee Health Plan - Use when known" + }, { + "code": "4", + "display": "DEPARTMENTS OF CORRECTIONS" + }, { + "code": "41", + "display": "Corrections Federal" + }, { + "code": "42", + "display": "Corrections State" + }, { + "code": "43", + "display": "Corrections Local" + }, { + "code": "44", + "display": "Corrections Unknown Level" + }, { + "code": "5", + "display": "PRIVATE HEALTH INSURANCE" + }, { + "code": "51", + "display": "Managed Care (Private)" + }, { + "code": "511", + "display": "Commercial Managed Care - HMO" + }, { + "code": "512", + "display": "Commercial Managed Care - PPO" + }, { + "code": "513", + "display": "Commercial Managed Care - POS" + }, { + "code": "514", + "display": "Exclusive Provider Organization" + }, { + "code": "515", + "display": "Gatekeeper PPO (GPPO)" + }, { + "code": "516", + "display": "Commercial Managed Care - Pharmacy Benefit Manager" + }, { + "code": "517", + "display": "Commercial Managed Care - Dental" + }, { + "code": "519", + "display": "Managed Care, Other (non HMO)" + }, { + "code": "52", + "display": "Private Health Insurance - Indemnity" + }, { + "code": "521", + "display": "Commercial Indemnity" + }, { + "code": "522", + "display": "Self-insured (ERISA) Administrative Services Only (ASO) plan" + }, { + "code": "523", + "display": "Medicare supplemental policy (as second payer)" + }, { + "code": "524", + "display": "Indemnity Insurance - Dental" + }, { + "code": "529", + "display": "Private health insurance--other commercial Indemnity" + }, { + "code": "53", + "display": "Managed Care (private) or private health insurance (indemnity), not otherwise specified" + }, { + "code": "54", + "display": "Organized Delivery System" + }, { + "code": "55", + "display": "Small Employer Purchasing Group" + }, { + "code": "56", + "display": "Specialized Stand Alone Plan" + }, { + "code": "561", + "display": "Dental" + }, { + "code": "562", + "display": "Vision" + }, { + "code": "59", + "display": "Other Private Insurance" + }, { + "code": "6", + "display": "BLUE CROSS/BLUE SHIELD" + }, { + "code": "61", + "display": "BC Managed Care" + }, { + "code": "611", + "display": "BC Managed Care -- HMO" + }, { + "code": "612", + "display": "BC Managed Care -- PPO" + }, { + "code": "613", + "display": "BC Managed Care -- POS" + }, { + "code": "614", + "display": "BC Managed Care - Dental" + }, { + "code": "619", + "display": "BC Managed Care -- Other" + }, { + "code": "62", + "display": "BC Insurance Indemnity" + }, { + "code": "621", + "display": "BC Indemnity" + }, { + "code": "622", + "display": "BC Self-insured (ERISA) Administrative Services Only (ASO)Plan" + }, { + "code": "623", + "display": "BC Medicare Supplemental Plan" + }, { + "code": "629", + "display": "BC Indemnity - Dental" + }, { + "code": "7", + "display": "MANAGED CARE, UNSPECIFIED (to be used only if one can't distinguish public from private)" + }, { + "code": "71", + "display": "HMO" + }, { + "code": "72", + "display": "PPO" + }, { + "code": "73", + "display": "POS" + }, { + "code": "79", + "display": "Other Managed Care" + }, { + "code": "8", + "display": "NO PAYMENT from an Organization/Agency/Program/Private Payer Listed" + }, { + "code": "81", + "display": "Self-pay (Includes applicants for insurance and Medicaid applicants)" + }, { + "code": "82", + "display": "No Charge" + }, { + "code": "821", + "display": "Charity" + }, { + "code": "822", + "display": "Professional Courtesy" + }, { + "code": "823", + "display": "Research/Clinical Trial" + }, { + "code": "83", + "display": "Refusal to Pay/Bad Debt" + }, { + "code": "84", + "display": "Hill Burton Free Care" + }, { + "code": "85", + "display": "Research/Donor" + }, { + "code": "89", + "display": "No Payment, Other" + }, { + "code": "9", + "display": "MISCELLANEOUS/OTHER" + }, { + "code": "91", + "display": "Foreign National" + }, { + "code": "92", + "display": "Other (Non-government)" + }, { + "code": "93", + "display": "Disability Insurance" + }, { + "code": "94", + "display": "Long-term Care Insurance" + }, { + "code": "95", + "display": "Worker's Compensation" + }, { + "code": "951", + "display": "Worker's Comp HMO" + }, { + "code": "953", + "display": "Worker's Comp Fee-for-Service" + }, { + "code": "954", + "display": "Worker's Comp Other Managed Care" + }, { + "code": "959", + "display": "Worker's Comp, Other unspecified" + }, { + "code": "96", + "display": "Auto Insurance (includes no fault)" + }, { + "code": "97", + "display": "Legal Liability / Liability Insurance" + }, { + "code": "98", + "display": "Other specified but not otherwise classifiable (includes Hospice - Unspecified plan)" + }, { + "code": "99", + "display": "No Typology Code available for payment source" + }, { + "code": "9999", + "display": "Unavailable / No Payer Specified / Blank" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.207", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.207" + } ], + "version": "20170725", + "name": "DischargedtoHealthCareFacilityforHospiceCare", + "title": "Discharged to Health Care Facility for Hospice Care", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "428371000124100", + "display": "Discharge to healthcare facility for hospice care (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.207" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1110.39", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39", + "title": "Ticagrelor Therapy", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "version": "2019-08", + "concept": [ { + "code": "1116635", + "display": "Ticagrelor 90 MG Oral Tablet" + }, { + "code": "1666332", + "display": "Ticagrelor 60 MG Oral Tablet" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1110.39" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.87", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.87" + } ], + "version": "20170725", + "name": "DischargeToAcuteCareFacility", + "title": "Discharge To Acute Care Facility", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "306701001", + "display": "Discharge to community hospital (procedure)" + }, { + "code": "306703003", + "display": "Discharge to tertiary referral hospital (procedure)" + }, { + "code": "434781000124105", + "display": "Discharge to acute care hospital (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.87" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.93", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93", + "title": "Patient Refusal", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "105480006", + "display": "Refusal of treatment by patient (situation)" + }, { + "code": "182890002", + "display": "Patient requests alternative treatment (finding)" + }, { + "code": "182895007", + "display": "Drug declined by patient (situation)" + }, { + "code": "182896008", + "display": "Drug declined by patient - dislikes taste (situation)" + }, { + "code": "182897004", + "display": "Drug declined by patient - side effects (situation)" + }, { + "code": "182898009", + "display": "Drug declined by patient - inconvenient (situation)" + }, { + "code": "182900006", + "display": "Drug declined by patient - patient beliefs (situation)" + }, { + "code": "182901005", + "display": "Drug declined by patient - alternative therapy (situation)" + }, { + "code": "182903008", + "display": "Drug declined by patient - reason unknown (situation)" + }, { + "code": "183944003", + "display": "Procedure refused (situation)" + }, { + "code": "183945002", + "display": "Procedure refused for religious reason (situation)" + }, { + "code": "183946001", + "display": "Procedure refused - uncooperative (situation)" + }, { + "code": "183947005", + "display": "Refused procedure - after thought (situation)" + }, { + "code": "183948000", + "display": "Refused procedure - parent's wish (situation)" + }, { + "code": "275936005", + "display": "Patient noncompliance - general (situation)" + }, { + "code": "371138003", + "display": "Refusal of treatment by parents (situation)" + }, { + "code": "406149000", + "display": "Medication refused (situation)" + }, { + "code": "413312003", + "display": "Patient non-compliant - refused service (situation)" + }, { + "code": "416432009", + "display": "Procedure not wanted (situation)" + }, { + "code": "443390004", + "display": "Refused (qualifier value)" + }, { + "code": "609589008", + "display": "Refused by parents of subject (qualifier value)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.93" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.292", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292", + "title": "Emergency Department Visit", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "4525004", + "display": "Emergency department patient visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1111.143", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143", + "title": "Observation Services", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-09", + "concept": [ { + "code": "448851000124103", + "display": "Hospital admission from observation unit (procedure)" + }, { + "code": "448951000124107", + "display": "Admission to observation unit (procedure)" + }, { + "code": "76464004", + "display": "Hospital admission, for observation (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1111.143" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.666.5.307", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.666.5.307" + } ], + "version": "20170504", + "name": "EncounterInpatient", + "title": "Encounter Inpatient", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + }, { + "code": "8715000", + "display": "Hospital admission, elective (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "1.3.6.1.4.1.33895.1.3.0.45", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "1.3.6.1.4.1.33895.1.3.0.45" + } ], + "version": "20160331", + "name": "ComfortMeasures", + "title": "Comfort Measures", + "status": "active", + "publisher": "TJC EH Steward", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "133918004", + "display": "Comfort measures (regime/therapy)" + }, { + "code": "182964004", + "display": "Terminal care (regime/therapy)" + }, { + "code": "385736008", + "display": "Dying care (regime/therapy)" + }, { + "code": "385763009", + "display": "Hospice care (regime/therapy)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.201", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201", + "title": "Antithrombotic Therapy", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "version": "2019-08", + "concept": [ { + "code": "1037045", + "display": "dabigatran etexilate 150 MG Oral Capsule" + }, { + "code": "1037179", + "display": "dabigatran etexilate 75 MG Oral Capsule" + }, { + "code": "103863", + "display": "Aspirin 150 MG Rectal Suppository" + }, { + "code": "1092398", + "display": "Aspirin 500 MG / Diphenhydramine Hydrochloride 25 MG Oral Tablet" + }, { + "code": "1114198", + "display": "rivaroxaban 10 MG Oral Tablet" + }, { + "code": "1232082", + "display": "rivaroxaban 15 MG Oral Tablet" + }, { + "code": "1232086", + "display": "rivaroxaban 20 MG Oral Tablet" + }, { + "code": "1250907", + "display": "Aspirin 500 MG / Diphenhydramine Citrate 38.3 MG Oral Tablet" + }, { + "code": "1291868", + "display": "Aspirin 325 MG / Diphenhydramine Citrate 38 MG Oral Tablet" + }, { + "code": "1361574", + "display": "heparin sodium, porcine 20000 UNT/ML Injectable Solution" + }, { + "code": "1364435", + "display": "apixaban 2.5 MG Oral Tablet" + }, { + "code": "1364445", + "display": "apixaban 5 MG Oral Tablet" + }, { + "code": "1536467", + "display": "Aspirin 325 MG / Citric Acid 1000 MG / Sodium Bicarbonate 1700 MG Effervescent Oral Tablet" + }, { + "code": "1536498", + "display": "Aspirin 325 MG / Dextromethorphan Hydrobromide 10 MG / Phenylephrine bitartrate 7.8 MG Effervescent Oral Tablet" + }, { + "code": "1536503", + "display": "Aspirin 500 MG / Dextromethorphan Hydrobromide 10 MG / doxylamine succinate 6.25 MG / Phenylephrine bitartrate 7.8 MG Effervescent Oral Tablet" + }, { + "code": "1536675", + "display": "Aspirin 325 MG / Citric Acid 1000 MG / Sodium Bicarbonate 1916 MG Effervescent Oral Tablet" + }, { + "code": "1536815", + "display": "Aspirin 500 MG / Caffeine 65 MG Effervescent Oral Tablet" + }, { + "code": "1536833", + "display": "Aspirin 500 MG / Citric Acid 1000 MG / Sodium Bicarbonate 1985 MG Effervescent Oral Tablet" + }, { + "code": "1536840", + "display": "Aspirin 325 MG / Chlorpheniramine Maleate 2 MG / Phenylephrine bitartrate 7.8 MG Effervescent Oral Tablet" + }, { + "code": "1537029", + "display": "Aspirin 325 MG / Chlorpheniramine Maleate 2 MG / Dextromethorphan Hydrobromide 10 MG / Phenylephrine bitartrate 7.8 MG Effervescent Oral Tablet" + }, { + "code": "1549682", + "display": "{42 (rivaroxaban 15 MG Oral Tablet) / 9 (rivaroxaban 20 MG Oral Tablet) } Pack" + }, { + "code": "1593110", + "display": "Acetaminophen 250 MG / Aspirin 250 MG / Diphenhydramine Citrate 38 MG Oral Tablet" + }, { + "code": "1599543", + "display": "edoxaban 15 MG Oral Tablet" + }, { + "code": "1599551", + "display": "edoxaban 30 MG Oral Tablet" + }, { + "code": "1599555", + "display": "edoxaban 60 MG Oral Tablet" + }, { + "code": "1658717", + "display": "250 ML heparin sodium, porcine 100 UNT/ML Injection" + }, { + "code": "1659195", + "display": "500 ML heparin sodium, porcine 50 UNT/ML Injection" + }, { + "code": "1659197", + "display": "250 ML heparin sodium, porcine 50 UNT/ML Injection" + }, { + "code": "1665356", + "display": "24 HR Aspirin 162.5 MG Extended Release Oral Capsule" + }, { + "code": "1722689", + "display": "Aspirin 81 MG / Calcium Carbonate 777 MG Oral Tablet" + }, { + "code": "1723476", + "display": "dabigatran etexilate 110 MG Oral Capsule" + }, { + "code": "1730187", + "display": "{12 (Aspirin 325 MG / Dextromethorphan Hydrobromide 10 MG / Phenylephrine bitartrate 7.8 MG Effervescent Oral Tablet) / 8 (Aspirin 500 MG / Dextromethorphan Hydrobromide 10 MG / doxylamine succinate 6.25 MG / Phenylephrine bitartrate 7.8 MG Effervescent Oral Tablet) } Pack" + }, { + "code": "1804735", + "display": "50 ML argatroban 1 MG/ML Injection" + }, { + "code": "1804737", + "display": "125 ML argatroban 1 MG/ML Injection" + }, { + "code": "1804738", + "display": "250 ML argatroban 1 MG/ML Injection" + }, { + "code": "1811631", + "display": "Aspirin 81 MG / Omeprazole 40 MG Delayed Release Oral Tablet" + }, { + "code": "1811632", + "display": "Aspirin 325 MG / Omeprazole 40 MG Delayed Release Oral Tablet" + }, { + "code": "198464", + "display": "Aspirin 300 MG Rectal Suppository" + }, { + "code": "198466", + "display": "Aspirin 325 MG Oral Capsule" + }, { + "code": "198467", + "display": "Aspirin 325 MG Delayed Release Oral Tablet" + }, { + "code": "198471", + "display": "Aspirin 500 MG Oral Tablet" + }, { + "code": "198473", + "display": "Aspirin 600 MG Rectal Suppository" + }, { + "code": "198475", + "display": "Aspirin 650 MG Oral Tablet" + }, { + "code": "198479", + "display": "Aspirin 400 MG / Caffeine 32 MG Oral Tablet" + }, { + "code": "198480", + "display": "Aspirin 500 MG / Caffeine 32 MG Oral Tablet" + }, { + "code": "1992427", + "display": "{74 (apixaban 5 MG Oral Tablet) } Pack" + }, { + "code": "199274", + "display": "Aspirin 300 MG Oral Capsule" + }, { + "code": "212033", + "display": "Aspirin 325 MG Oral Tablet" + }, { + "code": "243670", + "display": "Aspirin 81 MG Oral Tablet" + }, { + "code": "243685", + "display": "Aspirin 421 MG / Caffeine 32 MG Oral Tablet" + }, { + "code": "243694", + "display": "Acetaminophen 194 MG / Aspirin 227 MG / Caffeine 33 MG Oral Tablet" + }, { + "code": "259081", + "display": "12 HR Aspirin 25 MG / Dipyridamole 200 MG Extended Release Oral Capsule" + }, { + "code": "308278", + "display": "Acetaminophen 115 MG / Aspirin 210 MG / Caffeine 16 MG / salicylamide 65 MG Oral Tablet" + }, { + "code": "308297", + "display": "Acetaminophen 250 MG / Aspirin 250 MG / Caffeine 65 MG Oral Tablet" + }, { + "code": "308351", + "display": "2.5 ML argatroban 100 MG/ML Injection" + }, { + "code": "308363", + "display": "Aspirin 325 MG / Caffeine 16 MG / salicylamide 95 MG Oral Tablet" + }, { + "code": "308409", + "display": "Aspirin 500 MG Delayed Release Oral Tablet" + }, { + "code": "308411", + "display": "Aspirin 650 MG Delayed Release Oral Tablet" + }, { + "code": "308416", + "display": "Aspirin 81 MG Delayed Release Oral Tablet" + }, { + "code": "308417", + "display": "Aspirin 975 MG Delayed Release Oral Tablet" + }, { + "code": "309362", + "display": "clopidogrel 75 MG Oral Tablet" + }, { + "code": "313406", + "display": "Ticlopidine Hydrochloride 250 MG Oral Tablet" + }, { + "code": "318272", + "display": "Aspirin 81 MG Chewable Tablet" + }, { + "code": "359221", + "display": "Acetaminophen 110 MG / Aspirin 162 MG / Caffeine 32.4 MG / salicylamide 152 MG Oral Tablet" + }, { + "code": "432638", + "display": "Acetaminophen 250 MG / Aspirin 250 MG Oral Tablet" + }, { + "code": "605252", + "display": "Aspirin 650 MG / Caffeine 33.3 MG / salicylamide 195 MG Oral Powder" + }, { + "code": "692836", + "display": "Acetaminophen 325 MG / Aspirin 500 MG / Caffeine 65 MG Oral Powder" + }, { + "code": "702316", + "display": "Aspirin 500 MG / Caffeine 32.5 MG Oral Tablet" + }, { + "code": "747211", + "display": "Aspirin 81 MG Disintegrating Oral Tablet" + }, { + "code": "749196", + "display": "clopidogrel 300 MG Oral Tablet" + }, { + "code": "763111", + "display": "Acetaminophen 325 MG / Aspirin 500 MG Oral Powder" + }, { + "code": "763116", + "display": "Acetaminophen 260 MG / Aspirin 520 MG / Caffeine 32.5 MG Oral Powder" + }, { + "code": "797050", + "display": "Aspirin 650 MG / Caffeine 32 MG / salicylamide 200 MG Oral Powder" + }, { + "code": "827318", + "display": "Acetaminophen 250 MG / Aspirin 250 MG / Caffeine 65 MG Oral Capsule" + }, { + "code": "854238", + "display": "0.6 ML Enoxaparin sodium 100 MG/ML Prefilled Syringe" + }, { + "code": "854241", + "display": "0.8 ML Enoxaparin sodium 100 MG/ML Prefilled Syringe" + }, { + "code": "854245", + "display": "0.8 ML Enoxaparin sodium 150 MG/ML Prefilled Syringe" + }, { + "code": "854248", + "display": "1 ML Enoxaparin sodium 100 MG/ML Prefilled Syringe" + }, { + "code": "854252", + "display": "1 ML Enoxaparin sodium 150 MG/ML Prefilled Syringe" + }, { + "code": "854255", + "display": "Enoxaparin sodium 100 MG/ML Injectable Solution" + }, { + "code": "855288", + "display": "Warfarin Sodium 1 MG Oral Tablet" + }, { + "code": "855296", + "display": "Warfarin Sodium 10 MG Oral Tablet" + }, { + "code": "855302", + "display": "Warfarin Sodium 2 MG Oral Tablet" + }, { + "code": "855312", + "display": "Warfarin Sodium 2.5 MG Oral Tablet" + }, { + "code": "855318", + "display": "Warfarin Sodium 3 MG Oral Tablet" + }, { + "code": "855324", + "display": "Warfarin Sodium 4 MG Oral Tablet" + }, { + "code": "855332", + "display": "Warfarin Sodium 5 MG Oral Tablet" + }, { + "code": "855338", + "display": "Warfarin Sodium 6 MG Oral Tablet" + }, { + "code": "855344", + "display": "Warfarin Sodium 7.5 MG Oral Tablet" + }, { + "code": "861356", + "display": "0.8 ML Fondaparinux sodium 12.5 MG/ML Prefilled Syringe" + }, { + "code": "861360", + "display": "0.5 ML Fondaparinux sodium 5 MG/ML Prefilled Syringe" + }, { + "code": "861363", + "display": "0.4 ML Fondaparinux sodium 12.5 MG/ML Prefilled Syringe" + }, { + "code": "861365", + "display": "0.6 ML Fondaparinux sodium 12.5 MG/ML Prefilled Syringe" + }, { + "code": "863184", + "display": "Aspirin 360 MG / Caffeine 75 MG / magnesium carbonate 100 MG / Magnesium Salicylate 60 MG Oral Tablet" + }, { + "code": "863186", + "display": "Aspirin 410 MG / Caffeine 60 MG / salicylamide 30 MG Oral Tablet" + }, { + "code": "896884", + "display": "Aspirin 742 MG / Caffeine 38 MG / salicylamide 222 MG Oral Powder" + }, { + "code": "900528", + "display": "Aspirin 850 MG / Caffeine 65 MG Oral Powder" + }, { + "code": "978725", + "display": "0.2 ML Dalteparin Sodium 12500 UNT/ML Prefilled Syringe" + }, { + "code": "978733", + "display": "0.2 ML Dalteparin Sodium 25000 UNT/ML Prefilled Syringe" + }, { + "code": "978736", + "display": "0.3 ML Dalteparin Sodium 25000 UNT/ML Prefilled Syringe" + }, { + "code": "978740", + "display": "0.5 ML Dalteparin Sodium 25000 UNT/ML Prefilled Syringe" + }, { + "code": "978744", + "display": "0.6 ML Dalteparin Sodium 25000 UNT/ML Prefilled Syringe" + }, { + "code": "978746", + "display": "0.72 ML Dalteparin Sodium 25000 UNT/ML Prefilled Syringe" + }, { + "code": "978755", + "display": "1 ML Dalteparin Sodium 10000 UNT/ML Prefilled Syringe" + }, { + "code": "978759", + "display": "Dalteparin Sodium 10000 UNT/ML Injectable Solution" + }, { + "code": "978777", + "display": "Dalteparin Sodium 25000 UNT/ML Injectable Solution" + }, { + "code": "994430", + "display": "Aspirin 1000 MG / Caffeine 65 MG Oral Powder" + }, { + "code": "994435", + "display": "Aspirin 845 MG / Caffeine 65 MG Oral Powder" + }, { + "code": "994528", + "display": "Aspirin 385 MG / Caffeine 30 MG / Orphenadrine Citrate 25 MG Oral Tablet" + }, { + "code": "994535", + "display": "Aspirin 770 MG / Caffeine 60 MG / Orphenadrine Citrate 50 MG Oral Tablet" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.201" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.212", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212", + "title": "Hemorrhagic Stroke", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "195155004", + "display": "Subarachnoid hemorrhage from carotid siphon and bifurcation (disorder)" + }, { + "code": "195160000", + "display": "Intracranial subarachnoid hemorrhage from vertebral artery (disorder)" + }, { + "code": "195165005", + "display": "Basal ganglia hemorrhage (disorder)" + }, { + "code": "195167002", + "display": "External capsule hemorrhage (disorder)" + }, { + "code": "195168007", + "display": "Intracerebral hemorrhage with intraventricular hemorrhage (disorder)" + }, { + "code": "195169004", + "display": "Intracerebral hemorrhage, multiple localized (disorder)" + }, { + "code": "20908003", + "display": "Subcortical cerebral hemorrhage (disorder)" + }, { + "code": "230706003", + "display": "Hemorrhagic cerebral infarction (disorder)" + }, { + "code": "230707007", + "display": "Anterior cerebral circulation hemorrhagic infarction (disorder)" + }, { + "code": "230708002", + "display": "Posterior cerebral circulation hemorrhagic infarction (disorder)" + }, { + "code": "230709005", + "display": "Massive supratentorial cerebral hemorrhage (disorder)" + }, { + "code": "230710000", + "display": "Lobar cerebral hemorrhage (disorder)" + }, { + "code": "230711001", + "display": "Thalamic hemorrhage (disorder)" + }, { + "code": "230712008", + "display": "Lacunar hemorrhage (disorder)" + }, { + "code": "23276006", + "display": "Ventricular hemorrhage (disorder)" + }, { + "code": "270907008", + "display": "Spontaneous intracranial subarachnoid hemorrhage (disorder)" + }, { + "code": "274100004", + "display": "Cerebral hemorrhage (disorder)" + }, { + "code": "276277008", + "display": "Subarachnoid hemorrhage from multiple aneurysms (disorder)" + }, { + "code": "276278003", + "display": "Subarachnoid hemorrhage from anterior cerebral artery aneurysm (disorder)" + }, { + "code": "276280009", + "display": "Subarachnoid hemorrhage from middle cerebral artery aneurysm (disorder)" + }, { + "code": "276281008", + "display": "Subarachnoid hemorrhage from posterior cerebral artery aneurysm (disorder)" + }, { + "code": "276282001", + "display": "Subarachnoid hemorrhage from anterior communicating artery aneurysm (disorder)" + }, { + "code": "276283006", + "display": "Subarachnoid hemorrhage from posterior communicating artery aneurysm (disorder)" + }, { + "code": "276284000", + "display": "Subarachnoid hemorrhage from basilar artery aneurysm (disorder)" + }, { + "code": "276285004", + "display": "Subarachnoid hemorrhage from posterior inferior cerebellar artery aneurysm (disorder)" + }, { + "code": "276286003", + "display": "Subarachnoid hemorrhage from carotid artery aneurysm (disorder)" + }, { + "code": "276722003", + "display": "Intracerebellar and posterior fossa hemorrhage (disorder)" + }, { + "code": "28318001", + "display": "Basilar hemorrhage (disorder)" + }, { + "code": "42429001", + "display": "Cerebromeningeal hemorrhage (disorder)" + }, { + "code": "425957003", + "display": "Non-traumatic intracerebral ventricular hemorrhage (disorder)" + }, { + "code": "449020009", + "display": "Intraparenchymal hemorrhage of brain (disorder)" + }, { + "code": "49422009", + "display": "Cortical hemorrhage (disorder)" + }, { + "code": "52201006", + "display": "Internal capsule hemorrhage (disorder)" + }, { + "code": "73020009", + "display": "Cerebral hemisphere hemorrhage (disorder)" + }, { + "code": "75038005", + "display": "Cerebellar hemorrhage (disorder)" + }, { + "code": "7713009", + "display": "Intrapontine hemorrhage (disorder)" + }, { + "code": "95454007", + "display": "Brain stem hemorrhage (disorder)" + } ] + }, { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2020", + "concept": [ { + "code": "I60.00", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified carotid siphon and bifurcation" + }, { + "code": "I60.01", + "display": "Nontraumatic subarachnoid hemorrhage from right carotid siphon and bifurcation" + }, { + "code": "I60.02", + "display": "Nontraumatic subarachnoid hemorrhage from left carotid siphon and bifurcation" + }, { + "code": "I60.10", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified middle cerebral artery" + }, { + "code": "I60.11", + "display": "Nontraumatic subarachnoid hemorrhage from right middle cerebral artery" + }, { + "code": "I60.12", + "display": "Nontraumatic subarachnoid hemorrhage from left middle cerebral artery" + }, { + "code": "I60.2", + "display": "Nontraumatic subarachnoid hemorrhage from anterior communicating artery" + }, { + "code": "I60.30", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified posterior communicating artery" + }, { + "code": "I60.31", + "display": "Nontraumatic subarachnoid hemorrhage from right posterior communicating artery" + }, { + "code": "I60.32", + "display": "Nontraumatic subarachnoid hemorrhage from left posterior communicating artery" + }, { + "code": "I60.4", + "display": "Nontraumatic subarachnoid hemorrhage from basilar artery" + }, { + "code": "I60.50", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified vertebral artery" + }, { + "code": "I60.51", + "display": "Nontraumatic subarachnoid hemorrhage from right vertebral artery" + }, { + "code": "I60.52", + "display": "Nontraumatic subarachnoid hemorrhage from left vertebral artery" + }, { + "code": "I60.6", + "display": "Nontraumatic subarachnoid hemorrhage from other intracranial arteries" + }, { + "code": "I60.7", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified intracranial artery" + }, { + "code": "I60.8", + "display": "Other nontraumatic subarachnoid hemorrhage" + }, { + "code": "I60.9", + "display": "Nontraumatic subarachnoid hemorrhage, unspecified" + }, { + "code": "I61.0", + "display": "Nontraumatic intracerebral hemorrhage in hemisphere, subcortical" + }, { + "code": "I61.1", + "display": "Nontraumatic intracerebral hemorrhage in hemisphere, cortical" + }, { + "code": "I61.2", + "display": "Nontraumatic intracerebral hemorrhage in hemisphere, unspecified" + }, { + "code": "I61.3", + "display": "Nontraumatic intracerebral hemorrhage in brain stem" + }, { + "code": "I61.4", + "display": "Nontraumatic intracerebral hemorrhage in cerebellum" + }, { + "code": "I61.5", + "display": "Nontraumatic intracerebral hemorrhage, intraventricular" + }, { + "code": "I61.6", + "display": "Nontraumatic intracerebral hemorrhage, multiple localized" + }, { + "code": "I61.8", + "display": "Other nontraumatic intracerebral hemorrhage" + }, { + "code": "I61.9", + "display": "Nontraumatic intracerebral hemorrhage, unspecified" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.212" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.247", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247", + "title": "Ischemic Stroke", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "111297002", + "display": "Nonparalytic stroke (disorder)" + }, { + "code": "116288000", + "display": "Paralytic stroke (disorder)" + }, { + "code": "195185009", + "display": "Cerebral infarct due to thrombosis of precerebral arteries (disorder)" + }, { + "code": "195186005", + "display": "Cerebral infarction due to embolism of precerebral arteries (disorder)" + }, { + "code": "195189003", + "display": "Cerebral infarction due to thrombosis of cerebral arteries (disorder)" + }, { + "code": "195190007", + "display": "Cerebral infarction due to embolism of cerebral arteries (disorder)" + }, { + "code": "195212005", + "display": "Brainstem stroke syndrome (disorder)" + }, { + "code": "195213000", + "display": "Cerebellar stroke syndrome (disorder)" + }, { + "code": "195216008", + "display": "Left sided cerebral hemisphere cerebrovascular accident (disorder)" + }, { + "code": "195217004", + "display": "Right sided cerebral hemisphere cerebrovascular accident (disorder)" + }, { + "code": "195230003", + "display": "Cerebral infarction due to cerebral venous thrombosis, non-pyogenic (disorder)" + }, { + "code": "230690007", + "display": "Cerebrovascular accident (disorder)" + }, { + "code": "230691006", + "display": "Cerebrovascular accident due to occlusion of cerebral artery (disorder)" + }, { + "code": "230692004", + "display": "Infarction - precerebral (disorder)" + }, { + "code": "230693009", + "display": "Anterior cerebral circulation infarction (disorder)" + }, { + "code": "230694003", + "display": "Total anterior cerebral circulation infarction (disorder)" + }, { + "code": "230695002", + "display": "Partial anterior cerebral circulation infarction (disorder)" + }, { + "code": "230696001", + "display": "Posterior cerebral circulation infarction (disorder)" + }, { + "code": "230698000", + "display": "Lacunar infarction (disorder)" + }, { + "code": "230699008", + "display": "Pure motor lacunar infarction (disorder)" + }, { + "code": "230700009", + "display": "Pure sensory lacunar infarction (disorder)" + }, { + "code": "230701008", + "display": "Pure sensorimotor lacunar infarction (disorder)" + }, { + "code": "307363008", + "display": "Multiple lacunar infarcts (disorder)" + }, { + "code": "426107000", + "display": "Acute lacunar infarction (disorder)" + } ] + }, { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2020", + "concept": [ { + "code": "I63.00", + "display": "Cerebral infarction due to thrombosis of unspecified precerebral artery" + }, { + "code": "I63.011", + "display": "Cerebral infarction due to thrombosis of right vertebral artery" + }, { + "code": "I63.012", + "display": "Cerebral infarction due to thrombosis of left vertebral artery" + }, { + "code": "I63.013", + "display": "Cerebral infarction due to thrombosis of bilateral vertebral arteries" + }, { + "code": "I63.019", + "display": "Cerebral infarction due to thrombosis of unspecified vertebral artery" + }, { + "code": "I63.02", + "display": "Cerebral infarction due to thrombosis of basilar artery" + }, { + "code": "I63.031", + "display": "Cerebral infarction due to thrombosis of right carotid artery" + }, { + "code": "I63.032", + "display": "Cerebral infarction due to thrombosis of left carotid artery" + }, { + "code": "I63.033", + "display": "Cerebral infarction due to thrombosis of bilateral carotid arteries" + }, { + "code": "I63.039", + "display": "Cerebral infarction due to thrombosis of unspecified carotid artery" + }, { + "code": "I63.09", + "display": "Cerebral infarction due to thrombosis of other precerebral artery" + }, { + "code": "I63.10", + "display": "Cerebral infarction due to embolism of unspecified precerebral artery" + }, { + "code": "I63.111", + "display": "Cerebral infarction due to embolism of right vertebral artery" + }, { + "code": "I63.112", + "display": "Cerebral infarction due to embolism of left vertebral artery" + }, { + "code": "I63.113", + "display": "Cerebral infarction due to embolism of bilateral vertebral arteries" + }, { + "code": "I63.119", + "display": "Cerebral infarction due to embolism of unspecified vertebral artery" + }, { + "code": "I63.12", + "display": "Cerebral infarction due to embolism of basilar artery" + }, { + "code": "I63.131", + "display": "Cerebral infarction due to embolism of right carotid artery" + }, { + "code": "I63.132", + "display": "Cerebral infarction due to embolism of left carotid artery" + }, { + "code": "I63.133", + "display": "Cerebral infarction due to embolism of bilateral carotid arteries" + }, { + "code": "I63.139", + "display": "Cerebral infarction due to embolism of unspecified carotid artery" + }, { + "code": "I63.19", + "display": "Cerebral infarction due to embolism of other precerebral artery" + }, { + "code": "I63.20", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified precerebral arteries" + }, { + "code": "I63.211", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right vertebral artery" + }, { + "code": "I63.212", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left vertebral artery" + }, { + "code": "I63.213", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral vertebral arteries" + }, { + "code": "I63.219", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified vertebral artery" + }, { + "code": "I63.22", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of basilar artery" + }, { + "code": "I63.231", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right carotid arteries" + }, { + "code": "I63.232", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left carotid arteries" + }, { + "code": "I63.233", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral carotid arteries" + }, { + "code": "I63.239", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified carotid artery" + }, { + "code": "I63.29", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of other precerebral arteries" + }, { + "code": "I63.30", + "display": "Cerebral infarction due to thrombosis of unspecified cerebral artery" + }, { + "code": "I63.311", + "display": "Cerebral infarction due to thrombosis of right middle cerebral artery" + }, { + "code": "I63.312", + "display": "Cerebral infarction due to thrombosis of left middle cerebral artery" + }, { + "code": "I63.313", + "display": "Cerebral infarction due to thrombosis of bilateral middle cerebral arteries" + }, { + "code": "I63.319", + "display": "Cerebral infarction due to thrombosis of unspecified middle cerebral artery" + }, { + "code": "I63.321", + "display": "Cerebral infarction due to thrombosis of right anterior cerebral artery" + }, { + "code": "I63.322", + "display": "Cerebral infarction due to thrombosis of left anterior cerebral artery" + }, { + "code": "I63.323", + "display": "Cerebral infarction due to thrombosis of bilateral anterior cerebral arteries" + }, { + "code": "I63.329", + "display": "Cerebral infarction due to thrombosis of unspecified anterior cerebral artery" + }, { + "code": "I63.331", + "display": "Cerebral infarction due to thrombosis of right posterior cerebral artery" + }, { + "code": "I63.332", + "display": "Cerebral infarction due to thrombosis of left posterior cerebral artery" + }, { + "code": "I63.333", + "display": "Cerebral infarction due to thrombosis of bilateral posterior cerebral arteries" + }, { + "code": "I63.339", + "display": "Cerebral infarction due to thrombosis of unspecified posterior cerebral artery" + }, { + "code": "I63.341", + "display": "Cerebral infarction due to thrombosis of right cerebellar artery" + }, { + "code": "I63.342", + "display": "Cerebral infarction due to thrombosis of left cerebellar artery" + }, { + "code": "I63.343", + "display": "Cerebral infarction due to thrombosis of bilateral cerebellar arteries" + }, { + "code": "I63.349", + "display": "Cerebral infarction due to thrombosis of unspecified cerebellar artery" + }, { + "code": "I63.39", + "display": "Cerebral infarction due to thrombosis of other cerebral artery" + }, { + "code": "I63.40", + "display": "Cerebral infarction due to embolism of unspecified cerebral artery" + }, { + "code": "I63.411", + "display": "Cerebral infarction due to embolism of right middle cerebral artery" + }, { + "code": "I63.412", + "display": "Cerebral infarction due to embolism of left middle cerebral artery" + }, { + "code": "I63.413", + "display": "Cerebral infarction due to embolism of bilateral middle cerebral arteries" + }, { + "code": "I63.419", + "display": "Cerebral infarction due to embolism of unspecified middle cerebral artery" + }, { + "code": "I63.421", + "display": "Cerebral infarction due to embolism of right anterior cerebral artery" + }, { + "code": "I63.422", + "display": "Cerebral infarction due to embolism of left anterior cerebral artery" + }, { + "code": "I63.423", + "display": "Cerebral infarction due to embolism of bilateral anterior cerebral arteries" + }, { + "code": "I63.429", + "display": "Cerebral infarction due to embolism of unspecified anterior cerebral artery" + }, { + "code": "I63.431", + "display": "Cerebral infarction due to embolism of right posterior cerebral artery" + }, { + "code": "I63.432", + "display": "Cerebral infarction due to embolism of left posterior cerebral artery" + }, { + "code": "I63.433", + "display": "Cerebral infarction due to embolism of bilateral posterior cerebral arteries" + }, { + "code": "I63.439", + "display": "Cerebral infarction due to embolism of unspecified posterior cerebral artery" + }, { + "code": "I63.441", + "display": "Cerebral infarction due to embolism of right cerebellar artery" + }, { + "code": "I63.442", + "display": "Cerebral infarction due to embolism of left cerebellar artery" + }, { + "code": "I63.443", + "display": "Cerebral infarction due to embolism of bilateral cerebellar arteries" + }, { + "code": "I63.449", + "display": "Cerebral infarction due to embolism of unspecified cerebellar artery" + }, { + "code": "I63.49", + "display": "Cerebral infarction due to embolism of other cerebral artery" + }, { + "code": "I63.50", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified cerebral artery" + }, { + "code": "I63.511", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right middle cerebral artery" + }, { + "code": "I63.512", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left middle cerebral artery" + }, { + "code": "I63.513", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral middle cerebral arteries" + }, { + "code": "I63.519", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified middle cerebral artery" + }, { + "code": "I63.521", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right anterior cerebral artery" + }, { + "code": "I63.522", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left anterior cerebral artery" + }, { + "code": "I63.523", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral anterior cerebral arteries" + }, { + "code": "I63.529", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified anterior cerebral artery" + }, { + "code": "I63.531", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right posterior cerebral artery" + }, { + "code": "I63.532", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left posterior cerebral artery" + }, { + "code": "I63.533", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral posterior cerebral arteries" + }, { + "code": "I63.539", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified posterior cerebral artery" + }, { + "code": "I63.541", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right cerebellar artery" + }, { + "code": "I63.542", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left cerebellar artery" + }, { + "code": "I63.543", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral cerebellar arteries" + }, { + "code": "I63.549", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified cerebellar artery" + }, { + "code": "I63.59", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of other cerebral artery" + }, { + "code": "I63.6", + "display": "Cerebral infarction due to cerebral venous thrombosis, nonpyogenic" + }, { + "code": "I63.81", + "display": "Other cerebral infarction due to occlusion or stenosis of small artery" + }, { + "code": "I63.89", + "display": "Other cerebral infarction" + }, { + "code": "I63.9", + "display": "Cerebral infarction, unspecified" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.247" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.473", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473", + "title": "Medical Reason", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "183932001", + "display": "Procedure contraindicated (situation)" + }, { + "code": "183964008", + "display": "Treatment not indicated (situation)" + }, { + "code": "183966005", + "display": "Drug treatment not indicated (situation)" + }, { + "code": "266721009", + "display": "Absent response to treatment (situation)" + }, { + "code": "31438003", + "display": "Drug resistance (disorder)" + }, { + "code": "35688006", + "display": "Complication of medical care (disorder)" + }, { + "code": "397745006", + "display": "Medical contraindication (finding)" + }, { + "code": "407563006", + "display": "Treatment not tolerated (situation)" + }, { + "code": "410529002", + "display": "Not needed (qualifier value)" + }, { + "code": "410534003", + "display": "Not indicated (qualifier value)" + }, { + "code": "410536001", + "display": "Contraindicated (qualifier value)" + }, { + "code": "416098002", + "display": "Allergy to drug (finding)" + }, { + "code": "419511003", + "display": "Propensity to adverse reactions to drug (finding)" + }, { + "code": "428024001", + "display": "Clinical trial participant (person)" + }, { + "code": "428119001", + "display": "Procedure not indicated (situation)" + }, { + "code": "59037007", + "display": "Intolerance to drug (finding)" + }, { + "code": "62014003", + "display": "Adverse reaction caused by drug (disorder)" + }, { + "code": "79899007", + "display": "Drug interaction (finding)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.473" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.836", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.836" + } ], + "version": "20121025", + "name": "Race", + "title": "Race", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "1002-5", + "display": "American Indian or Alaska Native" + }, { + "code": "2028-9", + "display": "Asian" + }, { + "code": "2054-5", + "display": "Black or African American" + }, { + "code": "2076-8", + "display": "Native Hawaiian or Other Pacific Islander" + }, { + "code": "2106-3", + "display": "White" + }, { + "code": "2131-1", + "display": "Other Race" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.837", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.837" + } ], + "version": "20121025", + "name": "Ethnicity", + "title": "Ethnicity", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "2135-2", + "display": "Hispanic or Latino" + }, { + "code": "2186-5", + "display": "Not Hispanic or Latino" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1" + } ], + "version": "20150331", + "name": "ONCAdministrativeSex", + "title": "ONC Administrative Sex", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + }, { + "code": "M", + "display": "Male" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1" + } + } ] +} \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM105_FHIR3-8.0.000/EXM105_FHIR3-8.0.000-bundle.json b/fhir3/bundles/measure/EXM105_FHIR3-8.0.000/EXM105_FHIR3-8.0.000-bundle.json index d4cf0d17..1b4c5d5a 100644 --- a/fhir3/bundles/measure/EXM105_FHIR3-8.0.000/EXM105_FHIR3-8.0.000-bundle.json +++ b/fhir3/bundles/measure/EXM105_FHIR3-8.0.000/EXM105_FHIR3-8.0.000-bundle.json @@ -71,6 +71,1763 @@ "method": "PUT", "url": "MedicationRequest/numer-EXM105-FHIR3-5" } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.292", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292", + "title": "Emergency Department Visit", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "4525004", + "display": "Emergency department patient visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1111.143", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143", + "title": "Observation Services", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-09", + "concept": [ { + "code": "448851000124103", + "display": "Hospital admission from observation unit (procedure)" + }, { + "code": "448951000124107", + "display": "Admission to observation unit (procedure)" + }, { + "code": "76464004", + "display": "Hospital admission, for observation (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1111.143" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-EXM105-FHIR3-8.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-EXM105-FHIR3-8.0.000
Type: Logic Library
Version: 8.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

type: depends-on

Resource:
reference: Library/library-TJCOverall-FHIR3-3.6.000

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424

type: Patient

type: AllergyIntolerance

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423

type: MedicationRequest

type: MedicationRequest

type: Observation

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

Content: type: text/cql
library EXM105_FHIR3 version '8.0.000'\n\n/*\nBased on CMS105v8 - Discharged on Statin Medication\nAuthor: TJC\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0'\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\ninclude TJCOverall_FHIR3 version '3.6.000' called TJC\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\n\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'\nvalueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'\nvalueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "LDL-c": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215'\nvalueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'\nvalueset "Medical Reason": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'\nvalueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'\nvalueset "Patient Refusal": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Statin Allergen": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423'\nvalueset "Statin Grouper": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.19'\n\n// TODO: Use NLM VSAC Canonical URLs\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\n//code "Medication-dischargeMedication": '8654-6' from "LOINC" display 'Hospital Discharge medications'\n\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\ncode "Order": 'order' from "RequestIntent" display 'Order'\n\nparameter "Measurement Period" Interval<DateTime>\n  default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n\tSDE."SDE Payer"\n\ndefine "SDE Race":\n  SDE."SDE Race"\n\ndefine "SDE Sex":\n\tSDE."SDE Sex"\n\ndefine "Initial Population":\n\t"Encounter with Principal Diagnosis and Age"\n\ndefine "Encounter with Principal Diagnosis and Age":\n\t"All Stroke Encounter" AllStrokeEncounter\n\t\twith ["Patient"] BirthDate\n\t\t\tsuch that AgeInYearsAt(AllStrokeEncounter.period.start) >= 18\n\ndefine "All Stroke Encounter":\n\t"Non Elective Inpatient Encounter" NonElectiveEncounter\n\t\twhere Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Hemorrhagic Stroke"\n\t\tor Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Ischemic Stroke"\n\ndefine "Non Elective Inpatient Encounter":\n\t["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\n\t\twhere Global."LengthInDays"(NonElectiveEncounter.period)<= 120\n\t\t\tand NonElectiveEncounter.period ends during "Measurement Period"\n\ndefine "Denominator":\n\tTJC."Ischemic Stroke Encounter"\n\ndefine "Statin Allergy":\n\t["AllergyIntolerance": "Statin Allergen"]\n\ndefine "Numerator":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Statin at Discharge" DischargeStatin\n\t\t\tsuch that DischargeStatin.authoredOn during IschemicStrokeEncounter.period\n\ndefine "Ischemic Stroke Encounter":\n\t"Encounter with Principal Diagnosis and Age" EncounterWithAge\n\t\twhere Global.PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"\n\n// Medication orders at discharge, how do we know that these are ordered with the intent to be taken discharge rather than the inpatient stay.\ndefine "Statin at Discharge":\n\t["MedicationRequest"] Statin\n\t\twhere (Statin.medication as CodeableConcept) in "Statin Grouper"\n\t\t\tand Statin.intent = 'order'\n\ndefine "Statin Not Given at Discharge":\n\t["MedicationRequest"] NoStatin\n\t\twhere (NoStatin.medication as CodeableConcept) in "Statin Grouper"\n\t\t\tand (singleton from NoStatin.reasonCode in "Medical Reason"\n\t\t\t\tor singleton from NoStatin.reasonCode in "Patient Refusal")\n\n//Folling function copied from MATGlobalCommonFunctions 2.0 in cqf-measures github repo\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n\tif onset is FHIR.dateTime then Interval[onset.value, onset.value]\n\telse if onset is FHIR.Period then FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse null\n\ndefine "Encounter with Max LDL less than 70 mg per dL":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twhere Max(["Observation": "LDL-c"] Ldl\n\t\t\t\twhere Ldl.issued during Interval[IschemicStrokeEncounter.period.start - 30 days,IschemicStrokeEncounter.period.end]\n\t\t\t\treturn (Ldl.value as Quantity)\n\t\t) < 70\n\ndefine "Denominator Exception":\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Statin Not Given at Discharge" NoDischargeStatin\n\t\t\tsuch that NoDischargeStatin.authoredOn during IschemicStrokeEncounter.period\n\t)\n\tunion\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Statin Allergy" StatinAllergy\n\t\t\tsuch that "Normalize Onset"(StatinAllergy.onset) on or before end of IschemicStrokeEncounter.period)\n\ndefine "Denominator Exclusion":\n\t"Ischemic Stroke Encounters with Discharge Status"\n\tunion\n\t"Comfort Measures during Hospitalization"\n\ndefine "Ischemic Stroke Encounters with Discharge Status":\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twhere IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\n\t)\n\ndefine "Comfort Measures during Hospitalization":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Intervention Comfort Measures" ComfortMeasure\n\t\t\tsuch that ComfortMeasure.authoredOn during Global."Hospitalization"(IschemicStrokeEncounter)\n\n/*\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion ["Procedure": "Comfort Measures"]\n*/\n\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent in {'plan', 'order'})\n\t\tunion\n\t\t(["Procedure": "Comfort Measures"] IntervetionPerformed\n\t\twhere IntervetionPerformed.status in {'complete', 'in progress'})\n
\n \n \n
\n
" + }, + "version": "8.0.000", + "name": "EXM105_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-TJCOverall-FHIR3-3.6.000" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } ] + }, { + "type": "Patient" + }, { + "type": "AllergyIntolerance", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423" + } ] + }, { + "type": "MedicationRequest" + }, { + "type": "MedicationRequest" + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215" + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTEwNV9GSElSMyIgdmVyc2lvbj0iOC4wLjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iNC4wLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlNERSIgcGF0aD0iU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIiB2ZXJzaW9uPSIxLjAuMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlRKQyIgcGF0aD0iVEpDT3ZlcmFsbF9GSElSMyIgdmVyc2lvbj0iMy42LjAwMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGRlZmF1bHQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAxOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICA8L2RlZmF1bHQ+DQogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPg0KICAgICAgPC9kZWY+DQogICA8L3BhcmFtZXRlcnM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IkxPSU5DIiBpZD0iaHR0cDovL2xvaW5jLm9yZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJTTk9NRURDVCIgaWQ9Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpYWdub3NpcyBSb2xlIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSZXF1ZXN0SW50ZW50IiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC9jb2RlU3lzdGVtcz4NCiAgIDx2YWx1ZVNldHM+DQogICAgICA8ZGVmIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS44NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJJc2NoZW1pYyBTdHJva2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTERMLWMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTWVkaWNhbCBSZWFzb24iIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDczIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IEV4cGlyZWQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQgUmVmdXNhbCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS45MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJTdGF0aW4gQWxsZXJnZW4iIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDIzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlN0YXRpbiBHcm91cGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTEwLjE5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iQmlydGhkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlYWQiIGlkPSI0MTkwOTkwMDkiIGRpc3BsYXk9IkRlYWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEQ1QiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJCaWxsaW5nIiBpZD0iYmlsbGluZyIgZGlzcGxheT0iQmlsbGluZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJEaWFnbm9zaXMgUm9sZSIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik9yZGVyIiBpZD0ib3JkZXIiIGRpc3BsYXk9Ik9yZGVyIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJlcXVlc3RJbnRlbnQiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBFdGhuaWNpdHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIEV0aG5pY2l0eSIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgUGF5ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIFBheWVyIiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBSYWNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBSYWNlIiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBTZXgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIFNleCIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTGVuZ3RoSW5EYXlzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQWxsIFN0cm9rZSBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9Ik5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUHJpbmNpcGFsRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iSGVtb3JyaGFnaWMgU3Ryb2tlIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IklzY2hlbWljIFN0cm9rZSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkFsbFN0cm9rZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJBbGwgU3Ryb2tlIEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iQmlydGhEYXRlIiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJZZWFyIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlLnZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InBlcmlvZCIgc2NvcGU9IkFsbFN0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE4IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgbGlicmFyeU5hbWU9IlRKQyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTdGF0aW4gQWxsZXJneSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2UiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJTdGF0aW4gQWxsZXJnZW4iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkVuY291bnRlcldpdGhBZ2UiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXJXaXRoQWdlIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IklzY2hlbWljIFN0cm9rZSIvPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTdGF0aW4gYXQgRGlzY2hhcmdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJTdGF0aW4iPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJTdGF0aW4gR3JvdXBlciIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpbnRlbnQiIHNjb3BlPSJTdGF0aW4iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOdW1lcmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IkRpc2NoYXJnZVN0YXRpbiIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU3RhdGluIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkRpc2NoYXJnZVN0YXRpbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU3RhdGluIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vU3RhdGluIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik5vU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJTdGF0aW4gR3JvdXBlciIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJNZWRpY2FsIFJlYXNvbiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWFzb25Db2RlIiBzY29wZT0iTm9TdGF0aW4iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IlBhdGllbnQgUmVmdXNhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgT25zZXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImxvdyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvbG93Q2xvc2VkRXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJoaWdoIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgIDxoaWdoQ2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJoaWdoQ2xvc2VkIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9oaWdoQ2xvc2VkRXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgd2l0aCBNYXggTERMIGxlc3MgdGhhbiA3MCBtZyBwZXIgZEwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTGVzcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTWF4Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxkbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkxETC1jIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpc3N1ZWQiIHNjb3BlPSJMZGwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InBlcmlvZCIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIzMCIgdW5pdD0iZGF5cyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVuZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJMZGwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvUXVhbnRpdHkiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI3MCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IgRXhjZXB0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iTm9EaXNjaGFyZ2VTdGF0aW4iIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlN0YXRpbiBOb3QgR2l2ZW4gYXQgRGlzY2hhcmdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTm9EaXNjaGFyZ2VTdGF0aW4iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IlN0YXRpbkFsbGVyZ3kiIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlN0YXRpbiBBbGxlcmd5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJTYW1lT3JCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJTdGF0aW5BbGxlcmd5IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBTdGF0dXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iUGF0aWVudCBFeHBpcmVkIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InBsYW4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkludGVydmV0aW9uUGVyZm9ybWVkIj4NCiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJJbnRlcnZldGlvblBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaW4gcHJvZ3Jlc3MiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IgRXhjbHVzaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBTdGF0dXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE0xMDVfRkhJUjMgdmVyc2lvbiAnOC4wLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEwNXY4IC0gRGlzY2hhcmdlZCBvbiBTdGF0aW4gTWVkaWNhdGlvbgpBdXRob3I6IFRKQwoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzQuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKaW5jbHVkZSBUSkNPdmVyYWxsX0ZISVIzIHZlcnNpb24gJzMuNi4wMDAnIGNhbGxlZCBUSkMKCmNvZGVzeXN0ZW0gIkxPSU5DIjogJ2h0dHA6Ly9sb2luYy5vcmcnCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4Jwpjb2Rlc3lzdGVtICJEaWFnbm9zaXMgUm9sZSI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlJwpjb2Rlc3lzdGVtICJSZXF1ZXN0SW50ZW50IjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnCgp2YWx1ZXNldCAiQ29tZm9ydCBNZWFzdXJlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNycKdmFsdWVzZXQgIkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS44NycKdmFsdWVzZXQgIkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDknCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIklzY2hlbWljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJMREwtYyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE1Jwp2YWx1ZXNldCAiTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDgnCnZhbHVlc2V0ICJNZWRpY2FsIFJlYXNvbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDczJwp2YWx1ZXNldCAiTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCcKdmFsdWVzZXQgIk9ic2VydmF0aW9uIFNlcnZpY2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMnCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlBhdGllbnQgRXhwaXJlZCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5Jwp2YWx1ZXNldCAiUGF0aWVudCBSZWZ1c2FsIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS45MycKdmFsdWVzZXQgIlBheWVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIlN0YXRpbiBBbGxlcmdlbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDIzJwp2YWx1ZXNldCAiU3RhdGluIEdyb3VwZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTEwLjE5JwoKLy8gVE9ETzogVXNlIE5MTSBWU0FDIENhbm9uaWNhbCBVUkxzCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiRGVhZCI6ICc0MTkwOTkwMDknIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdEZWFkJwovL2NvZGUgIk1lZGljYXRpb24tZGlzY2hhcmdlTWVkaWNhdGlvbiI6ICc4NjU0LTYnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdIb3NwaXRhbCBEaXNjaGFyZ2UgbWVkaWNhdGlvbnMnCgpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwpjb2RlICJPcmRlciI6ICdvcmRlcicgZnJvbSAiUmVxdWVzdEludGVudCIgZGlzcGxheSAnT3JkZXInCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKCVNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CiAgU0RFLiJTREUgUmFjZSIKCmRlZmluZSAiU0RFIFNleCI6CglTREUuIlNERSBTZXgiCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CgkiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIgoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiOgoJIkFsbCBTdHJva2UgRW5jb3VudGVyIiBBbGxTdHJva2VFbmNvdW50ZXIKCQl3aXRoIFsiUGF0aWVudCJdIEJpcnRoRGF0ZQoJCQlzdWNoIHRoYXQgQWdlSW5ZZWFyc0F0KEFsbFN0cm9rZUVuY291bnRlci5wZXJpb2Quc3RhcnQpID49IDE4CgpkZWZpbmUgIkFsbCBTdHJva2UgRW5jb3VudGVyIjoKCSJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgTm9uRWxlY3RpdmVFbmNvdW50ZXIKCQl3aGVyZSBHbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKE5vbkVsZWN0aXZlRW5jb3VudGVyKS5jb2RlIGluICJIZW1vcnJoYWdpYyBTdHJva2UiCgkJb3IgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKZGVmaW5lICJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6CglbIkVuY291bnRlciI6ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciJdIE5vbkVsZWN0aXZlRW5jb3VudGVyCgkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CglUSkMuIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiCgpkZWZpbmUgIlN0YXRpbiBBbGxlcmd5IjoKCVsiQWxsZXJneUludG9sZXJhbmNlIjogIlN0YXRpbiBBbGxlcmdlbiJdCgpkZWZpbmUgIk51bWVyYXRvciI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aXRoICJTdGF0aW4gYXQgRGlzY2hhcmdlIiBEaXNjaGFyZ2VTdGF0aW4KCQkJc3VjaCB0aGF0IERpc2NoYXJnZVN0YXRpbi5hdXRob3JlZE9uIGR1cmluZyBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QKCmRlZmluZSAiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciI6CgkiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiBFbmNvdW50ZXJXaXRoQWdlCgkJd2hlcmUgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhFbmNvdW50ZXJXaXRoQWdlKS5jb2RlIGluICJJc2NoZW1pYyBTdHJva2UiCgovLyBNZWRpY2F0aW9uIG9yZGVycyBhdCBkaXNjaGFyZ2UsIGhvdyBkbyB3ZSBrbm93IHRoYXQgdGhlc2UgYXJlIG9yZGVyZWQgd2l0aCB0aGUgaW50ZW50IHRvIGJlIHRha2VuIGRpc2NoYXJnZSByYXRoZXIgdGhhbiB0aGUgaW5wYXRpZW50IHN0YXkuCmRlZmluZSAiU3RhdGluIGF0IERpc2NoYXJnZSI6CglbIk1lZGljYXRpb25SZXF1ZXN0Il0gU3RhdGluCgkJd2hlcmUgKFN0YXRpbi5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdCkgaW4gIlN0YXRpbiBHcm91cGVyIgoJCQlhbmQgU3RhdGluLmludGVudCA9ICdvcmRlcicKCmRlZmluZSAiU3RhdGluIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UiOgoJWyJNZWRpY2F0aW9uUmVxdWVzdCJdIE5vU3RhdGluCgkJd2hlcmUgKE5vU3RhdGluLm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0KSBpbiAiU3RhdGluIEdyb3VwZXIiCgkJCWFuZCAoc2luZ2xldG9uIGZyb20gTm9TdGF0aW4ucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iCgkJCQlvciBzaW5nbGV0b24gZnJvbSBOb1N0YXRpbi5yZWFzb25Db2RlIGluICJQYXRpZW50IFJlZnVzYWwiKQoKLy9Gb2xsaW5nIGZ1bmN0aW9uIGNvcGllZCBmcm9tIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9ucyAyLjAgaW4gY3FmLW1lYXN1cmVzIGdpdGh1YiByZXBvCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgoJaWYgb25zZXQgaXMgRkhJUi5kYXRlVGltZSB0aGVuIEludGVydmFsW29uc2V0LnZhbHVlLCBvbnNldC52YWx1ZV0KCWVsc2UgaWYgb25zZXQgaXMgRkhJUi5QZXJpb2QgdGhlbiBGSElSSGVscGVycy5Ub0ludGVydmFsKG9uc2V0IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBudWxsCgpkZWZpbmUgIkVuY291bnRlciB3aXRoIE1heCBMREwgbGVzcyB0aGFuIDcwIG1nIHBlciBkTCI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aGVyZSBNYXgoWyJPYnNlcnZhdGlvbiI6ICJMREwtYyJdIExkbAoJCQkJd2hlcmUgTGRsLmlzc3VlZCBkdXJpbmcgSW50ZXJ2YWxbSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kLnN0YXJ0IC0gMzAgZGF5cyxJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QuZW5kXQoJCQkJcmV0dXJuIChMZGwudmFsdWUgYXMgUXVhbnRpdHkpCgkJKSA8IDcwCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2VwdGlvbiI6CgkoIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiU3RhdGluIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UiIE5vRGlzY2hhcmdlU3RhdGluCgkJCXN1Y2ggdGhhdCBOb0Rpc2NoYXJnZVN0YXRpbi5hdXRob3JlZE9uIGR1cmluZyBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QKCSkKCXVuaW9uCgkoIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiU3RhdGluIEFsbGVyZ3kiIFN0YXRpbkFsbGVyZ3kKCQkJc3VjaCB0aGF0ICJOb3JtYWxpemUgT25zZXQiKFN0YXRpbkFsbGVyZ3kub25zZXQpIG9uIG9yIGJlZm9yZSBlbmQgb2YgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgoJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIFN0YXR1cyIKCXVuaW9uCgkiQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIgoKZGVmaW5lICJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBTdGF0dXMiOgoJKCJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgoJCXdoZXJlIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiCgkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIgoJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIlBhdGllbnQgRXhwaXJlZCIKCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSIKCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiCgkpCgpkZWZpbmUgIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aXRoICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyIgQ29tZm9ydE1lYXN1cmUKCQkJc3VjaCB0aGF0IENvbWZvcnRNZWFzdXJlLmF1dGhvcmVkT24gZHVyaW5nIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uIihJc2NoZW1pY1N0cm9rZUVuY291bnRlcikKCi8qCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgoJKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJDb21mb3J0IE1lYXN1cmVzIl0gUAoJCXdoZXJlIFAuaW50ZW50ID0gJ29yZGVyJykKCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJDb21mb3J0IE1lYXN1cmVzIl0KKi8KCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgoJKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJDb21mb3J0IE1lYXN1cmVzIl0gUAoJCXdoZXJlIFAuaW50ZW50IGluIHsncGxhbicsICdvcmRlcid9KQoJCXVuaW9uCgkJKFsiUHJvY2VkdXJlIjogIkNvbWZvcnQgTWVhc3VyZXMiXSBJbnRlcnZldGlvblBlcmZvcm1lZAoJCXdoZXJlIEludGVydmV0aW9uUGVyZm9ybWVkLnN0YXR1cyBpbiB7J2NvbXBsZXRlJywgJ2luIHByb2dyZXNzJ30pCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-EXM105-FHIR3-8.0.000" + } + }, { + "resource": { + "resourceType": "Condition", + "id": "numer-EXM105-FHIR3-1", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition" ] + }, + "verificationStatus": "confirmed", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "encounter-diagnosis", + "display": "Encounter Diagnosis" + } ] + } ], + "code": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "116288000", + "display": "Paralytic stroke (disorder)" + } ] + }, + "subject": { + "reference": "Patient/numer-EXM105-FHIR3" + } + }, + "request": { + "method": "PUT", + "url": "Condition/numer-EXM105-FHIR3-1" + } + }, { + "resource": { + "resourceType": "Encounter", + "id": "numer-EXM105-FHIR3-2", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] + }, + "status": "finished", + "class": { + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", + "code": "IMP", + "display": "inpatient encounter" + }, + "type": [ { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "32485007", + "display": "Hospital admission (procedure)" + } ] + } ], + "subject": { + "reference": "Patient/numer-EXM105-FHIR3" + }, + "period": { + "start": "2019-08-21T00:00:00-06:00", + "end": "2019-12-19T08:15:00-07:00" + }, + "diagnosis": [ { + "condition": { + "reference": "Condition/numer-EXM105-FHIR3-1" + }, + "role": { + "coding": [ { + "system": "http://hl7.org/fhir/diagnosis-role", + "code": "billing", + "display": "Billing" + } ] + }, + "rank": 1 + } ] + }, + "request": { + "method": "PUT", + "url": "Encounter/numer-EXM105-FHIR3-2" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.247", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247", + "title": "Ischemic Stroke", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "111297002", + "display": "Nonparalytic stroke (disorder)" + }, { + "code": "116288000", + "display": "Paralytic stroke (disorder)" + }, { + "code": "195185009", + "display": "Cerebral infarct due to thrombosis of precerebral arteries (disorder)" + }, { + "code": "195186005", + "display": "Cerebral infarction due to embolism of precerebral arteries (disorder)" + }, { + "code": "195189003", + "display": "Cerebral infarction due to thrombosis of cerebral arteries (disorder)" + }, { + "code": "195190007", + "display": "Cerebral infarction due to embolism of cerebral arteries (disorder)" + }, { + "code": "195212005", + "display": "Brainstem stroke syndrome (disorder)" + }, { + "code": "195213000", + "display": "Cerebellar stroke syndrome (disorder)" + }, { + "code": "195216008", + "display": "Left sided cerebral hemisphere cerebrovascular accident (disorder)" + }, { + "code": "195217004", + "display": "Right sided cerebral hemisphere cerebrovascular accident (disorder)" + }, { + "code": "195230003", + "display": "Cerebral infarction due to cerebral venous thrombosis, non-pyogenic (disorder)" + }, { + "code": "230690007", + "display": "Cerebrovascular accident (disorder)" + }, { + "code": "230691006", + "display": "Cerebrovascular accident due to occlusion of cerebral artery (disorder)" + }, { + "code": "230692004", + "display": "Infarction - precerebral (disorder)" + }, { + "code": "230693009", + "display": "Anterior cerebral circulation infarction (disorder)" + }, { + "code": "230694003", + "display": "Total anterior cerebral circulation infarction (disorder)" + }, { + "code": "230695002", + "display": "Partial anterior cerebral circulation infarction (disorder)" + }, { + "code": "230696001", + "display": "Posterior cerebral circulation infarction (disorder)" + }, { + "code": "230698000", + "display": "Lacunar infarction (disorder)" + }, { + "code": "230699008", + "display": "Pure motor lacunar infarction (disorder)" + }, { + "code": "230700009", + "display": "Pure sensory lacunar infarction (disorder)" + }, { + "code": "230701008", + "display": "Pure sensorimotor lacunar infarction (disorder)" + }, { + "code": "307363008", + "display": "Multiple lacunar infarcts (disorder)" + }, { + "code": "426107000", + "display": "Acute lacunar infarction (disorder)" + } ] + }, { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2020", + "concept": [ { + "code": "I63.00", + "display": "Cerebral infarction due to thrombosis of unspecified precerebral artery" + }, { + "code": "I63.011", + "display": "Cerebral infarction due to thrombosis of right vertebral artery" + }, { + "code": "I63.012", + "display": "Cerebral infarction due to thrombosis of left vertebral artery" + }, { + "code": "I63.013", + "display": "Cerebral infarction due to thrombosis of bilateral vertebral arteries" + }, { + "code": "I63.019", + "display": "Cerebral infarction due to thrombosis of unspecified vertebral artery" + }, { + "code": "I63.02", + "display": "Cerebral infarction due to thrombosis of basilar artery" + }, { + "code": "I63.031", + "display": "Cerebral infarction due to thrombosis of right carotid artery" + }, { + "code": "I63.032", + "display": "Cerebral infarction due to thrombosis of left carotid artery" + }, { + "code": "I63.033", + "display": "Cerebral infarction due to thrombosis of bilateral carotid arteries" + }, { + "code": "I63.039", + "display": "Cerebral infarction due to thrombosis of unspecified carotid artery" + }, { + "code": "I63.09", + "display": "Cerebral infarction due to thrombosis of other precerebral artery" + }, { + "code": "I63.10", + "display": "Cerebral infarction due to embolism of unspecified precerebral artery" + }, { + "code": "I63.111", + "display": "Cerebral infarction due to embolism of right vertebral artery" + }, { + "code": "I63.112", + "display": "Cerebral infarction due to embolism of left vertebral artery" + }, { + "code": "I63.113", + "display": "Cerebral infarction due to embolism of bilateral vertebral arteries" + }, { + "code": "I63.119", + "display": "Cerebral infarction due to embolism of unspecified vertebral artery" + }, { + "code": "I63.12", + "display": "Cerebral infarction due to embolism of basilar artery" + }, { + "code": "I63.131", + "display": "Cerebral infarction due to embolism of right carotid artery" + }, { + "code": "I63.132", + "display": "Cerebral infarction due to embolism of left carotid artery" + }, { + "code": "I63.133", + "display": "Cerebral infarction due to embolism of bilateral carotid arteries" + }, { + "code": "I63.139", + "display": "Cerebral infarction due to embolism of unspecified carotid artery" + }, { + "code": "I63.19", + "display": "Cerebral infarction due to embolism of other precerebral artery" + }, { + "code": "I63.20", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified precerebral arteries" + }, { + "code": "I63.211", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right vertebral artery" + }, { + "code": "I63.212", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left vertebral artery" + }, { + "code": "I63.213", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral vertebral arteries" + }, { + "code": "I63.219", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified vertebral artery" + }, { + "code": "I63.22", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of basilar artery" + }, { + "code": "I63.231", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right carotid arteries" + }, { + "code": "I63.232", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left carotid arteries" + }, { + "code": "I63.233", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral carotid arteries" + }, { + "code": "I63.239", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified carotid artery" + }, { + "code": "I63.29", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of other precerebral arteries" + }, { + "code": "I63.30", + "display": "Cerebral infarction due to thrombosis of unspecified cerebral artery" + }, { + "code": "I63.311", + "display": "Cerebral infarction due to thrombosis of right middle cerebral artery" + }, { + "code": "I63.312", + "display": "Cerebral infarction due to thrombosis of left middle cerebral artery" + }, { + "code": "I63.313", + "display": "Cerebral infarction due to thrombosis of bilateral middle cerebral arteries" + }, { + "code": "I63.319", + "display": "Cerebral infarction due to thrombosis of unspecified middle cerebral artery" + }, { + "code": "I63.321", + "display": "Cerebral infarction due to thrombosis of right anterior cerebral artery" + }, { + "code": "I63.322", + "display": "Cerebral infarction due to thrombosis of left anterior cerebral artery" + }, { + "code": "I63.323", + "display": "Cerebral infarction due to thrombosis of bilateral anterior cerebral arteries" + }, { + "code": "I63.329", + "display": "Cerebral infarction due to thrombosis of unspecified anterior cerebral artery" + }, { + "code": "I63.331", + "display": "Cerebral infarction due to thrombosis of right posterior cerebral artery" + }, { + "code": "I63.332", + "display": "Cerebral infarction due to thrombosis of left posterior cerebral artery" + }, { + "code": "I63.333", + "display": "Cerebral infarction due to thrombosis of bilateral posterior cerebral arteries" + }, { + "code": "I63.339", + "display": "Cerebral infarction due to thrombosis of unspecified posterior cerebral artery" + }, { + "code": "I63.341", + "display": "Cerebral infarction due to thrombosis of right cerebellar artery" + }, { + "code": "I63.342", + "display": "Cerebral infarction due to thrombosis of left cerebellar artery" + }, { + "code": "I63.343", + "display": "Cerebral infarction due to thrombosis of bilateral cerebellar arteries" + }, { + "code": "I63.349", + "display": "Cerebral infarction due to thrombosis of unspecified cerebellar artery" + }, { + "code": "I63.39", + "display": "Cerebral infarction due to thrombosis of other cerebral artery" + }, { + "code": "I63.40", + "display": "Cerebral infarction due to embolism of unspecified cerebral artery" + }, { + "code": "I63.411", + "display": "Cerebral infarction due to embolism of right middle cerebral artery" + }, { + "code": "I63.412", + "display": "Cerebral infarction due to embolism of left middle cerebral artery" + }, { + "code": "I63.413", + "display": "Cerebral infarction due to embolism of bilateral middle cerebral arteries" + }, { + "code": "I63.419", + "display": "Cerebral infarction due to embolism of unspecified middle cerebral artery" + }, { + "code": "I63.421", + "display": "Cerebral infarction due to embolism of right anterior cerebral artery" + }, { + "code": "I63.422", + "display": "Cerebral infarction due to embolism of left anterior cerebral artery" + }, { + "code": "I63.423", + "display": "Cerebral infarction due to embolism of bilateral anterior cerebral arteries" + }, { + "code": "I63.429", + "display": "Cerebral infarction due to embolism of unspecified anterior cerebral artery" + }, { + "code": "I63.431", + "display": "Cerebral infarction due to embolism of right posterior cerebral artery" + }, { + "code": "I63.432", + "display": "Cerebral infarction due to embolism of left posterior cerebral artery" + }, { + "code": "I63.433", + "display": "Cerebral infarction due to embolism of bilateral posterior cerebral arteries" + }, { + "code": "I63.439", + "display": "Cerebral infarction due to embolism of unspecified posterior cerebral artery" + }, { + "code": "I63.441", + "display": "Cerebral infarction due to embolism of right cerebellar artery" + }, { + "code": "I63.442", + "display": "Cerebral infarction due to embolism of left cerebellar artery" + }, { + "code": "I63.443", + "display": "Cerebral infarction due to embolism of bilateral cerebellar arteries" + }, { + "code": "I63.449", + "display": "Cerebral infarction due to embolism of unspecified cerebellar artery" + }, { + "code": "I63.49", + "display": "Cerebral infarction due to embolism of other cerebral artery" + }, { + "code": "I63.50", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified cerebral artery" + }, { + "code": "I63.511", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right middle cerebral artery" + }, { + "code": "I63.512", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left middle cerebral artery" + }, { + "code": "I63.513", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral middle cerebral arteries" + }, { + "code": "I63.519", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified middle cerebral artery" + }, { + "code": "I63.521", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right anterior cerebral artery" + }, { + "code": "I63.522", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left anterior cerebral artery" + }, { + "code": "I63.523", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral anterior cerebral arteries" + }, { + "code": "I63.529", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified anterior cerebral artery" + }, { + "code": "I63.531", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right posterior cerebral artery" + }, { + "code": "I63.532", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left posterior cerebral artery" + }, { + "code": "I63.533", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral posterior cerebral arteries" + }, { + "code": "I63.539", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified posterior cerebral artery" + }, { + "code": "I63.541", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right cerebellar artery" + }, { + "code": "I63.542", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left cerebellar artery" + }, { + "code": "I63.543", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral cerebellar arteries" + }, { + "code": "I63.549", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified cerebellar artery" + }, { + "code": "I63.59", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of other cerebral artery" + }, { + "code": "I63.6", + "display": "Cerebral infarction due to cerebral venous thrombosis, nonpyogenic" + }, { + "code": "I63.81", + "display": "Other cerebral infarction due to occlusion or stenosis of small artery" + }, { + "code": "I63.89", + "display": "Other cerebral infarction" + }, { + "code": "I63.9", + "display": "Cerebral infarction, unspecified" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.247" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.423", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423", + "title": "Statin Allergen", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "version": "2019-12", + "concept": [ { + "code": "301542", + "display": "rosuvastatin" + }, { + "code": "36567", + "display": "Simvastatin" + }, { + "code": "41127", + "display": "fluvastatin" + }, { + "code": "42463", + "display": "Pravastatin" + }, { + "code": "6472", + "display": "Lovastatin" + }, { + "code": "83367", + "display": "atorvastatin" + }, { + "code": "861634", + "display": "pitavastatin" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.423" + } + }, { + "resource": { + "resourceType": "Encounter", + "id": "denomex-EXM105-FHIR3-2", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] + }, + "status": "finished", + "class": { + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", + "code": "IMP", + "display": "inpatient encounter" + }, + "type": [ { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "32485007", + "display": "Hospital admission (procedure)" + } ] + } ], + "subject": { + "reference": "Patient/denomex-EXM105-FHIR3" + }, + "period": { + "start": "2019-08-21T00:00:00-06:00", + "end": "2019-12-19T08:15:00-07:00" + }, + "diagnosis": [ { + "condition": { + "reference": "Condition/denomex-EXM105-FHIR3-1" + }, + "role": { + "coding": [ { + "system": "http://hl7.org/fhir/diagnosis-role", + "code": "billing", + "display": "Billing" + } ] + }, + "rank": 1 + } ], + "hospitalization": { + "dischargeDisposition": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "306701001", + "display": "Discharge to community hospital (procedure)" + } ] + } + } + }, + "request": { + "method": "PUT", + "url": "Encounter/denomex-EXM105-FHIR3-2" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.424", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.424" + } ], + "version": "20170726", + "name": "Non-ElectiveInpatientEncounter", + "title": "Non-Elective Inpatient Encounter", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } + }, { + "resource": { + "resourceType": "Condition", + "id": "denomex-EXM105-FHIR3-1", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition" ] + }, + "verificationStatus": "confirmed", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "encounter-diagnosis", + "display": "Encounter Diagnosis" + } ] + } ], + "code": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "116288000", + "display": "Paralytic stroke (disorder)" + } ] + }, + "subject": { + "reference": "Patient/denomex-EXM105-FHIR3" + } + }, + "request": { + "method": "PUT", + "url": "Condition/denomex-EXM105-FHIR3-1" + } + }, { + "resource": { + "resourceType": "Patient", + "id": "numer-EXM105-FHIR3", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] + }, + "extension": [ { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2106-3", + "display": "White" + } + } ] + }, { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2186-5", + "display": "Not Hispanic or Latino" + } + } ] + } ], + "identifier": [ { + "use": "usual", + "type": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MR", + "display": "Medical Record Number" + } ] + }, + "system": "http://hospital.smarthealthit.org", + "value": "9999999911" + } ], + "name": [ { + "family": "Jones", + "given": [ "Louise" ] + } ], + "gender": "female", + "birthDate": "1971-11-21" + }, + "request": { + "method": "PUT", + "url": "Patient/numer-EXM105-FHIR3" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.207", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.207" + } ], + "version": "20170725", + "name": "DischargedtoHealthCareFacilityforHospiceCare", + "title": "Discharged to Health Care Facility for Hospice Care", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "428371000124100", + "display": "Discharge to healthcare facility for hospice care (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.207" + } + }, { + "resource": { + "resourceType": "MedicationRequest", + "id": "denomex-EXM105-FHIR3-5", + "status": "completed", + "intent": "order", + "category": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", + "code": "discharge", + "display": "Discharge" + } ] + }, + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "197903", + "display": "Lovastatin 10 MG Oral Tablet" + } ] + }, + "subject": { + "reference": "Patient/denomex-EXM105-FHIR3" + }, + "authoredOn": "2019-12-19T08:00:00-07:00" + }, + "request": { + "method": "PUT", + "url": "MedicationRequest/denomex-EXM105-FHIR3-5" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.209", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.209" + } ], + "version": "20170725", + "name": "DischargedtoHomeforHospiceCare", + "title": "Discharged to Home for Hospice Care", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "428361000124107", + "display": "Discharge to home for hospice care (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.209" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.308", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.308" + } ], + "version": "20170726", + "name": "LeftAgainstMedicalAdvice", + "title": "Left Against Medical Advice", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "445060000", + "display": "Left against medical advice (finding)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.308" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.309", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.309" + } ], + "version": "20170726", + "name": "PatientExpired", + "title": "Patient Expired", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "371828006", + "display": "Patient deceased during stay (discharge status = dead) (finding)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.309" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-SupplementalDataElements-FHIR3-1.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-SupplementalDataElements-FHIR3-1.0.0
Type: Logic Library
Version: 1.0.0
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Coverage

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591

Content: type: text/cql
library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Payer":\n    [Coverage: type in "Payer"] Payer\n      return {\n        code: Payer.type,\n        period: Payer.period\n      }\n\ndefine "SDE Race":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Sex":\n  case\n    when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n    when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n    else null\n  end\n
\n \n \n
\n
" + }, + "version": "1.0.0", + "name": "SupplementalDataElements_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1" + } ], + "version": "20150331", + "name": "ONCAdministrativeSex", + "title": "ONC Administrative Sex", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + }, { + "code": "M", + "display": "Male" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "resource": { + "resourceType": "Patient", + "id": "denom-EXM105-FHIR3", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] + }, + "extension": [ { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2054-5", + "display": "Black or African American" + } + } ] + }, { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2135-2", + "display": "Hispanic or Latino" + } + } ] + } ], + "identifier": [ { + "use": "usual", + "type": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MR", + "display": "Medical Record Number" + } ] + }, + "system": "http://hospital.smarthealthit.org", + "value": "9999999910" + } ], + "name": [ { + "family": "Jones", + "given": [ "Rick" ] + } ], + "gender": "male", + "birthDate": "1955-11-05" + }, + "request": { + "method": "PUT", + "url": "Patient/denom-EXM105-FHIR3" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.93", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93", + "title": "Patient Refusal", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "105480006", + "display": "Refusal of treatment by patient (situation)" + }, { + "code": "182890002", + "display": "Patient requests alternative treatment (finding)" + }, { + "code": "182895007", + "display": "Drug declined by patient (situation)" + }, { + "code": "182896008", + "display": "Drug declined by patient - dislikes taste (situation)" + }, { + "code": "182897004", + "display": "Drug declined by patient - side effects (situation)" + }, { + "code": "182898009", + "display": "Drug declined by patient - inconvenient (situation)" + }, { + "code": "182900006", + "display": "Drug declined by patient - patient beliefs (situation)" + }, { + "code": "182901005", + "display": "Drug declined by patient - alternative therapy (situation)" + }, { + "code": "182903008", + "display": "Drug declined by patient - reason unknown (situation)" + }, { + "code": "183944003", + "display": "Procedure refused (situation)" + }, { + "code": "183945002", + "display": "Procedure refused for religious reason (situation)" + }, { + "code": "183946001", + "display": "Procedure refused - uncooperative (situation)" + }, { + "code": "183947005", + "display": "Refused procedure - after thought (situation)" + }, { + "code": "183948000", + "display": "Refused procedure - parent's wish (situation)" + }, { + "code": "275936005", + "display": "Patient noncompliance - general (situation)" + }, { + "code": "371138003", + "display": "Refusal of treatment by parents (situation)" + }, { + "code": "406149000", + "display": "Medication refused (situation)" + }, { + "code": "413312003", + "display": "Patient non-compliant - refused service (situation)" + }, { + "code": "416432009", + "display": "Procedure not wanted (situation)" + }, { + "code": "443390004", + "display": "Refused (qualifier value)" + }, { + "code": "609589008", + "display": "Refused by parents of subject (qualifier value)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.93" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.837", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.837" + } ], + "version": "20121025", + "name": "Ethnicity", + "title": "Ethnicity", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "2135-2", + "display": "Hispanic or Latino" + }, { + "code": "2186-5", + "display": "Not Hispanic or Latino" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.3591", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.3591" + } ], + "version": "20180718", + "name": "Payer", + "title": "Payer", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.phdsc.org/standards/pdfs/SourceofPaymentTypologyVersion6FINALSeptember2015.pdf", + "version": "8.0", + "concept": [ { + "code": "1", + "display": "MEDICARE" + }, { + "code": "11", + "display": "Medicare (Managed Care)" + }, { + "code": "111", + "display": "Medicare HMO" + }, { + "code": "112", + "display": "Medicare PPO" + }, { + "code": "113", + "display": "Medicare POS" + }, { + "code": "119", + "display": "Medicare Managed Care Other" + }, { + "code": "12", + "display": "Medicare (Non-managed Care)" + }, { + "code": "121", + "display": "Medicare FFS" + }, { + "code": "122", + "display": "Medicare Drug Benefit" + }, { + "code": "123", + "display": "Medicare Medical Savings Account (MSA)" + }, { + "code": "129", + "display": "Medicare Non-managed Care Other" + }, { + "code": "13", + "display": "Medicare Hospice" + }, { + "code": "14", + "display": "Dual Eligibility Medicare/Medicaid Organization" + }, { + "code": "19", + "display": "Medicare Other" + }, { + "code": "191", + "display": "Medicare Pharmacy Benefit Manager" + }, { + "code": "2", + "display": "MEDICAID" + }, { + "code": "21", + "display": "Medicaid (Managed Care)" + }, { + "code": "211", + "display": "Medicaid HMO" + }, { + "code": "212", + "display": "Medicaid PPO" + }, { + "code": "213", + "display": "Medicaid PCCM (Primary Care Case Management)" + }, { + "code": "219", + "display": "Medicaid Managed Care Other" + }, { + "code": "22", + "display": "Medicaid (Non-managed Care Plan)" + }, { + "code": "23", + "display": "Medicaid/SCHIP" + }, { + "code": "25", + "display": "Medicaid - Out of State" + }, { + "code": "26", + "display": "Medicaid -- Long Term Care" + }, { + "code": "29", + "display": "Medicaid Other" + }, { + "code": "291", + "display": "Medicaid Pharmacy Benefit Manager" + }, { + "code": "299", + "display": "Medicaid - Dental" + }, { + "code": "3", + "display": "OTHER GOVERNMENT (Federal/State/Local) (excluding Department of Corrections)" + }, { + "code": "31", + "display": "Department of Defense" + }, { + "code": "311", + "display": "TRICARE (CHAMPUS)" + }, { + "code": "3111", + "display": "TRICARE Prime--HMO" + }, { + "code": "3112", + "display": "TRICARE Extra--PPO" + }, { + "code": "3113", + "display": "TRICARE Standard - Fee For Service" + }, { + "code": "3114", + "display": "TRICARE For Life--Medicare Supplement" + }, { + "code": "3115", + "display": "TRICARE Reserve Select" + }, { + "code": "3116", + "display": "Uniformed Services Family Health Plan (USFHP) -- HMO" + }, { + "code": "3119", + "display": "Department of Defense - (other)" + }, { + "code": "312", + "display": "Military Treatment Facility" + }, { + "code": "3121", + "display": "Enrolled Prime--HMO" + }, { + "code": "3122", + "display": "Non-enrolled Space Available" + }, { + "code": "3123", + "display": "TRICARE For Life (TFL)" + }, { + "code": "313", + "display": "Dental --Stand Alone" + }, { + "code": "32", + "display": "Department of Veterans Affairs" + }, { + "code": "321", + "display": "Veteran care--Care provided to Veterans" + }, { + "code": "3211", + "display": "Direct Care--Care provided in VA facilities" + }, { + "code": "3212", + "display": "Indirect Care--Care provided outside VA facilities" + }, { + "code": "32121", + "display": "Fee Basis" + }, { + "code": "32122", + "display": "Foreign Fee/Foreign Medical Program (FMP)" + }, { + "code": "32123", + "display": "Contract Nursing Home/Community Nursing Home" + }, { + "code": "32124", + "display": "State Veterans Home" + }, { + "code": "32125", + "display": "Sharing Agreements" + }, { + "code": "32126", + "display": "Other Federal Agency" + }, { + "code": "32127", + "display": "Dental Care" + }, { + "code": "32128", + "display": "Vision Care" + }, { + "code": "322", + "display": "Non-veteran care" + }, { + "code": "3221", + "display": "Civilian Health and Medical Program for the VA (CHAMPVA)" + }, { + "code": "3222", + "display": "Spina Bifida Health Care Program (SB)" + }, { + "code": "3223", + "display": "Children of Women Vietnam Veterans (CWVV)" + }, { + "code": "3229", + "display": "Other non-veteran care" + }, { + "code": "33", + "display": "Indian Health Service or Tribe" + }, { + "code": "331", + "display": "Indian Health Service -- Regular" + }, { + "code": "332", + "display": "Indian Health Service -- Contract" + }, { + "code": "333", + "display": "Indian Health Service - Managed Care" + }, { + "code": "334", + "display": "Indian Tribe - Sponsored Coverage" + }, { + "code": "34", + "display": "HRSA Program" + }, { + "code": "341", + "display": "Title V (MCH Block Grant)" + }, { + "code": "342", + "display": "Migrant Health Program" + }, { + "code": "343", + "display": "Ryan White Act" + }, { + "code": "349", + "display": "Other" + }, { + "code": "35", + "display": "Black Lung" + }, { + "code": "36", + "display": "State Government" + }, { + "code": "361", + "display": "State SCHIP program (codes for individual states)" + }, { + "code": "362", + "display": "Specific state programs (list/ local code)" + }, { + "code": "369", + "display": "State, not otherwise specified (other state)" + }, { + "code": "37", + "display": "Local Government" + }, { + "code": "371", + "display": "Local - Managed care" + }, { + "code": "3711", + "display": "HMO" + }, { + "code": "3712", + "display": "PPO" + }, { + "code": "3713", + "display": "POS" + }, { + "code": "372", + "display": "FFS/Indemnity" + }, { + "code": "379", + "display": "Local, not otherwise specified (other local, county)" + }, { + "code": "38", + "display": "Other Government (Federal, State, Local not specified)" + }, { + "code": "381", + "display": "Federal, State, Local not specified managed care" + }, { + "code": "3811", + "display": "Federal, State, Local not specified - HMO" + }, { + "code": "3812", + "display": "Federal, State, Local not specified - PPO" + }, { + "code": "3813", + "display": "Federal, State, Local not specified - POS" + }, { + "code": "3819", + "display": "Federal, State, Local not specified - not specified managed care" + }, { + "code": "382", + "display": "Federal, State, Local not specified - FFS" + }, { + "code": "389", + "display": "Federal, State, Local not specified - Other" + }, { + "code": "39", + "display": "Other Federal" + }, { + "code": "391", + "display": "Federal Employee Health Plan - Use when known" + }, { + "code": "4", + "display": "DEPARTMENTS OF CORRECTIONS" + }, { + "code": "41", + "display": "Corrections Federal" + }, { + "code": "42", + "display": "Corrections State" + }, { + "code": "43", + "display": "Corrections Local" + }, { + "code": "44", + "display": "Corrections Unknown Level" + }, { + "code": "5", + "display": "PRIVATE HEALTH INSURANCE" + }, { + "code": "51", + "display": "Managed Care (Private)" + }, { + "code": "511", + "display": "Commercial Managed Care - HMO" + }, { + "code": "512", + "display": "Commercial Managed Care - PPO" + }, { + "code": "513", + "display": "Commercial Managed Care - POS" + }, { + "code": "514", + "display": "Exclusive Provider Organization" + }, { + "code": "515", + "display": "Gatekeeper PPO (GPPO)" + }, { + "code": "516", + "display": "Commercial Managed Care - Pharmacy Benefit Manager" + }, { + "code": "517", + "display": "Commercial Managed Care - Dental" + }, { + "code": "519", + "display": "Managed Care, Other (non HMO)" + }, { + "code": "52", + "display": "Private Health Insurance - Indemnity" + }, { + "code": "521", + "display": "Commercial Indemnity" + }, { + "code": "522", + "display": "Self-insured (ERISA) Administrative Services Only (ASO) plan" + }, { + "code": "523", + "display": "Medicare supplemental policy (as second payer)" + }, { + "code": "524", + "display": "Indemnity Insurance - Dental" + }, { + "code": "529", + "display": "Private health insurance--other commercial Indemnity" + }, { + "code": "53", + "display": "Managed Care (private) or private health insurance (indemnity), not otherwise specified" + }, { + "code": "54", + "display": "Organized Delivery System" + }, { + "code": "55", + "display": "Small Employer Purchasing Group" + }, { + "code": "56", + "display": "Specialized Stand Alone Plan" + }, { + "code": "561", + "display": "Dental" + }, { + "code": "562", + "display": "Vision" + }, { + "code": "59", + "display": "Other Private Insurance" + }, { + "code": "6", + "display": "BLUE CROSS/BLUE SHIELD" + }, { + "code": "61", + "display": "BC Managed Care" + }, { + "code": "611", + "display": "BC Managed Care -- HMO" + }, { + "code": "612", + "display": "BC Managed Care -- PPO" + }, { + "code": "613", + "display": "BC Managed Care -- POS" + }, { + "code": "614", + "display": "BC Managed Care - Dental" + }, { + "code": "619", + "display": "BC Managed Care -- Other" + }, { + "code": "62", + "display": "BC Insurance Indemnity" + }, { + "code": "621", + "display": "BC Indemnity" + }, { + "code": "622", + "display": "BC Self-insured (ERISA) Administrative Services Only (ASO)Plan" + }, { + "code": "623", + "display": "BC Medicare Supplemental Plan" + }, { + "code": "629", + "display": "BC Indemnity - Dental" + }, { + "code": "7", + "display": "MANAGED CARE, UNSPECIFIED (to be used only if one can't distinguish public from private)" + }, { + "code": "71", + "display": "HMO" + }, { + "code": "72", + "display": "PPO" + }, { + "code": "73", + "display": "POS" + }, { + "code": "79", + "display": "Other Managed Care" + }, { + "code": "8", + "display": "NO PAYMENT from an Organization/Agency/Program/Private Payer Listed" + }, { + "code": "81", + "display": "Self-pay (Includes applicants for insurance and Medicaid applicants)" + }, { + "code": "82", + "display": "No Charge" + }, { + "code": "821", + "display": "Charity" + }, { + "code": "822", + "display": "Professional Courtesy" + }, { + "code": "823", + "display": "Research/Clinical Trial" + }, { + "code": "83", + "display": "Refusal to Pay/Bad Debt" + }, { + "code": "84", + "display": "Hill Burton Free Care" + }, { + "code": "85", + "display": "Research/Donor" + }, { + "code": "89", + "display": "No Payment, Other" + }, { + "code": "9", + "display": "MISCELLANEOUS/OTHER" + }, { + "code": "91", + "display": "Foreign National" + }, { + "code": "92", + "display": "Other (Non-government)" + }, { + "code": "93", + "display": "Disability Insurance" + }, { + "code": "94", + "display": "Long-term Care Insurance" + }, { + "code": "95", + "display": "Worker's Compensation" + }, { + "code": "951", + "display": "Worker's Comp HMO" + }, { + "code": "953", + "display": "Worker's Comp Fee-for-Service" + }, { + "code": "954", + "display": "Worker's Comp Other Managed Care" + }, { + "code": "959", + "display": "Worker's Comp, Other unspecified" + }, { + "code": "96", + "display": "Auto Insurance (includes no fault)" + }, { + "code": "97", + "display": "Legal Liability / Liability Insurance" + }, { + "code": "98", + "display": "Other specified but not otherwise classifiable (includes Hospice - Unspecified plan)" + }, { + "code": "99", + "display": "No Typology Code available for payment source" + }, { + "code": "9999", + "display": "Unavailable / No Payer Specified / Blank" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-TJCOverall-FHIR3-3.6.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-TJCOverall-FHIR3-3.6.000
Type: Logic Library
Version: 3.6.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

Data Requirements:

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424

type: Patient

Content: type: text/cql
library TJCOverall_FHIR3 version '3.6.000'\n\nusing FHIR version '3.0.0'\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n//TODO: MATGlobalCommonFunctions_FHIR version '2.0.000' need to be updated to 4.0\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "LOINC": 'http://loinc.org'\n\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'\nvalueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'\nvalueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'\nvalueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'\nvalueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'\nvalueset "Ticagrelor Therapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion\n\t\t(["Procedure": "Comfort Measures"] InterventionPerformed\n\t\twhere InterventionPerformed.status = 'completed')\n\ndefine "All Stroke Encounter":\n\t"Non Elective Inpatient Encounter" NonElectiveEncounter\n    where Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Hemorrhagic Stroke"\n      or Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Ischemic Stroke"\n\ndefine "Ischemic Stroke Encounter":\n\t"Encounter with Principal Diagnosis and Age" EncounterWithAge\n\t\twhere Global.PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"\n\ndefine "Non Elective Inpatient Encounter":\n\t["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\n\t\twhere Global."LengthInDays"(NonElectiveEncounter.period)<= 120\n\t\t\tand NonElectiveEncounter.period ends during "Measurement Period"\n\ndefine "Ischemic Stroke Encounters with Discharge Disposition":\n\t( ( "Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\t\t\twhere IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\n\t\t)\n\t)\n\ndefine "Comfort Measures during Hospitalization":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Intervention Comfort Measures" ComfortMeasure\n\t\t\tsuch that Coalesce(start of FHIRHelpers.ToInterval(ComfortMeasure.performed), ComfortMeasure.authoredOn)during Global."HospitalizationWithObservation"(IschemicStrokeEncounter)\n\ndefine "Encounter with Principal Diagnosis and Age":\n\t"All Stroke Encounter" AllStrokeEncounter\n\t\twith ["Patient"] BirthDate\n\t\t\tsuch that Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(BirthDate.birthDate), start of FHIRHelpers.ToInterval(AllStrokeEncounter.period)) >= 18\n\ndefine function "CalendarDayOfOrDayAfter"(StartValue DateTime ):\n\tInterval(Global."ToDate"(StartValue), Global."ToDate"(StartValue + 2 days))\n
\n \n \n
\n
" + }, + "version": "3.6.000", + "name": "TJCOverall_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + } ], + "dataRequirement": [ { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } ] + }, { + "type": "Patient" + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlRKQ092ZXJhbGxfRkhJUjMiIHZlcnNpb249IjMuNi4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iR2xvYmFsIiBwYXRoPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIHZlcnNpb249IjQuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTREUiIHBhdGg9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8cGFyYW1ldGVycz4NCiAgICAgIDxkZWYgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L3BhcmFtZXRlclR5cGVTcGVjaWZpZXI+DQogICAgICA8L2RlZj4NCiAgIDwvcGFyYW1ldGVycz4NCiAgIDxjb2RlU3lzdGVtcz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA4IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IEV4cGlyZWQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlRpY2FncmVsb3IgVGhlcmFweSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aCBkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICA8L2NvZGVzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnRlcnZlbnRpb25QZXJmb3JtZWQiPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkludGVydmVudGlvblBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb25FbGVjdGl2ZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJBbGwgU3Ryb2tlIEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm9uIEVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJIZW1vcnJoYWdpYyBTdHJva2UiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUHJpbmNpcGFsRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQWxsU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkFsbCBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJCaXJ0aERhdGUiIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiBzY29wZT0iQmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJBbGxTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxOCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJXaXRoQWdlIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUHJpbmNpcGFsRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyV2l0aEFnZSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJJc2NoZW1pYyBTdHJva2UiLz4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlcnMgd2l0aCBEaXNjaGFyZ2UgRGlzcG9zaXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iUGF0aWVudCBFeHBpcmVkIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb3dDbG9zZWQ9ImZhbHNlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iU3RhcnRWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJTdGFydFZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iU3RhcnRWYWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBUSkNPdmVyYWxsX0ZISVIzIHZlcnNpb24gJzMuNi4wMDAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKLy9UT0RPOiBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUiB2ZXJzaW9uICcyLjAuMDAwJyBuZWVkIHRvIGJlIHVwZGF0ZWQgdG8gNC4wCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzQuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4Jwpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwoKdmFsdWVzZXQgIkNvbWZvcnQgTWVhc3VyZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1Jwp2YWx1ZXNldCAiRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3Jwp2YWx1ZXNldCAiRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDcnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5Jwp2YWx1ZXNldCAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MicKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJJc2NoZW1pYyBTdHJva2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NycKdmFsdWVzZXQgIkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA4Jwp2YWx1ZXNldCAiTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCcKdmFsdWVzZXQgIlBhdGllbnQgRXhwaXJlZCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5Jwp2YWx1ZXNldCAiVGljYWdyZWxvciBUaGVyYXB5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOScKdmFsdWVzZXQgIk9ic2VydmF0aW9uIFNlcnZpY2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMnCgpjb2RlICJCaXJ0aCBkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIjoKCShbIlByb2NlZHVyZVJlcXVlc3QiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIFAKCQl3aGVyZSBQLmludGVudCA9ICdvcmRlcicpCgkJdW5pb24KCQkoWyJQcm9jZWR1cmUiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIEludGVydmVudGlvblBlcmZvcm1lZAoJCXdoZXJlIEludGVydmVudGlvblBlcmZvcm1lZC5zdGF0dXMgPSAnY29tcGxldGVkJykKCmRlZmluZSAiQWxsIFN0cm9rZSBFbmNvdW50ZXIiOgoJIk5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBOb25FbGVjdGl2ZUVuY291bnRlcgogICAgd2hlcmUgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSGVtb3JyaGFnaWMgU3Ryb2tlIgogICAgICBvciBHbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKE5vbkVsZWN0aXZlRW5jb3VudGVyKS5jb2RlIGluICJJc2NoZW1pYyBTdHJva2UiCgpkZWZpbmUgIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiOgoJIkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgRW5jb3VudGVyV2l0aEFnZQoJCXdoZXJlIEdsb2JhbC5QcmluY2lwYWxEaWFnbm9zaXMoRW5jb3VudGVyV2l0aEFnZSkuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKZGVmaW5lICJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6CglbIkVuY291bnRlciI6ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciJdIE5vbkVsZWN0aXZlRW5jb3VudGVyCgkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBEaXNwb3NpdGlvbiI6CgkoICggIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJCQl3aGVyZSBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiUGF0aWVudCBFeHBpcmVkIgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiCgkJCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiCgkJKQoJKQoKZGVmaW5lICJDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24iOgoJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIENvbWZvcnRNZWFzdXJlCgkJCXN1Y2ggdGhhdCBDb2FsZXNjZShzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKENvbWZvcnRNZWFzdXJlLnBlcmZvcm1lZCksIENvbWZvcnRNZWFzdXJlLmF1dGhvcmVkT24pZHVyaW5nIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIihJc2NoZW1pY1N0cm9rZUVuY291bnRlcikKCmRlZmluZSAiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIjoKCSJBbGwgU3Ryb2tlIEVuY291bnRlciIgQWxsU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCBbIlBhdGllbnQiXSBCaXJ0aERhdGUKCQkJc3VjaCB0aGF0IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShCaXJ0aERhdGUuYmlydGhEYXRlKSwgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChBbGxTdHJva2VFbmNvdW50ZXIucGVyaW9kKSkgPj0gMTgKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKFN0YXJ0VmFsdWUgRGF0ZVRpbWUgKToKCUludGVydmFsKEdsb2JhbC4iVG9EYXRlIihTdGFydFZhbHVlKSwgR2xvYmFsLiJUb0RhdGUiKFN0YXJ0VmFsdWUgKyAyIGRheXMpKQo=" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-TJCOverall-FHIR3-3.6.000" + } }, { "resource": { "resourceType": "Encounter", @@ -379,37 +2136,398 @@ }, "request": { "method": "PUT", - "url": "MeasureReport/measurereport-numer-EXM105-FHIR3" + "url": "MeasureReport/measurereport-numer-EXM105-FHIR3" + } + }, { + "resource": { + "resourceType": "Condition", + "id": "denom-EXM105-FHIR3-1", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition" ] + }, + "verificationStatus": "confirmed", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "encounter-diagnosis", + "display": "Encounter Diagnosis" + } ] + } ], + "code": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "116288000", + "display": "Paralytic stroke (disorder)" + } ] + }, + "subject": { + "reference": "Patient/denom-EXM105-FHIR3" + } + }, + "request": { + "method": "PUT", + "url": "Condition/denom-EXM105-FHIR3-1" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.836", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.836" + } ], + "version": "20121025", + "name": "Race", + "title": "Race", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "1002-5", + "display": "American Indian or Alaska Native" + }, { + "code": "2028-9", + "display": "Asian" + }, { + "code": "2054-5", + "display": "Black or African American" + }, { + "code": "2076-8", + "display": "Native Hawaiian or Other Pacific Islander" + }, { + "code": "2106-3", + "display": "White" + }, { + "code": "2131-1", + "display": "Other Race" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-4.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-4.0.000
Type: Logic Library
Version: 4.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '4.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t  and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "HospitalizationWithObservation"(TheEncounter FHIR.Encounter):\n\tTheEncounter Visit\n\t\tlet ObsVisit: Last([Encounter: "Observation Services"] LastObs\n\t\t\t\twhere LastObs.period ends 1 hour or less on or before start of Visit.period\n\t\t\t\tsort by end of period\n\t\t\t),\n\t\t\tVisitStart: Coalesce(start of ObsVisit.period, start of Visit.period),\n\t\t\tEDVisit: Last([Encounter: "Emergency Department Visit"] LastED\n\t\t\t\twhere LastED.period ends 1 hour or less on or before VisitStart\n\t\t\t\tsort by end of period\n\t\t\t)\n\t\treturn Interval[Coalesce(start of EDVisit.period, VisitStart), end of Visit.period]\n\ndefine function "HospitalizationWithObservationLengthofStay"(Encounter FHIR.Encounter):\n\t"LengthInDays"("HospitalizationWithObservation"(Encounter))\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] Condition where Condition.id.value = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t//"GetId"(uri String): returns the last String of a Split by / List therefor cannot use in\n\t\treturn singleton from ([Condition] Condition where Condition.id.value = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "4.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMjMiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIyMyIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSI0LjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT2JzZXJ2YXRpb24gU2VydmljZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTQzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iQmlydGhkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlYWQiIGlkPSI0MTkwOTkwMDkiIGRpc3BsYXk9IkRlYWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEQ1QiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFUiIgaWQ9IkVSIiBkaXNwbGF5PSJFbWVyZ2VuY3kgcm9vbSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJSb2xlQ29kZSIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IklDVSIgaWQ9IklDVSIgZGlzcGxheT0iSW50ZW5zaXZlIGNhcmUgdW5pdCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJSb2xlQ29kZSIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkJpbGxpbmciIGlkPSJiaWxsaW5nIiBkaXNwbGF5PSJCaWxsaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkRpYWdub3NpcyBSb2xlIi8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJMZW5ndGhJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkRpZmZlcmVuY2VCZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRW5jb3VudGVySW5wYXRpZW50Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVuY291bnRlciBJbnBhdGllbnQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICA8eWVhciBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3llYXI+DQogICAgICAgICAgICA8bW9udGggcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvbW9udGg+DQogICAgICAgICAgICA8ZGF5IHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9kYXk+DQogICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDx0aW1lem9uZU9mZnNldCB4c2k6dHlwZT0iVGltZXpvbmVGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC90aW1lem9uZU9mZnNldD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRUQgVmlzaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJob3VyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJYIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRURFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgcGF0aD0ibG9jYXRpb24iIHNjb3BlPSJFREVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTGVuZ3RoSW5EYXlzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIEFkbWlzc2lvbiBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQXJyaXZhbCBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IkZpcnN0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikhvc3BpdGFsTG9jYXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9IklkZW50aWZpZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvcnQ+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWaXNpdCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxsZXQgaWRlbnRpZmllcj0iT2JzVmlzaXQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9Ikxhc3QiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTGFzdE9icyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMYXN0T2JzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJJZGVudGlmaWVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2J5Pg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3J0Pg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L2xldD4NCiAgICAgICAgICAgIDxsZXQgaWRlbnRpZmllcj0iVmlzaXRTdGFydCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iT2JzVmlzaXQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvbGV0Pg0KICAgICAgICAgICAgPGxldCBpZGVudGlmaWVyPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikxhc3RFRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMYXN0RUQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmlzaXRTdGFydCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlZpc2l0U3RhcnQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3J0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGJ5IGRpcmVjdGlvbj0iYXNjIiB4c2k6dHlwZT0iQnlFeHByZXNzaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9sZXQ+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iRURWaXNpdCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWaXNpdFN0YXJ0IiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb25MZW5ndGhvZlN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJDb25kaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb25kaXRpb24iIHNjb3BlPSJEIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUEQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icm9sZSIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvQ29uY2VwdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaWxsaW5nIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZWdlciIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmFuayIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJDb25kaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb25kaXRpb24iIHNjb3BlPSJQRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0TG9jYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTG9jYXRpb24iPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TG9jYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJpZCIgc2NvcGU9IkxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVmZXJlbmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlZmVyZW5jZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkUiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRCYXNlRXh0ZW5zaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0UHJvdmVuYW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb3ZlbmFuY2UiIGNvZGVQcm9wZXJ0eT0idGFyZ2V0IiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0TWVkaWNhdGlvbkNvZGUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXF1ZXN0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXF1ZXN0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXF1ZXN0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MycKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiRGVhZCI6ICc0MTkwOTkwMDknIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdEZWFkJwpjb2RlICJFUiI6ICdFUicgZnJvbSAiUm9sZUNvZGUiIGRpc3BsYXkgJ0VtZXJnZW5jeSByb29tJwpjb2RlICJJQ1UiOiAnSUNVJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnSW50ZW5zaXZlIGNhcmUgdW5pdCcKY29kZSAiQmlsbGluZyI6ICdiaWxsaW5nJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAnQmlsbGluZycKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJJbnBhdGllbnQgRW5jb3VudGVyIjoKCVtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRW5jb3VudGVySW5wYXRpZW50CgkJd2hlcmUgRW5jb3VudGVySW5wYXRpZW50LnN0YXR1cyA9ICdmaW5pc2hlZCcKCQkgIGFuZCAiTGVuZ3RoSW5EYXlzIihFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kKSA8PSAxMjAKCQkJYW5kIEVuY291bnRlcklucGF0aWVudC5wZXJpb2QgZW5kcyBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSBmdW5jdGlvbiAiVG9EYXRlIihWYWx1ZSBEYXRlVGltZSk6CglEYXRlVGltZSh5ZWFyIGZyb20gVmFsdWUsIG1vbnRoIGZyb20gVmFsdWUsIGRheSBmcm9tIFZhbHVlLCAwLCAwLCAwLCAwLCB0aW1lem9uZSBmcm9tIFZhbHVlKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5c0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCWRheXMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5EYXlzIihCaXJ0aERhdGVUaW1lIERhdGVUaW1lKToKCUNhbGVuZGFyQWdlSW5EYXlzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCW1vbnRocyBiZXR3ZWVuIFRvRGF0ZShCaXJ0aERhdGVUaW1lKWFuZCBUb0RhdGUoQXNPZikKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbk1vbnRocyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluTW9udGhzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUsIEFzT2YgRGF0ZVRpbWUpOgoJeWVhcnMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFycyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluWWVhcnNBdChCaXJ0aERhdGVUaW1lLCBUb2RheSgpKQoKZGVmaW5lIGZ1bmN0aW9uICJMZW5ndGhJbkRheXMiKFZhbHVlIEludGVydmFsPERhdGVUaW1lPik6CglkaWZmZXJlbmNlIGluIGRheXMgYmV0d2VlbiBzdGFydCBvZiBWYWx1ZSBhbmQgZW5kIG9mIFZhbHVlCgpkZWZpbmUgZnVuY3Rpb24gIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgogICAgc2luZ2xldG9uIGZyb20gKAogICAgICAgIFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIEVEVmlzaXQKICAgICAgICAgICAgd2hlcmUgRURWaXNpdC5zdGF0dXMgPSAnZmluaXNoZWQnCiAgICAgICAgICAgICAgICBhbmQgRURWaXNpdC5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQogICAgKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIFgKICAgIHJldHVybgogICAgICAgIGlmIFggaXMgbnVsbCB0aGVuIFRoZUVuY291bnRlci5wZXJpb2QKICAgICAgICBlbHNlIEludGVydmFsW3N0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoWC5wZXJpb2QpLCBlbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKV0KCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCSggIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIpICkgRURFbmNvdW50ZXIKICAgIHJldHVybgogICAgICAgIGlmIEVERW5jb3VudGVyIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIubG9jYXRpb24KICAgICAgICBlbHNlIGZsYXR0ZW4geyBFREVuY291bnRlci5sb2NhdGlvbiwgVGhlRW5jb3VudGVyLmxvY2F0aW9uIH0KCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJTGVuZ3RoSW5EYXlzKCJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikpCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIEFkbWlzc2lvbiBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJc3RhcnQgb2YgIkhvc3BpdGFsaXphdGlvbiIoVGhlRW5jb3VudGVyKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCWVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFRoZUVuY291bnRlci5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRmlyc3QoCgkgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglUaGVFbmNvdW50ZXIgVmlzaXQKCQlsZXQgT2JzVmlzaXQ6IExhc3QoW0VuY291bnRlcjogIk9ic2VydmF0aW9uIFNlcnZpY2VzIl0gTGFzdE9icwoJCQkJd2hlcmUgTGFzdE9icy5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgVmlzaXQucGVyaW9kCgkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKCQkJKSwKCQkJVmlzaXRTdGFydDogQ29hbGVzY2Uoc3RhcnQgb2YgT2JzVmlzaXQucGVyaW9kLCBzdGFydCBvZiBWaXNpdC5wZXJpb2QpLAoJCQlFRFZpc2l0OiBMYXN0KFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIExhc3RFRAoJCQkJd2hlcmUgTGFzdEVELnBlcmlvZCBlbmRzIDEgaG91ciBvciBsZXNzIG9uIG9yIGJlZm9yZSBWaXNpdFN0YXJ0CgkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKCQkJKQoJCXJldHVybiBJbnRlcnZhbFtDb2FsZXNjZShzdGFydCBvZiBFRFZpc2l0LnBlcmlvZCwgVmlzaXRTdGFydCksIGVuZCBvZiBWaXNpdC5wZXJpb2RdCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbkxlbmd0aG9mU3RheSIoRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCSJMZW5ndGhJbkRheXMiKCJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKEVuY291bnRlcikpCgovLyBUT0RPIC0gZml4IHRoZXNlIChtdXN0IGZldGNoIExvY2F0aW9uIHJlc291cmNlcyBhbmQgY29tcGFyZSBpZCB0byByZWZlcmVuY2UpCi8qZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBEZXBhcnR1cmUgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCWVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKExhc3QoCgkgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKCgKCSAgICBzaW5nbGV0b24gZnJvbSAoCgkgICAgICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCQl3aGVyZSBIb3NwaXRhbExvY2F0aW9uLnR5cGUgfiAiRVIiCgkJKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkZpcnN0IElucGF0aWVudCBJbnRlbnNpdmUgQ2FyZSBVbml0IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJRmlyc3QoCgkgICAgKCBUaGVFbmNvdW50ZXIubG9jYXRpb24gKSBIb3NwaXRhbExvY2F0aW9uCgkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJJQ1UiCgkJCQlhbmQgSG9zcGl0YWxMb2NhdGlvbi5wZXJpb2QgZHVyaW5nIFRoZUVuY291bnRlci5wZXJpb2QKCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkqLwoKLyoKKgoqICAgIENRRk1lYXN1cmVzIENvbW1vbiBMb2dpYwoqCiovCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBPbnNldCIob25zZXQgQ2hvaWNlPEZISVIuZGF0ZVRpbWUsIEZISVIuQWdlLCBGSElSLlBlcmlvZCwgRkhJUi5SYW5nZSwgRkhJUi5zdHJpbmc+KToKICBpZiBvbnNldCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShvbnNldCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShvbnNldCBhcyBGSElSLmRhdGVUaW1lKV0KCWVsc2UgaWYgb25zZXQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKG9uc2V0IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLkFnZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KG9uc2V0IGFzIEZISVIuQWdlKSwKCQkgIEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KG9uc2V0IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24gQ29uZGl0aW9uKToKCWlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5kYXRlVGltZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuUGVyaW9kIHRoZW4KCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuQWdlIHRoZW4KCQlJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSwKCQkJRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLkFnZSkgKyAxIHllYXIpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5ib29sZWFuIHRoZW4KCSAgSW50ZXJ2YWxbZW5kIG9mICJOb3JtYWxpemUgT25zZXQiKGNvbmRpdGlvbi5vbnNldCksIGNvbmRpdGlvbi5hc3NlcnRlZERhdGUpCgllbHNlIG51bGwKCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJldmFsZW5jZVBlcmlvZCIoY29uZGl0aW9uIENvbmRpdGlvbik6CiAgSW50ZXJ2YWxbc3RhcnQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgZW5kIG9mICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24pKQoKZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgSW50ZXJ2YWwiKGNob2ljZSBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5QZXJpb2Q+KToKICBpZiBjaG9pY2UgaXMgRkhJUi5kYXRlVGltZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNob2ljZSBhcyBGSElSLmRhdGVUaW1lKV0KCWVsc2UKCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjaG9pY2UgYXMgRkhJUi5QZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkdldElkIih1cmkgU3RyaW5nKToKCUxhc3QoU3BsaXQodXJpLCAnLycpKQoKZGVmaW5lIGZ1bmN0aW9uICJFbmNvdW50ZXJEaWFnbm9zaXMiKEVuY291bnRlciBFbmNvdW50ZXIpOgogIEVuY291bnRlci5kaWFnbm9zaXMgRAogICAgcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDb25kaXRpb24gd2hlcmUgQ29uZGl0aW9uLmlkLnZhbHVlID0gIkdldElkIihELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgY29uZGl0aW9uIHRoYXQgaXMgc3BlY2lmaWVkIGFzIHRoZSBwcmluY2lwYWwgZGlhZ25vc2lzIGZvciB0aGUgZW5jb3VudGVyCmRlZmluZSBmdW5jdGlvbiAiUHJpbmNpcGFsRGlhZ25vc2lzIihFbmNvdW50ZXIgRW5jb3VudGVyKToKCShzaW5nbGV0b24gZnJvbSAoRW5jb3VudGVyLmRpYWdub3NpcyBEIHdoZXJlIEQucm9sZSB+IFRvQ29uY2VwdCgiQmlsbGluZyIpIGFuZCBELnJhbmsgPSAxKSkgUEQKCS8vIkdldElkIih1cmkgU3RyaW5nKTogcmV0dXJucyB0aGUgbGFzdCBTdHJpbmcgb2YgYSBTcGxpdCBieSAvIExpc3QgdGhlcmVmb3IgY2Fubm90IHVzZSBpbgoJCXJldHVybiBzaW5nbGV0b24gZnJvbSAoW0NvbmRpdGlvbl0gQ29uZGl0aW9uIHdoZXJlIENvbmRpdGlvbi5pZC52YWx1ZSA9ICJHZXRJZCIoUEQuY29uZGl0aW9uLnJlZmVyZW5jZSkpCgovLyBSZXR1cm5zIHRoZSBsb2NhdGlvbiBmb3IgdGhlIGdpdmVuIGxvY2F0aW9uIHJlZmVyZW5jZQpkZWZpbmUgZnVuY3Rpb24gR2V0TG9jYXRpb24ocmVmZXJlbmNlIFJlZmVyZW5jZSk6CiAgc2luZ2xldG9uIGZyb20gKAogICAgW0xvY2F0aW9uXSBMb2NhdGlvbiB3aGVyZSBMb2NhdGlvbi5pZC52YWx1ZSA9IEdldElkKHJlZmVyZW5jZS5yZWZlcmVuY2UpCiAgKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9uIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6CiAgc2luZ2xldG9uIGZyb20gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlLCB1cmwpCgovKgpOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcwpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZQpDUUwgbW9kZWwgaW5mby4KKi8KZGVmaW5lIGZ1bmN0aW9uICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJyArIHVybCkKCQlyZXR1cm4gRQoKZGVmaW5lIGZ1bmN0aW9uICJHZXRCYXNlRXh0ZW5zaW9uIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6CiAgc2luZ2xldG9uIGZyb20gIkdldEJhc2VFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogUHJvdmVuYW5jZSBpcyBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgdGhpcyBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGlsbHVzdHJhdGlvbgpmb3Igd2hhdCB1c2luZyBQcm92ZW5hbmNlIGNvdWxkIGxvb2sgbGlrZSwgYW5kIGlzIG5vdCBhIHRlc3RlZCBwYXR0ZXJuCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJvdmVuYW5jZSIocmVzb3VyY2UgUmVzb3VyY2UpOgogIHNpbmdsZXRvbiBmcm9tIChbUHJvdmVuYW5jZTogdGFyZ2V0IGluIHJlc291cmNlLmlkXSkKCmRlZmluZSBmdW5jdGlvbiAiR2V0TWVkaWNhdGlvbkNvZGUiKHJlcXVlc3QgTWVkaWNhdGlvblJlcXVlc3QpOgogIGlmIHJlcXVlc3QubWVkaWNhdGlvbiBpcyBDb2RlYWJsZUNvbmNlcHQgdGhlbgoJICByZXF1ZXN0Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0CgllbHNlCgkgIChzaW5nbGV0b24gZnJvbSAoW01lZGljYXRpb246IGlkIGluIEdldElkKChyZXF1ZXN0Lm1lZGljYXRpb24gYXMgUmVmZXJlbmNlKS5yZWZlcmVuY2UpXSkpLmNvZGUK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1110.19", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.19", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1110.19" + } ], + "version": "20170504", + "name": "StatinGrouper", + "title": "Statin Grouper", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "version": "2018-07", + "concept": [ { + "code": "197903", + "display": "Lovastatin 10 MG Oral Tablet" + }, { + "code": "197904", + "display": "Lovastatin 20 MG Oral Tablet" + }, { + "code": "197905", + "display": "Lovastatin 40 MG Oral Tablet" + }, { + "code": "198211", + "display": "Simvastatin 40 MG Oral Tablet" + }, { + "code": "2001254", + "display": "pitavastatin magnesium 1 MG Oral Tablet" + }, { + "code": "2001262", + "display": "pitavastatin magnesium 2 MG Oral Tablet" + }, { + "code": "2001266", + "display": "pitavastatin magnesium 4 MG Oral Tablet" + }, { + "code": "200345", + "display": "Simvastatin 80 MG Oral Tablet" + }, { + "code": "259255", + "display": "atorvastatin 80 MG Oral Tablet" + }, { + "code": "310404", + "display": "fluvastatin 20 MG Oral Capsule" + }, { + "code": "310405", + "display": "fluvastatin 40 MG Oral Capsule" + }, { + "code": "312961", + "display": "Simvastatin 20 MG Oral Tablet" + }, { + "code": "312962", + "display": "Simvastatin 5 MG Oral Tablet" + }, { + "code": "314231", + "display": "Simvastatin 10 MG Oral Tablet" + }, { + "code": "359731", + "display": "24 HR Lovastatin 40 MG Extended Release Oral Tablet" + }, { + "code": "359732", + "display": "24 HR Lovastatin 60 MG Extended Release Oral Tablet" + }, { + "code": "360507", + "display": "24 HR fluvastatin 80 MG Extended Release Oral Tablet" + }, { + "code": "404011", + "display": "Amlodipine 5 MG / atorvastatin 80 MG Oral Tablet" + }, { + "code": "404013", + "display": "Amlodipine 10 MG / atorvastatin 80 MG Oral Tablet" + }, { + "code": "433849", + "display": "24 HR Lovastatin 20 MG Extended Release Oral Tablet" + }, { + "code": "476345", + "display": "ezetimibe 10 MG / Simvastatin 10 MG Oral Tablet" + }, { + "code": "476349", + "display": "ezetimibe 10 MG / Simvastatin 20 MG Oral Tablet" + }, { + "code": "476350", + "display": "ezetimibe 10 MG / Simvastatin 40 MG Oral Tablet" + }, { + "code": "476351", + "display": "ezetimibe 10 MG / Simvastatin 80 MG Oral Tablet" + }, { + "code": "597967", + "display": "Amlodipine 10 MG / atorvastatin 20 MG Oral Tablet" + }, { + "code": "597971", + "display": "Amlodipine 2.5 MG / atorvastatin 10 MG Oral Tablet" + }, { + "code": "597974", + "display": "Amlodipine 2.5 MG / atorvastatin 20 MG Oral Tablet" + }, { + "code": "597977", + "display": "Amlodipine 5 MG / atorvastatin 10 MG Oral Tablet" + }, { + "code": "597980", + "display": "Amlodipine 5 MG / atorvastatin 20 MG Oral Tablet" + }, { + "code": "597984", + "display": "Amlodipine 5 MG / atorvastatin 40 MG Oral Tablet" + }, { + "code": "597987", + "display": "Amlodipine 10 MG / atorvastatin 10 MG Oral Tablet" + }, { + "code": "597990", + "display": "Amlodipine 10 MG / atorvastatin 40 MG Oral Tablet" + }, { + "code": "597993", + "display": "Amlodipine 2.5 MG / atorvastatin 40 MG Oral Tablet" + }, { + "code": "617310", + "display": "atorvastatin 20 MG Oral Tablet" + }, { + "code": "617311", + "display": "atorvastatin 40 MG Oral Tablet" + }, { + "code": "617312", + "display": "atorvastatin 10 MG Oral Tablet" + }, { + "code": "757702", + "display": "Simvastatin 10 MG Disintegrating Oral Tablet" + }, { + "code": "757703", + "display": "Simvastatin 20 MG Disintegrating Oral Tablet" + }, { + "code": "757704", + "display": "Simvastatin 40 MG Disintegrating Oral Tablet" + }, { + "code": "757705", + "display": "Simvastatin 80 MG Disintegrating Oral Tablet" + }, { + "code": "859419", + "display": "Rosuvastatin calcium 40 MG Oral Tablet" + }, { + "code": "859424", + "display": "Rosuvastatin calcium 5 MG Oral Tablet" + }, { + "code": "859747", + "display": "Rosuvastatin calcium 10 MG Oral Tablet" + }, { + "code": "859751", + "display": "Rosuvastatin calcium 20 MG Oral Tablet" + }, { + "code": "861643", + "display": "pitavastatin calcium 1 MG Oral Tablet" + }, { + "code": "861648", + "display": "pitavastatin calcium 2 MG Oral Tablet" + }, { + "code": "861652", + "display": "pitavastatin calcium 4 MG Oral Tablet" + }, { + "code": "904458", + "display": "Pravastatin Sodium 10 MG Oral Tablet" + }, { + "code": "904467", + "display": "Pravastatin Sodium 20 MG Oral Tablet" + }, { + "code": "904475", + "display": "Pravastatin Sodium 40 MG Oral Tablet" + }, { + "code": "904481", + "display": "Pravastatin Sodium 80 MG Oral Tablet" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1110.19" } }, { "resource": { - "resourceType": "Condition", - "id": "denom-EXM105-FHIR3-1", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition" ] - }, - "verificationStatus": "confirmed", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/condition-category", - "code": "encounter-diagnosis", - "display": "Encounter Diagnosis" - } ] + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.666.5.307", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.666.5.307" } ], - "code": { - "coding": [ { + "version": "20170504", + "name": "EncounterInpatient", + "title": "Encounter Inpatient", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { "system": "http://snomed.info/sct", - "code": "116288000", - "display": "Paralytic stroke (disorder)" + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + }, { + "code": "8715000", + "display": "Hospital admission, elective (procedure)" + } ] } ] - }, - "subject": { - "reference": "Patient/denom-EXM105-FHIR3" } }, "request": { "method": "PUT", - "url": "Condition/denom-EXM105-FHIR3-1" + "url": "ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1110.39", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39", + "title": "Ticagrelor Therapy", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "version": "2019-08", + "concept": [ { + "code": "1116635", + "display": "Ticagrelor 90 MG Oral Tablet" + }, { + "code": "1666332", + "display": "Ticagrelor 60 MG Oral Tablet" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1110.39" } }, { "resource": { @@ -452,6 +2570,44 @@ "method": "PUT", "url": "tests-Condition-bundle" } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "1.3.6.1.4.1.33895.1.3.0.45", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "1.3.6.1.4.1.33895.1.3.0.45" + } ], + "version": "20160331", + "name": "ComfortMeasures", + "title": "Comfort Measures", + "status": "active", + "publisher": "TJC EH Steward", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "133918004", + "display": "Comfort measures (regime/therapy)" + }, { + "code": "182964004", + "display": "Terminal care (regime/therapy)" + }, { + "code": "385736008", + "display": "Dying care (regime/therapy)" + }, { + "code": "385763009", + "display": "Hospice care (regime/therapy)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } }, { "resource": { "resourceType": "Bundle", @@ -568,114 +2724,6 @@ "method": "PUT", "url": "Patient/denomex-EXM105-FHIR3" } - }, { - "resource": { - "resourceType": "Library", - "id": "library-EXM105-FHIR3-8.0.000", - "text": { - "status": "generated", - "div": "
\n \n \n
Id: library-EXM105-FHIR3-8.0.000
Type: Logic Library
Version: 8.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

type: depends-on

Resource:
reference: Library/library-TJCOverall-FHIR3-3.6.000

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424

type: Patient

type: AllergyIntolerance

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423

type: MedicationRequest

type: MedicationRequest

type: Observation

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

Content: type: text/cql
library EXM105_FHIR3 version '8.0.000'\n\n/*\nBased on CMS105v8 - Discharged on Statin Medication\nAuthor: TJC\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0'\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\ninclude TJCOverall_FHIR3 version '3.6.000' called TJC\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\n\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'\nvalueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'\nvalueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "LDL-c": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215'\nvalueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'\nvalueset "Medical Reason": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'\nvalueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'\nvalueset "Patient Refusal": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Statin Allergen": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423'\nvalueset "Statin Grouper": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.19'\n\n// TODO: Use NLM VSAC Canonical URLs\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\n//code "Medication-dischargeMedication": '8654-6' from "LOINC" display 'Hospital Discharge medications'\n\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\ncode "Order": 'order' from "RequestIntent" display 'Order'\n\nparameter "Measurement Period" Interval<DateTime>\n  default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n\tSDE."SDE Payer"\n\ndefine "SDE Race":\n  SDE."SDE Race"\n\ndefine "SDE Sex":\n\tSDE."SDE Sex"\n\ndefine "Initial Population":\n\t"Encounter with Principal Diagnosis and Age"\n\ndefine "Encounter with Principal Diagnosis and Age":\n\t"All Stroke Encounter" AllStrokeEncounter\n\t\twith ["Patient"] BirthDate\n\t\t\tsuch that AgeInYearsAt(AllStrokeEncounter.period.start) >= 18\n\ndefine "All Stroke Encounter":\n\t"Non Elective Inpatient Encounter" NonElectiveEncounter\n\t\twhere Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Hemorrhagic Stroke"\n\t\tor Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Ischemic Stroke"\n\ndefine "Non Elective Inpatient Encounter":\n\t["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\n\t\twhere Global."LengthInDays"(NonElectiveEncounter.period)<= 120\n\t\t\tand NonElectiveEncounter.period ends during "Measurement Period"\n\ndefine "Denominator":\n\tTJC."Ischemic Stroke Encounter"\n\ndefine "Statin Allergy":\n\t["AllergyIntolerance": "Statin Allergen"]\n\ndefine "Numerator":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Statin at Discharge" DischargeStatin\n\t\t\tsuch that DischargeStatin.authoredOn during IschemicStrokeEncounter.period\n\ndefine "Ischemic Stroke Encounter":\n\t"Encounter with Principal Diagnosis and Age" EncounterWithAge\n\t\twhere Global.PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"\n\n// Medication orders at discharge, how do we know that these are ordered with the intent to be taken discharge rather than the inpatient stay.\ndefine "Statin at Discharge":\n\t["MedicationRequest"] Statin\n\t\twhere (Statin.medication as CodeableConcept) in "Statin Grouper"\n\t\t\tand Statin.intent = 'order'\n\ndefine "Statin Not Given at Discharge":\n\t["MedicationRequest"] NoStatin\n\t\twhere (NoStatin.medication as CodeableConcept) in "Statin Grouper"\n\t\t\tand (singleton from NoStatin.reasonCode in "Medical Reason"\n\t\t\t\tor singleton from NoStatin.reasonCode in "Patient Refusal")\n\n//Folling function copied from MATGlobalCommonFunctions 2.0 in cqf-measures github repo\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n\tif onset is FHIR.dateTime then Interval[onset.value, onset.value]\n\telse if onset is FHIR.Period then FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse null\n\ndefine "Encounter with Max LDL less than 70 mg per dL":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twhere Max(["Observation": "LDL-c"] Ldl\n\t\t\t\twhere Ldl.issued during Interval[IschemicStrokeEncounter.period.start - 30 days,IschemicStrokeEncounter.period.end]\n\t\t\t\treturn (Ldl.value as Quantity)\n\t\t) < 70\n\ndefine "Denominator Exception":\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Statin Not Given at Discharge" NoDischargeStatin\n\t\t\tsuch that NoDischargeStatin.authoredOn during IschemicStrokeEncounter.period\n\t)\n\tunion\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Statin Allergy" StatinAllergy\n\t\t\tsuch that "Normalize Onset"(StatinAllergy.onset) on or before end of IschemicStrokeEncounter.period)\n\ndefine "Denominator Exclusion":\n\t"Ischemic Stroke Encounters with Discharge Status"\n\tunion\n\t"Comfort Measures during Hospitalization"\n\ndefine "Ischemic Stroke Encounters with Discharge Status":\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twhere IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\n\t)\n\ndefine "Comfort Measures during Hospitalization":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Intervention Comfort Measures" ComfortMeasure\n\t\t\tsuch that ComfortMeasure.authoredOn during Global."Hospitalization"(IschemicStrokeEncounter)\n\n/*\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion ["Procedure": "Comfort Measures"]\n*/\n\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent in {'plan', 'order'})\n\t\tunion\n\t\t(["Procedure": "Comfort Measures"] IntervetionPerformed\n\t\twhere IntervetionPerformed.status in {'complete', 'in progress'})\n
\n \n \n
\n
" - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } - } ], - "version": "8.0.000", - "name": "EXM105_FHIR3", - "status": "active", - "experimental": true, - "type": { - "coding": [ { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } ] - }, - "content": [ { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE0xMDVfRkhJUjMgdmVyc2lvbiAnOC4wLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEwNXY4IC0gRGlzY2hhcmdlZCBvbiBTdGF0aW4gTWVkaWNhdGlvbgpBdXRob3I6IFRKQwoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzQuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKaW5jbHVkZSBUSkNPdmVyYWxsX0ZISVIzIHZlcnNpb24gJzMuNi4wMDAnIGNhbGxlZCBUSkMKCmNvZGVzeXN0ZW0gIkxPSU5DIjogJ2h0dHA6Ly9sb2luYy5vcmcnCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4Jwpjb2Rlc3lzdGVtICJEaWFnbm9zaXMgUm9sZSI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlJwpjb2Rlc3lzdGVtICJSZXF1ZXN0SW50ZW50IjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnCgp2YWx1ZXNldCAiQ29tZm9ydCBNZWFzdXJlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNycKdmFsdWVzZXQgIkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS44NycKdmFsdWVzZXQgIkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDknCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIklzY2hlbWljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJMREwtYyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE1Jwp2YWx1ZXNldCAiTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDgnCnZhbHVlc2V0ICJNZWRpY2FsIFJlYXNvbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDczJwp2YWx1ZXNldCAiTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCcKdmFsdWVzZXQgIk9ic2VydmF0aW9uIFNlcnZpY2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMnCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlBhdGllbnQgRXhwaXJlZCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5Jwp2YWx1ZXNldCAiUGF0aWVudCBSZWZ1c2FsIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS45MycKdmFsdWVzZXQgIlBheWVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIlN0YXRpbiBBbGxlcmdlbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDIzJwp2YWx1ZXNldCAiU3RhdGluIEdyb3VwZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTEwLjE5JwoKLy8gVE9ETzogVXNlIE5MTSBWU0FDIENhbm9uaWNhbCBVUkxzCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiRGVhZCI6ICc0MTkwOTkwMDknIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdEZWFkJwovL2NvZGUgIk1lZGljYXRpb24tZGlzY2hhcmdlTWVkaWNhdGlvbiI6ICc4NjU0LTYnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdIb3NwaXRhbCBEaXNjaGFyZ2UgbWVkaWNhdGlvbnMnCgpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwpjb2RlICJPcmRlciI6ICdvcmRlcicgZnJvbSAiUmVxdWVzdEludGVudCIgZGlzcGxheSAnT3JkZXInCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKCVNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CiAgU0RFLiJTREUgUmFjZSIKCmRlZmluZSAiU0RFIFNleCI6CglTREUuIlNERSBTZXgiCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CgkiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIgoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiOgoJIkFsbCBTdHJva2UgRW5jb3VudGVyIiBBbGxTdHJva2VFbmNvdW50ZXIKCQl3aXRoIFsiUGF0aWVudCJdIEJpcnRoRGF0ZQoJCQlzdWNoIHRoYXQgQWdlSW5ZZWFyc0F0KEFsbFN0cm9rZUVuY291bnRlci5wZXJpb2Quc3RhcnQpID49IDE4CgpkZWZpbmUgIkFsbCBTdHJva2UgRW5jb3VudGVyIjoKCSJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgTm9uRWxlY3RpdmVFbmNvdW50ZXIKCQl3aGVyZSBHbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKE5vbkVsZWN0aXZlRW5jb3VudGVyKS5jb2RlIGluICJIZW1vcnJoYWdpYyBTdHJva2UiCgkJb3IgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKZGVmaW5lICJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6CglbIkVuY291bnRlciI6ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciJdIE5vbkVsZWN0aXZlRW5jb3VudGVyCgkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CglUSkMuIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiCgpkZWZpbmUgIlN0YXRpbiBBbGxlcmd5IjoKCVsiQWxsZXJneUludG9sZXJhbmNlIjogIlN0YXRpbiBBbGxlcmdlbiJdCgpkZWZpbmUgIk51bWVyYXRvciI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aXRoICJTdGF0aW4gYXQgRGlzY2hhcmdlIiBEaXNjaGFyZ2VTdGF0aW4KCQkJc3VjaCB0aGF0IERpc2NoYXJnZVN0YXRpbi5hdXRob3JlZE9uIGR1cmluZyBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QKCmRlZmluZSAiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciI6CgkiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiBFbmNvdW50ZXJXaXRoQWdlCgkJd2hlcmUgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhFbmNvdW50ZXJXaXRoQWdlKS5jb2RlIGluICJJc2NoZW1pYyBTdHJva2UiCgovLyBNZWRpY2F0aW9uIG9yZGVycyBhdCBkaXNjaGFyZ2UsIGhvdyBkbyB3ZSBrbm93IHRoYXQgdGhlc2UgYXJlIG9yZGVyZWQgd2l0aCB0aGUgaW50ZW50IHRvIGJlIHRha2VuIGRpc2NoYXJnZSByYXRoZXIgdGhhbiB0aGUgaW5wYXRpZW50IHN0YXkuCmRlZmluZSAiU3RhdGluIGF0IERpc2NoYXJnZSI6CglbIk1lZGljYXRpb25SZXF1ZXN0Il0gU3RhdGluCgkJd2hlcmUgKFN0YXRpbi5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdCkgaW4gIlN0YXRpbiBHcm91cGVyIgoJCQlhbmQgU3RhdGluLmludGVudCA9ICdvcmRlcicKCmRlZmluZSAiU3RhdGluIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UiOgoJWyJNZWRpY2F0aW9uUmVxdWVzdCJdIE5vU3RhdGluCgkJd2hlcmUgKE5vU3RhdGluLm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0KSBpbiAiU3RhdGluIEdyb3VwZXIiCgkJCWFuZCAoc2luZ2xldG9uIGZyb20gTm9TdGF0aW4ucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iCgkJCQlvciBzaW5nbGV0b24gZnJvbSBOb1N0YXRpbi5yZWFzb25Db2RlIGluICJQYXRpZW50IFJlZnVzYWwiKQoKLy9Gb2xsaW5nIGZ1bmN0aW9uIGNvcGllZCBmcm9tIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9ucyAyLjAgaW4gY3FmLW1lYXN1cmVzIGdpdGh1YiByZXBvCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgoJaWYgb25zZXQgaXMgRkhJUi5kYXRlVGltZSB0aGVuIEludGVydmFsW29uc2V0LnZhbHVlLCBvbnNldC52YWx1ZV0KCWVsc2UgaWYgb25zZXQgaXMgRkhJUi5QZXJpb2QgdGhlbiBGSElSSGVscGVycy5Ub0ludGVydmFsKG9uc2V0IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBudWxsCgpkZWZpbmUgIkVuY291bnRlciB3aXRoIE1heCBMREwgbGVzcyB0aGFuIDcwIG1nIHBlciBkTCI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aGVyZSBNYXgoWyJPYnNlcnZhdGlvbiI6ICJMREwtYyJdIExkbAoJCQkJd2hlcmUgTGRsLmlzc3VlZCBkdXJpbmcgSW50ZXJ2YWxbSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kLnN0YXJ0IC0gMzAgZGF5cyxJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QuZW5kXQoJCQkJcmV0dXJuIChMZGwudmFsdWUgYXMgUXVhbnRpdHkpCgkJKSA8IDcwCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2VwdGlvbiI6CgkoIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiU3RhdGluIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UiIE5vRGlzY2hhcmdlU3RhdGluCgkJCXN1Y2ggdGhhdCBOb0Rpc2NoYXJnZVN0YXRpbi5hdXRob3JlZE9uIGR1cmluZyBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QKCSkKCXVuaW9uCgkoIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiU3RhdGluIEFsbGVyZ3kiIFN0YXRpbkFsbGVyZ3kKCQkJc3VjaCB0aGF0ICJOb3JtYWxpemUgT25zZXQiKFN0YXRpbkFsbGVyZ3kub25zZXQpIG9uIG9yIGJlZm9yZSBlbmQgb2YgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgoJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIFN0YXR1cyIKCXVuaW9uCgkiQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIgoKZGVmaW5lICJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBTdGF0dXMiOgoJKCJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgoJCXdoZXJlIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiCgkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIgoJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIlBhdGllbnQgRXhwaXJlZCIKCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSIKCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiCgkpCgpkZWZpbmUgIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aXRoICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyIgQ29tZm9ydE1lYXN1cmUKCQkJc3VjaCB0aGF0IENvbWZvcnRNZWFzdXJlLmF1dGhvcmVkT24gZHVyaW5nIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uIihJc2NoZW1pY1N0cm9rZUVuY291bnRlcikKCi8qCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgoJKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJDb21mb3J0IE1lYXN1cmVzIl0gUAoJCXdoZXJlIFAuaW50ZW50ID0gJ29yZGVyJykKCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJDb21mb3J0IE1lYXN1cmVzIl0KKi8KCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgoJKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJDb21mb3J0IE1lYXN1cmVzIl0gUAoJCXdoZXJlIFAuaW50ZW50IGluIHsncGxhbicsICdvcmRlcid9KQoJCXVuaW9uCgkJKFsiUHJvY2VkdXJlIjogIkNvbWZvcnQgTWVhc3VyZXMiXSBJbnRlcnZldGlvblBlcmZvcm1lZAoJCXdoZXJlIEludGVydmV0aW9uUGVyZm9ybWVkLnN0YXR1cyBpbiB7J2NvbXBsZXRlJywgJ2luIHByb2dyZXNzJ30pCg==" - } ] - }, - "request": { - "method": "PUT", - "url": "Library/library-EXM105-FHIR3-8.0.000" - } - }, { - "resource": { - "resourceType": "Condition", - "id": "numer-EXM105-FHIR3-1", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition" ] - }, - "verificationStatus": "confirmed", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/condition-category", - "code": "encounter-diagnosis", - "display": "Encounter Diagnosis" - } ] - } ], - "code": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "116288000", - "display": "Paralytic stroke (disorder)" - } ] - }, - "subject": { - "reference": "Patient/numer-EXM105-FHIR3" - } - }, - "request": { - "method": "PUT", - "url": "Condition/numer-EXM105-FHIR3-1" - } - }, { - "resource": { - "resourceType": "Encounter", - "id": "numer-EXM105-FHIR3-2", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] - }, - "status": "finished", - "class": { - "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", - "code": "IMP", - "display": "inpatient encounter" - }, - "type": [ { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "32485007", - "display": "Hospital admission (procedure)" - } ] - } ], - "subject": { - "reference": "Patient/numer-EXM105-FHIR3" - }, - "period": { - "start": "2019-08-21T00:00:00-06:00", - "end": "2019-12-19T08:15:00-07:00" - }, - "diagnosis": [ { - "condition": { - "reference": "Condition/numer-EXM105-FHIR3-1" - }, - "role": { - "coding": [ { - "system": "http://hl7.org/fhir/diagnosis-role", - "code": "billing", - "display": "Billing" - } ] - }, - "rank": 1 - } ] - }, - "request": { - "method": "PUT", - "url": "Encounter/numer-EXM105-FHIR3-2" - } }, { "resource": { "resourceType": "Measure", @@ -692,11 +2740,6 @@ "extension": [ { "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", "valueCode": "Encounter" - }, { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-EXM105-FHIR3-8.0.000", "identifier": [ { @@ -950,87 +2993,74 @@ } }, { "resource": { - "resourceType": "Encounter", - "id": "denomex-EXM105-FHIR3-2", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] - }, - "status": "finished", - "class": { - "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", - "code": "IMP", - "display": "inpatient encounter" - }, - "type": [ { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "32485007", - "display": "Hospital admission (procedure)" - } ] - } ], - "subject": { - "reference": "Patient/denomex-EXM105-FHIR3" - }, - "period": { - "start": "2019-08-21T00:00:00-06:00", - "end": "2019-12-19T08:15:00-07:00" - }, - "diagnosis": [ { - "condition": { - "reference": "Condition/denomex-EXM105-FHIR3-1" - }, - "role": { - "coding": [ { - "system": "http://hl7.org/fhir/diagnosis-role", - "code": "billing", - "display": "Billing" - } ] - }, - "rank": 1 - } ], - "hospitalization": { - "dischargeDisposition": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "306701001", - "display": "Discharge to community hospital (procedure)" - } ] - } - } - }, - "request": { - "method": "PUT", - "url": "Encounter/denomex-EXM105-FHIR3-2" - } - }, { - "resource": { - "resourceType": "Condition", - "id": "denomex-EXM105-FHIR3-1", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition" ] - }, - "verificationStatus": "confirmed", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/condition-category", - "code": "encounter-diagnosis", - "display": "Encounter Diagnosis" - } ] - } ], - "code": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "116288000", - "display": "Paralytic stroke (disorder)" + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.215", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215", + "title": "LDL-c", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://loinc.org", + "version": "2.66", + "concept": [ { + "code": "13457-7", + "display": "Cholesterol in LDL [Mass/volume] in Serum or Plasma by calculation" + }, { + "code": "18261-8", + "display": "Cholesterol in LDL [Mass/volume] in Serum or Plasma ultracentrifugate" + }, { + "code": "18262-6", + "display": "Cholesterol in LDL [Mass/volume] in Serum or Plasma by Direct assay" + }, { + "code": "2089-1", + "display": "Cholesterol in LDL [Mass/volume] in Serum or Plasma" + }, { + "code": "43394-6", + "display": "Cholesterol in LDL acylated [Mass/volume] in Serum or Plasma" + }, { + "code": "49132-4", + "display": "Cholesterol in LDL [Mass/volume] in Serum or Plasma by Electrophoresis" + }, { + "code": "50193-2", + "display": "Cholesterol in LDL.narrow density [Mass/volume] in Serum or Plasma" + }, { + "code": "55440-2", + "display": "Cholesterol.in LDL (real) [Mass/volume] in Serum or Plasma by VAP" + }, { + "code": "86911-5", + "display": "Cholesterol in LDL goal [Mass/volume] Serum or Plasma" + }, { + "code": "90364-1", + "display": "Cholesterol.in LDL.small dense [Mass/volume] in Serum by Immunoassay" + }, { + "code": "91105-7", + "display": "Cholesterol in LDL 1 [Mass/volume] in Serum or Plasma" + }, { + "code": "91106-5", + "display": "Cholesterol in LDL 2 [Mass/volume] in Serum or Plasma" + }, { + "code": "91107-3", + "display": "Cholesterol in LDL 3 [Mass/volume] in Serum or Plasma" + }, { + "code": "91108-1", + "display": "Cholesterol in LDL 4 [Mass/volume] in Serum or Plasma" + }, { + "code": "91109-9", + "display": "Cholesterol in LDL 5 [Mass/volume] in Serum or Plasma" + }, { + "code": "91110-7", + "display": "Cholesterol in LDL 6 [Mass/volume] in Serum or Plasma" + }, { + "code": "91111-5", + "display": "Cholesterol in LDL 7 [Mass/volume] in Serum or Plasma" + } ] } ] - }, - "subject": { - "reference": "Patient/denomex-EXM105-FHIR3" } }, "request": { "method": "PUT", - "url": "Condition/denomex-EXM105-FHIR3-1" + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.215" } }, { "resource": { @@ -1258,57 +3288,6 @@ "method": "PUT", "url": "MeasureReport/measurereport-denom-EXM105-FHIR3" } - }, { - "resource": { - "resourceType": "Patient", - "id": "numer-EXM105-FHIR3", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2106-3", - "display": "White" - } - } ] - }, { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2186-5", - "display": "Not Hispanic or Latino" - } - } ] - } ], - "identifier": [ { - "use": "usual", - "type": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "MR", - "display": "Medical Record Number" - } ] - }, - "system": "http://hospital.smarthealthit.org", - "value": "9999999911" - } ], - "name": [ { - "family": "Jones", - "given": [ "Louise" ] - } ], - "gender": "female", - "birthDate": "1971-11-21" - }, - "request": { - "method": "PUT", - "url": "Patient/numer-EXM105-FHIR3" - } }, { "resource": { "resourceType": "MeasureReport", @@ -1545,83 +3524,358 @@ } }, { "resource": { - "resourceType": "MedicationRequest", - "id": "denomex-EXM105-FHIR3-5", - "status": "completed", - "intent": "order", - "category": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/medicationrequest-category", - "code": "discharge", - "display": "Discharge" + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.87", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.87" + } ], + "version": "20170725", + "name": "DischargeToAcuteCareFacility", + "title": "Discharge To Acute Care Facility", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "306701001", + "display": "Discharge to community hospital (procedure)" + }, { + "code": "306703003", + "display": "Discharge to tertiary referral hospital (procedure)" + }, { + "code": "434781000124105", + "display": "Discharge to acute care hospital (procedure)" + } ] } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.87" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" }, - "medicationCodeableConcept": { + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "197903", - "display": "Lovastatin 10 MG Oral Tablet" + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" } ] }, - "subject": { - "reference": "Patient/denomex-EXM105-FHIR3" - }, - "authoredOn": "2019-12-19T08:00:00-07:00" + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] }, "request": { "method": "PUT", - "url": "MedicationRequest/denomex-EXM105-FHIR3-5" + "url": "Library/library-FHIRHelpers-3.0.0" } }, { "resource": { - "resourceType": "Patient", - "id": "denom-EXM105-FHIR3", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2054-5", - "display": "Black or African American" - } - } ] - }, { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2135-2", - "display": "Hispanic or Latino" - } + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.473", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473", + "title": "Medical Reason", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "183932001", + "display": "Procedure contraindicated (situation)" + }, { + "code": "183964008", + "display": "Treatment not indicated (situation)" + }, { + "code": "183966005", + "display": "Drug treatment not indicated (situation)" + }, { + "code": "266721009", + "display": "Absent response to treatment (situation)" + }, { + "code": "31438003", + "display": "Drug resistance (disorder)" + }, { + "code": "35688006", + "display": "Complication of medical care (disorder)" + }, { + "code": "397745006", + "display": "Medical contraindication (finding)" + }, { + "code": "407563006", + "display": "Treatment not tolerated (situation)" + }, { + "code": "410529002", + "display": "Not needed (qualifier value)" + }, { + "code": "410534003", + "display": "Not indicated (qualifier value)" + }, { + "code": "410536001", + "display": "Contraindicated (qualifier value)" + }, { + "code": "416098002", + "display": "Allergy to drug (finding)" + }, { + "code": "419511003", + "display": "Propensity to adverse reactions to drug (finding)" + }, { + "code": "428024001", + "display": "Clinical trial participant (person)" + }, { + "code": "428119001", + "display": "Procedure not indicated (situation)" + }, { + "code": "59037007", + "display": "Intolerance to drug (finding)" + }, { + "code": "62014003", + "display": "Adverse reaction caused by drug (disorder)" + }, { + "code": "79899007", + "display": "Drug interaction (finding)" + } ] } ] - } ], - "identifier": [ { - "use": "usual", - "type": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "MR", - "display": "Medical Record Number" + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.473" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.212", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212", + "title": "Hemorrhagic Stroke", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "195155004", + "display": "Subarachnoid hemorrhage from carotid siphon and bifurcation (disorder)" + }, { + "code": "195160000", + "display": "Intracranial subarachnoid hemorrhage from vertebral artery (disorder)" + }, { + "code": "195165005", + "display": "Basal ganglia hemorrhage (disorder)" + }, { + "code": "195167002", + "display": "External capsule hemorrhage (disorder)" + }, { + "code": "195168007", + "display": "Intracerebral hemorrhage with intraventricular hemorrhage (disorder)" + }, { + "code": "195169004", + "display": "Intracerebral hemorrhage, multiple localized (disorder)" + }, { + "code": "20908003", + "display": "Subcortical cerebral hemorrhage (disorder)" + }, { + "code": "230706003", + "display": "Hemorrhagic cerebral infarction (disorder)" + }, { + "code": "230707007", + "display": "Anterior cerebral circulation hemorrhagic infarction (disorder)" + }, { + "code": "230708002", + "display": "Posterior cerebral circulation hemorrhagic infarction (disorder)" + }, { + "code": "230709005", + "display": "Massive supratentorial cerebral hemorrhage (disorder)" + }, { + "code": "230710000", + "display": "Lobar cerebral hemorrhage (disorder)" + }, { + "code": "230711001", + "display": "Thalamic hemorrhage (disorder)" + }, { + "code": "230712008", + "display": "Lacunar hemorrhage (disorder)" + }, { + "code": "23276006", + "display": "Ventricular hemorrhage (disorder)" + }, { + "code": "270907008", + "display": "Spontaneous intracranial subarachnoid hemorrhage (disorder)" + }, { + "code": "274100004", + "display": "Cerebral hemorrhage (disorder)" + }, { + "code": "276277008", + "display": "Subarachnoid hemorrhage from multiple aneurysms (disorder)" + }, { + "code": "276278003", + "display": "Subarachnoid hemorrhage from anterior cerebral artery aneurysm (disorder)" + }, { + "code": "276280009", + "display": "Subarachnoid hemorrhage from middle cerebral artery aneurysm (disorder)" + }, { + "code": "276281008", + "display": "Subarachnoid hemorrhage from posterior cerebral artery aneurysm (disorder)" + }, { + "code": "276282001", + "display": "Subarachnoid hemorrhage from anterior communicating artery aneurysm (disorder)" + }, { + "code": "276283006", + "display": "Subarachnoid hemorrhage from posterior communicating artery aneurysm (disorder)" + }, { + "code": "276284000", + "display": "Subarachnoid hemorrhage from basilar artery aneurysm (disorder)" + }, { + "code": "276285004", + "display": "Subarachnoid hemorrhage from posterior inferior cerebellar artery aneurysm (disorder)" + }, { + "code": "276286003", + "display": "Subarachnoid hemorrhage from carotid artery aneurysm (disorder)" + }, { + "code": "276722003", + "display": "Intracerebellar and posterior fossa hemorrhage (disorder)" + }, { + "code": "28318001", + "display": "Basilar hemorrhage (disorder)" + }, { + "code": "42429001", + "display": "Cerebromeningeal hemorrhage (disorder)" + }, { + "code": "425957003", + "display": "Non-traumatic intracerebral ventricular hemorrhage (disorder)" + }, { + "code": "449020009", + "display": "Intraparenchymal hemorrhage of brain (disorder)" + }, { + "code": "49422009", + "display": "Cortical hemorrhage (disorder)" + }, { + "code": "52201006", + "display": "Internal capsule hemorrhage (disorder)" + }, { + "code": "73020009", + "display": "Cerebral hemisphere hemorrhage (disorder)" + }, { + "code": "75038005", + "display": "Cerebellar hemorrhage (disorder)" + }, { + "code": "7713009", + "display": "Intrapontine hemorrhage (disorder)" + }, { + "code": "95454007", + "display": "Brain stem hemorrhage (disorder)" } ] - }, - "system": "http://hospital.smarthealthit.org", - "value": "9999999910" - } ], - "name": [ { - "family": "Jones", - "given": [ "Rick" ] - } ], - "gender": "male", - "birthDate": "1955-11-05" + }, { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2020", + "concept": [ { + "code": "I60.00", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified carotid siphon and bifurcation" + }, { + "code": "I60.01", + "display": "Nontraumatic subarachnoid hemorrhage from right carotid siphon and bifurcation" + }, { + "code": "I60.02", + "display": "Nontraumatic subarachnoid hemorrhage from left carotid siphon and bifurcation" + }, { + "code": "I60.10", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified middle cerebral artery" + }, { + "code": "I60.11", + "display": "Nontraumatic subarachnoid hemorrhage from right middle cerebral artery" + }, { + "code": "I60.12", + "display": "Nontraumatic subarachnoid hemorrhage from left middle cerebral artery" + }, { + "code": "I60.2", + "display": "Nontraumatic subarachnoid hemorrhage from anterior communicating artery" + }, { + "code": "I60.30", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified posterior communicating artery" + }, { + "code": "I60.31", + "display": "Nontraumatic subarachnoid hemorrhage from right posterior communicating artery" + }, { + "code": "I60.32", + "display": "Nontraumatic subarachnoid hemorrhage from left posterior communicating artery" + }, { + "code": "I60.4", + "display": "Nontraumatic subarachnoid hemorrhage from basilar artery" + }, { + "code": "I60.50", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified vertebral artery" + }, { + "code": "I60.51", + "display": "Nontraumatic subarachnoid hemorrhage from right vertebral artery" + }, { + "code": "I60.52", + "display": "Nontraumatic subarachnoid hemorrhage from left vertebral artery" + }, { + "code": "I60.6", + "display": "Nontraumatic subarachnoid hemorrhage from other intracranial arteries" + }, { + "code": "I60.7", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified intracranial artery" + }, { + "code": "I60.8", + "display": "Other nontraumatic subarachnoid hemorrhage" + }, { + "code": "I60.9", + "display": "Nontraumatic subarachnoid hemorrhage, unspecified" + }, { + "code": "I61.0", + "display": "Nontraumatic intracerebral hemorrhage in hemisphere, subcortical" + }, { + "code": "I61.1", + "display": "Nontraumatic intracerebral hemorrhage in hemisphere, cortical" + }, { + "code": "I61.2", + "display": "Nontraumatic intracerebral hemorrhage in hemisphere, unspecified" + }, { + "code": "I61.3", + "display": "Nontraumatic intracerebral hemorrhage in brain stem" + }, { + "code": "I61.4", + "display": "Nontraumatic intracerebral hemorrhage in cerebellum" + }, { + "code": "I61.5", + "display": "Nontraumatic intracerebral hemorrhage, intraventricular" + }, { + "code": "I61.6", + "display": "Nontraumatic intracerebral hemorrhage, multiple localized" + }, { + "code": "I61.8", + "display": "Other nontraumatic intracerebral hemorrhage" + }, { + "code": "I61.9", + "display": "Nontraumatic intracerebral hemorrhage, unspecified" + } ] + } ] + } }, "request": { "method": "PUT", - "url": "Patient/denom-EXM105-FHIR3" + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.212" } }, { "resource": { diff --git a/fhir3/bundles/measure/EXM105_FHIR3-8.0.000/EXM105_FHIR3-8.0.000-files/library-EXM105_FHIR3-8.0.000.json b/fhir3/bundles/measure/EXM105_FHIR3-8.0.000/EXM105_FHIR3-8.0.000-files/library-EXM105_FHIR3-8.0.000.json index 21c951ce..ea471ee7 100644 --- a/fhir3/bundles/measure/EXM105_FHIR3-8.0.000/EXM105_FHIR3-8.0.000-files/library-EXM105_FHIR3-8.0.000.json +++ b/fhir3/bundles/measure/EXM105_FHIR3-8.0.000/EXM105_FHIR3-8.0.000-files/library-EXM105_FHIR3-8.0.000.json @@ -21,8 +21,337 @@ "code": "logic-library" } ] }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/Library/FHIR-ModelInfo|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/FHIRHelpers|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/MATGlobalCommonFunctions_FHIR3|4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/SupplementalDataElements_FHIR3|1.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/TJCOverall_FHIR3|3.6.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://loinc.org" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://snomed.info/sct/731000124108" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/diagnosis-role" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/request-intent" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.19" + } + } ], + "parameter": [ { + "name": "Measurement Period", + "use": "in", + "min": 0, + "max": "1", + "type": "Period" + }, { + "name": "Patient", + "use": "out", + "min": 0, + "max": "1", + "type": "Patient" + }, { + "name": "SDE Ethnicity", + "use": "out", + "min": 0, + "max": "*", + "type": "Coding" + }, { + "name": "SDE Payer", + "use": "out", + "min": 0, + "max": "*", + "type": "Any" + }, { + "name": "SDE Race", + "use": "out", + "min": 0, + "max": "*", + "type": "Coding" + }, { + "name": "SDE Sex", + "use": "out", + "min": 0, + "max": "1", + "type": "Coding" + }, { + "name": "Non Elective Inpatient Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "All Stroke Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Encounter with Principal Diagnosis and Age", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Initial Population", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Statin Allergy", + "use": "out", + "min": 0, + "max": "*", + "type": "AllergyIntolerance" + }, { + "name": "Ischemic Stroke Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Statin at Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "MedicationRequest" + }, { + "name": "Numerator", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Statin Not Given at Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "MedicationRequest" + }, { + "name": "Encounter with Max LDL less than 70 mg per dL", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator Exception", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Ischemic Stroke Encounters with Discharge Status", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Intervention Comfort Measures", + "use": "out", + "min": 0, + "max": "*", + "type": "Any" + }, { + "name": "Comfort Measures during Hospitalization", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator Exclusion", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } + } ] + }, { + "type": "Patient" + }, { + "type": "AllergyIntolerance", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423" + } + } ] + }, { + "type": "MedicationRequest" + }, { + "type": "MedicationRequest" + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215" + } + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + } ] + } ], "content": [ { "contentType": "text/cql", "data": "bGlicmFyeSBFWE0xMDVfRkhJUjMgdmVyc2lvbiAnOC4wLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEwNXY4IC0gRGlzY2hhcmdlZCBvbiBTdGF0aW4gTWVkaWNhdGlvbgpBdXRob3I6IFRKQwoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzQuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKaW5jbHVkZSBUSkNPdmVyYWxsX0ZISVIzIHZlcnNpb24gJzMuNi4wMDAnIGNhbGxlZCBUSkMKCmNvZGVzeXN0ZW0gIkxPSU5DIjogJ2h0dHA6Ly9sb2luYy5vcmcnCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4Jwpjb2Rlc3lzdGVtICJEaWFnbm9zaXMgUm9sZSI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlJwpjb2Rlc3lzdGVtICJSZXF1ZXN0SW50ZW50IjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnCgp2YWx1ZXNldCAiQ29tZm9ydCBNZWFzdXJlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNycKdmFsdWVzZXQgIkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS44NycKdmFsdWVzZXQgIkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDknCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIklzY2hlbWljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJMREwtYyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE1Jwp2YWx1ZXNldCAiTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDgnCnZhbHVlc2V0ICJNZWRpY2FsIFJlYXNvbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDczJwp2YWx1ZXNldCAiTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCcKdmFsdWVzZXQgIk9ic2VydmF0aW9uIFNlcnZpY2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMnCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlBhdGllbnQgRXhwaXJlZCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5Jwp2YWx1ZXNldCAiUGF0aWVudCBSZWZ1c2FsIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS45MycKdmFsdWVzZXQgIlBheWVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIlN0YXRpbiBBbGxlcmdlbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDIzJwp2YWx1ZXNldCAiU3RhdGluIEdyb3VwZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTEwLjE5JwoKLy8gVE9ETzogVXNlIE5MTSBWU0FDIENhbm9uaWNhbCBVUkxzCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiRGVhZCI6ICc0MTkwOTkwMDknIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdEZWFkJwovL2NvZGUgIk1lZGljYXRpb24tZGlzY2hhcmdlTWVkaWNhdGlvbiI6ICc4NjU0LTYnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdIb3NwaXRhbCBEaXNjaGFyZ2UgbWVkaWNhdGlvbnMnCgpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwpjb2RlICJPcmRlciI6ICdvcmRlcicgZnJvbSAiUmVxdWVzdEludGVudCIgZGlzcGxheSAnT3JkZXInCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKCVNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CiAgU0RFLiJTREUgUmFjZSIKCmRlZmluZSAiU0RFIFNleCI6CglTREUuIlNERSBTZXgiCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CgkiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIgoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiOgoJIkFsbCBTdHJva2UgRW5jb3VudGVyIiBBbGxTdHJva2VFbmNvdW50ZXIKCQl3aXRoIFsiUGF0aWVudCJdIEJpcnRoRGF0ZQoJCQlzdWNoIHRoYXQgQWdlSW5ZZWFyc0F0KEFsbFN0cm9rZUVuY291bnRlci5wZXJpb2Quc3RhcnQpID49IDE4CgpkZWZpbmUgIkFsbCBTdHJva2UgRW5jb3VudGVyIjoKCSJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgTm9uRWxlY3RpdmVFbmNvdW50ZXIKCQl3aGVyZSBHbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKE5vbkVsZWN0aXZlRW5jb3VudGVyKS5jb2RlIGluICJIZW1vcnJoYWdpYyBTdHJva2UiCgkJb3IgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKZGVmaW5lICJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6CglbIkVuY291bnRlciI6ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciJdIE5vbkVsZWN0aXZlRW5jb3VudGVyCgkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CglUSkMuIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiCgpkZWZpbmUgIlN0YXRpbiBBbGxlcmd5IjoKCVsiQWxsZXJneUludG9sZXJhbmNlIjogIlN0YXRpbiBBbGxlcmdlbiJdCgpkZWZpbmUgIk51bWVyYXRvciI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aXRoICJTdGF0aW4gYXQgRGlzY2hhcmdlIiBEaXNjaGFyZ2VTdGF0aW4KCQkJc3VjaCB0aGF0IERpc2NoYXJnZVN0YXRpbi5hdXRob3JlZE9uIGR1cmluZyBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QKCmRlZmluZSAiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciI6CgkiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiBFbmNvdW50ZXJXaXRoQWdlCgkJd2hlcmUgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhFbmNvdW50ZXJXaXRoQWdlKS5jb2RlIGluICJJc2NoZW1pYyBTdHJva2UiCgovLyBNZWRpY2F0aW9uIG9yZGVycyBhdCBkaXNjaGFyZ2UsIGhvdyBkbyB3ZSBrbm93IHRoYXQgdGhlc2UgYXJlIG9yZGVyZWQgd2l0aCB0aGUgaW50ZW50IHRvIGJlIHRha2VuIGRpc2NoYXJnZSByYXRoZXIgdGhhbiB0aGUgaW5wYXRpZW50IHN0YXkuCmRlZmluZSAiU3RhdGluIGF0IERpc2NoYXJnZSI6CglbIk1lZGljYXRpb25SZXF1ZXN0Il0gU3RhdGluCgkJd2hlcmUgKFN0YXRpbi5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdCkgaW4gIlN0YXRpbiBHcm91cGVyIgoJCQlhbmQgU3RhdGluLmludGVudCA9ICdvcmRlcicKCmRlZmluZSAiU3RhdGluIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UiOgoJWyJNZWRpY2F0aW9uUmVxdWVzdCJdIE5vU3RhdGluCgkJd2hlcmUgKE5vU3RhdGluLm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0KSBpbiAiU3RhdGluIEdyb3VwZXIiCgkJCWFuZCAoc2luZ2xldG9uIGZyb20gTm9TdGF0aW4ucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iCgkJCQlvciBzaW5nbGV0b24gZnJvbSBOb1N0YXRpbi5yZWFzb25Db2RlIGluICJQYXRpZW50IFJlZnVzYWwiKQoKLy9Gb2xsaW5nIGZ1bmN0aW9uIGNvcGllZCBmcm9tIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9ucyAyLjAgaW4gY3FmLW1lYXN1cmVzIGdpdGh1YiByZXBvCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgoJaWYgb25zZXQgaXMgRkhJUi5kYXRlVGltZSB0aGVuIEludGVydmFsW29uc2V0LnZhbHVlLCBvbnNldC52YWx1ZV0KCWVsc2UgaWYgb25zZXQgaXMgRkhJUi5QZXJpb2QgdGhlbiBGSElSSGVscGVycy5Ub0ludGVydmFsKG9uc2V0IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBudWxsCgpkZWZpbmUgIkVuY291bnRlciB3aXRoIE1heCBMREwgbGVzcyB0aGFuIDcwIG1nIHBlciBkTCI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aGVyZSBNYXgoWyJPYnNlcnZhdGlvbiI6ICJMREwtYyJdIExkbAoJCQkJd2hlcmUgTGRsLmlzc3VlZCBkdXJpbmcgSW50ZXJ2YWxbSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kLnN0YXJ0IC0gMzAgZGF5cyxJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QuZW5kXQoJCQkJcmV0dXJuIChMZGwudmFsdWUgYXMgUXVhbnRpdHkpCgkJKSA8IDcwCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2VwdGlvbiI6CgkoIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiU3RhdGluIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UiIE5vRGlzY2hhcmdlU3RhdGluCgkJCXN1Y2ggdGhhdCBOb0Rpc2NoYXJnZVN0YXRpbi5hdXRob3JlZE9uIGR1cmluZyBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QKCSkKCXVuaW9uCgkoIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiU3RhdGluIEFsbGVyZ3kiIFN0YXRpbkFsbGVyZ3kKCQkJc3VjaCB0aGF0ICJOb3JtYWxpemUgT25zZXQiKFN0YXRpbkFsbGVyZ3kub25zZXQpIG9uIG9yIGJlZm9yZSBlbmQgb2YgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgoJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIFN0YXR1cyIKCXVuaW9uCgkiQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIgoKZGVmaW5lICJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBTdGF0dXMiOgoJKCJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgoJCXdoZXJlIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiCgkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIgoJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIlBhdGllbnQgRXhwaXJlZCIKCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSIKCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiCgkpCgpkZWZpbmUgIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aXRoICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyIgQ29tZm9ydE1lYXN1cmUKCQkJc3VjaCB0aGF0IENvbWZvcnRNZWFzdXJlLmF1dGhvcmVkT24gZHVyaW5nIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uIihJc2NoZW1pY1N0cm9rZUVuY291bnRlcikKCi8qCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgoJKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJDb21mb3J0IE1lYXN1cmVzIl0gUAoJCXdoZXJlIFAuaW50ZW50ID0gJ29yZGVyJykKCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJDb21mb3J0IE1lYXN1cmVzIl0KKi8KCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgoJKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJDb21mb3J0IE1lYXN1cmVzIl0gUAoJCXdoZXJlIFAuaW50ZW50IGluIHsncGxhbicsICdvcmRlcid9KQoJCXVuaW9uCgkJKFsiUHJvY2VkdXJlIjogIkNvbWZvcnQgTWVhc3VyZXMiXSBJbnRlcnZldGlvblBlcmZvcm1lZAoJCXdoZXJlIEludGVydmV0aW9uUGVyZm9ybWVkLnN0YXR1cyBpbiB7J2NvbXBsZXRlJywgJ2luIHByb2dyZXNzJ30pCg==" + }, { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjMiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTEwNV9GSElSMyIgdmVyc2lvbj0iOC4wLjAwMCIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9Ijg6MS04OjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxIj4KICAgICAgICAgICAgICAgPGE6cz51c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyIiBsb2NhdG9yPSIxMDoxLTEwOjM1IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICczLjAuMCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMyIgbG9jYXRvcj0iMTE6MS0xMTo3MCIgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iNC4wLjAwMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+TUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQiIGxvY2F0b3I9IjEyOjEtMTI6NjUiIGxvY2FsSWRlbnRpZmllcj0iU0RFIiBwYXRoPSJTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMiIHZlcnNpb249IjEuMC4wIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5TdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzEuMC4wJyBjYWxsZWQgU0RFPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUiIGxvY2F0b3I9IjEzOjEtMTM6NTMiIGxvY2FsSWRlbnRpZmllcj0iVEpDIiBwYXRoPSJUSkNPdmVyYWxsX0ZISVIzIiB2ZXJzaW9uPSIzLjYuMDAwIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNSI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5USkNPdmVyYWxsX0ZISVIzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICczLjYuMDAwJyBjYWxsZWQgVEpDPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8cGFyYW1ldGVycz4KICAgICAgPGRlZiBsb2NhbElkPSI0MyIgbG9jYXRvcj0iNDk6MS01MDo2NiIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDMiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDIiPgogICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogIGRlZmF1bHQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4Ij5JbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iNDAiIGxvY2F0b3I9IjUwOjExLTUwOjY2IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjM4IiBsb2NhdG9yPSI1MDoyMC01MDo0MSIgeHNpOnR5cGU9IkRhdGVUaW1lIj4KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDE5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIzOSIgbG9jYXRvcj0iNTA6NDQtNTA6NjUiIHhzaTp0eXBlPSJEYXRlVGltZSI+CiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZGVmYXVsdD4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDIiIGxvY2F0b3I9IjQ5OjMyLTQ5OjQ5IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSI0MSIgbG9jYXRvcj0iNDk6NDEtNDk6NDgiIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPgogICAgICA8L2RlZj4KICAgPC9wYXJhbWV0ZXJzPgogICA8Y29kZVN5c3RlbXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iNiIgbG9jYXRvcj0iMTU6MS0xNTozOCIgbmFtZT0iTE9JTkMiIGlkPSJodHRwOi8vbG9pbmMub3JnIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNiI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtMT0lOQyZxdW90OzogJ2h0dHA6Ly9sb2luYy5vcmcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjciIGxvY2F0b3I9IjE2OjEtMTY6NjAiIG5hbWU9IlNOT01FRENUIiBpZD0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O1NOT01FRENUJnF1b3Q7OiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgiIGxvY2F0b3I9IjE3OjEtMTc6NjUiIG5hbWU9IkRpYWdub3NpcyBSb2xlIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7RGlhZ25vc2lzIFJvbGUmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5IiBsb2NhdG9yPSIxODoxLTE4OjY0IiBuYW1lPSJSZXF1ZXN0SW50ZW50IiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7UmVxdWVzdEludGVudCZxdW90OzogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2NvZGVTeXN0ZW1zPgogICA8dmFsdWVTZXRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwIiBsb2NhdG9yPSIyMDoxLTIwOjk0IiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0NvbWZvcnQgTWVhc3VyZXMmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExIiBsb2NhdG9yPSIyMToxLTIxOjEzNiIgbmFtZT0iRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMiIgbG9jYXRvcj0iMjI6MS0yMjoxMTYiIG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTIiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0Rpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMyIgbG9jYXRvcj0iMjM6MS0yMzoxMjAiIG5hbWU9IkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDknPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE0IiBsb2NhdG9yPSIyNDoxLTI0OjExMSIgbmFtZT0iRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0VtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5Mic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTUiIGxvY2F0b3I9IjI1OjEtMjU6ODciIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE1Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtFdGhuaWNpdHkmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE2IiBsb2NhdG9yPSIyNjoxLTI2OjEwMCIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE2Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtJc2NoZW1pYyBTdHJva2UmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNyIgbG9jYXRvcj0iMjc6MS0yNzoxMDMiIG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNyI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7SGVtb3JyaGFnaWMgU3Ryb2tlJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxMic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTgiIGxvY2F0b3I9IjI4OjEtMjg6OTAiIG5hbWU9IkxETC1jIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxNSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE4Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtMREwtYyZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTUnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE5IiBsb2NhdG9yPSIyOToxLTI5OjExMiIgbmFtZT0iTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE5Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA4JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMCIgbG9jYXRvcj0iMzA6MS0zMDo5OSIgbmFtZT0iTWVkaWNhbCBSZWFzb24iIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDczIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjAiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O01lZGljYWwgUmVhc29uJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQ3Myc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjEiIGxvY2F0b3I9IjMxOjEtMzE6MTE3IiBuYW1lPSJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40MjQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMSI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7Tm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXImcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDI0JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMiIgbG9jYXRvcj0iMzI6MS0zMjoxMDIiIG5hbWU9Ik9ic2VydmF0aW9uIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIyIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtPYnNlcnZhdGlvbiBTZXJ2aWNlcyZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzIiBsb2NhdG9yPSIzMzoxLTMzOjk3IiBuYW1lPSJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjMiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O09OQyBBZG1pbmlzdHJhdGl2ZSBTZXgmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0IiBsb2NhdG9yPSIzNDoxLTM0OjEwMCIgbmFtZT0iUGF0aWVudCBFeHBpcmVkIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI0Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtQYXRpZW50IEV4cGlyZWQmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNSIgbG9jYXRvcj0iMzU6MS0zNTo5OSIgbmFtZT0iUGF0aWVudCBSZWZ1c2FsIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjkzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjUiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1BhdGllbnQgUmVmdXNhbCZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS45Myc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjYiIGxvY2F0b3I9IjM2OjEtMzY6ODQiIG5hbWU9IlBheWVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI2Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtQYXllciZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3IiBsb2NhdG9yPSIzNzoxLTM3OjgyIiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjciPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1JhY2UmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzYnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI4IiBsb2NhdG9yPSIzODoxLTM4OjEwMCIgbmFtZT0iU3RhdGluIEFsbGVyZ2VuIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyMyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI4Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtTdGF0aW4gQWxsZXJnZW4mcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDIzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyOSIgbG9jYXRvcj0iMzk6MS0zOTo5NSIgbmFtZT0iU3RhdGluIEdyb3VwZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMTkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7U3RhdGluIEdyb3VwZXImcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMTknPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L3ZhbHVlU2V0cz4KICAgPGNvZGVzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMxIiBsb2NhdG9yPSI0MjoxLTQyOjYxIiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzEiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7QmlydGhkYXRlJnF1b3Q7OiAnMjExMTItOCcgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TE9JTkMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ0JpcnRoIGRhdGUnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjMwIiBsb2NhdG9yPSI0MjozNC00Mjo0MCIgbmFtZT0iTE9JTkMiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzMiIGxvY2F0b3I9IjQzOjEtNDM6NTUiIG5hbWU9IkRlYWQiIGlkPSI0MTkwOTkwMDkiIGRpc3BsYXk9IkRlYWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMyI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtEZWFkJnF1b3Q7OiAnNDE5MDk5MDA5JyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMyIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTTk9NRURDVCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnRGVhZCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMzIiIGxvY2F0b3I9IjQzOjMxLTQzOjQwIiBuYW1lPSJTTk9NRURDVCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNSIgbG9jYXRvcj0iNDY6MS00Njo2NSIgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNSI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtCaWxsaW5nJnF1b3Q7OiAnYmlsbGluZycgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGlhZ25vc2lzIFJvbGUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ0JpbGxpbmcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjM0IiBsb2NhdG9yPSI0NjozMi00Njo0NyIgbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzciIGxvY2F0b3I9IjQ3OjEtNDc6NTgiIG5hbWU9Ik9yZGVyIiBpZD0ib3JkZXIiIGRpc3BsYXk9Ik9yZGVyIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzciPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7T3JkZXImcXVvdDs6ICdvcmRlcicgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UmVxdWVzdEludGVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnT3JkZXInPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjM2IiBsb2NhdG9yPSI0NzoyOC00Nzo0MiIgbmFtZT0iUmVxdWVzdEludGVudCIvPgogICAgICA8L2RlZj4KICAgPC9jb2Rlcz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjUyOjEtNTI6MTUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0cz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iNTI6MS01MjoxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTI6MS01MjoxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDYiIGxvY2F0b3I9IjU0OjEtNTU6MjEiIG5hbWU9IlNERSBFdGhuaWNpdHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0NiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O1NERSBFdGhuaWNpdHkmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5TREU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTREUgRXRobmljaXR5JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDUiIGxvY2F0b3I9IjU1OjMtNTU6MjEiIG5hbWU9IlNERSBFdGhuaWNpdHkiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ5IiBsb2NhdG9yPSI1NzoxLTU4OjE2IiBuYW1lPSJTREUgUGF5ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0OSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O1NERSBQYXllciZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+U0RFPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U0RFIFBheWVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDgiIGxvY2F0b3I9IjU4OjItNTg6MTYiIG5hbWU9IlNERSBQYXllciIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTIiIGxvY2F0b3I9IjYwOjEtNjE6MTYiIG5hbWU9IlNERSBSYWNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtTREUgUmFjZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPlNERTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1NERSBSYWNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTEiIGxvY2F0b3I9IjYxOjMtNjE6MTYiIG5hbWU9IlNERSBSYWNlIiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1NSIgbG9jYXRvcj0iNjM6MS02NDoxNCIgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7U0RFIFNleCZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+U0RFPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U0RFIFNleCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU0IiBsb2NhdG9yPSI2NDoyLTY0OjE0IiBuYW1lPSJTREUgU2V4IiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3MCIgbG9jYXRvcj0iNzk6MS04Mjo2NyIgbmFtZT0iTm9uIEVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O05vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjkiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtFbmNvdW50ZXImcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O05vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBOb25FbGVjdGl2ZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HbG9iYWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtMZW5ndGhJbkRheXMmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob25FbGVjdGl2ZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjIiPiZsdDs9IDEyMDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk5vbkVsZWN0aXZlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NyI+IGVuZHMgZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2OSIgbG9jYXRvcj0iODA6Mi04Mjo2NyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1NyIgbG9jYXRvcj0iODA6Mi04MDo3MSIgYWxpYXM9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTYiIGxvY2F0b3I9IjgwOjItODA6NTAiIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSI4MDoxNi04MDo0OSIgbmFtZT0iTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iNjgiIGxvY2F0b3I9IjgxOjMtODI6NjciIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MyIgbG9jYXRvcj0iODE6OS04MTo2NCIgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjEiIGxvY2F0b3I9IjgxOjktODE6NTgiIG5hbWU9Ikxlbmd0aEluRGF5cyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MCIgbG9jYXRvcj0iODE6MzEtODE6NTciIHBhdGg9InBlcmlvZCIgc2NvcGU9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYyIiBsb2NhdG9yPSI4MTo2Mi04MTo2NCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjciIGxvY2F0b3I9IjgyOjgtODI6NjciIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgyOjM2LTgyOjM5IiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2NSIgbG9jYXRvcj0iODI6OC04MjozNCIgcGF0aD0icGVyaW9kIiBzY29wZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjYiIGxvY2F0b3I9IjgyOjQ4LTgyOjY3IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijg3IiBsb2NhdG9yPSI3NDoxLTc3Ojc4IiBuYW1lPSJBbGwgU3Ryb2tlIEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7QWxsIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE5vbkVsZWN0aXZlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HbG9iYWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QcmluY2lwYWxEaWFnbm9zaXMoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk5vbkVsZWN0aXZlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtIZW1vcnJoYWdpYyBTdHJva2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCW9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HbG9iYWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QcmluY2lwYWxEaWFnbm9zaXMoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk5vbkVsZWN0aXZlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4NiIgbG9jYXRvcj0iNzU6Mi03Nzo3OCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3MiIgbG9jYXRvcj0iNzU6Mi03NTo1NiIgYWxpYXM9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzEiIGxvY2F0b3I9Ijc1OjItNzU6MzUiIG5hbWU9Ik5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9Ijg1IiBsb2NhdG9yPSI3NjozLTc3Ojc4IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3OCIgbG9jYXRvcj0iNzY6OS03Njo4NCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzYiIGxvY2F0b3I9Ijc2OjktNzY6NjAiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzUiIGxvY2F0b3I9Ijc2OjktNzY6NTUiIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzQiIGxvY2F0b3I9Ijc2OjM1LTc2OjU0IiBuYW1lPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9Ijc3IiBsb2NhdG9yPSI3Njo2NS03Njo4NCIgbmFtZT0iSGVtb3JyaGFnaWMgU3Ryb2tlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4NCIgbG9jYXRvcj0iNzc6Ni03Nzo3OCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODIiIGxvY2F0b3I9Ijc3OjYtNzc6NTciIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODEiIGxvY2F0b3I9Ijc3OjYtNzc6NTIiIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODAiIGxvY2F0b3I9Ijc3OjMyLTc3OjUxIiBuYW1lPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjgzIiBsb2NhdG9yPSI3Nzo2Mi03Nzo3OCIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwMCIgbG9jYXRvcj0iNjk6MS03Mjo2NCIgbmFtZT0iRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTkiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QWxsIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBBbGxTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aXRoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtQYXRpZW50JnF1b3Q7XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJc3VjaCB0aGF0IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5ZZWFyc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFsbFN0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NiI+ID49IDE4PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijk5IiBsb2NhdG9yPSI3MDoyLTcyOjY0IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg5IiBsb2NhdG9yPSI3MDoyLTcwOjQyIiBhbGlhcz0iQWxsU3Ryb2tlRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODgiIGxvY2F0b3I9IjcwOjItNzA6MjMiIG5hbWU9IkFsbCBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSI5OCIgbG9jYXRvcj0iNzE6My03Mjo2NCIgYWxpYXM9IkJpcnRoRGF0ZSIgeHNpOnR5cGU9IldpdGgiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5MCIgbG9jYXRvcj0iNzE6OC03MToxOCIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgICAgIDxzdWNoVGhhdCBsb2NhbElkPSI5NyIgbG9jYXRvcj0iNzI6MTQtNzI6NjQiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk1IiBsb2NhdG9yPSI3MjoxNC03Mjo1OCIgcHJlY2lzaW9uPSJZZWFyIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5NCIgbG9jYXRvcj0iNzI6MjctNzI6NTciIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjkzIiBsb2NhdG9yPSI3MjoyNy03Mjo1MSIgcGF0aD0icGVyaW9kIiBzY29wZT0iQWxsU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTYiIGxvY2F0b3I9IjcyOjYzLTcyOjY0IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE4IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3N1Y2hUaGF0PgogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDIiIGxvY2F0b3I9IjY2OjEtNjc6NDUiIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0luaXRpYWwgUG9wdWxhdGlvbiZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDEiIGxvY2F0b3I9IjY3OjItNjc6NDUiIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTA1IiBsb2NhdG9yPSI4NDoxLTg1OjMyIiBuYW1lPSJEZW5vbWluYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwNSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0Rlbm9taW5hdG9yJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTA0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPlRKQzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTA0IiBsb2NhdG9yPSI4NToyLTg1OjMyIiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDciIGxvY2F0b3I9Ijg3OjEtODg6NDIiIG5hbWU9IlN0YXRpbiBBbGxlcmd5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTA3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7U3RhdGluIEFsbGVyZ3kmcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDYiPgogICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtBbGxlcmd5SW50b2xlcmFuY2UmcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1N0YXRpbiBBbGxlcmdlbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDYiIGxvY2F0b3I9Ijg4OjItODg6NDIiIGRhdGFUeXBlPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZSIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSI4ODoyNS04ODo0MSIgbmFtZT0iU3RhdGluIEFsbGVyZ2VuIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMTciIGxvY2F0b3I9Ijk1OjEtOTc6NzciIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMTciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTE2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gRW5jb3VudGVyV2l0aEFnZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkdsb2JhbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QcmluY2lwYWxEaWFnbm9zaXMoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXJXaXRoQWdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTE2IiBsb2NhdG9yPSI5NjoyLTk3Ojc3IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEwOSIgbG9jYXRvcj0iOTY6Mi05Njo2MiIgYWxpYXM9IkVuY291bnRlcldpdGhBZ2UiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDgiIGxvY2F0b3I9Ijk2OjItOTY6NDUiIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxMTUiIGxvY2F0b3I9Ijk3OjMtOTc6NzciIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExMyIgbG9jYXRvcj0iOTc6OS05Nzo1NiIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMTIiIGxvY2F0b3I9Ijk3OjktOTc6NTEiIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTExIiBsb2NhdG9yPSI5NzozNS05Nzo1MCIgbmFtZT0iRW5jb3VudGVyV2l0aEFnZSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjExNCIgbG9jYXRvcj0iOTc6NjEtOTc6NzciIG5hbWU9IklzY2hlbWljIFN0cm9rZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTM0IiBsb2NhdG9yPSIxMDA6MS0xMDM6MzAiIG5hbWU9IlN0YXRpbiBhdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMzQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtTdGF0aW4gYXQgRGlzY2hhcmdlJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTMzIj4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7TWVkaWNhdGlvblJlcXVlc3QmcXVvdDtdPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gU3RhdGluPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5TdGF0aW48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bWVkaWNhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29kZWFibGVDb25jZXB0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1N0YXRpbiBHcm91cGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlN0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pbnRlbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J29yZGVyJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzMyIgbG9jYXRvcj0iMTAxOjItMTAzOjMwIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyMSIgbG9jYXRvcj0iMTAxOjItMTAxOjI5IiBhbGlhcz0iU3RhdGluIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTIwIiBsb2NhdG9yPSIxMDE6Mi0xMDE6MjIiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxMzIiIGxvY2F0b3I9IjEwMjozLTEwMzozMCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyNyIgbG9jYXRvcj0iMTAyOjktMTAyOjY2IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjUiIGxvY2F0b3I9IjEwMjo5LTEwMjo0NiIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTIzIiBsb2NhdG9yPSIxMDI6MTAtMTAyOjI2IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMjQiIGxvY2F0b3I9IjEwMjozMS0xMDI6NDUiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTI2IiBsb2NhdG9yPSIxMDI6NTEtMTAyOjY2IiBuYW1lPSJTdGF0aW4gR3JvdXBlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTMxIiBsb2NhdG9yPSIxMDM6OC0xMDM6MzAiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyOSIgbG9jYXRvcj0iMTAzOjgtMTAzOjIwIiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJTdGF0aW4iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzMCIgbG9jYXRvcj0iMTAzOjI0LTEwMzozMCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQ0IiBsb2NhdG9yPSI5MDoxLTkzOjc3IiBuYW1lPSJOdW1lcmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNDQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtOdW1lcmF0b3ImcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNDMiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U3RhdGluIGF0IERpc2NoYXJnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IERpc2NoYXJnZVN0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJc3VjaCB0aGF0IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkRpc2NoYXJnZVN0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hdXRob3JlZE9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDEiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE0MyIgbG9jYXRvcj0iOTE6Mi05Mzo3NyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMTkiIGxvY2F0b3I9IjkxOjItOTE6NTIiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExOCIgbG9jYXRvcj0iOTE6Mi05MToyOCIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgbG9jYWxJZD0iMTQyIiBsb2NhdG9yPSI5MjozLTkzOjc3IiBhbGlhcz0iRGlzY2hhcmdlU3RhdGluIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzNSIgbG9jYXRvcj0iOTI6OC05MjoyOCIgbmFtZT0iU3RhdGluIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjE0MSIgbG9jYXRvcj0iOTM6MTQtOTM6NzciIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTM4IiBsb2NhdG9yPSI5MzoxNC05MzozOSIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkRpc2NoYXJnZVN0YXRpbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDAiIGxvY2F0b3I9IjkzOjQ4LTkzOjc3IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTY2IiBsb2NhdG9yPSIxMDU6MS0xMDk6NjMiIG5hbWU9IlN0YXRpbiBOb3QgR2l2ZW4gYXQgRGlzY2hhcmdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTY2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7U3RhdGluIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UmcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNjUiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtNZWRpY2F0aW9uUmVxdWVzdCZxdW90O108L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBOb1N0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Tm9TdGF0aW48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bWVkaWNhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29kZWFibGVDb25jZXB0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1N0YXRpbiBHcm91cGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob1N0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZWFzb25Db2RlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVkaWNhbCBSZWFzb24mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQkJb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob1N0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZWFzb25Db2RlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UGF0aWVudCBSZWZ1c2FsJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTY1IiBsb2NhdG9yPSIxMDY6Mi0xMDk6NjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTQ2IiBsb2NhdG9yPSIxMDY6Mi0xMDY6MzEiIGFsaWFzPSJOb1N0YXRpbiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE0NSIgbG9jYXRvcj0iMTA2OjItMTA2OjIyIiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMTY0IiBsb2NhdG9yPSIxMDc6My0xMDk6NjMiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTIiIGxvY2F0b3I9IjEwNzo5LTEwNzo2OCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTUwIiBsb2NhdG9yPSIxMDc6OS0xMDc6NDgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0OCIgbG9jYXRvcj0iMTA3OjEwLTEwNzoyOCIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik5vU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNDkiIGxvY2F0b3I9IjEwNzozMy0xMDc6NDciIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTUxIiBsb2NhdG9yPSIxMDc6NTMtMTA3OjY4IiBuYW1lPSJTdGF0aW4gR3JvdXBlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTYzIiBsb2NhdG9yPSIxMDg6OC0xMDk6NjMiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1NyIgbG9jYXRvcj0iMTA4OjktMTA4OjYyIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTUiIGxvY2F0b3I9IjEwODo5LTEwODo0MiIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTQiIGxvY2F0b3I9IjEwODoyNC0xMDg6NDIiIHBhdGg9InJlYXNvbkNvZGUiIHNjb3BlPSJOb1N0YXRpbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTU2IiBsb2NhdG9yPSIxMDg6NDctMTA4OjYyIiBuYW1lPSJNZWRpY2FsIFJlYXNvbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTYyIiBsb2NhdG9yPSIxMDk6OC0xMDk6NjIiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2MCIgbG9jYXRvcj0iMTA5OjgtMTA5OjQxIiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1OSIgbG9jYXRvcj0iMTA5OjIzLTEwOTo0MSIgcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIxNjEiIGxvY2F0b3I9IjEwOTo0Ni0xMDk6NjIiIG5hbWU9IlBhdGllbnQgUmVmdXNhbCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE5MiIgbG9jYXRvcj0iMTEyOjEtMTE1OjEwIiBuYW1lPSJOb3JtYWxpemUgT25zZXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE5MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O05vcm1hbGl6ZSBPbnNldCZxdW90OyhvbnNldCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNzIiPgogICAgICAgICAgICAgICAgICA8YTpzPkNob2ljZSZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQWdlPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5SYW5nZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5zdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTkxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsWzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b25zZXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgllbHNlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9uc2V0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9JbnRlcnZhbCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b25zZXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5QZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4OSI+CgllbHNlIG51bGw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTkxIiBsb2NhdG9yPSIxMTM6Mi0xMTU6MTAiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3NSIgbG9jYXRvcj0iMTEzOjUtMTEzOjI2IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzMiIGxvY2F0b3I9IjExMzo1LTExMzo5IiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNzQiIGxvY2F0b3I9IjExMzoxNC0xMTM6MjYiIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMTgwIiBsb2NhdG9yPSIxMTM6MzMtMTEzOjY2IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMTc3IiBsb2NhdG9yPSIxMTM6NDItMTEzOjUyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNzYiIGxvY2F0b3I9IjExMzo0Mi0xMTM6NDYiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMTc5IiBsb2NhdG9yPSIxMTM6NTUtMTEzOjY1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNzgiIGxvY2F0b3I9IjExMzo1NS0xMTM6NTkiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTkwIiBsb2NhdG9yPSIxMTQ6Ny0xMTU6MTAiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MyIgbG9jYXRvcj0iMTE0OjEwLTExNDoyOSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTgxIiBsb2NhdG9yPSIxMTQ6MTAtMTE0OjE0IiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxODIiIGxvY2F0b3I9IjExNDoxOS0xMTQ6MjkiIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjE4OCIgbG9jYXRvcj0iMTE0OjM2LTExNDo3OSIgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODciIGxvY2F0b3I9IjExNDo1OS0xMTQ6NzgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4NSIgbG9jYXRvcj0iMTE0OjU5LTExNDo2MyIgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTg2IiBsb2NhdG9yPSIxMTQ6NjgtMTE0Ojc4IiBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTg5IiBsb2NhdG9yPSIxMTU6Ny0xMTU6MTAiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTkwIiBsb2NhdG9yPSIxMTQ6Ny0xMTU6MTAiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MyIgbG9jYXRvcj0iMTE0OjEwLTExNDoyOSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTgxIiBsb2NhdG9yPSIxMTQ6MTAtMTE0OjE0IiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxODIiIGxvY2F0b3I9IjExNDoxOS0xMTQ6MjkiIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjE4OCIgbG9jYXRvcj0iMTE0OjM2LTExNDo3OSIgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODciIGxvY2F0b3I9IjExNDo1OS0xMTQ6NzgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4NSIgbG9jYXRvcj0iMTE0OjU5LTExNDo2MyIgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTg2IiBsb2NhdG9yPSIxMTQ6NjgtMTE0Ojc4IiBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTg5IiBsb2NhdG9yPSIxMTU6Ny0xMTU6MTAiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPgogICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJoaWdoIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE5MCIgbG9jYXRvcj0iMTE0OjctMTE1OjEwIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODMiIGxvY2F0b3I9IjExNDoxMC0xMTQ6MjkiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MSIgbG9jYXRvcj0iMTE0OjEwLTExNDoxNCIgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTgyIiBsb2NhdG9yPSIxMTQ6MTktMTE0OjI5IiBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIxODgiIGxvY2F0b3I9IjExNDozNi0xMTQ6NzkiIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTg3IiBsb2NhdG9yPSIxMTQ6NTktMTE0Ojc4IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODUiIGxvY2F0b3I9IjExNDo1OS0xMTQ6NjMiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE4NiIgbG9jYXRvcj0iMTE0OjY4LTExNDo3OCIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4OSIgbG9jYXRvcj0iMTE1OjctMTE1OjEwIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgIDxoaWdoQ2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJoaWdoQ2xvc2VkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE5MCIgbG9jYXRvcj0iMTE0OjctMTE1OjEwIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODMiIGxvY2F0b3I9IjExNDoxMC0xMTQ6MjkiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MSIgbG9jYXRvcj0iMTE0OjEwLTExNDoxNCIgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTgyIiBsb2NhdG9yPSIxMTQ6MTktMTE0OjI5IiBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIxODgiIGxvY2F0b3I9IjExNDozNi0xMTQ6NzkiIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTg3IiBsb2NhdG9yPSIxMTQ6NTktMTE0Ojc4IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODUiIGxvY2F0b3I9IjExNDo1OS0xMTQ6NjMiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE4NiIgbG9jYXRvcj0iMTE0OjY4LTExNDo3OCIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4OSIgbG9jYXRvcj0iMTE1OjctMTE1OjEwIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNzIiIGxvY2F0b3I9IjExMjo0MS0xMTI6MTA5IiB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMTY3IiBsb2NhdG9yPSIxMTI6NDgtMTEyOjYwIiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMTY4IiBsb2NhdG9yPSIxMTI6NjMtMTEyOjcwIiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjE2OSIgbG9jYXRvcj0iMTEyOjczLTExMjo4MyIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIxNzAiIGxvY2F0b3I9IjExMjo4Ni0xMTI6OTUiIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIxNzEiIGxvY2F0b3I9IjExMjo5OC0xMTI6MTA4IiBuYW1lPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxOSIgbG9jYXRvcj0iMTE3OjEtMTIyOjgiIG5hbWU9IkVuY291bnRlciB3aXRoIE1heCBMREwgbGVzcyB0aGFuIDcwIG1nIHBlciBkTCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0VuY291bnRlciB3aXRoIE1heCBMREwgbGVzcyB0aGFuIDcwIG1nIHBlciBkTCZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxOCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TWF4KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O09ic2VydmF0aW9uJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtMREwtYyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTGRsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TGRsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlzc3VlZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gLSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjMwIGRheXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVuZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TGRsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5RdWFudGl0eTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCSk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE2Ij4gJmx0OyA3MDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMTgiIGxvY2F0b3I9IjExODoyLTEyMjo4IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE5NCIgbG9jYXRvcj0iMTE4OjItMTE4OjUyIiBhbGlhcz0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxOTMiIGxvY2F0b3I9IjExODoyLTExODoyOCIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyMTciIGxvY2F0b3I9IjExOTozLTEyMjo4IiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIxNSIgbG9jYXRvcj0iMTE5OjktMTIyOjMiIHhzaTp0eXBlPSJNYXgiPgogICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMTQiIGxvY2F0b3I9IjExOToxMy0xMjE6MzQiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTk2IiBsb2NhdG9yPSIxMTk6MTMtMTE5OjQwIiBhbGlhcz0iTGRsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTk1IiBsb2NhdG9yPSIxMTk6MTMtMTE5OjM2IiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIxMTk6MjktMTE5OjM1IiBuYW1lPSJMREwtYyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyMDgiIGxvY2F0b3I9IjEyMDo1LTEyMDoxMTkiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk4IiBsb2NhdG9yPSIxMjA6MTEtMTIwOjIwIiBwYXRoPSJpc3N1ZWQiIHNjb3BlPSJMZGwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwNyIgbG9jYXRvcj0iMTIwOjI5LTEyMDoxMTkiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIyMDMiIGxvY2F0b3I9IjEyMDozOC0xMjA6ODMiIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjAxIiBsb2NhdG9yPSIxMjA6MzgtMTIwOjczIiBwYXRoPSJzdGFydCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMDAiIGxvY2F0b3I9IjEyMDozOC0xMjA6NjciIHBhdGg9InBlcmlvZCIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwMiIgbG9jYXRvcj0iMTIwOjc3LTEyMDo4MyIgdmFsdWU9IjMwIiB1bml0PSJkYXlzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjA2IiBsb2NhdG9yPSIxMjA6ODUtMTIwOjExOCIgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIwNSIgbG9jYXRvcj0iMTIwOjg1LTEyMDoxMTQiIHBhdGg9InBlcmlvZCIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSIyMTMiIGxvY2F0b3I9IjEyMTo1LTEyMTozNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIxMiIgbG9jYXRvcj0iMTIxOjEyLTEyMTozNCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjEwIiBsb2NhdG9yPSIxMjE6MTMtMTIxOjIxIiBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkxkbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjExIiBsb2NhdG9yPSIxMjE6MjYtMTIxOjMzIiBuYW1lPSJmaGlyOlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvUXVhbnRpdHkiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMTYiIGxvY2F0b3I9IjEyMjo3LTEyMjo4IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjcwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjQ1IiBsb2NhdG9yPSIxMjQ6MS0xMzI6MTAzIiBuYW1lPSJEZW5vbWluYXRvciBFeGNlcHRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtEZW5vbWluYXRvciBFeGNlcHRpb24mcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNDQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aXRoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTdGF0aW4gTm90IEdpdmVuIGF0IERpc2NoYXJnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE5vRGlzY2hhcmdlU3RhdGluPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQlzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Tm9EaXNjaGFyZ2VTdGF0aW48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YXV0aG9yZWRPbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI4Ij4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJKTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCXVuaW9uCgk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U3RhdGluIEFsbGVyZ3kmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBTdGF0aW5BbGxlcmd5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQlzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O05vcm1hbGl6ZSBPbnNldCZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+U3RhdGluQWxsZXJneTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDEiPiBvbiBvciBiZWZvcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5lbmQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDQiIGxvY2F0b3I9IjEyNToyLTEzMjoxMDMiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzMCIgbG9jYXRvcj0iMTI1OjItMTI4OjIiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjIxIiBsb2NhdG9yPSIxMjU6My0xMjU6NTMiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIyMCIgbG9jYXRvcj0iMTI1OjMtMTI1OjI5IiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSIyMjkiIGxvY2F0b3I9IjEyNjozLTEyNzo3OSIgYWxpYXM9Ik5vRGlzY2hhcmdlU3RhdGluIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIyMiIgbG9jYXRvcj0iMTI2OjgtMTI2OjM4IiBuYW1lPSJTdGF0aW4gTm90IEdpdmVuIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjIyOCIgbG9jYXRvcj0iMTI3OjE0LTEyNzo3OSIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjUiIGxvY2F0b3I9IjEyNzoxNC0xMjc6NDEiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJOb0Rpc2NoYXJnZVN0YXRpbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjciIGxvY2F0b3I9IjEyNzo1MC0xMjc6NzkiIHBhdGg9InBlcmlvZCIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3N1Y2hUaGF0PgogICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDMiIGxvY2F0b3I9IjEzMDoyLTEzMjoxMDMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjMyIiBsb2NhdG9yPSIxMzA6My0xMzA6NTMiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzMSIgbG9jYXRvcj0iMTMwOjMtMTMwOjI5IiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSIyNDIiIGxvY2F0b3I9IjEzMTozLTEzMjoxMDIiIGFsaWFzPSJTdGF0aW5BbGxlcmd5IiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iMTMxOjgtMTMxOjIzIiBuYW1lPSJTdGF0aW4gQWxsZXJneSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjI0MSIgbG9jYXRvcj0iMTMyOjE0LTEzMjoxMDIiIHhzaTp0eXBlPSJTYW1lT3JCZWZvcmUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzciIGxvY2F0b3I9IjEzMjoxNC0xMzI6NTEiIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM2IiBsb2NhdG9yPSIxMzI6MzItMTMyOjUwIiBwYXRoPSJvbnNldCIgc2NvcGU9IlN0YXRpbkFsbGVyZ3kiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDAiIGxvY2F0b3I9IjEzMjo2Ni0xMzI6MTAyIiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzkiIGxvY2F0b3I9IjEzMjo3My0xMzI6MTAyIiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDAiIGxvY2F0b3I9IjEzMjo2Ni0xMzI6MTAyIiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzkiIGxvY2F0b3I9IjEzMjo3My0xMzI6MTAyIiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3N1Y2hUaGF0PgogICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3OCIgbG9jYXRvcj0iMTM5OjEtMTQ2OjIiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIFN0YXR1cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI3OCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIFN0YXR1cyZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI3NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aG9zcGl0YWxpemF0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kaXNjaGFyZ2VEaXNwb3NpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQlvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmhvc3BpdGFsaXphdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGlzY2hhcmdlRGlzcG9zaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0xlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQlvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmhvc3BpdGFsaXphdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGlzY2hhcmdlRGlzcG9zaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1BhdGllbnQgRXhwaXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQlvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmhvc3BpdGFsaXphdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGlzY2hhcmdlRGlzcG9zaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0Rpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCW9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aG9zcGl0YWxpemF0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kaXNjaGFyZ2VEaXNwb3NpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCSk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI3NyIgbG9jYXRvcj0iMTQwOjItMTQ2OjIiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjQ3IiBsb2NhdG9yPSIxNDA6My0xNDA6NTMiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI0NiIgbG9jYXRvcj0iMTQwOjMtMTQwOjI5IiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjI3NiIgbG9jYXRvcj0iMTQxOjMtMTQ1OjEyMyIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjcwIiBsb2NhdG9yPSIxNDE6OS0xNDQ6MTA3IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjQiIGxvY2F0b3I9IjE0MTo5LTE0Mzo4NyIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjU4IiBsb2NhdG9yPSIxNDE6OS0xNDI6OTkiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1MiIgbG9jYXRvcj0iMTQxOjktMTQxOjEwNiIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjUwIiBsb2NhdG9yPSIxNDE6OS0xNDE6NjgiIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI0OSIgbG9jYXRvcj0iMTQxOjktMTQxOjQ3IiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMjUxIiBsb2NhdG9yPSIxNDE6NzMtMTQxOjEwNiIgbmFtZT0iRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1NyIgbG9jYXRvcj0iMTQyOjctMTQyOjk5IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTUiIGxvY2F0b3I9IjE0Mjo3LTE0Mjo2NiIgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjU0IiBsb2NhdG9yPSIxNDI6Ny0xNDI6NDUiIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIyNTYiIGxvY2F0b3I9IjE0Mjo3MS0xNDI6OTkiIG5hbWU9IkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjMiIGxvY2F0b3I9IjE0Mzo3LTE0Mzo4NyIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjYxIiBsb2NhdG9yPSIxNDM6Ny0xNDM6NjYiIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI2MCIgbG9jYXRvcj0iMTQzOjctMTQzOjQ1IiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMjYyIiBsb2NhdG9yPSIxNDM6NzEtMTQzOjg3IiBuYW1lPSJQYXRpZW50IEV4cGlyZWQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY5IiBsb2NhdG9yPSIxNDQ6Ny0xNDQ6MTA3IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjciIGxvY2F0b3I9IjE0NDo3LTE0NDo2NiIgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjY2IiBsb2NhdG9yPSIxNDQ6Ny0xNDQ6NDUiIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIyNjgiIGxvY2F0b3I9IjE0NDo3MS0xNDQ6MTA3IiBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzUiIGxvY2F0b3I9IjE0NTo3LTE0NToxMjMiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3MyIgbG9jYXRvcj0iMTQ1OjctMTQ1OjY2IiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNzIiIGxvY2F0b3I9IjE0NTo3LTE0NTo0NSIgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjI3NCIgbG9jYXRvcj0iMTQ1OjcxLTE0NToxMjMiIG5hbWU9IkRpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMDEiIGxvY2F0b3I9IjE2MDoxLTE2NTo2NyIgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMDEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwMCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7UHJvY2VkdXJlUmVxdWVzdCZxdW90OzogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q29tZm9ydCBNZWFzdXJlcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gUDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmludGVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ezwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J3BsYW4nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nb3JkZXInPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPn08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCQl1bmlvbgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O1Byb2NlZHVyZSZxdW90OzogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q29tZm9ydCBNZWFzdXJlcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSW50ZXJ2ZXRpb25QZXJmb3JtZWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2ZXRpb25QZXJmb3JtZWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz57PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nY29tcGxldGUnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4naW4gcHJvZ3Jlc3MnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPn08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMwMCIgbG9jYXRvcj0iMTYxOjItMTY1OjY3IiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTAiIGxvY2F0b3I9IjE2MToyLTE2MjozOCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyODMiIGxvY2F0b3I9IjE2MTozLTE2MTo0NCIgYWxpYXM9IlAiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyODIiIGxvY2F0b3I9IjE2MTozLTE2MTo0MiIgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIxNjE6MjQtMTYxOjQxIiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjI4OSIgbG9jYXRvcj0iMTYyOjMtMTYyOjM3IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODUiIGxvY2F0b3I9IjE2Mjo5LTE2MjoxNiIgcGF0aD0iaW50ZW50IiBzY29wZT0iUCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjg4IiBsb2NhdG9yPSIxNjI6MjEtMTYyOjM3IiB4c2k6dHlwZT0iTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2FsSWQ9IjI4NiIgbG9jYXRvcj0iMTYyOjIyLTE2MjoyNyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InBsYW4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2FsSWQ9IjI4NyIgbG9jYXRvcj0iMTYyOjMwLTE2MjozNiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5OSIgbG9jYXRvcj0iMTY0OjMtMTY1OjY3IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI5MiIgbG9jYXRvcj0iMTY0OjQtMTY0OjU3IiBhbGlhcz0iSW50ZXJ2ZXRpb25QZXJmb3JtZWQiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyOTEiIGxvY2F0b3I9IjE2NDo0LTE2NDozNiIgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjE2NDoxOC0xNjQ6MzUiIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMjk4IiBsb2NhdG9yPSIxNjU6My0xNjU6NjYiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NCIgbG9jYXRvcj0iMTY1OjktMTY1OjM1IiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJJbnRlcnZldGlvblBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk3IiBsb2NhdG9yPSIxNjU6NDAtMTY1OjY2IiB4c2k6dHlwZT0iTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2FsSWQ9IjI5NSIgbG9jYXRvcj0iMTY1OjQxLTE2NTo1MCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhbElkPSIyOTYiIGxvY2F0b3I9IjE2NTo1My0xNjU6NjUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJpbiBwcm9ncmVzcyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMxMiIgbG9jYXRvcj0iMTQ4OjEtMTUxOjk1IiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMTIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24mcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMTEiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBDb21mb3J0TWVhc3VyZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJc3VjaCB0aGF0IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNvbWZvcnRNZWFzdXJlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmF1dGhvcmVkT248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwOSI+IGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0hvc3BpdGFsaXphdGlvbiZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMTEiIGxvY2F0b3I9IjE0OToyLTE1MTo5NSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyODEiIGxvY2F0b3I9IjE0OToyLTE0OTo1MiIgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjgwIiBsb2NhdG9yPSIxNDk6Mi0xNDk6MjgiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjMxMCIgbG9jYXRvcj0iMTUwOjMtMTUxOjk1IiBhbGlhcz0iQ29tZm9ydE1lYXN1cmUiIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzAyIiBsb2NhdG9yPSIxNTA6OC0xNTA6MzgiIG5hbWU9IkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8c3VjaFRoYXQgbG9jYWxJZD0iMzA5IiBsb2NhdG9yPSIxNTE6MTQtMTUxOjk1IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwNSIgbG9jYXRvcj0iMTUxOjE0LTE1MTozOCIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDgiIGxvY2F0b3I9IjE1MTo0Ny0xNTE6OTUiIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA3IiBsb2NhdG9yPSIxNTE6NzItMTUxOjk0IiBuYW1lPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzE1IiBsb2NhdG9yPSIxMzQ6MS0xMzc6NDIiIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2x1c2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMxNSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0Rlbm9taW5hdG9yIEV4Y2x1c2lvbiZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMxNCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBTdGF0dXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+Cgl1bmlvbgoJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMTQiIGxvY2F0b3I9IjEzNToyLTEzNzo0MiIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc5IiBsb2NhdG9yPSIxMzU6Mi0xMzU6NTEiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIFN0YXR1cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzEzIiBsb2NhdG9yPSIxMzc6Mi0xMzc6NDIiIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" } ] } \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM105_FHIR3-8.0.000/EXM105_FHIR3-8.0.000-files/library-deps-EXM105_FHIR3-8.0.000-bundle.json b/fhir3/bundles/measure/EXM105_FHIR3-8.0.000/EXM105_FHIR3-8.0.000-files/library-deps-EXM105_FHIR3-8.0.000-bundle.json new file mode 100644 index 00000000..ab8f5542 --- /dev/null +++ b/fhir3/bundles/measure/EXM105_FHIR3-8.0.000/EXM105_FHIR3-8.0.000-files/library-deps-EXM105_FHIR3-8.0.000-bundle.json @@ -0,0 +1,223 @@ +{ + "resourceType": "Bundle", + "id": "library-deps-EXM105-FHIR3-8.0.000-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" + }, + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-4.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-4.0.000
Type: Logic Library
Version: 4.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '4.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t  and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "HospitalizationWithObservation"(TheEncounter FHIR.Encounter):\n\tTheEncounter Visit\n\t\tlet ObsVisit: Last([Encounter: "Observation Services"] LastObs\n\t\t\t\twhere LastObs.period ends 1 hour or less on or before start of Visit.period\n\t\t\t\tsort by end of period\n\t\t\t),\n\t\t\tVisitStart: Coalesce(start of ObsVisit.period, start of Visit.period),\n\t\t\tEDVisit: Last([Encounter: "Emergency Department Visit"] LastED\n\t\t\t\twhere LastED.period ends 1 hour or less on or before VisitStart\n\t\t\t\tsort by end of period\n\t\t\t)\n\t\treturn Interval[Coalesce(start of EDVisit.period, VisitStart), end of Visit.period]\n\ndefine function "HospitalizationWithObservationLengthofStay"(Encounter FHIR.Encounter):\n\t"LengthInDays"("HospitalizationWithObservation"(Encounter))\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] Condition where Condition.id.value = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t//"GetId"(uri String): returns the last String of a Split by / List therefor cannot use in\n\t\treturn singleton from ([Condition] Condition where Condition.id.value = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "4.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMjMiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIyMyIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSI0LjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT2JzZXJ2YXRpb24gU2VydmljZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTQzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iQmlydGhkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlYWQiIGlkPSI0MTkwOTkwMDkiIGRpc3BsYXk9IkRlYWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEQ1QiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFUiIgaWQ9IkVSIiBkaXNwbGF5PSJFbWVyZ2VuY3kgcm9vbSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJSb2xlQ29kZSIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IklDVSIgaWQ9IklDVSIgZGlzcGxheT0iSW50ZW5zaXZlIGNhcmUgdW5pdCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJSb2xlQ29kZSIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkJpbGxpbmciIGlkPSJiaWxsaW5nIiBkaXNwbGF5PSJCaWxsaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkRpYWdub3NpcyBSb2xlIi8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJMZW5ndGhJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkRpZmZlcmVuY2VCZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRW5jb3VudGVySW5wYXRpZW50Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVuY291bnRlciBJbnBhdGllbnQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICA8eWVhciBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3llYXI+DQogICAgICAgICAgICA8bW9udGggcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvbW9udGg+DQogICAgICAgICAgICA8ZGF5IHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9kYXk+DQogICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDx0aW1lem9uZU9mZnNldCB4c2k6dHlwZT0iVGltZXpvbmVGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC90aW1lem9uZU9mZnNldD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRUQgVmlzaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJob3VyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJYIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRURFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgcGF0aD0ibG9jYXRpb24iIHNjb3BlPSJFREVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTGVuZ3RoSW5EYXlzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIEFkbWlzc2lvbiBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQXJyaXZhbCBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IkZpcnN0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikhvc3BpdGFsTG9jYXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9IklkZW50aWZpZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvcnQ+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWaXNpdCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxsZXQgaWRlbnRpZmllcj0iT2JzVmlzaXQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9Ikxhc3QiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTGFzdE9icyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMYXN0T2JzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJJZGVudGlmaWVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2J5Pg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3J0Pg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L2xldD4NCiAgICAgICAgICAgIDxsZXQgaWRlbnRpZmllcj0iVmlzaXRTdGFydCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iT2JzVmlzaXQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvbGV0Pg0KICAgICAgICAgICAgPGxldCBpZGVudGlmaWVyPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikxhc3RFRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMYXN0RUQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmlzaXRTdGFydCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlZpc2l0U3RhcnQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3J0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGJ5IGRpcmVjdGlvbj0iYXNjIiB4c2k6dHlwZT0iQnlFeHByZXNzaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9sZXQ+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iRURWaXNpdCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWaXNpdFN0YXJ0IiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb25MZW5ndGhvZlN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJDb25kaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb25kaXRpb24iIHNjb3BlPSJEIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUEQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icm9sZSIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvQ29uY2VwdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaWxsaW5nIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZWdlciIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmFuayIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJDb25kaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb25kaXRpb24iIHNjb3BlPSJQRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0TG9jYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTG9jYXRpb24iPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TG9jYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJpZCIgc2NvcGU9IkxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVmZXJlbmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlZmVyZW5jZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkUiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRCYXNlRXh0ZW5zaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0UHJvdmVuYW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb3ZlbmFuY2UiIGNvZGVQcm9wZXJ0eT0idGFyZ2V0IiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0TWVkaWNhdGlvbkNvZGUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXF1ZXN0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXF1ZXN0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXF1ZXN0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MycKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiRGVhZCI6ICc0MTkwOTkwMDknIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdEZWFkJwpjb2RlICJFUiI6ICdFUicgZnJvbSAiUm9sZUNvZGUiIGRpc3BsYXkgJ0VtZXJnZW5jeSByb29tJwpjb2RlICJJQ1UiOiAnSUNVJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnSW50ZW5zaXZlIGNhcmUgdW5pdCcKY29kZSAiQmlsbGluZyI6ICdiaWxsaW5nJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAnQmlsbGluZycKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJJbnBhdGllbnQgRW5jb3VudGVyIjoKCVtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRW5jb3VudGVySW5wYXRpZW50CgkJd2hlcmUgRW5jb3VudGVySW5wYXRpZW50LnN0YXR1cyA9ICdmaW5pc2hlZCcKCQkgIGFuZCAiTGVuZ3RoSW5EYXlzIihFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kKSA8PSAxMjAKCQkJYW5kIEVuY291bnRlcklucGF0aWVudC5wZXJpb2QgZW5kcyBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSBmdW5jdGlvbiAiVG9EYXRlIihWYWx1ZSBEYXRlVGltZSk6CglEYXRlVGltZSh5ZWFyIGZyb20gVmFsdWUsIG1vbnRoIGZyb20gVmFsdWUsIGRheSBmcm9tIFZhbHVlLCAwLCAwLCAwLCAwLCB0aW1lem9uZSBmcm9tIFZhbHVlKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5c0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCWRheXMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5EYXlzIihCaXJ0aERhdGVUaW1lIERhdGVUaW1lKToKCUNhbGVuZGFyQWdlSW5EYXlzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCW1vbnRocyBiZXR3ZWVuIFRvRGF0ZShCaXJ0aERhdGVUaW1lKWFuZCBUb0RhdGUoQXNPZikKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbk1vbnRocyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluTW9udGhzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUsIEFzT2YgRGF0ZVRpbWUpOgoJeWVhcnMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFycyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluWWVhcnNBdChCaXJ0aERhdGVUaW1lLCBUb2RheSgpKQoKZGVmaW5lIGZ1bmN0aW9uICJMZW5ndGhJbkRheXMiKFZhbHVlIEludGVydmFsPERhdGVUaW1lPik6CglkaWZmZXJlbmNlIGluIGRheXMgYmV0d2VlbiBzdGFydCBvZiBWYWx1ZSBhbmQgZW5kIG9mIFZhbHVlCgpkZWZpbmUgZnVuY3Rpb24gIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgogICAgc2luZ2xldG9uIGZyb20gKAogICAgICAgIFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIEVEVmlzaXQKICAgICAgICAgICAgd2hlcmUgRURWaXNpdC5zdGF0dXMgPSAnZmluaXNoZWQnCiAgICAgICAgICAgICAgICBhbmQgRURWaXNpdC5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQogICAgKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIFgKICAgIHJldHVybgogICAgICAgIGlmIFggaXMgbnVsbCB0aGVuIFRoZUVuY291bnRlci5wZXJpb2QKICAgICAgICBlbHNlIEludGVydmFsW3N0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoWC5wZXJpb2QpLCBlbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKV0KCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCSggIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIpICkgRURFbmNvdW50ZXIKICAgIHJldHVybgogICAgICAgIGlmIEVERW5jb3VudGVyIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIubG9jYXRpb24KICAgICAgICBlbHNlIGZsYXR0ZW4geyBFREVuY291bnRlci5sb2NhdGlvbiwgVGhlRW5jb3VudGVyLmxvY2F0aW9uIH0KCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJTGVuZ3RoSW5EYXlzKCJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikpCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIEFkbWlzc2lvbiBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJc3RhcnQgb2YgIkhvc3BpdGFsaXphdGlvbiIoVGhlRW5jb3VudGVyKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCWVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFRoZUVuY291bnRlci5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRmlyc3QoCgkgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglUaGVFbmNvdW50ZXIgVmlzaXQKCQlsZXQgT2JzVmlzaXQ6IExhc3QoW0VuY291bnRlcjogIk9ic2VydmF0aW9uIFNlcnZpY2VzIl0gTGFzdE9icwoJCQkJd2hlcmUgTGFzdE9icy5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgVmlzaXQucGVyaW9kCgkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKCQkJKSwKCQkJVmlzaXRTdGFydDogQ29hbGVzY2Uoc3RhcnQgb2YgT2JzVmlzaXQucGVyaW9kLCBzdGFydCBvZiBWaXNpdC5wZXJpb2QpLAoJCQlFRFZpc2l0OiBMYXN0KFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIExhc3RFRAoJCQkJd2hlcmUgTGFzdEVELnBlcmlvZCBlbmRzIDEgaG91ciBvciBsZXNzIG9uIG9yIGJlZm9yZSBWaXNpdFN0YXJ0CgkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKCQkJKQoJCXJldHVybiBJbnRlcnZhbFtDb2FsZXNjZShzdGFydCBvZiBFRFZpc2l0LnBlcmlvZCwgVmlzaXRTdGFydCksIGVuZCBvZiBWaXNpdC5wZXJpb2RdCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbkxlbmd0aG9mU3RheSIoRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCSJMZW5ndGhJbkRheXMiKCJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKEVuY291bnRlcikpCgovLyBUT0RPIC0gZml4IHRoZXNlIChtdXN0IGZldGNoIExvY2F0aW9uIHJlc291cmNlcyBhbmQgY29tcGFyZSBpZCB0byByZWZlcmVuY2UpCi8qZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBEZXBhcnR1cmUgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCWVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKExhc3QoCgkgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKCgKCSAgICBzaW5nbGV0b24gZnJvbSAoCgkgICAgICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCQl3aGVyZSBIb3NwaXRhbExvY2F0aW9uLnR5cGUgfiAiRVIiCgkJKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkZpcnN0IElucGF0aWVudCBJbnRlbnNpdmUgQ2FyZSBVbml0IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJRmlyc3QoCgkgICAgKCBUaGVFbmNvdW50ZXIubG9jYXRpb24gKSBIb3NwaXRhbExvY2F0aW9uCgkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJJQ1UiCgkJCQlhbmQgSG9zcGl0YWxMb2NhdGlvbi5wZXJpb2QgZHVyaW5nIFRoZUVuY291bnRlci5wZXJpb2QKCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkqLwoKLyoKKgoqICAgIENRRk1lYXN1cmVzIENvbW1vbiBMb2dpYwoqCiovCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBPbnNldCIob25zZXQgQ2hvaWNlPEZISVIuZGF0ZVRpbWUsIEZISVIuQWdlLCBGSElSLlBlcmlvZCwgRkhJUi5SYW5nZSwgRkhJUi5zdHJpbmc+KToKICBpZiBvbnNldCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShvbnNldCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShvbnNldCBhcyBGSElSLmRhdGVUaW1lKV0KCWVsc2UgaWYgb25zZXQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKG9uc2V0IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLkFnZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KG9uc2V0IGFzIEZISVIuQWdlKSwKCQkgIEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KG9uc2V0IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24gQ29uZGl0aW9uKToKCWlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5kYXRlVGltZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuUGVyaW9kIHRoZW4KCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuQWdlIHRoZW4KCQlJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSwKCQkJRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLkFnZSkgKyAxIHllYXIpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5ib29sZWFuIHRoZW4KCSAgSW50ZXJ2YWxbZW5kIG9mICJOb3JtYWxpemUgT25zZXQiKGNvbmRpdGlvbi5vbnNldCksIGNvbmRpdGlvbi5hc3NlcnRlZERhdGUpCgllbHNlIG51bGwKCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJldmFsZW5jZVBlcmlvZCIoY29uZGl0aW9uIENvbmRpdGlvbik6CiAgSW50ZXJ2YWxbc3RhcnQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgZW5kIG9mICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24pKQoKZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgSW50ZXJ2YWwiKGNob2ljZSBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5QZXJpb2Q+KToKICBpZiBjaG9pY2UgaXMgRkhJUi5kYXRlVGltZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNob2ljZSBhcyBGSElSLmRhdGVUaW1lKV0KCWVsc2UKCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjaG9pY2UgYXMgRkhJUi5QZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkdldElkIih1cmkgU3RyaW5nKToKCUxhc3QoU3BsaXQodXJpLCAnLycpKQoKZGVmaW5lIGZ1bmN0aW9uICJFbmNvdW50ZXJEaWFnbm9zaXMiKEVuY291bnRlciBFbmNvdW50ZXIpOgogIEVuY291bnRlci5kaWFnbm9zaXMgRAogICAgcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDb25kaXRpb24gd2hlcmUgQ29uZGl0aW9uLmlkLnZhbHVlID0gIkdldElkIihELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgY29uZGl0aW9uIHRoYXQgaXMgc3BlY2lmaWVkIGFzIHRoZSBwcmluY2lwYWwgZGlhZ25vc2lzIGZvciB0aGUgZW5jb3VudGVyCmRlZmluZSBmdW5jdGlvbiAiUHJpbmNpcGFsRGlhZ25vc2lzIihFbmNvdW50ZXIgRW5jb3VudGVyKToKCShzaW5nbGV0b24gZnJvbSAoRW5jb3VudGVyLmRpYWdub3NpcyBEIHdoZXJlIEQucm9sZSB+IFRvQ29uY2VwdCgiQmlsbGluZyIpIGFuZCBELnJhbmsgPSAxKSkgUEQKCS8vIkdldElkIih1cmkgU3RyaW5nKTogcmV0dXJucyB0aGUgbGFzdCBTdHJpbmcgb2YgYSBTcGxpdCBieSAvIExpc3QgdGhlcmVmb3IgY2Fubm90IHVzZSBpbgoJCXJldHVybiBzaW5nbGV0b24gZnJvbSAoW0NvbmRpdGlvbl0gQ29uZGl0aW9uIHdoZXJlIENvbmRpdGlvbi5pZC52YWx1ZSA9ICJHZXRJZCIoUEQuY29uZGl0aW9uLnJlZmVyZW5jZSkpCgovLyBSZXR1cm5zIHRoZSBsb2NhdGlvbiBmb3IgdGhlIGdpdmVuIGxvY2F0aW9uIHJlZmVyZW5jZQpkZWZpbmUgZnVuY3Rpb24gR2V0TG9jYXRpb24ocmVmZXJlbmNlIFJlZmVyZW5jZSk6CiAgc2luZ2xldG9uIGZyb20gKAogICAgW0xvY2F0aW9uXSBMb2NhdGlvbiB3aGVyZSBMb2NhdGlvbi5pZC52YWx1ZSA9IEdldElkKHJlZmVyZW5jZS5yZWZlcmVuY2UpCiAgKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9uIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6CiAgc2luZ2xldG9uIGZyb20gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlLCB1cmwpCgovKgpOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcwpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZQpDUUwgbW9kZWwgaW5mby4KKi8KZGVmaW5lIGZ1bmN0aW9uICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJyArIHVybCkKCQlyZXR1cm4gRQoKZGVmaW5lIGZ1bmN0aW9uICJHZXRCYXNlRXh0ZW5zaW9uIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6CiAgc2luZ2xldG9uIGZyb20gIkdldEJhc2VFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogUHJvdmVuYW5jZSBpcyBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgdGhpcyBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGlsbHVzdHJhdGlvbgpmb3Igd2hhdCB1c2luZyBQcm92ZW5hbmNlIGNvdWxkIGxvb2sgbGlrZSwgYW5kIGlzIG5vdCBhIHRlc3RlZCBwYXR0ZXJuCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJvdmVuYW5jZSIocmVzb3VyY2UgUmVzb3VyY2UpOgogIHNpbmdsZXRvbiBmcm9tIChbUHJvdmVuYW5jZTogdGFyZ2V0IGluIHJlc291cmNlLmlkXSkKCmRlZmluZSBmdW5jdGlvbiAiR2V0TWVkaWNhdGlvbkNvZGUiKHJlcXVlc3QgTWVkaWNhdGlvblJlcXVlc3QpOgogIGlmIHJlcXVlc3QubWVkaWNhdGlvbiBpcyBDb2RlYWJsZUNvbmNlcHQgdGhlbgoJICByZXF1ZXN0Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0CgllbHNlCgkgIChzaW5nbGV0b24gZnJvbSAoW01lZGljYXRpb246IGlkIGluIEdldElkKChyZXF1ZXN0Lm1lZGljYXRpb24gYXMgUmVmZXJlbmNlKS5yZWZlcmVuY2UpXSkpLmNvZGUK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-SupplementalDataElements-FHIR3-1.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-SupplementalDataElements-FHIR3-1.0.0
Type: Logic Library
Version: 1.0.0
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Coverage

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591

Content: type: text/cql
library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Payer":\n    [Coverage: type in "Payer"] Payer\n      return {\n        code: Payer.type,\n        period: Payer.period\n      }\n\ndefine "SDE Race":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Sex":\n  case\n    when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n    when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n    else null\n  end\n
\n \n \n
\n
" + }, + "version": "1.0.0", + "name": "SupplementalDataElements_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-TJCOverall-FHIR3-3.6.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-TJCOverall-FHIR3-3.6.000
Type: Logic Library
Version: 3.6.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

Data Requirements:

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424

type: Patient

Content: type: text/cql
library TJCOverall_FHIR3 version '3.6.000'\n\nusing FHIR version '3.0.0'\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n//TODO: MATGlobalCommonFunctions_FHIR version '2.0.000' need to be updated to 4.0\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "LOINC": 'http://loinc.org'\n\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'\nvalueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'\nvalueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'\nvalueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'\nvalueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'\nvalueset "Ticagrelor Therapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion\n\t\t(["Procedure": "Comfort Measures"] InterventionPerformed\n\t\twhere InterventionPerformed.status = 'completed')\n\ndefine "All Stroke Encounter":\n\t"Non Elective Inpatient Encounter" NonElectiveEncounter\n    where Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Hemorrhagic Stroke"\n      or Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Ischemic Stroke"\n\ndefine "Ischemic Stroke Encounter":\n\t"Encounter with Principal Diagnosis and Age" EncounterWithAge\n\t\twhere Global.PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"\n\ndefine "Non Elective Inpatient Encounter":\n\t["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\n\t\twhere Global."LengthInDays"(NonElectiveEncounter.period)<= 120\n\t\t\tand NonElectiveEncounter.period ends during "Measurement Period"\n\ndefine "Ischemic Stroke Encounters with Discharge Disposition":\n\t( ( "Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\t\t\twhere IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\n\t\t)\n\t)\n\ndefine "Comfort Measures during Hospitalization":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Intervention Comfort Measures" ComfortMeasure\n\t\t\tsuch that Coalesce(start of FHIRHelpers.ToInterval(ComfortMeasure.performed), ComfortMeasure.authoredOn)during Global."HospitalizationWithObservation"(IschemicStrokeEncounter)\n\ndefine "Encounter with Principal Diagnosis and Age":\n\t"All Stroke Encounter" AllStrokeEncounter\n\t\twith ["Patient"] BirthDate\n\t\t\tsuch that Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(BirthDate.birthDate), start of FHIRHelpers.ToInterval(AllStrokeEncounter.period)) >= 18\n\ndefine function "CalendarDayOfOrDayAfter"(StartValue DateTime ):\n\tInterval(Global."ToDate"(StartValue), Global."ToDate"(StartValue + 2 days))\n
\n \n \n
\n
" + }, + "version": "3.6.000", + "name": "TJCOverall_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + } ], + "dataRequirement": [ { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } ] + }, { + "type": "Patient" + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlRKQ092ZXJhbGxfRkhJUjMiIHZlcnNpb249IjMuNi4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iR2xvYmFsIiBwYXRoPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIHZlcnNpb249IjQuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTREUiIHBhdGg9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8cGFyYW1ldGVycz4NCiAgICAgIDxkZWYgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L3BhcmFtZXRlclR5cGVTcGVjaWZpZXI+DQogICAgICA8L2RlZj4NCiAgIDwvcGFyYW1ldGVycz4NCiAgIDxjb2RlU3lzdGVtcz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA4IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IEV4cGlyZWQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlRpY2FncmVsb3IgVGhlcmFweSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aCBkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICA8L2NvZGVzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnRlcnZlbnRpb25QZXJmb3JtZWQiPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkludGVydmVudGlvblBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb25FbGVjdGl2ZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJBbGwgU3Ryb2tlIEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm9uIEVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJIZW1vcnJoYWdpYyBTdHJva2UiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUHJpbmNpcGFsRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQWxsU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkFsbCBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJCaXJ0aERhdGUiIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiBzY29wZT0iQmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJBbGxTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxOCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJXaXRoQWdlIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUHJpbmNpcGFsRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyV2l0aEFnZSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJJc2NoZW1pYyBTdHJva2UiLz4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlcnMgd2l0aCBEaXNjaGFyZ2UgRGlzcG9zaXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iUGF0aWVudCBFeHBpcmVkIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb3dDbG9zZWQ9ImZhbHNlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iU3RhcnRWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJTdGFydFZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iU3RhcnRWYWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBUSkNPdmVyYWxsX0ZISVIzIHZlcnNpb24gJzMuNi4wMDAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKLy9UT0RPOiBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUiB2ZXJzaW9uICcyLjAuMDAwJyBuZWVkIHRvIGJlIHVwZGF0ZWQgdG8gNC4wCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzQuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4Jwpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwoKdmFsdWVzZXQgIkNvbWZvcnQgTWVhc3VyZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1Jwp2YWx1ZXNldCAiRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3Jwp2YWx1ZXNldCAiRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDcnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5Jwp2YWx1ZXNldCAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MicKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJJc2NoZW1pYyBTdHJva2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NycKdmFsdWVzZXQgIkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA4Jwp2YWx1ZXNldCAiTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCcKdmFsdWVzZXQgIlBhdGllbnQgRXhwaXJlZCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5Jwp2YWx1ZXNldCAiVGljYWdyZWxvciBUaGVyYXB5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOScKdmFsdWVzZXQgIk9ic2VydmF0aW9uIFNlcnZpY2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMnCgpjb2RlICJCaXJ0aCBkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIjoKCShbIlByb2NlZHVyZVJlcXVlc3QiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIFAKCQl3aGVyZSBQLmludGVudCA9ICdvcmRlcicpCgkJdW5pb24KCQkoWyJQcm9jZWR1cmUiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIEludGVydmVudGlvblBlcmZvcm1lZAoJCXdoZXJlIEludGVydmVudGlvblBlcmZvcm1lZC5zdGF0dXMgPSAnY29tcGxldGVkJykKCmRlZmluZSAiQWxsIFN0cm9rZSBFbmNvdW50ZXIiOgoJIk5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBOb25FbGVjdGl2ZUVuY291bnRlcgogICAgd2hlcmUgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSGVtb3JyaGFnaWMgU3Ryb2tlIgogICAgICBvciBHbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKE5vbkVsZWN0aXZlRW5jb3VudGVyKS5jb2RlIGluICJJc2NoZW1pYyBTdHJva2UiCgpkZWZpbmUgIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiOgoJIkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgRW5jb3VudGVyV2l0aEFnZQoJCXdoZXJlIEdsb2JhbC5QcmluY2lwYWxEaWFnbm9zaXMoRW5jb3VudGVyV2l0aEFnZSkuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKZGVmaW5lICJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6CglbIkVuY291bnRlciI6ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciJdIE5vbkVsZWN0aXZlRW5jb3VudGVyCgkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBEaXNwb3NpdGlvbiI6CgkoICggIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJCQl3aGVyZSBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiUGF0aWVudCBFeHBpcmVkIgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiCgkJCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiCgkJKQoJKQoKZGVmaW5lICJDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24iOgoJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIENvbWZvcnRNZWFzdXJlCgkJCXN1Y2ggdGhhdCBDb2FsZXNjZShzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKENvbWZvcnRNZWFzdXJlLnBlcmZvcm1lZCksIENvbWZvcnRNZWFzdXJlLmF1dGhvcmVkT24pZHVyaW5nIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIihJc2NoZW1pY1N0cm9rZUVuY291bnRlcikKCmRlZmluZSAiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIjoKCSJBbGwgU3Ryb2tlIEVuY291bnRlciIgQWxsU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCBbIlBhdGllbnQiXSBCaXJ0aERhdGUKCQkJc3VjaCB0aGF0IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShCaXJ0aERhdGUuYmlydGhEYXRlKSwgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChBbGxTdHJva2VFbmNvdW50ZXIucGVyaW9kKSkgPj0gMTgKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKFN0YXJ0VmFsdWUgRGF0ZVRpbWUgKToKCUludGVydmFsKEdsb2JhbC4iVG9EYXRlIihTdGFydFZhbHVlKSwgR2xvYmFsLiJUb0RhdGUiKFN0YXJ0VmFsdWUgKyAyIGRheXMpKQo=" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-TJCOverall-FHIR3-3.6.000" + } + } ] +} \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM105_FHIR3-8.0.000/EXM105_FHIR3-8.0.000-files/valuesets-EXM105_FHIR3-8.0.000-bundle.json b/fhir3/bundles/measure/EXM105_FHIR3-8.0.000/EXM105_FHIR3-8.0.000-files/valuesets-EXM105_FHIR3-8.0.000-bundle.json new file mode 100644 index 00000000..75780657 --- /dev/null +++ b/fhir3/bundles/measure/EXM105_FHIR3-8.0.000/EXM105_FHIR3-8.0.000-files/valuesets-EXM105_FHIR3-8.0.000-bundle.json @@ -0,0 +1,1993 @@ +{ + "resourceType": "Bundle", + "id": "valuesets-EXM105-FHIR3-8.0.000-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.209", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.209" + } ], + "version": "20170725", + "name": "DischargedtoHomeforHospiceCare", + "title": "Discharged to Home for Hospice Care", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "428361000124107", + "display": "Discharge to home for hospice care (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.209" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.308", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.308" + } ], + "version": "20170726", + "name": "LeftAgainstMedicalAdvice", + "title": "Left Against Medical Advice", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "445060000", + "display": "Left against medical advice (finding)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.308" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.309", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.309" + } ], + "version": "20170726", + "name": "PatientExpired", + "title": "Patient Expired", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "371828006", + "display": "Patient deceased during stay (discharge status = dead) (finding)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.309" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.215", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215", + "title": "LDL-c", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://loinc.org", + "version": "2.66", + "concept": [ { + "code": "13457-7", + "display": "Cholesterol in LDL [Mass/volume] in Serum or Plasma by calculation" + }, { + "code": "18261-8", + "display": "Cholesterol in LDL [Mass/volume] in Serum or Plasma ultracentrifugate" + }, { + "code": "18262-6", + "display": "Cholesterol in LDL [Mass/volume] in Serum or Plasma by Direct assay" + }, { + "code": "2089-1", + "display": "Cholesterol in LDL [Mass/volume] in Serum or Plasma" + }, { + "code": "43394-6", + "display": "Cholesterol in LDL acylated [Mass/volume] in Serum or Plasma" + }, { + "code": "49132-4", + "display": "Cholesterol in LDL [Mass/volume] in Serum or Plasma by Electrophoresis" + }, { + "code": "50193-2", + "display": "Cholesterol in LDL.narrow density [Mass/volume] in Serum or Plasma" + }, { + "code": "55440-2", + "display": "Cholesterol.in LDL (real) [Mass/volume] in Serum or Plasma by VAP" + }, { + "code": "86911-5", + "display": "Cholesterol in LDL goal [Mass/volume] Serum or Plasma" + }, { + "code": "90364-1", + "display": "Cholesterol.in LDL.small dense [Mass/volume] in Serum by Immunoassay" + }, { + "code": "91105-7", + "display": "Cholesterol in LDL 1 [Mass/volume] in Serum or Plasma" + }, { + "code": "91106-5", + "display": "Cholesterol in LDL 2 [Mass/volume] in Serum or Plasma" + }, { + "code": "91107-3", + "display": "Cholesterol in LDL 3 [Mass/volume] in Serum or Plasma" + }, { + "code": "91108-1", + "display": "Cholesterol in LDL 4 [Mass/volume] in Serum or Plasma" + }, { + "code": "91109-9", + "display": "Cholesterol in LDL 5 [Mass/volume] in Serum or Plasma" + }, { + "code": "91110-7", + "display": "Cholesterol in LDL 6 [Mass/volume] in Serum or Plasma" + }, { + "code": "91111-5", + "display": "Cholesterol in LDL 7 [Mass/volume] in Serum or Plasma" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.215" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.424", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.424" + } ], + "version": "20170726", + "name": "Non-ElectiveInpatientEncounter", + "title": "Non-Elective Inpatient Encounter", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.3591", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.3591" + } ], + "version": "20180718", + "name": "Payer", + "title": "Payer", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.phdsc.org/standards/pdfs/SourceofPaymentTypologyVersion6FINALSeptember2015.pdf", + "version": "8.0", + "concept": [ { + "code": "1", + "display": "MEDICARE" + }, { + "code": "11", + "display": "Medicare (Managed Care)" + }, { + "code": "111", + "display": "Medicare HMO" + }, { + "code": "112", + "display": "Medicare PPO" + }, { + "code": "113", + "display": "Medicare POS" + }, { + "code": "119", + "display": "Medicare Managed Care Other" + }, { + "code": "12", + "display": "Medicare (Non-managed Care)" + }, { + "code": "121", + "display": "Medicare FFS" + }, { + "code": "122", + "display": "Medicare Drug Benefit" + }, { + "code": "123", + "display": "Medicare Medical Savings Account (MSA)" + }, { + "code": "129", + "display": "Medicare Non-managed Care Other" + }, { + "code": "13", + "display": "Medicare Hospice" + }, { + "code": "14", + "display": "Dual Eligibility Medicare/Medicaid Organization" + }, { + "code": "19", + "display": "Medicare Other" + }, { + "code": "191", + "display": "Medicare Pharmacy Benefit Manager" + }, { + "code": "2", + "display": "MEDICAID" + }, { + "code": "21", + "display": "Medicaid (Managed Care)" + }, { + "code": "211", + "display": "Medicaid HMO" + }, { + "code": "212", + "display": "Medicaid PPO" + }, { + "code": "213", + "display": "Medicaid PCCM (Primary Care Case Management)" + }, { + "code": "219", + "display": "Medicaid Managed Care Other" + }, { + "code": "22", + "display": "Medicaid (Non-managed Care Plan)" + }, { + "code": "23", + "display": "Medicaid/SCHIP" + }, { + "code": "25", + "display": "Medicaid - Out of State" + }, { + "code": "26", + "display": "Medicaid -- Long Term Care" + }, { + "code": "29", + "display": "Medicaid Other" + }, { + "code": "291", + "display": "Medicaid Pharmacy Benefit Manager" + }, { + "code": "299", + "display": "Medicaid - Dental" + }, { + "code": "3", + "display": "OTHER GOVERNMENT (Federal/State/Local) (excluding Department of Corrections)" + }, { + "code": "31", + "display": "Department of Defense" + }, { + "code": "311", + "display": "TRICARE (CHAMPUS)" + }, { + "code": "3111", + "display": "TRICARE Prime--HMO" + }, { + "code": "3112", + "display": "TRICARE Extra--PPO" + }, { + "code": "3113", + "display": "TRICARE Standard - Fee For Service" + }, { + "code": "3114", + "display": "TRICARE For Life--Medicare Supplement" + }, { + "code": "3115", + "display": "TRICARE Reserve Select" + }, { + "code": "3116", + "display": "Uniformed Services Family Health Plan (USFHP) -- HMO" + }, { + "code": "3119", + "display": "Department of Defense - (other)" + }, { + "code": "312", + "display": "Military Treatment Facility" + }, { + "code": "3121", + "display": "Enrolled Prime--HMO" + }, { + "code": "3122", + "display": "Non-enrolled Space Available" + }, { + "code": "3123", + "display": "TRICARE For Life (TFL)" + }, { + "code": "313", + "display": "Dental --Stand Alone" + }, { + "code": "32", + "display": "Department of Veterans Affairs" + }, { + "code": "321", + "display": "Veteran care--Care provided to Veterans" + }, { + "code": "3211", + "display": "Direct Care--Care provided in VA facilities" + }, { + "code": "3212", + "display": "Indirect Care--Care provided outside VA facilities" + }, { + "code": "32121", + "display": "Fee Basis" + }, { + "code": "32122", + "display": "Foreign Fee/Foreign Medical Program (FMP)" + }, { + "code": "32123", + "display": "Contract Nursing Home/Community Nursing Home" + }, { + "code": "32124", + "display": "State Veterans Home" + }, { + "code": "32125", + "display": "Sharing Agreements" + }, { + "code": "32126", + "display": "Other Federal Agency" + }, { + "code": "32127", + "display": "Dental Care" + }, { + "code": "32128", + "display": "Vision Care" + }, { + "code": "322", + "display": "Non-veteran care" + }, { + "code": "3221", + "display": "Civilian Health and Medical Program for the VA (CHAMPVA)" + }, { + "code": "3222", + "display": "Spina Bifida Health Care Program (SB)" + }, { + "code": "3223", + "display": "Children of Women Vietnam Veterans (CWVV)" + }, { + "code": "3229", + "display": "Other non-veteran care" + }, { + "code": "33", + "display": "Indian Health Service or Tribe" + }, { + "code": "331", + "display": "Indian Health Service -- Regular" + }, { + "code": "332", + "display": "Indian Health Service -- Contract" + }, { + "code": "333", + "display": "Indian Health Service - Managed Care" + }, { + "code": "334", + "display": "Indian Tribe - Sponsored Coverage" + }, { + "code": "34", + "display": "HRSA Program" + }, { + "code": "341", + "display": "Title V (MCH Block Grant)" + }, { + "code": "342", + "display": "Migrant Health Program" + }, { + "code": "343", + "display": "Ryan White Act" + }, { + "code": "349", + "display": "Other" + }, { + "code": "35", + "display": "Black Lung" + }, { + "code": "36", + "display": "State Government" + }, { + "code": "361", + "display": "State SCHIP program (codes for individual states)" + }, { + "code": "362", + "display": "Specific state programs (list/ local code)" + }, { + "code": "369", + "display": "State, not otherwise specified (other state)" + }, { + "code": "37", + "display": "Local Government" + }, { + "code": "371", + "display": "Local - Managed care" + }, { + "code": "3711", + "display": "HMO" + }, { + "code": "3712", + "display": "PPO" + }, { + "code": "3713", + "display": "POS" + }, { + "code": "372", + "display": "FFS/Indemnity" + }, { + "code": "379", + "display": "Local, not otherwise specified (other local, county)" + }, { + "code": "38", + "display": "Other Government (Federal, State, Local not specified)" + }, { + "code": "381", + "display": "Federal, State, Local not specified managed care" + }, { + "code": "3811", + "display": "Federal, State, Local not specified - HMO" + }, { + "code": "3812", + "display": "Federal, State, Local not specified - PPO" + }, { + "code": "3813", + "display": "Federal, State, Local not specified - POS" + }, { + "code": "3819", + "display": "Federal, State, Local not specified - not specified managed care" + }, { + "code": "382", + "display": "Federal, State, Local not specified - FFS" + }, { + "code": "389", + "display": "Federal, State, Local not specified - Other" + }, { + "code": "39", + "display": "Other Federal" + }, { + "code": "391", + "display": "Federal Employee Health Plan - Use when known" + }, { + "code": "4", + "display": "DEPARTMENTS OF CORRECTIONS" + }, { + "code": "41", + "display": "Corrections Federal" + }, { + "code": "42", + "display": "Corrections State" + }, { + "code": "43", + "display": "Corrections Local" + }, { + "code": "44", + "display": "Corrections Unknown Level" + }, { + "code": "5", + "display": "PRIVATE HEALTH INSURANCE" + }, { + "code": "51", + "display": "Managed Care (Private)" + }, { + "code": "511", + "display": "Commercial Managed Care - HMO" + }, { + "code": "512", + "display": "Commercial Managed Care - PPO" + }, { + "code": "513", + "display": "Commercial Managed Care - POS" + }, { + "code": "514", + "display": "Exclusive Provider Organization" + }, { + "code": "515", + "display": "Gatekeeper PPO (GPPO)" + }, { + "code": "516", + "display": "Commercial Managed Care - Pharmacy Benefit Manager" + }, { + "code": "517", + "display": "Commercial Managed Care - Dental" + }, { + "code": "519", + "display": "Managed Care, Other (non HMO)" + }, { + "code": "52", + "display": "Private Health Insurance - Indemnity" + }, { + "code": "521", + "display": "Commercial Indemnity" + }, { + "code": "522", + "display": "Self-insured (ERISA) Administrative Services Only (ASO) plan" + }, { + "code": "523", + "display": "Medicare supplemental policy (as second payer)" + }, { + "code": "524", + "display": "Indemnity Insurance - Dental" + }, { + "code": "529", + "display": "Private health insurance--other commercial Indemnity" + }, { + "code": "53", + "display": "Managed Care (private) or private health insurance (indemnity), not otherwise specified" + }, { + "code": "54", + "display": "Organized Delivery System" + }, { + "code": "55", + "display": "Small Employer Purchasing Group" + }, { + "code": "56", + "display": "Specialized Stand Alone Plan" + }, { + "code": "561", + "display": "Dental" + }, { + "code": "562", + "display": "Vision" + }, { + "code": "59", + "display": "Other Private Insurance" + }, { + "code": "6", + "display": "BLUE CROSS/BLUE SHIELD" + }, { + "code": "61", + "display": "BC Managed Care" + }, { + "code": "611", + "display": "BC Managed Care -- HMO" + }, { + "code": "612", + "display": "BC Managed Care -- PPO" + }, { + "code": "613", + "display": "BC Managed Care -- POS" + }, { + "code": "614", + "display": "BC Managed Care - Dental" + }, { + "code": "619", + "display": "BC Managed Care -- Other" + }, { + "code": "62", + "display": "BC Insurance Indemnity" + }, { + "code": "621", + "display": "BC Indemnity" + }, { + "code": "622", + "display": "BC Self-insured (ERISA) Administrative Services Only (ASO)Plan" + }, { + "code": "623", + "display": "BC Medicare Supplemental Plan" + }, { + "code": "629", + "display": "BC Indemnity - Dental" + }, { + "code": "7", + "display": "MANAGED CARE, UNSPECIFIED (to be used only if one can't distinguish public from private)" + }, { + "code": "71", + "display": "HMO" + }, { + "code": "72", + "display": "PPO" + }, { + "code": "73", + "display": "POS" + }, { + "code": "79", + "display": "Other Managed Care" + }, { + "code": "8", + "display": "NO PAYMENT from an Organization/Agency/Program/Private Payer Listed" + }, { + "code": "81", + "display": "Self-pay (Includes applicants for insurance and Medicaid applicants)" + }, { + "code": "82", + "display": "No Charge" + }, { + "code": "821", + "display": "Charity" + }, { + "code": "822", + "display": "Professional Courtesy" + }, { + "code": "823", + "display": "Research/Clinical Trial" + }, { + "code": "83", + "display": "Refusal to Pay/Bad Debt" + }, { + "code": "84", + "display": "Hill Burton Free Care" + }, { + "code": "85", + "display": "Research/Donor" + }, { + "code": "89", + "display": "No Payment, Other" + }, { + "code": "9", + "display": "MISCELLANEOUS/OTHER" + }, { + "code": "91", + "display": "Foreign National" + }, { + "code": "92", + "display": "Other (Non-government)" + }, { + "code": "93", + "display": "Disability Insurance" + }, { + "code": "94", + "display": "Long-term Care Insurance" + }, { + "code": "95", + "display": "Worker's Compensation" + }, { + "code": "951", + "display": "Worker's Comp HMO" + }, { + "code": "953", + "display": "Worker's Comp Fee-for-Service" + }, { + "code": "954", + "display": "Worker's Comp Other Managed Care" + }, { + "code": "959", + "display": "Worker's Comp, Other unspecified" + }, { + "code": "96", + "display": "Auto Insurance (includes no fault)" + }, { + "code": "97", + "display": "Legal Liability / Liability Insurance" + }, { + "code": "98", + "display": "Other specified but not otherwise classifiable (includes Hospice - Unspecified plan)" + }, { + "code": "99", + "display": "No Typology Code available for payment source" + }, { + "code": "9999", + "display": "Unavailable / No Payer Specified / Blank" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.207", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.207" + } ], + "version": "20170725", + "name": "DischargedtoHealthCareFacilityforHospiceCare", + "title": "Discharged to Health Care Facility for Hospice Care", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "428371000124100", + "display": "Discharge to healthcare facility for hospice care (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.207" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1110.39", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39", + "title": "Ticagrelor Therapy", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "version": "2019-08", + "concept": [ { + "code": "1116635", + "display": "Ticagrelor 90 MG Oral Tablet" + }, { + "code": "1666332", + "display": "Ticagrelor 60 MG Oral Tablet" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1110.39" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.87", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.117.1.7.1.87" + } ], + "version": "20170725", + "name": "DischargeToAcuteCareFacility", + "title": "Discharge To Acute Care Facility", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "306701001", + "display": "Discharge to community hospital (procedure)" + }, { + "code": "306703003", + "display": "Discharge to tertiary referral hospital (procedure)" + }, { + "code": "434781000124105", + "display": "Discharge to acute care hospital (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.87" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1110.19", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.19", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1110.19" + } ], + "version": "20170504", + "name": "StatinGrouper", + "title": "Statin Grouper", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "version": "2018-07", + "concept": [ { + "code": "197903", + "display": "Lovastatin 10 MG Oral Tablet" + }, { + "code": "197904", + "display": "Lovastatin 20 MG Oral Tablet" + }, { + "code": "197905", + "display": "Lovastatin 40 MG Oral Tablet" + }, { + "code": "198211", + "display": "Simvastatin 40 MG Oral Tablet" + }, { + "code": "2001254", + "display": "pitavastatin magnesium 1 MG Oral Tablet" + }, { + "code": "2001262", + "display": "pitavastatin magnesium 2 MG Oral Tablet" + }, { + "code": "2001266", + "display": "pitavastatin magnesium 4 MG Oral Tablet" + }, { + "code": "200345", + "display": "Simvastatin 80 MG Oral Tablet" + }, { + "code": "259255", + "display": "atorvastatin 80 MG Oral Tablet" + }, { + "code": "310404", + "display": "fluvastatin 20 MG Oral Capsule" + }, { + "code": "310405", + "display": "fluvastatin 40 MG Oral Capsule" + }, { + "code": "312961", + "display": "Simvastatin 20 MG Oral Tablet" + }, { + "code": "312962", + "display": "Simvastatin 5 MG Oral Tablet" + }, { + "code": "314231", + "display": "Simvastatin 10 MG Oral Tablet" + }, { + "code": "359731", + "display": "24 HR Lovastatin 40 MG Extended Release Oral Tablet" + }, { + "code": "359732", + "display": "24 HR Lovastatin 60 MG Extended Release Oral Tablet" + }, { + "code": "360507", + "display": "24 HR fluvastatin 80 MG Extended Release Oral Tablet" + }, { + "code": "404011", + "display": "Amlodipine 5 MG / atorvastatin 80 MG Oral Tablet" + }, { + "code": "404013", + "display": "Amlodipine 10 MG / atorvastatin 80 MG Oral Tablet" + }, { + "code": "433849", + "display": "24 HR Lovastatin 20 MG Extended Release Oral Tablet" + }, { + "code": "476345", + "display": "ezetimibe 10 MG / Simvastatin 10 MG Oral Tablet" + }, { + "code": "476349", + "display": "ezetimibe 10 MG / Simvastatin 20 MG Oral Tablet" + }, { + "code": "476350", + "display": "ezetimibe 10 MG / Simvastatin 40 MG Oral Tablet" + }, { + "code": "476351", + "display": "ezetimibe 10 MG / Simvastatin 80 MG Oral Tablet" + }, { + "code": "597967", + "display": "Amlodipine 10 MG / atorvastatin 20 MG Oral Tablet" + }, { + "code": "597971", + "display": "Amlodipine 2.5 MG / atorvastatin 10 MG Oral Tablet" + }, { + "code": "597974", + "display": "Amlodipine 2.5 MG / atorvastatin 20 MG Oral Tablet" + }, { + "code": "597977", + "display": "Amlodipine 5 MG / atorvastatin 10 MG Oral Tablet" + }, { + "code": "597980", + "display": "Amlodipine 5 MG / atorvastatin 20 MG Oral Tablet" + }, { + "code": "597984", + "display": "Amlodipine 5 MG / atorvastatin 40 MG Oral Tablet" + }, { + "code": "597987", + "display": "Amlodipine 10 MG / atorvastatin 10 MG Oral Tablet" + }, { + "code": "597990", + "display": "Amlodipine 10 MG / atorvastatin 40 MG Oral Tablet" + }, { + "code": "597993", + "display": "Amlodipine 2.5 MG / atorvastatin 40 MG Oral Tablet" + }, { + "code": "617310", + "display": "atorvastatin 20 MG Oral Tablet" + }, { + "code": "617311", + "display": "atorvastatin 40 MG Oral Tablet" + }, { + "code": "617312", + "display": "atorvastatin 10 MG Oral Tablet" + }, { + "code": "757702", + "display": "Simvastatin 10 MG Disintegrating Oral Tablet" + }, { + "code": "757703", + "display": "Simvastatin 20 MG Disintegrating Oral Tablet" + }, { + "code": "757704", + "display": "Simvastatin 40 MG Disintegrating Oral Tablet" + }, { + "code": "757705", + "display": "Simvastatin 80 MG Disintegrating Oral Tablet" + }, { + "code": "859419", + "display": "Rosuvastatin calcium 40 MG Oral Tablet" + }, { + "code": "859424", + "display": "Rosuvastatin calcium 5 MG Oral Tablet" + }, { + "code": "859747", + "display": "Rosuvastatin calcium 10 MG Oral Tablet" + }, { + "code": "859751", + "display": "Rosuvastatin calcium 20 MG Oral Tablet" + }, { + "code": "861643", + "display": "pitavastatin calcium 1 MG Oral Tablet" + }, { + "code": "861648", + "display": "pitavastatin calcium 2 MG Oral Tablet" + }, { + "code": "861652", + "display": "pitavastatin calcium 4 MG Oral Tablet" + }, { + "code": "904458", + "display": "Pravastatin Sodium 10 MG Oral Tablet" + }, { + "code": "904467", + "display": "Pravastatin Sodium 20 MG Oral Tablet" + }, { + "code": "904475", + "display": "Pravastatin Sodium 40 MG Oral Tablet" + }, { + "code": "904481", + "display": "Pravastatin Sodium 80 MG Oral Tablet" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1110.19" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.93", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93", + "title": "Patient Refusal", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "105480006", + "display": "Refusal of treatment by patient (situation)" + }, { + "code": "182890002", + "display": "Patient requests alternative treatment (finding)" + }, { + "code": "182895007", + "display": "Drug declined by patient (situation)" + }, { + "code": "182896008", + "display": "Drug declined by patient - dislikes taste (situation)" + }, { + "code": "182897004", + "display": "Drug declined by patient - side effects (situation)" + }, { + "code": "182898009", + "display": "Drug declined by patient - inconvenient (situation)" + }, { + "code": "182900006", + "display": "Drug declined by patient - patient beliefs (situation)" + }, { + "code": "182901005", + "display": "Drug declined by patient - alternative therapy (situation)" + }, { + "code": "182903008", + "display": "Drug declined by patient - reason unknown (situation)" + }, { + "code": "183944003", + "display": "Procedure refused (situation)" + }, { + "code": "183945002", + "display": "Procedure refused for religious reason (situation)" + }, { + "code": "183946001", + "display": "Procedure refused - uncooperative (situation)" + }, { + "code": "183947005", + "display": "Refused procedure - after thought (situation)" + }, { + "code": "183948000", + "display": "Refused procedure - parent's wish (situation)" + }, { + "code": "275936005", + "display": "Patient noncompliance - general (situation)" + }, { + "code": "371138003", + "display": "Refusal of treatment by parents (situation)" + }, { + "code": "406149000", + "display": "Medication refused (situation)" + }, { + "code": "413312003", + "display": "Patient non-compliant - refused service (situation)" + }, { + "code": "416432009", + "display": "Procedure not wanted (situation)" + }, { + "code": "443390004", + "display": "Refused (qualifier value)" + }, { + "code": "609589008", + "display": "Refused by parents of subject (qualifier value)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.93" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.292", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292", + "title": "Emergency Department Visit", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "4525004", + "display": "Emergency department patient visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1111.143", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143", + "title": "Observation Services", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-09", + "concept": [ { + "code": "448851000124103", + "display": "Hospital admission from observation unit (procedure)" + }, { + "code": "448951000124107", + "display": "Admission to observation unit (procedure)" + }, { + "code": "76464004", + "display": "Hospital admission, for observation (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1111.143" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.666.5.307", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.666.5.307" + } ], + "version": "20170504", + "name": "EncounterInpatient", + "title": "Encounter Inpatient", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + }, { + "code": "8715000", + "display": "Hospital admission, elective (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "1.3.6.1.4.1.33895.1.3.0.45", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "1.3.6.1.4.1.33895.1.3.0.45" + } ], + "version": "20160331", + "name": "ComfortMeasures", + "title": "Comfort Measures", + "status": "active", + "publisher": "TJC EH Steward", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "133918004", + "display": "Comfort measures (regime/therapy)" + }, { + "code": "182964004", + "display": "Terminal care (regime/therapy)" + }, { + "code": "385736008", + "display": "Dying care (regime/therapy)" + }, { + "code": "385763009", + "display": "Hospice care (regime/therapy)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.212", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212", + "title": "Hemorrhagic Stroke", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "195155004", + "display": "Subarachnoid hemorrhage from carotid siphon and bifurcation (disorder)" + }, { + "code": "195160000", + "display": "Intracranial subarachnoid hemorrhage from vertebral artery (disorder)" + }, { + "code": "195165005", + "display": "Basal ganglia hemorrhage (disorder)" + }, { + "code": "195167002", + "display": "External capsule hemorrhage (disorder)" + }, { + "code": "195168007", + "display": "Intracerebral hemorrhage with intraventricular hemorrhage (disorder)" + }, { + "code": "195169004", + "display": "Intracerebral hemorrhage, multiple localized (disorder)" + }, { + "code": "20908003", + "display": "Subcortical cerebral hemorrhage (disorder)" + }, { + "code": "230706003", + "display": "Hemorrhagic cerebral infarction (disorder)" + }, { + "code": "230707007", + "display": "Anterior cerebral circulation hemorrhagic infarction (disorder)" + }, { + "code": "230708002", + "display": "Posterior cerebral circulation hemorrhagic infarction (disorder)" + }, { + "code": "230709005", + "display": "Massive supratentorial cerebral hemorrhage (disorder)" + }, { + "code": "230710000", + "display": "Lobar cerebral hemorrhage (disorder)" + }, { + "code": "230711001", + "display": "Thalamic hemorrhage (disorder)" + }, { + "code": "230712008", + "display": "Lacunar hemorrhage (disorder)" + }, { + "code": "23276006", + "display": "Ventricular hemorrhage (disorder)" + }, { + "code": "270907008", + "display": "Spontaneous intracranial subarachnoid hemorrhage (disorder)" + }, { + "code": "274100004", + "display": "Cerebral hemorrhage (disorder)" + }, { + "code": "276277008", + "display": "Subarachnoid hemorrhage from multiple aneurysms (disorder)" + }, { + "code": "276278003", + "display": "Subarachnoid hemorrhage from anterior cerebral artery aneurysm (disorder)" + }, { + "code": "276280009", + "display": "Subarachnoid hemorrhage from middle cerebral artery aneurysm (disorder)" + }, { + "code": "276281008", + "display": "Subarachnoid hemorrhage from posterior cerebral artery aneurysm (disorder)" + }, { + "code": "276282001", + "display": "Subarachnoid hemorrhage from anterior communicating artery aneurysm (disorder)" + }, { + "code": "276283006", + "display": "Subarachnoid hemorrhage from posterior communicating artery aneurysm (disorder)" + }, { + "code": "276284000", + "display": "Subarachnoid hemorrhage from basilar artery aneurysm (disorder)" + }, { + "code": "276285004", + "display": "Subarachnoid hemorrhage from posterior inferior cerebellar artery aneurysm (disorder)" + }, { + "code": "276286003", + "display": "Subarachnoid hemorrhage from carotid artery aneurysm (disorder)" + }, { + "code": "276722003", + "display": "Intracerebellar and posterior fossa hemorrhage (disorder)" + }, { + "code": "28318001", + "display": "Basilar hemorrhage (disorder)" + }, { + "code": "42429001", + "display": "Cerebromeningeal hemorrhage (disorder)" + }, { + "code": "425957003", + "display": "Non-traumatic intracerebral ventricular hemorrhage (disorder)" + }, { + "code": "449020009", + "display": "Intraparenchymal hemorrhage of brain (disorder)" + }, { + "code": "49422009", + "display": "Cortical hemorrhage (disorder)" + }, { + "code": "52201006", + "display": "Internal capsule hemorrhage (disorder)" + }, { + "code": "73020009", + "display": "Cerebral hemisphere hemorrhage (disorder)" + }, { + "code": "75038005", + "display": "Cerebellar hemorrhage (disorder)" + }, { + "code": "7713009", + "display": "Intrapontine hemorrhage (disorder)" + }, { + "code": "95454007", + "display": "Brain stem hemorrhage (disorder)" + } ] + }, { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2020", + "concept": [ { + "code": "I60.00", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified carotid siphon and bifurcation" + }, { + "code": "I60.01", + "display": "Nontraumatic subarachnoid hemorrhage from right carotid siphon and bifurcation" + }, { + "code": "I60.02", + "display": "Nontraumatic subarachnoid hemorrhage from left carotid siphon and bifurcation" + }, { + "code": "I60.10", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified middle cerebral artery" + }, { + "code": "I60.11", + "display": "Nontraumatic subarachnoid hemorrhage from right middle cerebral artery" + }, { + "code": "I60.12", + "display": "Nontraumatic subarachnoid hemorrhage from left middle cerebral artery" + }, { + "code": "I60.2", + "display": "Nontraumatic subarachnoid hemorrhage from anterior communicating artery" + }, { + "code": "I60.30", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified posterior communicating artery" + }, { + "code": "I60.31", + "display": "Nontraumatic subarachnoid hemorrhage from right posterior communicating artery" + }, { + "code": "I60.32", + "display": "Nontraumatic subarachnoid hemorrhage from left posterior communicating artery" + }, { + "code": "I60.4", + "display": "Nontraumatic subarachnoid hemorrhage from basilar artery" + }, { + "code": "I60.50", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified vertebral artery" + }, { + "code": "I60.51", + "display": "Nontraumatic subarachnoid hemorrhage from right vertebral artery" + }, { + "code": "I60.52", + "display": "Nontraumatic subarachnoid hemorrhage from left vertebral artery" + }, { + "code": "I60.6", + "display": "Nontraumatic subarachnoid hemorrhage from other intracranial arteries" + }, { + "code": "I60.7", + "display": "Nontraumatic subarachnoid hemorrhage from unspecified intracranial artery" + }, { + "code": "I60.8", + "display": "Other nontraumatic subarachnoid hemorrhage" + }, { + "code": "I60.9", + "display": "Nontraumatic subarachnoid hemorrhage, unspecified" + }, { + "code": "I61.0", + "display": "Nontraumatic intracerebral hemorrhage in hemisphere, subcortical" + }, { + "code": "I61.1", + "display": "Nontraumatic intracerebral hemorrhage in hemisphere, cortical" + }, { + "code": "I61.2", + "display": "Nontraumatic intracerebral hemorrhage in hemisphere, unspecified" + }, { + "code": "I61.3", + "display": "Nontraumatic intracerebral hemorrhage in brain stem" + }, { + "code": "I61.4", + "display": "Nontraumatic intracerebral hemorrhage in cerebellum" + }, { + "code": "I61.5", + "display": "Nontraumatic intracerebral hemorrhage, intraventricular" + }, { + "code": "I61.6", + "display": "Nontraumatic intracerebral hemorrhage, multiple localized" + }, { + "code": "I61.8", + "display": "Other nontraumatic intracerebral hemorrhage" + }, { + "code": "I61.9", + "display": "Nontraumatic intracerebral hemorrhage, unspecified" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.212" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.247", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247", + "title": "Ischemic Stroke", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "111297002", + "display": "Nonparalytic stroke (disorder)" + }, { + "code": "116288000", + "display": "Paralytic stroke (disorder)" + }, { + "code": "195185009", + "display": "Cerebral infarct due to thrombosis of precerebral arteries (disorder)" + }, { + "code": "195186005", + "display": "Cerebral infarction due to embolism of precerebral arteries (disorder)" + }, { + "code": "195189003", + "display": "Cerebral infarction due to thrombosis of cerebral arteries (disorder)" + }, { + "code": "195190007", + "display": "Cerebral infarction due to embolism of cerebral arteries (disorder)" + }, { + "code": "195212005", + "display": "Brainstem stroke syndrome (disorder)" + }, { + "code": "195213000", + "display": "Cerebellar stroke syndrome (disorder)" + }, { + "code": "195216008", + "display": "Left sided cerebral hemisphere cerebrovascular accident (disorder)" + }, { + "code": "195217004", + "display": "Right sided cerebral hemisphere cerebrovascular accident (disorder)" + }, { + "code": "195230003", + "display": "Cerebral infarction due to cerebral venous thrombosis, non-pyogenic (disorder)" + }, { + "code": "230690007", + "display": "Cerebrovascular accident (disorder)" + }, { + "code": "230691006", + "display": "Cerebrovascular accident due to occlusion of cerebral artery (disorder)" + }, { + "code": "230692004", + "display": "Infarction - precerebral (disorder)" + }, { + "code": "230693009", + "display": "Anterior cerebral circulation infarction (disorder)" + }, { + "code": "230694003", + "display": "Total anterior cerebral circulation infarction (disorder)" + }, { + "code": "230695002", + "display": "Partial anterior cerebral circulation infarction (disorder)" + }, { + "code": "230696001", + "display": "Posterior cerebral circulation infarction (disorder)" + }, { + "code": "230698000", + "display": "Lacunar infarction (disorder)" + }, { + "code": "230699008", + "display": "Pure motor lacunar infarction (disorder)" + }, { + "code": "230700009", + "display": "Pure sensory lacunar infarction (disorder)" + }, { + "code": "230701008", + "display": "Pure sensorimotor lacunar infarction (disorder)" + }, { + "code": "307363008", + "display": "Multiple lacunar infarcts (disorder)" + }, { + "code": "426107000", + "display": "Acute lacunar infarction (disorder)" + } ] + }, { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2020", + "concept": [ { + "code": "I63.00", + "display": "Cerebral infarction due to thrombosis of unspecified precerebral artery" + }, { + "code": "I63.011", + "display": "Cerebral infarction due to thrombosis of right vertebral artery" + }, { + "code": "I63.012", + "display": "Cerebral infarction due to thrombosis of left vertebral artery" + }, { + "code": "I63.013", + "display": "Cerebral infarction due to thrombosis of bilateral vertebral arteries" + }, { + "code": "I63.019", + "display": "Cerebral infarction due to thrombosis of unspecified vertebral artery" + }, { + "code": "I63.02", + "display": "Cerebral infarction due to thrombosis of basilar artery" + }, { + "code": "I63.031", + "display": "Cerebral infarction due to thrombosis of right carotid artery" + }, { + "code": "I63.032", + "display": "Cerebral infarction due to thrombosis of left carotid artery" + }, { + "code": "I63.033", + "display": "Cerebral infarction due to thrombosis of bilateral carotid arteries" + }, { + "code": "I63.039", + "display": "Cerebral infarction due to thrombosis of unspecified carotid artery" + }, { + "code": "I63.09", + "display": "Cerebral infarction due to thrombosis of other precerebral artery" + }, { + "code": "I63.10", + "display": "Cerebral infarction due to embolism of unspecified precerebral artery" + }, { + "code": "I63.111", + "display": "Cerebral infarction due to embolism of right vertebral artery" + }, { + "code": "I63.112", + "display": "Cerebral infarction due to embolism of left vertebral artery" + }, { + "code": "I63.113", + "display": "Cerebral infarction due to embolism of bilateral vertebral arteries" + }, { + "code": "I63.119", + "display": "Cerebral infarction due to embolism of unspecified vertebral artery" + }, { + "code": "I63.12", + "display": "Cerebral infarction due to embolism of basilar artery" + }, { + "code": "I63.131", + "display": "Cerebral infarction due to embolism of right carotid artery" + }, { + "code": "I63.132", + "display": "Cerebral infarction due to embolism of left carotid artery" + }, { + "code": "I63.133", + "display": "Cerebral infarction due to embolism of bilateral carotid arteries" + }, { + "code": "I63.139", + "display": "Cerebral infarction due to embolism of unspecified carotid artery" + }, { + "code": "I63.19", + "display": "Cerebral infarction due to embolism of other precerebral artery" + }, { + "code": "I63.20", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified precerebral arteries" + }, { + "code": "I63.211", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right vertebral artery" + }, { + "code": "I63.212", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left vertebral artery" + }, { + "code": "I63.213", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral vertebral arteries" + }, { + "code": "I63.219", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified vertebral artery" + }, { + "code": "I63.22", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of basilar artery" + }, { + "code": "I63.231", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right carotid arteries" + }, { + "code": "I63.232", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left carotid arteries" + }, { + "code": "I63.233", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral carotid arteries" + }, { + "code": "I63.239", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified carotid artery" + }, { + "code": "I63.29", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of other precerebral arteries" + }, { + "code": "I63.30", + "display": "Cerebral infarction due to thrombosis of unspecified cerebral artery" + }, { + "code": "I63.311", + "display": "Cerebral infarction due to thrombosis of right middle cerebral artery" + }, { + "code": "I63.312", + "display": "Cerebral infarction due to thrombosis of left middle cerebral artery" + }, { + "code": "I63.313", + "display": "Cerebral infarction due to thrombosis of bilateral middle cerebral arteries" + }, { + "code": "I63.319", + "display": "Cerebral infarction due to thrombosis of unspecified middle cerebral artery" + }, { + "code": "I63.321", + "display": "Cerebral infarction due to thrombosis of right anterior cerebral artery" + }, { + "code": "I63.322", + "display": "Cerebral infarction due to thrombosis of left anterior cerebral artery" + }, { + "code": "I63.323", + "display": "Cerebral infarction due to thrombosis of bilateral anterior cerebral arteries" + }, { + "code": "I63.329", + "display": "Cerebral infarction due to thrombosis of unspecified anterior cerebral artery" + }, { + "code": "I63.331", + "display": "Cerebral infarction due to thrombosis of right posterior cerebral artery" + }, { + "code": "I63.332", + "display": "Cerebral infarction due to thrombosis of left posterior cerebral artery" + }, { + "code": "I63.333", + "display": "Cerebral infarction due to thrombosis of bilateral posterior cerebral arteries" + }, { + "code": "I63.339", + "display": "Cerebral infarction due to thrombosis of unspecified posterior cerebral artery" + }, { + "code": "I63.341", + "display": "Cerebral infarction due to thrombosis of right cerebellar artery" + }, { + "code": "I63.342", + "display": "Cerebral infarction due to thrombosis of left cerebellar artery" + }, { + "code": "I63.343", + "display": "Cerebral infarction due to thrombosis of bilateral cerebellar arteries" + }, { + "code": "I63.349", + "display": "Cerebral infarction due to thrombosis of unspecified cerebellar artery" + }, { + "code": "I63.39", + "display": "Cerebral infarction due to thrombosis of other cerebral artery" + }, { + "code": "I63.40", + "display": "Cerebral infarction due to embolism of unspecified cerebral artery" + }, { + "code": "I63.411", + "display": "Cerebral infarction due to embolism of right middle cerebral artery" + }, { + "code": "I63.412", + "display": "Cerebral infarction due to embolism of left middle cerebral artery" + }, { + "code": "I63.413", + "display": "Cerebral infarction due to embolism of bilateral middle cerebral arteries" + }, { + "code": "I63.419", + "display": "Cerebral infarction due to embolism of unspecified middle cerebral artery" + }, { + "code": "I63.421", + "display": "Cerebral infarction due to embolism of right anterior cerebral artery" + }, { + "code": "I63.422", + "display": "Cerebral infarction due to embolism of left anterior cerebral artery" + }, { + "code": "I63.423", + "display": "Cerebral infarction due to embolism of bilateral anterior cerebral arteries" + }, { + "code": "I63.429", + "display": "Cerebral infarction due to embolism of unspecified anterior cerebral artery" + }, { + "code": "I63.431", + "display": "Cerebral infarction due to embolism of right posterior cerebral artery" + }, { + "code": "I63.432", + "display": "Cerebral infarction due to embolism of left posterior cerebral artery" + }, { + "code": "I63.433", + "display": "Cerebral infarction due to embolism of bilateral posterior cerebral arteries" + }, { + "code": "I63.439", + "display": "Cerebral infarction due to embolism of unspecified posterior cerebral artery" + }, { + "code": "I63.441", + "display": "Cerebral infarction due to embolism of right cerebellar artery" + }, { + "code": "I63.442", + "display": "Cerebral infarction due to embolism of left cerebellar artery" + }, { + "code": "I63.443", + "display": "Cerebral infarction due to embolism of bilateral cerebellar arteries" + }, { + "code": "I63.449", + "display": "Cerebral infarction due to embolism of unspecified cerebellar artery" + }, { + "code": "I63.49", + "display": "Cerebral infarction due to embolism of other cerebral artery" + }, { + "code": "I63.50", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified cerebral artery" + }, { + "code": "I63.511", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right middle cerebral artery" + }, { + "code": "I63.512", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left middle cerebral artery" + }, { + "code": "I63.513", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral middle cerebral arteries" + }, { + "code": "I63.519", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified middle cerebral artery" + }, { + "code": "I63.521", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right anterior cerebral artery" + }, { + "code": "I63.522", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left anterior cerebral artery" + }, { + "code": "I63.523", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral anterior cerebral arteries" + }, { + "code": "I63.529", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified anterior cerebral artery" + }, { + "code": "I63.531", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right posterior cerebral artery" + }, { + "code": "I63.532", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left posterior cerebral artery" + }, { + "code": "I63.533", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral posterior cerebral arteries" + }, { + "code": "I63.539", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified posterior cerebral artery" + }, { + "code": "I63.541", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of right cerebellar artery" + }, { + "code": "I63.542", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of left cerebellar artery" + }, { + "code": "I63.543", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of bilateral cerebellar arteries" + }, { + "code": "I63.549", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of unspecified cerebellar artery" + }, { + "code": "I63.59", + "display": "Cerebral infarction due to unspecified occlusion or stenosis of other cerebral artery" + }, { + "code": "I63.6", + "display": "Cerebral infarction due to cerebral venous thrombosis, nonpyogenic" + }, { + "code": "I63.81", + "display": "Other cerebral infarction due to occlusion or stenosis of small artery" + }, { + "code": "I63.89", + "display": "Other cerebral infarction" + }, { + "code": "I63.9", + "display": "Cerebral infarction, unspecified" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.247" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.423", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423", + "title": "Statin Allergen", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "version": "2019-12", + "concept": [ { + "code": "301542", + "display": "rosuvastatin" + }, { + "code": "36567", + "display": "Simvastatin" + }, { + "code": "41127", + "display": "fluvastatin" + }, { + "code": "42463", + "display": "Pravastatin" + }, { + "code": "6472", + "display": "Lovastatin" + }, { + "code": "83367", + "display": "atorvastatin" + }, { + "code": "861634", + "display": "pitavastatin" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.423" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.473", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473", + "title": "Medical Reason", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "183932001", + "display": "Procedure contraindicated (situation)" + }, { + "code": "183964008", + "display": "Treatment not indicated (situation)" + }, { + "code": "183966005", + "display": "Drug treatment not indicated (situation)" + }, { + "code": "266721009", + "display": "Absent response to treatment (situation)" + }, { + "code": "31438003", + "display": "Drug resistance (disorder)" + }, { + "code": "35688006", + "display": "Complication of medical care (disorder)" + }, { + "code": "397745006", + "display": "Medical contraindication (finding)" + }, { + "code": "407563006", + "display": "Treatment not tolerated (situation)" + }, { + "code": "410529002", + "display": "Not needed (qualifier value)" + }, { + "code": "410534003", + "display": "Not indicated (qualifier value)" + }, { + "code": "410536001", + "display": "Contraindicated (qualifier value)" + }, { + "code": "416098002", + "display": "Allergy to drug (finding)" + }, { + "code": "419511003", + "display": "Propensity to adverse reactions to drug (finding)" + }, { + "code": "428024001", + "display": "Clinical trial participant (person)" + }, { + "code": "428119001", + "display": "Procedure not indicated (situation)" + }, { + "code": "59037007", + "display": "Intolerance to drug (finding)" + }, { + "code": "62014003", + "display": "Adverse reaction caused by drug (disorder)" + }, { + "code": "79899007", + "display": "Drug interaction (finding)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.473" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.836", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.836" + } ], + "version": "20121025", + "name": "Race", + "title": "Race", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "1002-5", + "display": "American Indian or Alaska Native" + }, { + "code": "2028-9", + "display": "Asian" + }, { + "code": "2054-5", + "display": "Black or African American" + }, { + "code": "2076-8", + "display": "Native Hawaiian or Other Pacific Islander" + }, { + "code": "2106-3", + "display": "White" + }, { + "code": "2131-1", + "display": "Other Race" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.837", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.837" + } ], + "version": "20121025", + "name": "Ethnicity", + "title": "Ethnicity", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "2135-2", + "display": "Hispanic or Latino" + }, { + "code": "2186-5", + "display": "Not Hispanic or Latino" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1" + } ], + "version": "20150331", + "name": "ONCAdministrativeSex", + "title": "ONC Administrative Sex", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + }, { + "code": "M", + "display": "Male" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1" + } + } ] +} \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM108_FHIR3-7.4.000/EXM108_FHIR3-7.4.000-bundle.json b/fhir3/bundles/measure/EXM108_FHIR3-7.4.000/EXM108_FHIR3-7.4.000-bundle.json index a859696c..b29b5277 100644 --- a/fhir3/bundles/measure/EXM108_FHIR3-7.4.000/EXM108_FHIR3-7.4.000-bundle.json +++ b/fhir3/bundles/measure/EXM108_FHIR3-7.4.000/EXM108_FHIR3-7.4.000-bundle.json @@ -3,57 +3,6 @@ "id": "EXM108-FHIR3-7.4.000-bundle", "type": "transaction", "entry": [ { - "resource": { - "resourceType": "Patient", - "id": "numer-EXM108-FHIR3", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2106-3", - "display": "White" - } - } ] - }, { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2186-5", - "display": "Not Hispanic or Latino" - } - } ] - } ], - "identifier": [ { - "use": "usual", - "type": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "MR", - "display": "Medical Record Number" - } ] - }, - "system": "http://hospital.smarthealthit.org", - "value": "999999997" - } ], - "name": [ { - "family": "Smith", - "given": [ "Jill" ] - } ], - "gender": "female", - "birthDate": "1963-09-13" - }, - "request": { - "method": "PUT", - "url": "Patient/numer-EXM108-FHIR3" - } - }, { "resource": { "resourceType": "Bundle", "id": "tests-Device-bundle", @@ -83,115 +32,6 @@ "method": "PUT", "url": "tests-Device-bundle" } - }, { - "resource": { - "resourceType": "Library", - "id": "library-EXM108-FHIR3-7.4.000", - "text": { - "status": "generated", - "div": "
\r\n \r\n \r\n
Id: library-EXM108-FHIR3-7.4.000
Type: logic-library
Version: 7.4.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

type: depends-on

Resource:
reference: Library/library-VTEICU-FHIR3-2.4.000

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

Data Requirements:

type: Patient

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: DeviceUseStatement

type: Device

type: DeviceRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230

type: DeviceRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214

type: DeviceRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232

type: MedicationRequest

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39

type: MedicationRequest

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219

type: MedicationRequest

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211

type: MedicationRequest

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232

type: DeviceUseStatement

type: Device

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261

type: Observation

code filter:
path: code

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743

Content: type: text/cql
library EXM108_FHIR3 version '7.4.000'\n\n/*\nBased on CMS108v7 - Venous Thromboembolism Prophylaxis\n*/\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\n/*\nData Types Used:\n\nEncounter\nDeviceUseStatement\nDeviceRequest\nMedicationAdministration\nMedicationRequest\nProcedure - ordinality extension\nProcedureRequest\nCondition\n*/\n\n/*\nDevelopment Notes:\n\n    Need to define “doNotPerfom” QICore extension to support “NotDone is true” expression. Suggest to the base Resource for the following profiles –\n\n        DeviceUseStatement\n        DeviceRequest\n        MedicationRequest\n\n        Add doNotPerform to DeviceUseRequest and notDone to DeviceUseStatement:\n        [#20601](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20601)\n        Promote profiles to QI-Core:\n        [#20610](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20610)\n\n    Need to define an “ordinality” extension for Procedure profile to support “Procedure.ordinality ~ "Principal" expression.\n\n      [#20527](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20527)\n\n    Need to confirm the following profiles and ensure Period is a default type -\n\n        MedicationAdministration.effective\n        Procedure.performed\n\n        Defined as DEQM profiles currently, promote to QI-Core\n        [#20611](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20611)\n\n    Suggest defining “recordedOn“ to support the timings for “MedicationAdministration.notGiven” and “Procedure.notDone”. see the highlighted fields below.\n\n      [#20602](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20602)\n\n|Profile                   |Timing used for Done |Timing used for doNotPerform |TJC comments          |\n|---|---|---|---|\n|DeviceUseStatement        |whenUsed             |recordedOn                   |   |\n|DeviceRequest             |authoredOn           |authoredOn                   |   |\n|MedicationAdministration  |effective            |effective                    | Suggest adding recordedOn for notGiven timing |\n|MedicationRequest         |authoredOn           |authoredOn                   |   |\n|Procedure                 |performed            |performed                    | Suggest adding recordedOn for notDone timing |\n|ProcedureRequest          |authoredOn           |authoredOn                   |   |\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude VTEICU_FHIR3 version '2.4.000' called VTEICU\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Atrial Fibrillation/Flutter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202'\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Direct Thrombin Inhibitor": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.205'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "General or Neuraxial Anesthesia": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743'\nvalueset "General Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.255'\nvalueset "Glycoprotein IIb/IIIa Inhibitors": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.41'\nvalueset "Graduated compression stockings (GCS)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256'\nvalueset "Gynecological Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "Hip Fracture Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258'\nvalueset "Hip Replacement Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259'\nvalueset "Injectable Factor Xa Inhibitor for VTE Prophylaxis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211'\nvalueset "INR": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.213'\nvalueset "Intermittent pneumatic compression devices (IPC)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214'\nvalueset "Intracranial Neurosurgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260'\nvalueset "Intravenous route": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.222'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Knee Replacement Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261'\nvalueset "Low Dose Unfractionated Heparin for VTE Prophylaxis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39'\nvalueset "Low Molecular Weight Heparin for VTE Prophylaxis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219'\nvalueset "Low Risk": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.400'\nvalueset "Medical Reason": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'\nvalueset "Mental Health Diagnoses": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1004'\nvalueset "Obstetrics": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.263'\nvalueset "Obstetrics VTE": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264'\nvalueset "Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134'\nvalueset "Patient Refusal": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'\n//valueset "Principal": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.14' // Changed to use a code\nvalueset "Subcutaneous route": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.223'\nvalueset "Unfractionated Heparin": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.218'\nvalueset "Urological Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272'\nvalueset "Venous foot pumps (VFP)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230'\nvalueset "Venous Thromboembolism": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279'\nvalueset "Warfarin": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232'\nvalueset "Intensive Care Unit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.23'\n\ncode "Risk for venous thromboembolism": '72136-5' from "LOINC" display 'Risk for venous thromboembolism'\ncode "Principal": '63161005' from "SNOMEDCT" display 'Principal (qualifier value)'\ncode "Order": 'order' from "RequestIntent" display 'Order'\n\nparameter "Measurement Period" Interval<DateTime>\n    default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n\tSDE."SDE Payer"\n\ndefine "SDE Race":\n  SDE."SDE Race"\n\ndefine "SDE Sex":\n\tSDE."SDE Sex"\n\ndefine "Denominator":\n\t"Initial Population"\n\ndefine "ED Visit":\n\t["Encounter": type in "Emergency Department Visit"] EDVisit\n    where EDVisit.status = 'finished'\n\ndefine "Initial Population":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions"\n\ndefine "No VTE Prophylaxis Device Applied or Ordered":\n  // NOTE: Should be using device.code, but that requires CQL 1.4\n  (\n     (\n       (\n           ["DeviceUseStatement"] DeviceUseStatement\n               where DeviceUseStatement.status = 'completed'\n       ) ValidDeviceUseStatement\n           with [Device] Device\n               such that Global.GetId(ValidDeviceUseStatement.device.reference) = Device.id\n                   and (\n                       Device.type in "Venous foot pumps (VFP)"\n                           or Device.type in "Intermittent pneumatic compression devices (IPC)"\n                           or Device.type in "Graduated compression stockings (GCS)"\n                   )\n     ) D\n     //JR: updated to use the Global get extension because the argument is DomainResource\n     where Global.GetExtension(D, 'doNotPerform').value is true\n  )\n  union ((\n    ["DeviceRequest": code in "Venous foot pumps (VFP)"]\n      union ["DeviceRequest": code in "Intermittent pneumatic compression devices (IPC)"]\n      union ["DeviceRequest": code in "Graduated compression stockings (GCS)"]\n  ) D\n    where D.intent ~ ToConcept("Order")\n    //JR: updated to use the Global get extension because the argument is DomainResource\n\t and Global.GetExtension(D, 'doNotPerform').value is true\n    //where D.doNotPerform is true // Needs a QI-Core extension to support\n  )\ndefine function GetExtension(Extensions List<Extension>, URL String):\n  singleton from (Extensions E where E.url = URL return E)\n\n//Done\ndefine "No VTE Prophylaxis Device Due to Medical Reason During ED Visit":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"ED Visit" EDVisit,\n\t\t"No VTE Prophylaxis Device Applied or Ordered" NoVTEDevice\n\t\twhere FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand (singleton from NoVTEDevice.reasonCode in "Medical Reason")\n\t\t\tand Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during FHIRHelpers.ToInterval(EDVisit.period)\n\n//Done\ndefine "No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Admission":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"No VTE Prophylaxis Device Applied or Ordered" NoVTEDevice\n\t\twhere (singleton from NoVTEDevice.reasonCode in "Medical Reason")\n\t\t\tand Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\n//Done\ndefine "No VTE Prophylaxis Medication Administered or Ordered":\n\t((\t["MedicationAdministration": medication in "Low Dose Unfractionated Heparin for VTE Prophylaxis"]\n\tunion\n\t["MedicationAdministration": medication in "Low Molecular Weight Heparin for VTE Prophylaxis"]\n\tunion\n\t["MedicationAdministration": medication in "Injectable Factor Xa Inhibitor for VTE Prophylaxis"]\n\tunion\n\t["MedicationAdministration": medication in "Warfarin"]\n\t) MedicationAdm\n\t\twhere MedicationAdm.notGiven is true\n\t)\n\tunion\n\t // TODO: Tracker for QI-core to add doNotPerform extension for MedicationRequest and suggest to the base Resource\n\t//JR: code is not an attribute of MedicationRequest.  Used medication instead.\n\t((\t["MedicationRequest": medication in "Low Dose Unfractionated Heparin for VTE Prophylaxis"]\n\tunion\n\t["MedicationRequest": medication in "Low Molecular Weight Heparin for VTE Prophylaxis"]\n\tunion\n\t["MedicationRequest": medication in "Injectable Factor Xa Inhibitor for VTE Prophylaxis"]\n\tunion\n\t["MedicationRequest": medication in "Warfarin"]\n\t) MedicationOrder\n\twhere\tMedicationOrder.intent = 'order'\n\t\tand GetExtension(MedicationOrder.extension, 'http://example.org/fhir/extensions/doNotPerform').value is true\n\t\t//MedicationOrder.doNotPerform is true // Needs a QI-Core extension to support\n\t)\n\n\n//Done\ndefine "No VTE Prophylaxis Medication Due to Medical Reason During ED Visit":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"ED Visit" EDVisit,\n\t\t"No VTE Prophylaxis Medication Administered or Ordered" NoVTEMedication\n\t\twhere FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand (singleton from NoVTEMedication.reasonCode in "Medical Reason")\n\t\t// TODO: Profile of MedicationAdministration to ensure effective is a Period\n\t\t\tand Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during FHIRHelpers.ToInterval(EDVisit.period)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Admission":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"No VTE Prophylaxis Medication Administered or Ordered" NoVTEMedication\n\t\twhere (singleton from NoVTEMedication.reasonCode in "Medical Reason")\n\t\t\tand Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Procedure":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t"No VTE Prophylaxis Device Applied or Ordered" NoVTEDevice\n\t\twhere NoVTEDevice.reasonCode in "Medical Reason"\n\t\t\tand AnesthesiaProcedure.status = 'completed'\n\t\t\t// TODO: Profile of procedure to ensure performed is a Period\n\t\t\tand AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand  Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during VTEICU."CalendarDayOfOrDayAfter"(end of AnesthesiaProcedure.performed)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "Admission Without VTE or Obstetrical Conditions":\n\t\t(Global."Inpatient Encounter" InpatientEncounter\n\t\twhere not (\n\t\t    //Connectathon: still broken: temporarily removed pending HAPI FHIR server fix for maxClauseCount > 1024\n            //Global.EncounterDiagnosis(InpatientEncounter).code in "Obstetrics" or\n\t\t\t\t\t\t\t\tGlobal.EncounterDiagnosis(InpatientEncounter).code in "Venous Thromboembolism"\n\t\t\t\t\t\t\t\tor Global.EncounterDiagnosis(InpatientEncounter).code in "Obstetrics VTE"\n\t\t\t\t\t\t\t)\n    )\n\t\tintersect (Global."Inpatient Encounter" InpatientEncounter\n\t\t\t\twithout (\n\t\t            //Connectathon: still broken: temporarily removed pending HAPI FHIR server fix for maxClauseCount > 1024\n                    //["Condition": code in "Obstetrics"] union\n\t\t\t\t\t\t\t\t\t["Condition": code in "Venous Thromboembolism"]\n\t\t\t\t\t\t\t\t\tunion ["Condition": code in "Obstetrics VTE"])\tDiagnosis\n\t\t\t\tsuch that Diagnosis.clinicalStatus = 'active'\n        \t\tand Diagnosis.verificationStatus = 'confirmed'\n\t\t\t\t\t\tand Global."Normalize Onset"(Diagnosis.onset) during Global."Hospitalization"(InpatientEncounter)\n\t\t\t\t\t\t)\n\n//Done\ndefine "No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Procedure":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t"No VTE Prophylaxis Medication Administered or Ordered" NoVTEMedication\n\t\twhere NoVTEMedication.reasonCode in "Medical Reason"\n\t\t\tand AnesthesiaProcedure.status = 'completed'\n\t\t\tand AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\t// TODO: Profile of MedicationAdministration to ensure effective is a Period\n\t\t\tand Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during VTEICU."CalendarDayOfOrDayAfter"(end of AnesthesiaProcedure.performed)\n\t\treturn QualifyingEncounter\n\n\n//Done\ndefine "Encounter Less Than 2 Days":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twhere Global."LengthInDays"(FHIRHelpers.ToInterval(QualifyingEncounter.period))< 2\n\n\n//Done\ndefine "SCIP VTE Selected Surgery":\n\t(\n\t\t//Connectathon: still broken: temporarily removed pending HAPI FHIR server fix for maxClauseCount > 1024\n\t\t// ["Procedure": "General Surgery"]\n\t\t// union\n        ["Procedure": "Gynecological Surgery"]\n\t\tunion ["Procedure": "Hip Fracture Surgery"]\n\t\tunion ["Procedure": "Hip Replacement Surgery"]\n\t\tunion ["Procedure": "Intracranial Neurosurgery"]\n\t\tunion ["Procedure": "Knee Replacement Surgery"]\n\t\tunion ["Procedure": "Urological Surgery"] ) P\n\t\twhere P.status = 'completed'\n\n\n//Done\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion\n\t\t(["Procedure": "Comfort Measures"] IntervetionPerformed\n\t\twhere IntervetionPerformed.status = 'completed')\n\n//Done\ndefine "Intervention Comfort Measures on Day of or Day After Start of Hospitalization":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twith "Intervention Comfort Measures" ComfortMeasure\n\t// TODO: Profile of procedure to ensure performed is a Period\n\t\t\tsuch that Coalesce(ComfortMeasure.authoredOn, start of ComfortMeasure.performed) 1 day or less on or after day of start of Global."Hospitalization"(QualifyingEncounter)\n\n//Done\ndefine "Intervention Comfort Measures on Day of or Day After Procedure":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t"Intervention Comfort Measures" ComfortMeasure\n\t\twhere  AnesthesiaProcedure.status = 'completed'\n\t\t\t\tand AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\t\tand Coalesce(ComfortMeasure.authoredOn, start of ComfortMeasure.performed) 1 day or less on or after day of end of AnesthesiaProcedure.performed\n\n//Done\ndefine "VTE Prophylaxis by Medication Administered or Device Applied":\n\t( ["MedicationAdministration": medication in "Low Dose Unfractionated Heparin for VTE Prophylaxis"] VTEMedication\n\t\t\twhere VTEMedication.status = 'completed'\n\t\t\t\t\t\tand VTEMedication.dosage.route in "Subcutaneous route"\n            return start of VTEMedication.effective\n\t)\n\t\t//JR: code is not an attribute of MedicationAdministration.  Used medication instead.\n\t\tunion (["MedicationAdministration": medication in "Low Molecular Weight Heparin for VTE Prophylaxis"] VTEMedication return start of VTEMedication.effective)\n\t\tunion (["MedicationAdministration": medication in "Injectable Factor Xa Inhibitor for VTE Prophylaxis"] VTEMedication return start of VTEMedication.effective)\n\t\tunion (["MedicationAdministration": medication in "Warfarin"] VTEMedication return start of VTEMedication.effective)\n\t\tunion\n            (\n                (\n                    ["DeviceUseStatement"] DeviceUseStatement\n                        where DeviceUseStatement.status = 'completed'\n                ) ValidDeviceUseStatement\n                with [Device] Device\n                such that Last(Split(ValidDeviceUseStatement.device.reference, '/')) = Device.id\n                    and (\n                        Device.type in "Venous foot pumps (VFP)"\n                            or Device.type in "Intermittent pneumatic compression devices (IPC)"\n                            or Device.type in "Graduated compression stockings (GCS)"\n                    )\n            ) DeviceApplied\n        where DeviceApplied.status = 'completed'\n        return Coalesce(DeviceApplied.recordedOn, start of DeviceApplied.whenUsed)\n\n//Done\ndefine "VTE Prophylaxis Received on Day of or Day After Admission or Procedure":\n\t( from\n\t\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t\t"VTE Prophylaxis by Medication Administered or Device Applied" VTEProphylaxisDate\n\t\t\t// TODO: Profile of MedicationAdministration to ensure effective is a Period\n        where VTEProphylaxisDate during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n        return QualifyingEncounter\n\t)\n\t\tunion ( from\n\t\t\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t\t\t"VTE Prophylaxis by Medication Administered or Device Applied" VTEProphylaxisDate\n            where AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n                and VTEProphylaxisDate during VTEICU."CalendarDayOfOrDayAfter"(end of AnesthesiaProcedure.performed)\n            return QualifyingEncounter\n\t\t)\n\n\n//Done\ndefine "Medication Oral Factor Xa Inhibitor Administered on Day of or Day After Admission or Procedure":\n\t( from\n\t\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t\t["MedicationAdministration": medication in "Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment"] FactorXaMedication\n\t\t\twhere FactorXaMedication.effective starts during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\t\t\treturn QualifyingEncounter\n\t)\n\t\tunion ( from\n\t\t\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t\t\t["MedicationAdministration": medication in "Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment"] FactorXaMedication\n\t\t\t\twhere AnesthesiaProcedure.status = 'completed'\n\t\t\t\tand AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\t\t\tand FactorXaMedication.effective starts during VTEICU."CalendarDayOfOrDayAfter"(end of AnesthesiaProcedure.performed)\n\t\t\t\treturn QualifyingEncounter\n\t\t)\n\n//Done\ndefine "Encounter With Prior or Present Diagnosis of Atrial Fibrillation or VTE":\n\t( "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\t\twith ["Condition": code in "Atrial Fibrillation/Flutter"] AtrialFibrillation\n\t\t\t\tsuch that AtrialFibrillation.clinicalStatus = 'active'\n\t\t\t\tand AtrialFibrillation.verificationStatus = 'confirmed'\n\t\t\t\tand Global."Normalize Onset"(AtrialFibrillation.onset) on or before end of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t)\n\t\tunion ( "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\t\t\twhere Global.EncounterDiagnosis(QualifyingEncounter).code in "Atrial Fibrillation/Flutter"\n\t\t\t)\n\t\tunion ( "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\t\t\twith ["Condition": code in "Venous Thromboembolism"] VTEDiagnosis\n\t\t\t\t\tsuch that  VTEDiagnosis.clinicalStatus in { 'inactive', 'remission', 'resolved' }\n\t\t\t\t\tand VTEDiagnosis.verificationStatus = 'confirmed'\n\t\t\t\t\tand Global."Normalize Onset"(VTEDiagnosis.onset) before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t)\n\n//Done\ndefine "Encounter With ICU Location Stay 1 Day or More":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twhere exists ( QualifyingEncounter.location Location\n\t\t\t\twhere Global.GetLocation(Location.location).type in "Intensive Care Unit"\n\t\t\t\t\tand Global."LengthInDays"(Location.period)>= 1\n\t\t\t\t\tand Location.period starts during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\t\t)\n\n\n//Done\ndefine "Encounter With Principal Diagnosis of Mental Disorder or Stroke":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twhere\n            //Connectathon: still broken: temporarily removed pending HAPI FHIR server fix for maxClauseCount > 1024\n            //Global.PrincipalDiagnosis(QualifyingEncounter).code in "Mental Health Diagnoses"\n\t\t\t//or\n            Global.PrincipalDiagnosis(QualifyingEncounter).code in "Hemorrhagic Stroke"\n\t\t\tor Global.PrincipalDiagnosis(QualifyingEncounter).code in "Ischemic Stroke"\n\n//Done\n// TODO: Define an ordinality extension to a Procedure profile and ask Patient Administration and/or Patient Care to review\ndefine "Encounter With Principal Procedure of SCIP VTE Selected Surgery":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\t//Connectathon: pending cql_engine fix #262 (FHIR 3.0.0 model info issue with Extension.url)\n\t\twith ( "SCIP VTE Selected Surgery" Procedure\n\t\t\twhere GetExtension(Procedure.extension, 'http://example.org/StructureDefinition/ordinality').value ~ "Principal" ) SelectedProcedure\n\t\t\tsuch that SelectedProcedure.performed during FHIRHelpers.ToInterval( QualifyingEncounter.period)\n\n//Done\ndefine "Denominator Exclusions":\n\t"Encounter Less Than 2 Days"\n\t\tunion "Encounter With ICU Location Stay 1 Day or More"\n\t\tunion "Encounter With Principal Diagnosis of Mental Disorder or Stroke"\n\t\tunion "Encounter With Principal Procedure of SCIP VTE Selected Surgery"\n\t\tunion "Intervention Comfort Measures on Day of or Day After Start of Hospitalization"\n\t\tunion "Intervention Comfort Measures on Day of or Day After Procedure"\n\n//Done\ndefine "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions":\n\t( Global."Inpatient Encounter" InpatientEncounter\n\t\t\twith ["Patient"] BirthDate\n\t\t\t\tsuch that Global."CalendarAgeInYearsAt"(ToDateTime(BirthDate.birthDate), start of FHIRHelpers.ToInterval(InpatientEncounter.period)) >= 18\n\t)\n\t\tintersect "Admission Without VTE or Obstetrical Conditions"\n\n//Done\ndefine "Encounter With Prior or Present Procedure of Hip or Knee Replacement Surgery":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twith ( ["Procedure": "Hip Replacement Surgery"]\n\t\t\tunion ["Procedure": "Knee Replacement Surgery"] ) HipKneeProcedure\n\t\t\tsuch that HipKneeProcedure.status = 'completed'\n\t\t\t\tand HipKneeProcedure.performed starts on or before end of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\n//Done\ndefine "Low Risk for VTE or Anticoagulant Administered":\n\t"Low Risk for VTE or Anticoagulant Administered During ED Visit"\n\t\tunion "Low Risk for VTE or Anticoagulant Administered on Day of or Day After Admission"\n\t\tunion "Low Risk for VTE or Anticoagulant Administered on Day of or Day After Procedure"\n\n//Done\ndefine "No VTE Prophylaxis Due to Medical Reason":\n\t( "No VTE Prophylaxis Medication Due to Medical Reason During ED Visit"\n\t\t\tintersect "No VTE Prophylaxis Device Due to Medical Reason During ED Visit"\n\t)\n\t\tunion ( "No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Admission"\n\t\t\t\tintersect "No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Admission"\n\t\t)\n\t\tunion ( "No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Procedure"\n\t\t\t\tintersect "No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Procedure"\n\t\t)\n\n//Done\ndefine "No VTE Prophylaxis Due to Patient Refusal During ED Visit":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"ED Visit" EDVisit,\n\t\t"No VTE Prophylaxis Medication or Device Due to Patient Refusal" PatientRefusal\n\t\twhere EDVisit.period ends 1 hour or less on or before start of QualifyingEncounter.period\n\t\t\tand Coalesce(PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn) during EDVisit.period\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Admission":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"No VTE Prophylaxis Medication or Device Due to Patient Refusal" PatientRefusal\n\t\twhere Coalesce(start of PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn)\n      during VTEICU."CalendarDayOfOrDayAfter"(start of QualifyingEncounter.period)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Procedure":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t"No VTE Prophylaxis Medication or Device Due to Patient Refusal" PatientRefusal\n\t\twhere AnesthesiaProcedure.performed ends 1 day after day of start of QualifyingEncounter.period\n\t\t\tand Coalesce(start of PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn)\n        during VTEICU."CalendarDayOfOrDayAfter"(end of AnesthesiaProcedure.performed)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "No VTE Prophylaxis Medication or Device Due to Patient Refusal":\n\t( "No VTE Prophylaxis Medication Administered or Ordered"\n\t\tunion "No VTE Prophylaxis Device Applied or Ordered" ) NoVTEProphylaxis\n\t\twhere GetExtension(NoVTEProphylaxis.extension, 'http://example.org/StructureDefinition/notDoneReason').value in "Patient Refusal"\n\n//Done\ndefine "No VTE Prophylaxis Due to Patient Refusal":\n\t"No VTE Prophylaxis Due to Patient Refusal During ED Visit"\n\t\tunion "No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Admission"\n\t\tunion "No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Procedure"\n\n//Done\ndefine "Numerator":\n\t"VTE Prophylaxis Received on Day of or Day After Admission or Procedure"\n\t\tunion ( "Medication Oral Factor Xa Inhibitor Administered on Day of or Day After Admission or Procedure"\n\t\t\t\tintersect ( "Encounter With Prior or Present Diagnosis of Atrial Fibrillation or VTE"\n\t\t\t\t\t\tunion "Encounter With Prior or Present Procedure of Hip or Knee Replacement Surgery"\n\t\t\t\t)\n\t\t)\n\t\tunion "Low Risk for VTE or Anticoagulant Administered"\n\t\tunion "No VTE Prophylaxis Due to Medical Reason"\n\t\tunion "No VTE Prophylaxis Due to Patient Refusal"\n\n//Done\ndefine "Is In Low Risk for VTE or On Anticoagulant":\n    //Connectathon: verified that this is corrected\n\t( ["Observation": "Risk for venous thromboembolism"] VTERiskAssessment\n\t\t\twhere VTERiskAssessment.value in "Low Risk"\n\t)\n\n/*\n// TODO: Issues with constructing the FHIR types here...\n\t\tunion ( ["Observation": "INR"] INRLabTest\n\t\t\t\twhere INRLabTest.value as Quantity > 3.0\n\t\t\t\treturn "Observation" { id: INRLabTest.id, effective: INRLabTest.issued }\n\t\t)\n\t\tunion ((( ["MedicationAdministration": "Unfractionated Heparin"] UnfractionatedHeparin\n\t\t\t\t\twhere UnfractionatedHeparin.dosage.route in "Intravenous route"\n\t\t\t\t\t\t)\n\t\t\t\tunion ["MedicationAdministration": "Direct Thrombin Inhibitor"]\n\t\t\t\tunion ["MedicationAdministration": "Glycoprotein IIb/IIIa Inhibitors"] ) AnticoagulantMedication\n\t\t\t\t\treturn "Observation" { id: AnticoagulantMedication.id, effective: start of effective}\n\t\t)\n*/\n\n//Done\ndefine "Low Risk for VTE or Anticoagulant Administered During ED Visit":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"ED Visit" EDVisit,\n\t\t"Is In Low Risk for VTE or On Anticoagulant" VTERiskAssessment\n\t\twhere FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand VTERiskAssessment.issued during FHIRHelpers.ToInterval(EDVisit.period)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "Low Risk for VTE or Anticoagulant Administered on Day of or Day After Admission":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twith "Is In Low Risk for VTE or On Anticoagulant" VTERiskAssessment\n\t\t\tsuch that VTERiskAssessment.issued during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\n//Done\ndefine "Low Risk for VTE or Anticoagulant Administered on Day of or Day After Procedure":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t"Is In Low Risk for VTE or On Anticoagulant" VTERiskAssessment\n\t\twhere AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand VTERiskAssessment.issued during VTEICU."CalendarDayOfOrDayAfter"(end of FHIRHelpers.ToInterval(AnesthesiaProcedure.performed))\n\t\treturn QualifyingEncounter\n
\r\n \r\n \r\n
\r\n
" - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } - } ], - "version": "7.4.000", - "name": "EXM108_FHIR3", - "status": "active", - "experimental": true, - "type": { - "coding": [ { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } ] - }, - "content": [ { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE0xMDhfRkhJUjMgdmVyc2lvbiAnNy40LjAwMCcKCi8qCkJhc2VkIG9uIENNUzEwOHY3IC0gVmVub3VzIFRocm9tYm9lbWJvbGlzbSBQcm9waHlsYXhpcwoqLwoKLyoKVGhpcyBleGFtcGxlIGlzIGEgd29yayBpbiBwcm9ncmVzcyBhbmQgc2hvdWxkIG5vdCBiZSBjb25zaWRlcmVkIGEgZmluYWwgc3BlY2lmaWNhdGlvbgpvciByZWNvbW1lbmRhdGlvbiBmb3IgZ3VpZGFuY2UuIFRoaXMgZXhhbXBsZSB3aWxsIGhlbHAgZ3VpZGUgYW5kIGRpcmVjdCB0aGUgcHJvY2VzcwpvZiBmaW5kaW5nIGNvbnZlbnRpb25zIGFuZCB1c2FnZSBwYXR0ZXJucyB0aGF0IG1lZXQgdGhlIG5lZWRzIG9mIHRoZSB2YXJpb3VzIHN0YWtlaG9sZGVycwppbiB0aGUgbWVhc3VyZSBkZXZlbG9wbWVudCBjb21tdW5pdHkuCiovCgovKgpEYXRhIFR5cGVzIFVzZWQ6CgpFbmNvdW50ZXIKRGV2aWNlVXNlU3RhdGVtZW50CkRldmljZVJlcXVlc3QKTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uCk1lZGljYXRpb25SZXF1ZXN0ClByb2NlZHVyZSAtIG9yZGluYWxpdHkgZXh0ZW5zaW9uClByb2NlZHVyZVJlcXVlc3QKQ29uZGl0aW9uCiovCgovKgpEZXZlbG9wbWVudCBOb3RlczoKCiAgICBOZWVkIHRvIGRlZmluZSDigJxkb05vdFBlcmZvbeKAnSBRSUNvcmUgZXh0ZW5zaW9uIHRvIHN1cHBvcnQg4oCcTm90RG9uZSBpcyB0cnVl4oCdIGV4cHJlc3Npb24uIFN1Z2dlc3QgdG8gdGhlIGJhc2UgUmVzb3VyY2UgZm9yIHRoZSBmb2xsb3dpbmcgcHJvZmlsZXMg4oCTCgogICAgICAgIERldmljZVVzZVN0YXRlbWVudAogICAgICAgIERldmljZVJlcXVlc3QKICAgICAgICBNZWRpY2F0aW9uUmVxdWVzdAoKICAgICAgICBBZGQgZG9Ob3RQZXJmb3JtIHRvIERldmljZVVzZVJlcXVlc3QgYW5kIG5vdERvbmUgdG8gRGV2aWNlVXNlU3RhdGVtZW50OgogICAgICAgIFsjMjA2MDFdKGh0dHBzOi8vZ2ZvcmdlLmhsNy5vcmcvZ2YvcHJvamVjdC9maGlyL3RyYWNrZXIvP2FjdGlvbj1UcmFja2VySXRlbUVkaXQmdHJhY2tlcl9pdGVtX2lkPTIwNjAxKQogICAgICAgIFByb21vdGUgcHJvZmlsZXMgdG8gUUktQ29yZToKICAgICAgICBbIzIwNjEwXShodHRwczovL2dmb3JnZS5obDcub3JnL2dmL3Byb2plY3QvZmhpci90cmFja2VyLz9hY3Rpb249VHJhY2tlckl0ZW1FZGl0JnRyYWNrZXJfaXRlbV9pZD0yMDYxMCkKCiAgICBOZWVkIHRvIGRlZmluZSBhbiDigJxvcmRpbmFsaXR54oCdIGV4dGVuc2lvbiBmb3IgUHJvY2VkdXJlIHByb2ZpbGUgdG8gc3VwcG9ydCDigJxQcm9jZWR1cmUub3JkaW5hbGl0eSB+ICJQcmluY2lwYWwiIGV4cHJlc3Npb24uCgogICAgICBbIzIwNTI3XShodHRwczovL2dmb3JnZS5obDcub3JnL2dmL3Byb2plY3QvZmhpci90cmFja2VyLz9hY3Rpb249VHJhY2tlckl0ZW1FZGl0JnRyYWNrZXJfaXRlbV9pZD0yMDUyNykKCiAgICBOZWVkIHRvIGNvbmZpcm0gdGhlIGZvbGxvd2luZyBwcm9maWxlcyBhbmQgZW5zdXJlIFBlcmlvZCBpcyBhIGRlZmF1bHQgdHlwZSAtCgogICAgICAgIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5lZmZlY3RpdmUKICAgICAgICBQcm9jZWR1cmUucGVyZm9ybWVkCgogICAgICAgIERlZmluZWQgYXMgREVRTSBwcm9maWxlcyBjdXJyZW50bHksIHByb21vdGUgdG8gUUktQ29yZQogICAgICAgIFsjMjA2MTFdKGh0dHBzOi8vZ2ZvcmdlLmhsNy5vcmcvZ2YvcHJvamVjdC9maGlyL3RyYWNrZXIvP2FjdGlvbj1UcmFja2VySXRlbUVkaXQmdHJhY2tlcl9pdGVtX2lkPTIwNjExKQoKICAgIFN1Z2dlc3QgZGVmaW5pbmcg4oCccmVjb3JkZWRPbuKAnCB0byBzdXBwb3J0IHRoZSB0aW1pbmdzIGZvciDigJxNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24ubm90R2l2ZW7igJ0gYW5kIOKAnFByb2NlZHVyZS5ub3REb25l4oCdLiBzZWUgdGhlIGhpZ2hsaWdodGVkIGZpZWxkcyBiZWxvdy4KCiAgICAgIFsjMjA2MDJdKGh0dHBzOi8vZ2ZvcmdlLmhsNy5vcmcvZ2YvcHJvamVjdC9maGlyL3RyYWNrZXIvP2FjdGlvbj1UcmFja2VySXRlbUVkaXQmdHJhY2tlcl9pdGVtX2lkPTIwNjAyKQoKfFByb2ZpbGUgICAgICAgICAgICAgICAgICAgfFRpbWluZyB1c2VkIGZvciBEb25lIHxUaW1pbmcgdXNlZCBmb3IgZG9Ob3RQZXJmb3JtIHxUSkMgY29tbWVudHMgICAgICAgICAgfAp8LS0tfC0tLXwtLS18LS0tfAp8RGV2aWNlVXNlU3RhdGVtZW50ICAgICAgICB8d2hlblVzZWQgICAgICAgICAgICAgfHJlY29yZGVkT24gICAgICAgICAgICAgICAgICAgfCAgIHwKfERldmljZVJlcXVlc3QgICAgICAgICAgICAgfGF1dGhvcmVkT24gICAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICAgICAgICAgIHwgICB8CnxNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gIHxlZmZlY3RpdmUgICAgICAgICAgICB8ZWZmZWN0aXZlICAgICAgICAgICAgICAgICAgICB8IFN1Z2dlc3QgYWRkaW5nIHJlY29yZGVkT24gZm9yIG5vdEdpdmVuIHRpbWluZyB8CnxNZWRpY2F0aW9uUmVxdWVzdCAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICB8YXV0aG9yZWRPbiAgICAgICAgICAgICAgICAgICB8ICAgfAp8UHJvY2VkdXJlICAgICAgICAgICAgICAgICB8cGVyZm9ybWVkICAgICAgICAgICAgfHBlcmZvcm1lZCAgICAgICAgICAgICAgICAgICAgfCBTdWdnZXN0IGFkZGluZyByZWNvcmRlZE9uIGZvciBub3REb25lIHRpbWluZyB8CnxQcm9jZWR1cmVSZXF1ZXN0ICAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICB8YXV0aG9yZWRPbiAgICAgICAgICAgICAgICAgICB8ICAgfAoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgVlRFSUNVX0ZISVIzIHZlcnNpb24gJzIuNC4wMDAnIGNhbGxlZCBWVEVJQ1UKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4Jwpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwpjb2Rlc3lzdGVtICJSZXF1ZXN0SW50ZW50IjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiQXRyaWFsIEZpYnJpbGxhdGlvbi9GbHV0dGVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDInCnZhbHVlc2V0ICJDb21mb3J0IE1lYXN1cmVzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8xLjMuNi4xLjQuMS4zMzg5NS4xLjMuMC40NScKdmFsdWVzZXQgIkRpcmVjdCBUaHJvbWJpbiBJbmhpYml0b3IiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNScKdmFsdWVzZXQgIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTInCnZhbHVlc2V0ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjE3NDMnCnZhbHVlc2V0ICJHZW5lcmFsIFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NScKdmFsdWVzZXQgIkdseWNvcHJvdGVpbiBJSWIvSUlJYSBJbmhpYml0b3JzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA0NS40MScKdmFsdWVzZXQgIkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NicKdmFsdWVzZXQgIkd5bmVjb2xvZ2ljYWwgU3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJIaXAgRnJhY3R1cmUgU3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU4Jwp2YWx1ZXNldCAiSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1OScKdmFsdWVzZXQgIkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTEnCnZhbHVlc2V0ICJJTlIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxMycKdmFsdWVzZXQgIkludGVybWl0dGVudCBwbmV1bWF0aWMgY29tcHJlc3Npb24gZGV2aWNlcyAoSVBDKSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE0Jwp2YWx1ZXNldCAiSW50cmFjcmFuaWFsIE5ldXJvc3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYwJwp2YWx1ZXNldCAiSW50cmF2ZW5vdXMgcm91dGUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIyMicKdmFsdWVzZXQgIklzY2hlbWljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3Jwp2YWx1ZXNldCAiS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNjEnCnZhbHVlc2V0ICJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDQ1LjM5Jwp2YWx1ZXNldCAiTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTknCnZhbHVlc2V0ICJMb3cgUmlzayI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDAwJwp2YWx1ZXNldCAiTWVkaWNhbCBSZWFzb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQ3MycKdmFsdWVzZXQgIk1lbnRhbCBIZWFsdGggRGlhZ25vc2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwNS4xMi4xMDA0Jwp2YWx1ZXNldCAiT2JzdGV0cmljcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYzJwp2YWx1ZXNldCAiT2JzdGV0cmljcyBWVEUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI2NCcKdmFsdWVzZXQgIk9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjEzNCcKdmFsdWVzZXQgIlBhdGllbnQgUmVmdXNhbCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuOTMnCi8vdmFsdWVzZXQgIlByaW5jaXBhbCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMTQnIC8vIENoYW5nZWQgdG8gdXNlIGEgY29kZQp2YWx1ZXNldCAiU3ViY3V0YW5lb3VzIHJvdXRlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMjMnCnZhbHVlc2V0ICJVbmZyYWN0aW9uYXRlZCBIZXBhcmluIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTgnCnZhbHVlc2V0ICJVcm9sb2dpY2FsIFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI3MicKdmFsdWVzZXQgIlZlbm91cyBmb290IHB1bXBzIChWRlApIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMzAnCnZhbHVlc2V0ICJWZW5vdXMgVGhyb21ib2VtYm9saXNtIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNzknCnZhbHVlc2V0ICJXYXJmYXJpbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjMyJwp2YWx1ZXNldCAiSW50ZW5zaXZlIENhcmUgVW5pdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMjMnCgpjb2RlICJSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtIjogJzcyMTM2LTUnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtJwpjb2RlICJQcmluY2lwYWwiOiAnNjMxNjEwMDUnIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdQcmluY2lwYWwgKHF1YWxpZmllciB2YWx1ZSknCmNvZGUgIk9yZGVyIjogJ29yZGVyJyBmcm9tICJSZXF1ZXN0SW50ZW50IiBkaXNwbGF5ICdPcmRlcicKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KICAgIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCkKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CglTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgoJU0RFLiJTREUgU2V4IgoKZGVmaW5lICJEZW5vbWluYXRvciI6CgkiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJFRCBWaXNpdCI6CglbIkVuY291bnRlciI6IHR5cGUgaW4gIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0Il0gRURWaXNpdAogICAgd2hlcmUgRURWaXNpdC5zdGF0dXMgPSAnZmluaXNoZWQnCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CgkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIKCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiOgogIC8vIE5PVEU6IFNob3VsZCBiZSB1c2luZyBkZXZpY2UuY29kZSwgYnV0IHRoYXQgcmVxdWlyZXMgQ1FMIDEuNAogICgKICAgICAoCiAgICAgICAoCiAgICAgICAgICAgWyJEZXZpY2VVc2VTdGF0ZW1lbnQiXSBEZXZpY2VVc2VTdGF0ZW1lbnQKICAgICAgICAgICAgICAgd2hlcmUgRGV2aWNlVXNlU3RhdGVtZW50LnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICAgICApIFZhbGlkRGV2aWNlVXNlU3RhdGVtZW50CiAgICAgICAgICAgd2l0aCBbRGV2aWNlXSBEZXZpY2UKICAgICAgICAgICAgICAgc3VjaCB0aGF0IEdsb2JhbC5HZXRJZChWYWxpZERldmljZVVzZVN0YXRlbWVudC5kZXZpY2UucmVmZXJlbmNlKSA9IERldmljZS5pZAogICAgICAgICAgICAgICAgICAgYW5kICgKICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2UudHlwZSBpbiAiVmVub3VzIGZvb3QgcHVtcHMgKFZGUCkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIERldmljZS50eXBlIGluICJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIERldmljZS50eXBlIGluICJHcmFkdWF0ZWQgY29tcHJlc3Npb24gc3RvY2tpbmdzIChHQ1MpIgogICAgICAgICAgICAgICAgICAgKQogICAgICkgRAogICAgIC8vSlI6IHVwZGF0ZWQgdG8gdXNlIHRoZSBHbG9iYWwgZ2V0IGV4dGVuc2lvbgogICAgIHdoZXJlIEdsb2JhbC5HZXRFeHRlbnNpb24oRCwgJ2RvTm90UGVyZm9ybScpLnZhbHVlIGlzIHRydWUKICApCiAgdW5pb24gKCgKICAgIFsiRGV2aWNlUmVxdWVzdCI6IGNvZGUgaW4gIlZlbm91cyBmb290IHB1bXBzIChWRlApIl0KICAgICAgdW5pb24gWyJEZXZpY2VSZXF1ZXN0IjogY29kZSBpbiAiSW50ZXJtaXR0ZW50IHBuZXVtYXRpYyBjb21wcmVzc2lvbiBkZXZpY2VzIChJUEMpIl0KICAgICAgdW5pb24gWyJEZXZpY2VSZXF1ZXN0IjogY29kZSBpbiAiR3JhZHVhdGVkIGNvbXByZXNzaW9uIHN0b2NraW5ncyAoR0NTKSJdCiAgKSBECiAgICB3aGVyZSBELmludGVudCB+IFRvQ29uY2VwdCgiT3JkZXIiKQogICAgICAvL0pSOiB1cGRhdGVkIHRvIHVzZSB0aGUgR2xvYmFsIGdldCBleHRlbnNpb24KICAJICBhbmQgR2xvYmFsLkdldEV4dGVuc2lvbihELCAnZG9Ob3RQZXJmb3JtJykudmFsdWUgaXMgdHJ1ZQogICkKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIER1cmluZyBFRCBWaXNpdCI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJIkVEIFZpc2l0IiBFRFZpc2l0LAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgTm9WVEVEZXZpY2UKCXdoZXJlIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRURWaXNpdC5wZXJpb2QpIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJYW5kIChzaW5nbGV0b24gZnJvbSBOb1ZURURldmljZS5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIpCgkJYW5kIENvYWxlc2NlKE5vVlRFRGV2aWNlLmF1dGhvcmVkT24sIE5vVlRFRGV2aWNlLnJlY29yZGVkT24pIGR1cmluZyBGSElSSGVscGVycy5Ub0ludGVydmFsKEVEVmlzaXQucGVyaW9kKQoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgTm9WVEVEZXZpY2UKCXdoZXJlIChzaW5nbGV0b24gZnJvbSBOb1ZURURldmljZS5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIpCgkJYW5kIENvYWxlc2NlKE5vVlRFRGV2aWNlLmF1dGhvcmVkT24sIE5vVlRFRGV2aWNlLnJlY29yZGVkT24pIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIjoKCSgoWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiXQogIAl1bmlvbglbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdCiAgCXVuaW9uCVsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiSW5qZWN0YWJsZSBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMiXQogIAl1bmlvbglbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIldhcmZhcmluIl0KCSkgTWVkaWNhdGlvbkFkbQoJCXdoZXJlIE1lZGljYXRpb25BZG0ubm90R2l2ZW4gaXMgdHJ1ZQoJKQoJdW5pb24KCS8vSlI6IGNvZGUgaXMgbm90IGFuIGF0dHJpYnV0ZSBvZiBNZWRpY2F0aW9uUmVxdWVzdC4gIFVzZWQgbWVkaWNhdGlvbiBpbnN0ZWFkLgoJKChbIk1lZGljYXRpb25SZXF1ZXN0IjogbWVkaWNhdGlvbiBpbiAiTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0KICAJdW5pb24JWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdCiAgCXVuaW9uCVsiTWVkaWNhdGlvblJlcXVlc3QiOiBtZWRpY2F0aW9uIGluICJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyJdCiAgCXVuaW9uCVsiTWVkaWNhdGlvblJlcXVlc3QiOiBtZWRpY2F0aW9uIGluICJXYXJmYXJpbiJdCgkpIE1lZGljYXRpb25PcmRlcgoJd2hlcmUJTWVkaWNhdGlvbk9yZGVyLmludGVudCA9ICdvcmRlcicKICAgIC8vIFVwZGF0ZWQgdG8gdXNlIEdsb2JhbC5HZXRFeHRlbnNpb24KCQlhbmQgR2xvYmFsLkdldEV4dGVuc2lvbihNZWRpY2F0aW9uT3JkZXIsICdkb05vdFBlcmZvcm0nKS52YWx1ZSBpcyB0cnVlCgkpCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiRUQgVmlzaXQiIEVEVmlzaXQsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIiBOb1ZURU1lZGljYXRpb24KCQl3aGVyZSBGSElSSGVscGVycy5Ub0ludGVydmFsKEVEVmlzaXQucGVyaW9kKSBlbmRzIDEgaG91ciBvciBsZXNzIG9uIG9yIGJlZm9yZSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCQlhbmQgKHNpbmdsZXRvbiBmcm9tIE5vVlRFTWVkaWNhdGlvbi5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIpCgkJCWFuZCBDb2FsZXNjZShOb1ZURU1lZGljYXRpb24uYXV0aG9yZWRPbiwgc3RhcnQgb2YgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKE5vVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUpKSBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIE5vVlRFTWVkaWNhdGlvbgoJCXdoZXJlIChzaW5nbGV0b24gZnJvbSBOb1ZURU1lZGljYXRpb24ucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iKQoJCQlhbmQgQ29hbGVzY2UoTm9WVEVNZWRpY2F0aW9uLmF1dGhvcmVkT24sIHN0YXJ0IG9mIE5vVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUpIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgTm9WVEVEZXZpY2UKCQl3aGVyZSBOb1ZURURldmljZS5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIKCQkJYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kICBDb2FsZXNjZShOb1ZURURldmljZS5hdXRob3JlZE9uLCBOb1ZURURldmljZS5yZWNvcmRlZE9uKSBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkpCgkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCi8vRG9uZQpkZWZpbmUgIkFkbWlzc2lvbiBXaXRob3V0IFZURSBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIjoKCQkoR2xvYmFsLiJJbnBhdGllbnQgRW5jb3VudGVyIiBJbnBhdGllbnRFbmNvdW50ZXIKCQl3aGVyZSBub3QgKAoJCSAgICAvL0Nvbm5lY3RhdGhvbjogc3RpbGwgYnJva2VuOiB0ZW1wb3JhcmlseSByZW1vdmVkIHBlbmRpbmcgSEFQSSBGSElSIHNlcnZlciBmaXggZm9yIG1heENsYXVzZUNvdW50ID4gMTAyNAogICAgICAgICAgICAvL0dsb2JhbC5FbmNvdW50ZXJEaWFnbm9zaXMoSW5wYXRpZW50RW5jb3VudGVyKS5jb2RlIGluICJPYnN0ZXRyaWNzIiBvcgoJCQkJCQkJCUdsb2JhbC5FbmNvdW50ZXJEaWFnbm9zaXMoSW5wYXRpZW50RW5jb3VudGVyKS5jb2RlIGluICJWZW5vdXMgVGhyb21ib2VtYm9saXNtIgoJCQkJCQkJCW9yIEdsb2JhbC5FbmNvdW50ZXJEaWFnbm9zaXMoSW5wYXRpZW50RW5jb3VudGVyKS5jb2RlIGluICJPYnN0ZXRyaWNzIFZURSIKCQkJCQkJCSkKICAgICkKCQlpbnRlcnNlY3QgKEdsb2JhbC4iSW5wYXRpZW50IEVuY291bnRlciIgSW5wYXRpZW50RW5jb3VudGVyCgkJCQl3aXRob3V0ICgKICAgICAgICAgIC8vQ29ubmVjdGF0aG9uOiBzdGlsbCBicm9rZW46IHRlbXBvcmFyaWx5IHJlbW92ZWQgcGVuZGluZyBIQVBJIEZISVIgc2VydmVyIGZpeCBmb3IgbWF4Q2xhdXNlQ291bnQgPiAxMDI0CiAgICAgICAgICAgICAgLy9bIkNvbmRpdGlvbiI6IGNvZGUgaW4gIk9ic3RldHJpY3MiXSB1bmlvbgoJCQkJCQlbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIlZlbm91cyBUaHJvbWJvZW1ib2xpc20iXQoJCQkJCQl1bmlvbiBbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIk9ic3RldHJpY3MgVlRFIl0pCURpYWdub3NpcwoJCQkJc3VjaCB0aGF0IERpYWdub3Npcy5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnCiAgICAgICAgCQlhbmQgRGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCgkJCQkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoRGlhZ25vc2lzLm9uc2V0KSBkdXJpbmcgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb24iKElucGF0aWVudEVuY291bnRlcikKCQkJCQkJKQoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQlbIlByb2NlZHVyZSI6ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIl0gQW5lc3RoZXNpYVByb2NlZHVyZSwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIE5vVlRFTWVkaWNhdGlvbgoJCXdoZXJlIE5vVlRFTWVkaWNhdGlvbi5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIKCQkJYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kIENvYWxlc2NlKE5vVlRFTWVkaWNhdGlvbi5hdXRob3JlZE9uLCBzdGFydCBvZiBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoTm9WVEVNZWRpY2F0aW9uLmVmZmVjdGl2ZSkpIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihlbmQgb2YgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKSkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKCi8vRG9uZQpkZWZpbmUgIkVuY291bnRlciBMZXNzIFRoYW4gMiBEYXlzIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpKTwgMgoKCi8vRG9uZQpkZWZpbmUgIlNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiOgoJKAoJCS8vQ29ubmVjdGF0aG9uOiBzdGlsbCBicm9rZW46IHRlbXBvcmFyaWx5IHJlbW92ZWQgcGVuZGluZyBIQVBJIEZISVIgc2VydmVyIGZpeCBmb3IgbWF4Q2xhdXNlQ291bnQgPiAxMDI0CgkJLy8gWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBTdXJnZXJ5Il0KCQkvLyB1bmlvbgogICAgWyJQcm9jZWR1cmUiOiAiR3luZWNvbG9naWNhbCBTdXJnZXJ5Il0KCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJIaXAgRnJhY3R1cmUgU3VyZ2VyeSJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIkludHJhY3JhbmlhbCBOZXVyb3N1cmdlcnkiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIktuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiVXJvbG9naWNhbCBTdXJnZXJ5Il0gKSBQCgkJd2hlcmUgUC5zdGF0dXMgPSAnY29tcGxldGVkJwoKCi8vRG9uZQpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIjoKCShbIlByb2NlZHVyZVJlcXVlc3QiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIFAKCQl3aGVyZSBQLmludGVudCA9ICdvcmRlcicpCgkJdW5pb24KCQkoWyJQcm9jZWR1cmUiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIEludGVydmV0aW9uUGVyZm9ybWVkCgkJICB3aGVyZSBJbnRlcnZldGlvblBlcmZvcm1lZC5zdGF0dXMgPSAnY29tcGxldGVkJykKCi8vRG9uZQpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgU3RhcnQgb2YgSG9zcGl0YWxpemF0aW9uIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2l0aCAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIENvbWZvcnRNZWFzdXJlCgkJCXN1Y2ggdGhhdCBDb2FsZXNjZShDb21mb3J0TWVhc3VyZS5hdXRob3JlZE9uLCBzdGFydCBvZiBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29tZm9ydE1lYXN1cmUucGVyZm9ybWVkKSkgMSBkYXkgb3IgbGVzcyBvbiBvciBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb24iKFF1YWxpZnlpbmdFbmNvdW50ZXIpCgovL0RvbmUKZGVmaW5lICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsCgkJIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiBDb21mb3J0TWVhc3VyZQoJd2hlcmUgIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKSBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCWFuZCBDb2FsZXNjZShDb21mb3J0TWVhc3VyZS5hdXRob3JlZE9uLCBzdGFydCBvZiBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29tZm9ydE1lYXN1cmUucGVyZm9ybWVkKSkgMSBkYXkgb3IgbGVzcyBvbiBvciBhZnRlciBkYXkgb2YgZW5kIG9mIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkKCi8vRG9uZQpkZWZpbmUgIlZURSBQcm9waHlsYXhpcyBieSBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBEZXZpY2UgQXBwbGllZCI6CgkoIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0gVlRFTWVkaWNhdGlvbgoJCQl3aGVyZSBWVEVNZWRpY2F0aW9uLnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCQlhbmQgVlRFTWVkaWNhdGlvbi5kb3NhZ2Uucm91dGUgaW4gIlN1YmN1dGFuZW91cyByb3V0ZSIKICAgICAgcmV0dXJuIHN0YXJ0IG9mIFZURU1lZGljYXRpb24uZWZmZWN0aXZlCgkpCgkJLy9KUjogY29kZSBpcyBub3QgYW4gYXR0cmlidXRlIG9mIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi4gIFVzZWQgbWVkaWNhdGlvbiBpbnN0ZWFkLgoJCXVuaW9uIChbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdIFZURU1lZGljYXRpb24gcmV0dXJuIHN0YXJ0IG9mIFZURU1lZGljYXRpb24uZWZmZWN0aXZlKQoJCXVuaW9uIChbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIl0gVlRFTWVkaWNhdGlvbiByZXR1cm4gc3RhcnQgb2YgVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUpCgkJdW5pb24gKFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiV2FyZmFyaW4iXSBWVEVNZWRpY2F0aW9uIHJldHVybiBzdGFydCBvZiBWVEVNZWRpY2F0aW9uLmVmZmVjdGl2ZSkKCQl1bmlvbiAoCiAgICAgIChbIkRldmljZVVzZVN0YXRlbWVudCJdIERldmljZVVzZVN0YXRlbWVudAogICAgICAgIHdoZXJlIERldmljZVVzZVN0YXRlbWVudC5zdGF0dXMgPSAnY29tcGxldGVkJwogICAgICApIFZhbGlkRGV2aWNlVXNlU3RhdGVtZW50CiAgICAgICAgd2l0aCBbRGV2aWNlXSBEZXZpY2UKICAgICAgICAgIHN1Y2ggdGhhdCBMYXN0KFNwbGl0KFZhbGlkRGV2aWNlVXNlU3RhdGVtZW50LmRldmljZS5yZWZlcmVuY2UsICcvJykpID0gRGV2aWNlLmlkCiAgICAgICAgICAgIGFuZCAoRGV2aWNlLnR5cGUgaW4gIlZlbm91cyBmb290IHB1bXBzIChWRlApIgogICAgICAgICAgICAgIG9yIERldmljZS50eXBlIGluICJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiCiAgICAgICAgICAgICAgb3IgRGV2aWNlLnR5cGUgaW4gIkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiCiAgICAgICAgICAgICkKICAgICkgRGV2aWNlQXBwbGllZAogICAgICB3aGVyZSBEZXZpY2VBcHBsaWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICAgIHJldHVybiBDb2FsZXNjZShEZXZpY2VBcHBsaWVkLnJlY29yZGVkT24sIHN0YXJ0IG9mIERldmljZUFwcGxpZWQud2hlblVzZWQpCgovL0RvbmUKZGVmaW5lICJWVEUgUHJvcGh5bGF4aXMgUmVjZWl2ZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIjoKCSggZnJvbQoJCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkJIlZURSBQcm9waHlsYXhpcyBieSBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBEZXZpY2UgQXBwbGllZCIgVlRFUHJvcGh5bGF4aXNEYXRlCiAgICB3aGVyZSBWVEVQcm9waHlsYXhpc0RhdGUgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpKQogICAgcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCSkKCQl1bmlvbiAoIGZyb20KCQkJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCQkJWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsCgkJCQkiVlRFIFByb3BoeWxheGlzIGJ5IE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIERldmljZSBBcHBsaWVkIiBWVEVQcm9waHlsYXhpc0RhdGUKICAgICAgd2hlcmUgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKICAgICAgICBhbmQgVlRFUHJvcGh5bGF4aXNEYXRlIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihlbmQgb2YgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQpCiAgICAgIHJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJKQoKLy9Eb25lCmRlZmluZSAiTWVkaWNhdGlvbiBPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSI6CgkoIGZyb20KCQkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJCVsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMgb3IgVlRFIFRyZWF0bWVudCJdIEZhY3RvclhhTWVkaWNhdGlvbgoJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihGYWN0b3JYYU1lZGljYXRpb24uZWZmZWN0aXZlKSBzdGFydHMgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpKQoJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkpCgkJdW5pb24gKAogICAgICBmcm9tCgkJCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCQkJWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyBvciBWVEUgVHJlYXRtZW50Il0gRmFjdG9yWGFNZWRpY2F0aW9uCgkJCXdoZXJlIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJICBhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKSBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihGYWN0b3JYYU1lZGljYXRpb24uZWZmZWN0aXZlKSBzdGFydHMgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKGVuZCBvZiBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQpKQoJCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoJCSkKCi8vRG9uZQpkZWZpbmUgIkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgRGlhZ25vc2lzIG9mIEF0cmlhbCBGaWJyaWxsYXRpb24gb3IgVlRFIjoKCSggIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQkJd2l0aCBbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIkF0cmlhbCBGaWJyaWxsYXRpb24vRmx1dHRlciJdIEF0cmlhbEZpYnJpbGxhdGlvbgoJCQkJc3VjaCB0aGF0IEF0cmlhbEZpYnJpbGxhdGlvbi5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnCiAgCQkJCWFuZCBBdHJpYWxGaWJyaWxsYXRpb24udmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKICAJCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIE9uc2V0IihBdHJpYWxGaWJyaWxsYXRpb24ub25zZXQpIG9uIG9yIGJlZm9yZSBlbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCSkKCQl1bmlvbiAoICJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJCQl3aGVyZSBHbG9iYWwuRW5jb3VudGVyRGlhZ25vc2lzKFF1YWxpZnlpbmdFbmNvdW50ZXIpLmNvZGUgaW4gIkF0cmlhbCBGaWJyaWxsYXRpb24vRmx1dHRlciIKCQkJKQoJCXVuaW9uICggIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQkJCXdpdGggWyJDb25kaXRpb24iOiBjb2RlIGluICJWZW5vdXMgVGhyb21ib2VtYm9saXNtIl0gVlRFRGlhZ25vc2lzCgkJCQkJc3VjaCB0aGF0IFZURURpYWdub3Npcy5jbGluaWNhbFN0YXR1cyBpbiB7ICdpbmFjdGl2ZScsICdyZW1pc3Npb24nLCAncmVzb2x2ZWQnIH0KICAJCQkJCWFuZCBWVEVEaWFnbm9zaXMudmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKICAJCQkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoVlRFRGlhZ25vc2lzLm9uc2V0KSBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkpCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24gU3RheSAxIERheSBvciBNb3JlIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2hlcmUgZXhpc3RzICgKICAgICAgUXVhbGlmeWluZ0VuY291bnRlci5sb2NhdGlvbiBMb2NhdGlvbgogIAkJCXdoZXJlIEdsb2JhbC5HZXRMb2NhdGlvbihMb2NhdGlvbi5sb2NhdGlvbikudHlwZSBpbiAiSW50ZW5zaXZlIENhcmUgVW5pdCIKICAJCQkJYW5kIEdsb2JhbC4iTGVuZ3RoSW5EYXlzIihMb2NhdGlvbi5wZXJpb2QpPj0gMQogIAkJCQlhbmQgTG9jYXRpb24ucGVyaW9kIHN0YXJ0cyBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkpCgkJKQoKLy9Eb25lCmRlZmluZSAiRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBvZiBNZW50YWwgRGlzb3JkZXIgb3IgU3Ryb2tlIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2hlcmUKICAgICAgLy9Db25uZWN0YXRob246IHN0aWxsIGJyb2tlbjogdGVtcG9yYXJpbHkgcmVtb3ZlZCBwZW5kaW5nIEhBUEkgRkhJUiBzZXJ2ZXIgZml4IGZvciBtYXhDbGF1c2VDb3VudCA+IDEwMjQKICAgICAgLy9HbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKFF1YWxpZnlpbmdFbmNvdW50ZXIpLmNvZGUgaW4gIk1lbnRhbCBIZWFsdGggRGlhZ25vc2VzIgogICAgICAvL29yCiAgICAgIEdsb2JhbC5QcmluY2lwYWxEaWFnbm9zaXMoUXVhbGlmeWluZ0VuY291bnRlcikuY29kZSBpbiAiSGVtb3JyaGFnaWMgU3Ryb2tlIgoJCQlvciBHbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKFF1YWxpZnlpbmdFbmNvdW50ZXIpLmNvZGUgaW4gIklzY2hlbWljIFN0cm9rZSIKCi8vRG9uZQovLyBUT0RPOiBEZWZpbmUgYW4gb3JkaW5hbGl0eSBleHRlbnNpb24gdG8gYSBQcm9jZWR1cmUgcHJvZmlsZSBhbmQgYXNrIFBhdGllbnQgQWRtaW5pc3RyYXRpb24gYW5kL29yIFBhdGllbnQgQ2FyZSB0byByZXZpZXcKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgUHJvY2VkdXJlIG9mIFNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiOgoJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQkvL0Nvbm5lY3RhdGhvbjogcGVuZGluZyBjcWxfZW5naW5lIGZpeCAjMjYyIChGSElSIDMuMC4wIG1vZGVsIGluZm8gaXNzdWUgd2l0aCBFeHRlbnNpb24udXJsKQoJCXdpdGggKCAiU0NJUCBWVEUgU2VsZWN0ZWQgU3VyZ2VyeSIgUHJvY2VkdXJlCiAgICAgIC8vIFRPRE86IFZhbGlkYXRlIHRoYXQgdGhpcyBpcyB0aGUgY29ycmVjdCB3YXkgdG8gaW5kaWNhdGUgcHJpbmNpcGFsIHByb2NlZHVyZQoJCQl3aGVyZSBHbG9iYWwuR2V0RXh0ZW5zaW9uKFByb2NlZHVyZSwgJ29yZGluYWxpdHknKS52YWx1ZSB+ICJQcmluY2lwYWwiICkgU2VsZWN0ZWRQcm9jZWR1cmUKCQkJc3VjaCB0aGF0IEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihTZWxlY3RlZFByb2NlZHVyZS5wZXJmb3JtZWQpIGR1cmluZyBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoKLy9Eb25lCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6CgkiRW5jb3VudGVyIExlc3MgVGhhbiAyIERheXMiCgkJdW5pb24gIkVuY291bnRlciBXaXRoIElDVSBMb2NhdGlvbiBTdGF5IDEgRGF5IG9yIE1vcmUiCgkJdW5pb24gIkVuY291bnRlciBXaXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgb2YgTWVudGFsIERpc29yZGVyIG9yIFN0cm9rZSIKCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIFByb2NlZHVyZSBvZiBTQ0lQIFZURSBTZWxlY3RlZCBTdXJnZXJ5IgoJCXVuaW9uICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFN0YXJ0IG9mIEhvc3BpdGFsaXphdGlvbiIKCQl1bmlvbiAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIjoKCSggR2xvYmFsLiJJbnBhdGllbnQgRW5jb3VudGVyIiBJbnBhdGllbnRFbmNvdW50ZXIKCQkJd2l0aCBbIlBhdGllbnQiXSBCaXJ0aERhdGUKCQkJCXN1Y2ggdGhhdCBHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihUb0RhdGVUaW1lKEJpcnRoRGF0ZS5iaXJ0aERhdGUpLCBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKElucGF0aWVudEVuY291bnRlci5wZXJpb2QpKSA+PSAxOAoJKQoJCWludGVyc2VjdCAiQWRtaXNzaW9uIFdpdGhvdXQgVlRFIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBQcmlvciBvciBQcmVzZW50IFByb2NlZHVyZSBvZiBIaXAgb3IgS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2l0aCAoIFsiUHJvY2VkdXJlIjogIkhpcCBSZXBsYWNlbWVudCBTdXJnZXJ5Il0KCQkJdW5pb24gWyJQcm9jZWR1cmUiOiAiS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5Il0gKSBIaXBLbmVlUHJvY2VkdXJlCgkJCXN1Y2ggdGhhdCBIaXBLbmVlUHJvY2VkdXJlLnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEhpcEtuZWVQcm9jZWR1cmUucGVyZm9ybWVkKSBzdGFydHMgb24gb3IgYmVmb3JlIGVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoKLy9Eb25lCmRlZmluZSAiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCI6CgkiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBEdXJpbmcgRUQgVmlzaXQiCgkJdW5pb24gIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iCgkJdW5pb24gIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIE1lZGljYWwgUmVhc29uIjoKCSggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiCgkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IgoJKQoJCXVuaW9uICggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiIKCQkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iCgkJKQoJCXVuaW9uICggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIKCQkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiCgkJKQoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgRHVyaW5nIEVEIFZpc2l0IjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiRUQgVmlzaXQiIEVEVmlzaXQsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBQYXRpZW50UmVmdXNhbAoJd2hlcmUgRURWaXNpdC5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QKCQlhbmQgQ29hbGVzY2UoUGF0aWVudFJlZnVzYWwuZWZmZWN0aXZlLCBQYXRpZW50UmVmdXNhbC5hdXRob3JlZE9uLCBQYXRpZW50UmVmdXNhbC5yZWNvcmRlZE9uKSBkdXJpbmcgRURWaXNpdC5wZXJpb2QKCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBQYXRpZW50UmVmdXNhbAoJd2hlcmUgQ29hbGVzY2Uoc3RhcnQgb2YgUGF0aWVudFJlZnVzYWwuZWZmZWN0aXZlLCBQYXRpZW50UmVmdXNhbC5hdXRob3JlZE9uLCBQYXRpZW50UmVmdXNhbC5yZWNvcmRlZE9uKQogICAgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKHN0YXJ0IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQlbIlByb2NlZHVyZSI6ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIl0gQW5lc3RoZXNpYVByb2NlZHVyZSwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gb3IgRGV2aWNlIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiIFBhdGllbnRSZWZ1c2FsCgl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQpIGVuZHMgMSBkYXkgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kCgkJYW5kIENvYWxlc2NlKHN0YXJ0IG9mIFBhdGllbnRSZWZ1c2FsLmVmZmVjdGl2ZSwgUGF0aWVudFJlZnVzYWwuYXV0aG9yZWRPbiwgUGF0aWVudFJlZnVzYWwucmVjb3JkZWRPbikKICAgICAgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKGVuZCBvZiBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkKCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBvciBEZXZpY2UgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCI6CgkoICJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIKCQl1bmlvbiAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiICkgTm9WVEVQcm9waHlsYXhpcwoJCXdoZXJlIEdsb2JhbC5HZXRFeHRlbnNpb24oTm9WVEVQcm9waHlsYXhpcywgJ25vdERvbmVSZWFzb24nKS52YWx1ZSBpbiAiUGF0aWVudCBSZWZ1c2FsIgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiOgoJIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIER1cmluZyBFRCBWaXNpdCIKCQl1bmlvbiAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iCgkJdW5pb24gIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIgoKLy9Eb25lCmRlZmluZSAiTnVtZXJhdG9yIjoKCSJWVEUgUHJvcGh5bGF4aXMgUmVjZWl2ZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIgoJCXVuaW9uICggIk1lZGljYXRpb24gT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiBvciBQcm9jZWR1cmUiCgkJCQlpbnRlcnNlY3QgKCAiRW5jb3VudGVyIFdpdGggUHJpb3Igb3IgUHJlc2VudCBEaWFnbm9zaXMgb2YgQXRyaWFsIEZpYnJpbGxhdGlvbiBvciBWVEUiCgkJCQkJCXVuaW9uICJFbmNvdW50ZXIgV2l0aCBQcmlvciBvciBQcmVzZW50IFByb2NlZHVyZSBvZiBIaXAgb3IgS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IgoJCQkJKQoJCSkKCQl1bmlvbiAiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCIKCQl1bmlvbiAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBNZWRpY2FsIFJlYXNvbiIKCQl1bmlvbiAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiCgovL0RvbmUKZGVmaW5lICJJcyBJbiBMb3cgUmlzayBmb3IgVlRFIG9yIE9uIEFudGljb2FndWxhbnQiOgogICAgLy9Db25uZWN0YXRob246IHZlcmlmaWVkIHRoYXQgdGhpcyBpcyBjb3JyZWN0ZWQKCSggWyJPYnNlcnZhdGlvbiI6ICJSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtIl0gVlRFUmlza0Fzc2Vzc21lbnQKCQkJd2hlcmUgVlRFUmlza0Fzc2Vzc21lbnQudmFsdWUgaW4gIkxvdyBSaXNrIgoJKQoKLyoKLy8gVE9ETzogSXNzdWVzIHdpdGggY29uc3RydWN0aW5nIHRoZSBGSElSIHR5cGVzIGhlcmUuLi4KCQl1bmlvbiAoIFsiT2JzZXJ2YXRpb24iOiAiSU5SIl0gSU5STGFiVGVzdAoJCQkJd2hlcmUgSU5STGFiVGVzdC52YWx1ZSBhcyBRdWFudGl0eSA+IDMuMAoJCQkJcmV0dXJuICJPYnNlcnZhdGlvbiIgeyBpZDogSU5STGFiVGVzdC5pZCwgZWZmZWN0aXZlOiBJTlJMYWJUZXN0Lmlzc3VlZCB9CgkJKQoJCXVuaW9uICgoKCBbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6ICJVbmZyYWN0aW9uYXRlZCBIZXBhcmluIl0gVW5mcmFjdGlvbmF0ZWRIZXBhcmluCgkJCQkJd2hlcmUgVW5mcmFjdGlvbmF0ZWRIZXBhcmluLmRvc2FnZS5yb3V0ZSBpbiAiSW50cmF2ZW5vdXMgcm91dGUiCgkJCQkJCSkKCQkJCXVuaW9uIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogIkRpcmVjdCBUaHJvbWJpbiBJbmhpYml0b3IiXQoJCQkJdW5pb24gWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiAiR2x5Y29wcm90ZWluIElJYi9JSUlhIEluaGliaXRvcnMiXSApIEFudGljb2FndWxhbnRNZWRpY2F0aW9uCgkJCQkJcmV0dXJuICJPYnNlcnZhdGlvbiIgeyBpZDogQW50aWNvYWd1bGFudE1lZGljYXRpb24uaWQsIGVmZmVjdGl2ZTogc3RhcnQgb2YgZWZmZWN0aXZlfQoJCSkKKi8KCi8vRG9uZQpkZWZpbmUgIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgRHVyaW5nIEVEIFZpc2l0IjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiRUQgVmlzaXQiIEVEVmlzaXQsCgkJIklzIEluIExvdyBSaXNrIGZvciBWVEUgb3IgT24gQW50aWNvYWd1bGFudCIgVlRFUmlza0Fzc2Vzc21lbnQKCXdoZXJlIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRURWaXNpdC5wZXJpb2QpIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJYW5kIFZURVJpc2tBc3Nlc3NtZW50Lmlzc3VlZCBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkKCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2l0aCAiSXMgSW4gTG93IFJpc2sgZm9yIFZURSBvciBPbiBBbnRpY29hZ3VsYW50IiBWVEVSaXNrQXNzZXNzbWVudAoJCQlzdWNoIHRoYXQgVlRFUmlza0Fzc2Vzc21lbnQuaXNzdWVkIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCi8vRG9uZQpkZWZpbmUgIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCSJJcyBJbiBMb3cgUmlzayBmb3IgVlRFIG9yIE9uIEFudGljb2FndWxhbnQiIFZURVJpc2tBc3Nlc3NtZW50Cgl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQpIGVuZHMgMSBkYXkgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJYW5kIFZURVJpc2tBc3Nlc3NtZW50Lmlzc3VlZCBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkpCglyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgo=" - } ] - }, - "request": { - "method": "PUT", - "url": "Library/library-EXM108-FHIR3-7.4.000" - } - }, { - "resource": { - "resourceType": "Encounter", - "id": "denom-EXM108-FHIR3-1", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] - }, - "status": "finished", - "class": { - "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", - "code": "IMP", - "display": "inpatient encounter" - }, - "type": [ { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "32485007", - "display": "Hospital admission (procedure)" - } ] - } ], - "subject": { - "reference": "Patient/denom-EXM108-FHIR3" - }, - "period": { - "start": "2019-01-16T08:30:00-07:00", - "end": "2019-01-20T08:30:00-07:00" - }, - "diagnosis": [ { - "condition": { - "reference": "Condition/denom-EXM108-FHIR3-2" - } - } ], - "hospitalization": { - "dischargeDisposition": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "306701001", - "display": "Discharge to community hospital (procedure)" - } ] - } - } - }, - "request": { - "method": "PUT", - "url": "Encounter/denom-EXM108-FHIR3-1" - } - }, { - "resource": { - "resourceType": "Condition", - "id": "denom-EXM108-FHIR3-2", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition" ] - }, - "verificationStatus": "confirmed", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/condition-category", - "code": "encounter-diagnosis", - "display": "Encounter Diagnosis" - } ] - } ], - "code": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "10327003", - "display": "Cocaine-induced mood disorder (disorder)" - } ] - }, - "subject": { - "reference": "Patient/denom-EXM108-FHIR3" - } - }, - "request": { - "method": "PUT", - "url": "Condition/denom-EXM108-FHIR3-2" - } }, { "resource": { "resourceType": "Bundle", @@ -232,187 +72,30 @@ } }, { "resource": { - "resourceType": "Bundle", - "id": "tests-Condition-bundle", - "type": "transaction", - "entry": [ { - "resource": { - "resourceType": "Condition", - "id": "numer-EXM108-FHIR3-2", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition" ] - }, - "verificationStatus": "confirmed", - "category": [ { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/condition-category", - "code": "encounter-diagnosis", - "display": "Encounter Diagnosis" - } ] - } ], - "code": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "213213007", - "display": "Cardiac arrest as a complication of care (disorder)" - } ] - }, - "subject": { - "reference": "Patient/numer-EXM108-FHIR3" - } - }, - "request": { - "method": "PUT", - "url": "Condition/numer-EXM108-FHIR3-2" - } - } ] - }, - "request": { - "method": "PUT", - "url": "tests-Condition-bundle" - } - }, { - "resource": { - "resourceType": "Procedure", - "id": "denom-EXM108-FHIR3-4", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-procedure" ] - }, - "status": "completed", - "code": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "112943005", - "display": "Epidural injection of anesthetic substance" - } ] - }, - "subject": { - "reference": "Patient/denom-EXM108-FHIR3" - }, - "performedPeriod": { - "start": "2019-01-17T08:30:00-07:00", - "end": "2019-01-17T10:30:00-07:00" - } - }, - "request": { - "method": "PUT", - "url": "Procedure/denom-EXM108-FHIR3-4" - } - }, { - "resource": { - "resourceType": "Bundle", - "id": "tests-Encounter-bundle", - "type": "transaction", - "entry": [ { - "resource": { - "resourceType": "Encounter", - "id": "numer-EXM108-FHIR3-3", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] - }, - "status": "finished", - "class": { - "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", - "code": "IMP", - "display": "inpatient encounter" - }, - "type": [ { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "32485007", - "display": "Hospital admission (procedure)" - } ] - } ], - "subject": { - "reference": "Patient/numer-EXM108-FHIR3" - }, - "period": { - "start": "2019-01-16T08:30:00-07:00", - "end": "2019-01-20T08:30:00-07:00" - }, - "diagnosis": [ { - "condition": { - "reference": "Condition/numer-EXM108-FHIR3-2" - }, - "role": { - "coding": [ { - "system": "http://hl7.org/fhir/diagnosis-role", - "code": "billing", - "display": "Billing" - } ] - }, - "rank": 1 - } ], - "hospitalization": { - "dischargeDisposition": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "306701001", - "display": "Discharge to community hospital (procedure)" - } ] - } - } - }, - "request": { - "method": "PUT", - "url": "Encounter/numer-EXM108-FHIR3-3" - } - } ] - }, - "request": { - "method": "PUT", - "url": "tests-Encounter-bundle" - } - }, { - "resource": { - "resourceType": "MedicationAdministration", - "id": "denom-EXM108-FHIR3-5", - "status": "completed", - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "854228", - "display": "0.3 ML Enoxaparin sodium 100 MG/ML Prefilled Syringe" - } ] - }, - "subject": { - "reference": "Patient/denom-EXM108-FHIR3" - }, - "effectivePeriod": { - "start": "2019-01-19T12:30:00-07:00", - "end": "2019-01-19T13:00:00-07:00" - } - }, - "request": { - "method": "PUT", - "url": "MedicationAdministration/denom-EXM108-FHIR3-5" - } - }, { - "resource": { - "resourceType": "MeasureReport", - "id": "measurereport-denom-EXM108-FHIR3", - "contained": [ { - "resourceType": "Bundle", - "id": "e1a37198-69ec-41c5-9fcf-4929c231bc44", - "type": "collection", - "entry": [ { - "fullUrl": "30efef19-7b8e-48a9-b2f5-b3eaa313b6a7", - "resource": { - "resourceType": "List", - "id": "30efef19-7b8e-48a9-b2f5-b3eaa313b6a7", - "title": "initial-population", - "entry": [ { - "item": { - "reference": "denom-EXM108-FHIR3" - } - }, { - "item": { - "reference": "denom-EXM108-FHIR3-2" - } - }, { - "item": { - "reference": "denom-EXM108-FHIR3-1" - } + "resourceType": "MeasureReport", + "id": "measurereport-denom-EXM108-FHIR3", + "contained": [ { + "resourceType": "Bundle", + "id": "e1a37198-69ec-41c5-9fcf-4929c231bc44", + "type": "collection", + "entry": [ { + "fullUrl": "30efef19-7b8e-48a9-b2f5-b3eaa313b6a7", + "resource": { + "resourceType": "List", + "id": "30efef19-7b8e-48a9-b2f5-b3eaa313b6a7", + "title": "initial-population", + "entry": [ { + "item": { + "reference": "denom-EXM108-FHIR3" + } + }, { + "item": { + "reference": "denom-EXM108-FHIR3-2" + } + }, { + "item": { + "reference": "denom-EXM108-FHIR3-1" + } } ] } }, { @@ -676,57 +359,6 @@ "method": "PUT", "url": "MeasureReport/measurereport-denom-EXM108-FHIR3" } - }, { - "resource": { - "resourceType": "Patient", - "id": "denom-EXM108-FHIR3", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2106-3", - "display": "White" - } - } ] - }, { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2186-5", - "display": "Not Hispanic or Latino" - } - } ] - } ], - "identifier": [ { - "use": "usual", - "type": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "MR", - "display": "Medical Record Number" - } ] - }, - "system": "http://hospital.smarthealthit.org", - "value": "999999996" - } ], - "name": [ { - "family": "Jones", - "given": [ "Frank" ] - } ], - "gender": "male", - "birthDate": "1951-05-01" - }, - "request": { - "method": "PUT", - "url": "Patient/denom-EXM108-FHIR3" - } }, { "resource": { "resourceType": "Measure", @@ -738,16 +370,11 @@ }, "text": { "status": "generated", - "div": "
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Measurement Periodnull - null
Copyright and Disclaimer Notice\n
\n \n \n
HEDIS%26reg; is a registered trademark of the National Committee for Quality Assurance (NCQA). The HEDIS measures and specifications are owned by NCQA. NCQA holds a copyright in the HEDIS measures and specifications and may rescind or alter these measures and specifications at any time. Users of the HEDIS measures and specifications shall not have the right to alter, enhance or otherwise modify the HEDIS measures and specifications, and shall not disassemble, recompile or reverse engineer the HEDIS measures and specifications. Anyone desiring to use or reproduce the materials, subject to licensed user restrictions, without modification for an internal, non-commercial purpose may do so without obtaining any approval from NCQA. Use of the Rules for Allowable Adjustments of HEDIS to make permitted adjustments of the materials does not constitute a modification. All other uses, including a commercial use, or any external reproduction, distribution and publication must be approved by NCQA and are subject to a license at the discretion of NCQA.\n\nHEDIS measures and specifications are not clinical guidelines, do not establish a standard of medical care and have not been tested for all potential applications. The measures and specifications are provided “as is” without warranty of any kind. NCQA makes no representations, warranties or endorsements about the quality of any product, test or protocol identified as numerator compliant or otherwise identified as meeting the requirements of a HEDIS measure or specification. NCQA also makes no representations, warranties or endorsements about the quality of any organization or clinician who uses or reports performance measures. NCQA has no liability to anyone who relies on HEDIS measures and specifications or data reflective of performance under such measures and specifications.\n\nCalculated measure results, based on unadjusted HEDIS specifications, may not be termed “Health Plan HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Uncertified, Unaudited Health Plan HEDIS Rates.”\n\nCalculated measure results, based on adjusted HEDIS specifications, may not be termed “Adjusted HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Adjusted, Uncertified, Unaudited HEDIS Rates.”\n\nLimited proprietary coding is contained in the measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. NCQA disclaims all liability for use or accuracy of any coding contained in the specifications.\n\nThe American Medical Association holds a copyright to the CPT%26reg; codes contained in the measures specifications.\n\nThe American Hospital Association holds a copyright to the Uniform Bill Codes (UB) contained in the measure specifications. The UB Codes in the HEDIS specifications are included with the permission of the AHA. The UB Codes contained in the HEDIS specifications may be used by health plans and other health care delivery organizations for the purpose of calculating and reporting HEDIS measure results or using HEDIS measure results for their internal quality improvement purposes. All other uses of the UB Codes require a license from the AHA. Anyone desiring to use the UB Codes in a commercial Product(s) to generate HEDIS results, or for any other commercial use, must obtain a commercial use license directly from the AHA. To inquire about licensing, contact ub04@healthforum.com.\n\nSome measure specifications contain coding from LOINC%26reg; (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright %26copy; 1995-2019, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/terms-of-use.\n\n"SNOMED” and “SNOMED CT” are registered trademarks of the International Health Terminology Standards Development Organization (IHTSDO).\n\n“HL7” is the registered trademark of Health Level Seven International.\n\n%26copy; 2019 by the National Committee for Quality Assurance, all rights reserved.
\n
\n
Characteristics
Improvement Notation
Definitions
\n \n \n
\n \n \n \n \n
\n

Table of Contents

\n \n
\n \n

Definitions

\n \n

Functions

\n \n

Terminology

\n
\n
    \n \n
\n
\n

Data Criteria (QDM Data Elements)

\n
\n
    \n \n
\n
\n

Supplemental Data Elements

\n \n
\n
    \n
  • None
  • \n
\n
\n

Risk Adjustment Variables

\n
\n
    \n
  • None
  • \n
\n
\n
\n \n \n \n
\n
" + "div": "
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Measurement Periodnull - null
Copyright and Disclaimer Notice\n
\n \n \n
HEDIS%26reg; is a registered trademark of the National Committee for Quality Assurance (NCQA). The HEDIS measures and specifications are owned by NCQA. NCQA holds a copyright in the HEDIS measures and specifications and may rescind or alter these measures and specifications at any time. Users of the HEDIS measures and specifications shall not have the right to alter, enhance or otherwise modify the HEDIS measures and specifications, and shall not disassemble, recompile or reverse engineer the HEDIS measures and specifications. Anyone desiring to use or reproduce the materials, subject to licensed user restrictions, without modification for an internal, non-commercial purpose may do so without obtaining any approval from NCQA. Use of the Rules for Allowable Adjustments of HEDIS to make permitted adjustments of the materials does not constitute a modification. All other uses, including a commercial use, or any external reproduction, distribution and publication must be approved by NCQA and are subject to a license at the discretion of NCQA.\n\nHEDIS measures and specifications are not clinical guidelines, do not establish a standard of medical care and have not been tested for all potential applications. The measures and specifications are provided “as is” without warranty of any kind. NCQA makes no representations, warranties or endorsements about the quality of any product, test or protocol identified as numerator compliant or otherwise identified as meeting the requirements of a HEDIS measure or specification. NCQA also makes no representations, warranties or endorsements about the quality of any organization or clinician who uses or reports performance measures. NCQA has no liability to anyone who relies on HEDIS measures and specifications or data reflective of performance under such measures and specifications.\n\nCalculated measure results, based on unadjusted HEDIS specifications, may not be termed “Health Plan HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Uncertified, Unaudited Health Plan HEDIS Rates.”\n\nCalculated measure results, based on adjusted HEDIS specifications, may not be termed “Adjusted HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Adjusted, Uncertified, Unaudited HEDIS Rates.”\n\nLimited proprietary coding is contained in the measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. NCQA disclaims all liability for use or accuracy of any coding contained in the specifications.\n\nThe American Medical Association holds a copyright to the CPT%26reg; codes contained in the measures specifications.\n\nThe American Hospital Association holds a copyright to the Uniform Bill Codes (UB) contained in the measure specifications. The UB Codes in the HEDIS specifications are included with the permission of the AHA. The UB Codes contained in the HEDIS specifications may be used by health plans and other health care delivery organizations for the purpose of calculating and reporting HEDIS measure results or using HEDIS measure results for their internal quality improvement purposes. All other uses of the UB Codes require a license from the AHA. Anyone desiring to use the UB Codes in a commercial Product(s) to generate HEDIS results, or for any other commercial use, must obtain a commercial use license directly from the AHA. To inquire about licensing, contact ub04@healthforum.com.\n\nSome measure specifications contain coding from LOINC%26reg; (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright %26copy; 1995-2019, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/terms-of-use.\n\n"SNOMED” and “SNOMED CT” are registered trademarks of the International Health Terminology Standards Development Organization (IHTSDO).\n\n“HL7” is the registered trademark of Health Level Seven International.\n\n%26copy; 2019 by the National Committee for Quality Assurance, all rights reserved.
\n
\n
Characteristics
Improvement Notation
Definitions
\n \n \n
\n \n \n \n \n
\n

Table of Contents

\n \n
\n \n

Definitions

\n \n

Functions

\n \n

Terminology

\n
\n
    \n \n
\n
\n

Data Criteria (QDM Data Elements)

\n
\n
    \n \n
\n
\n

Supplemental Data Elements

\n \n
\n
    \n
  • None
  • \n
\n
\n

Risk Adjustment Variables

\n
\n
    \n
  • None
  • \n
\n
\n
\n \n \n \n
\n
" }, "extension": [ { "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", "valueCode": "boolean" - }, { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-exm104-FHIR3", "identifier": [ { @@ -1144,100 +771,950 @@ "display": "White" } } ] - }, { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2186-5", - "display": "Not Hispanic or Latino" - } + }, { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2186-5", + "display": "Not Hispanic or Latino" + } + } ] + } ], + "identifier": [ { + "use": "usual", + "type": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MR", + "display": "Medical Record Number" + } ] + }, + "system": "http://hospital.smarthealthit.org", + "value": "999999997" + } ], + "name": [ { + "family": "Smith", + "given": [ "Jill" ] + } ], + "gender": "female", + "birthDate": "1963-09-13" + } + } ] + } ], + "status": "complete", + "type": "individual", + "measure": { + "reference": "Measure/measure-EXM108-FHIR3-7.4.000" + }, + "patient": { + "reference": "Patient/numer-EXM108-FHIR3" + }, + "period": { + "start": "2019-01-01T00:00:00-07:00", + "end": "2019-12-31T00:00:00-07:00" + }, + "group": [ { + "identifier": { + "value": "group-1" + }, + "population": [ { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population", + "display": "Initial Population" + } ] + }, + "count": 1 + }, { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "numerator", + "display": "Numerator" + } ] + }, + "count": 1 + }, { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator", + "display": "Denominator" + } ] + }, + "count": 1 + }, { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator-exclusion", + "display": "Denominator Exclusion" + } ] + }, + "count": 0 + } ], + "measureScore": 1.0 + } ], + "evaluatedResources": { + "reference": "#13687040-a0ad-4346-b7c8-174e53903241" + } + }, + "request": { + "method": "PUT", + "url": "MeasureReport/measurereport-numer-EXM108-FHIR3" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-2.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-2.0.000
Type: Logic Library
Version: 2.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '2.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t    and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] C where C.id = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t\treturn singleton from ([Condition] C where C.id = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "2.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMDUiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIwNSIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVSIiBpZD0iRVIiIGRpc3BsYXk9IkVtZXJnZW5jeSByb29tIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSUNVIiBpZD0iSUNVIiBkaXNwbGF5PSJJbnRlbnNpdmUgY2FyZSB1bml0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikxlbmd0aEluRGF5cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGlmZmVyZW5jZUJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJJbnBhdGllbnQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgIDx5ZWFyIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwveWVhcj4NCiAgICAgICAgICAgIDxtb250aCBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9tb250aD4NCiAgICAgICAgICAgIDxkYXkgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L2RheT4NCiAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHRpbWV6b25lT2Zmc2V0IHhzaTp0eXBlPSJUaW1lem9uZUZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3RpbWV6b25lT2Zmc2V0Pg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2RheSIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbk1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImhvdXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDxlbHNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlgiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFREVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFREVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgIDx0aGVuIHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTGVuZ3RoIG9mIFN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQWRtaXNzaW9uIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIERpc2NoYXJnZSBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGl0YWxMb2NhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8c29ydD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxieSBkaXJlY3Rpb249ImFzYyIgeHNpOnR5cGU9IkJ5RXhwcmVzc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvbmRpdGlvbiIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyb2xlIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpbGxpbmciIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlZ2VyIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyYW5rIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29uZGl0aW9uIiBzY29wZT0iUEQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldExvY2F0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxvY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkxvY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlZmVyZW5jZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0RXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldFByb3ZlbmFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm92ZW5hbmNlIiBjb2RlUHJvcGVydHk9InRhcmdldCIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldE1lZGljYXRpb25Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlcXVlc3QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVxdWVzdCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwoKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnCmNvZGUgIkVSIjogJ0VSJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnRW1lcmdlbmN5IHJvb20nCmNvZGUgIklDVSI6ICdJQ1UnIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdJbnRlbnNpdmUgY2FyZSB1bml0Jwpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIiOgoJW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFbmNvdW50ZXJJbnBhdGllbnQKCQl3aGVyZSBFbmNvdW50ZXJJbnBhdGllbnQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCSAgICBhbmQgIkxlbmd0aEluRGF5cyIoRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCkgPD0gMTIwCgkJCWFuZCBFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kIGVuZHMgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgZnVuY3Rpb24gIlRvRGF0ZSIoVmFsdWUgRGF0ZVRpbWUpOgoJRGF0ZVRpbWUoeWVhciBmcm9tIFZhbHVlLCBtb250aCBmcm9tIFZhbHVlLCBkYXkgZnJvbSBWYWx1ZSwgMCwgMCwgMCwgMCwgdGltZXpvbmUgZnJvbSBWYWx1ZSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbkRheXNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6CglkYXlzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5cyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluRGF5c0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6Cgltb250aHMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCXllYXJzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluWWVhcnMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJblllYXJzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiTGVuZ3RoSW5EYXlzIihWYWx1ZSBJbnRlcnZhbDxEYXRlVGltZT4pOgoJZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgVmFsdWUgYW5kIGVuZCBvZiBWYWx1ZQoKZGVmaW5lIGZ1bmN0aW9uICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKICAgIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXSBFRFZpc2l0CiAgICAgICAgICAgIHdoZXJlIEVEVmlzaXQuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgICAgICAgICAgICAgYW5kIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCkKICAgICkKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJKCAiRUQgVmlzaXQiKFRoZUVuY291bnRlcikgKSBYCiAgICByZXR1cm4KICAgICAgICBpZiBYIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgZWxzZSBJbnRlcnZhbFtzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFgucGVyaW9kKSwgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCldCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIEVERW5jb3VudGVyCiAgICByZXR1cm4KICAgICAgICBpZiBFREVuY291bnRlciBpcyBudWxsIHRoZW4gVGhlRW5jb3VudGVyLmxvY2F0aW9uCiAgICAgICAgZWxzZSBmbGF0dGVuIHsgRURFbmNvdW50ZXIubG9jYXRpb24sIFRoZUVuY291bnRlci5sb2NhdGlvbiB9CgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMZW5ndGggb2YgU3RheSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCUxlbmd0aEluRGF5cygiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIpKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWwgRGlzY2hhcmdlIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgllbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEZpcnN0KAoJICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCXNvcnQgYnkgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChwZXJpb2QpCgkpLnBlcmlvZCkKCi8vIFRPRE8gLSBmaXggdGhlc2UgKG11c3QgZmV0Y2ggTG9jYXRpb24gcmVzb3VyY2VzIGFuZCBjb21wYXJlIGlkIHRvIHJlZmVyZW5jZSkKLypkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIERlcGFydHVyZSBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoTGFzdCgKCSAgICAoICJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIihUaGVFbmNvdW50ZXIpICkgSG9zcGl0YWxMb2NhdGlvbgoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkVtZXJnZW5jeSBEZXBhcnRtZW50IEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoKAoJICAgIHNpbmdsZXRvbiBmcm9tICgKCSAgICAgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJFUiIKCQkpCgkpLnBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiRmlyc3QgSW5wYXRpZW50IEludGVuc2l2ZSBDYXJlIFVuaXQiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglGaXJzdCgKCSAgICAoIFRoZUVuY291bnRlci5sb2NhdGlvbiApIEhvc3BpdGFsTG9jYXRpb24KCQkJd2hlcmUgSG9zcGl0YWxMb2NhdGlvbi50eXBlIH4gIklDVSIKCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgVGhlRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKSovCgovKgoqCiogICAgQ1FGTWVhc3VyZXMgQ29tbW9uIExvZ2ljCioKKi8KCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgogIGlmIG9uc2V0IGlzIEZISVIuZGF0ZVRpbWUgdGhlbgoJICBJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLlBlcmlvZCB0aGVuCgkgIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwob25zZXQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIG9uc2V0IGlzIEZISVIuQWdlIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpLAoJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpICsgMSB5ZWFyKQoJZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbiBDb25kaXRpb24pOgoJaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5kYXRlVGltZSldCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5BZ2UgdGhlbgoJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLAoJCQlGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmJvb2xlYW4gdGhlbgoJICBJbnRlcnZhbFtlbmQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgY29uZGl0aW9uLmFzc2VydGVkRGF0ZSkKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJHZXRQcmV2YWxlbmNlUGVyaW9kIihjb25kaXRpb24gQ29uZGl0aW9uKToKICBJbnRlcnZhbFtzdGFydCBvZiAiTm9ybWFsaXplIE9uc2V0Iihjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbikpCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBJbnRlcnZhbCIoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZD4pOgogIGlmIGNob2ljZSBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5kYXRlVGltZSksIEZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZQoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNob2ljZSBhcyBGSElSLlBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcpOgoJTGFzdChTcGxpdCh1cmksICcvJykpCgpkZWZpbmUgZnVuY3Rpb24gIkVuY291bnRlckRpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6CiAgRW5jb3VudGVyLmRpYWdub3NpcyBECiAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKFtDb25kaXRpb25dIEMgd2hlcmUgQy5pZCA9ICJHZXRJZCIoRC5jb25kaXRpb24ucmVmZXJlbmNlKSkKCi8vIFJldHVybnMgdGhlIGNvbmRpdGlvbiB0aGF0IGlzIHNwZWNpZmllZCBhcyB0aGUgcHJpbmNpcGFsIGRpYWdub3NpcyBmb3IgdGhlIGVuY291bnRlcgpkZWZpbmUgZnVuY3Rpb24gIlByaW5jaXBhbERpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6Cgkoc2luZ2xldG9uIGZyb20gKEVuY291bnRlci5kaWFnbm9zaXMgRCB3aGVyZSBELnJvbGUgfiBUb0NvbmNlcHQoIkJpbGxpbmciKSBhbmQgRC5yYW5rID0gMSkpIFBECgkJcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDIHdoZXJlIEMuaWQgPSAiR2V0SWQiKFBELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgbG9jYXRpb24gZm9yIHRoZSBnaXZlbiBsb2NhdGlvbiByZWZlcmVuY2UKZGVmaW5lIGZ1bmN0aW9uIEdldExvY2F0aW9uKHJlZmVyZW5jZSBSZWZlcmVuY2UpOgogIHNpbmdsZXRvbiBmcm9tICgKICAgIFtMb2NhdGlvbl0gTG9jYXRpb24gd2hlcmUgTG9jYXRpb24uaWQudmFsdWUgPSBHZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKQogICkKCi8qCk5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlCkNRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nICsgdXJsKQoJCXJldHVybiBFCgpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UsIHVybCkKCi8qCk5PVEU6IFByb3ZlbmFuY2UgaXMgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIHRoaXMgaXMgcHJvdmlkZWQgb25seSBhcyBhbiBpbGx1c3RyYXRpb24KZm9yIHdoYXQgdXNpbmcgUHJvdmVuYW5jZSBjb3VsZCBsb29rIGxpa2UsIGFuZCBpcyBub3QgYSB0ZXN0ZWQgcGF0dGVybgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldFByb3ZlbmFuY2UiKHJlc291cmNlIFJlc291cmNlKToKICBzaW5nbGV0b24gZnJvbSAoW1Byb3ZlbmFuY2U6IHRhcmdldCBpbiByZXNvdXJjZS5pZF0pCgpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Db2RlIihyZXF1ZXN0IE1lZGljYXRpb25SZXF1ZXN0KToKICBpZiByZXF1ZXN0Lm1lZGljYXRpb24gaXMgQ29kZWFibGVDb25jZXB0IHRoZW4KCSAgcmVxdWVzdC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdAoJZWxzZQoJICAoc2luZ2xldG9uIGZyb20gKFtNZWRpY2F0aW9uOiBpZCBpbiBHZXRJZCgocmVxdWVzdC5tZWRpY2F0aW9uIGFzIFJlZmVyZW5jZSkucmVmZXJlbmNlKV0pKS5jb2RlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-SupplementalDataElements-FHIR3-1.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-SupplementalDataElements-FHIR3-1.0.0
Type: Logic Library
Version: 1.0.0
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Coverage

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591

Content: type: text/cql
library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Payer":\n    [Coverage: type in "Payer"] Payer\n      return {\n        code: Payer.type,\n        period: Payer.period\n      }\n\ndefine "SDE Race":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Sex":\n  case\n    when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n    when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n    else null\n  end\n
\n \n \n
\n
" + }, + "version": "1.0.0", + "name": "SupplementalDataElements_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + }, { + "resource": { + "resourceType": "Bundle", + "id": "tests-MedicationAdministration-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "MedicationAdministration", + "id": "denom-EXM108-FHIR3-5", + "status": "completed", + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "854228", + "display": "0.3 ML Enoxaparin sodium 100 MG/ML Prefilled Syringe" + } ] + }, + "subject": { + "reference": "Patient/denom-EXM108-FHIR3" + }, + "effectivePeriod": { + "start": "2019-01-19T12:30:00-07:00", + "end": "2019-01-19T13:00:00-07:00" + } + }, + "request": { + "method": "PUT", + "url": "MedicationAdministration/denom-EXM108-FHIR3-5" + } + } ] + }, + "request": { + "method": "PUT", + "url": "tests-MedicationAdministration-bundle" + } + }, { + "resource": { + "resourceType": "Patient", + "id": "numer-EXM108-FHIR3", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] + }, + "extension": [ { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2106-3", + "display": "White" + } + } ] + }, { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2186-5", + "display": "Not Hispanic or Latino" + } + } ] + } ], + "identifier": [ { + "use": "usual", + "type": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MR", + "display": "Medical Record Number" + } ] + }, + "system": "http://hospital.smarthealthit.org", + "value": "999999997" + } ], + "name": [ { + "family": "Smith", + "given": [ "Jill" ] + } ], + "gender": "female", + "birthDate": "1963-09-13" + }, + "request": { + "method": "PUT", + "url": "Patient/numer-EXM108-FHIR3" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-EXM108-FHIR3-7.4.000", + "text": { + "status": "generated", + "div": "
\r\n \r\n \r\n
Id: library-EXM108-FHIR3-7.4.000
Type: logic-library
Version: 7.4.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

type: depends-on

Resource:
reference: Library/library-VTEICU-FHIR3-2.4.000

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

Data Requirements:

type: Patient

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: DeviceUseStatement

type: Device

type: DeviceRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230

type: DeviceRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214

type: DeviceRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232

type: MedicationRequest

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39

type: MedicationRequest

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219

type: MedicationRequest

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211

type: MedicationRequest

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232

type: DeviceUseStatement

type: Device

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743

type: MedicationAdministration

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261

type: Observation

code filter:
path: code

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743

Content: type: text/cql
library EXM108_FHIR3 version '7.4.000'\n\n/*\nBased on CMS108v7 - Venous Thromboembolism Prophylaxis\n*/\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\n/*\nData Types Used:\n\nEncounter\nDeviceUseStatement\nDeviceRequest\nMedicationAdministration\nMedicationRequest\nProcedure - ordinality extension\nProcedureRequest\nCondition\n*/\n\n/*\nDevelopment Notes:\n\n    Need to define “doNotPerfom” QICore extension to support “NotDone is true” expression. Suggest to the base Resource for the following profiles –\n\n        DeviceUseStatement\n        DeviceRequest\n        MedicationRequest\n\n        Add doNotPerform to DeviceUseRequest and notDone to DeviceUseStatement:\n        [#20601](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20601)\n        Promote profiles to QI-Core:\n        [#20610](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20610)\n\n    Need to define an “ordinality” extension for Procedure profile to support “Procedure.ordinality ~ "Principal" expression.\n\n      [#20527](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20527)\n\n    Need to confirm the following profiles and ensure Period is a default type -\n\n        MedicationAdministration.effective\n        Procedure.performed\n\n        Defined as DEQM profiles currently, promote to QI-Core\n        [#20611](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20611)\n\n    Suggest defining “recordedOn“ to support the timings for “MedicationAdministration.notGiven” and “Procedure.notDone”. see the highlighted fields below.\n\n      [#20602](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20602)\n\n|Profile                   |Timing used for Done |Timing used for doNotPerform |TJC comments          |\n|---|---|---|---|\n|DeviceUseStatement        |whenUsed             |recordedOn                   |   |\n|DeviceRequest             |authoredOn           |authoredOn                   |   |\n|MedicationAdministration  |effective            |effective                    | Suggest adding recordedOn for notGiven timing |\n|MedicationRequest         |authoredOn           |authoredOn                   |   |\n|Procedure                 |performed            |performed                    | Suggest adding recordedOn for notDone timing |\n|ProcedureRequest          |authoredOn           |authoredOn                   |   |\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude VTEICU_FHIR3 version '2.4.000' called VTEICU\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Atrial Fibrillation/Flutter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202'\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Direct Thrombin Inhibitor": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.205'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "General or Neuraxial Anesthesia": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743'\nvalueset "General Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.255'\nvalueset "Glycoprotein IIb/IIIa Inhibitors": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.41'\nvalueset "Graduated compression stockings (GCS)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256'\nvalueset "Gynecological Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "Hip Fracture Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258'\nvalueset "Hip Replacement Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259'\nvalueset "Injectable Factor Xa Inhibitor for VTE Prophylaxis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211'\nvalueset "INR": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.213'\nvalueset "Intermittent pneumatic compression devices (IPC)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214'\nvalueset "Intracranial Neurosurgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260'\nvalueset "Intravenous route": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.222'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Knee Replacement Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261'\nvalueset "Low Dose Unfractionated Heparin for VTE Prophylaxis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39'\nvalueset "Low Molecular Weight Heparin for VTE Prophylaxis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219'\nvalueset "Low Risk": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.400'\nvalueset "Medical Reason": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'\nvalueset "Mental Health Diagnoses": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1004'\nvalueset "Obstetrics": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.263'\nvalueset "Obstetrics VTE": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264'\nvalueset "Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134'\nvalueset "Patient Refusal": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'\n//valueset "Principal": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.14' // Changed to use a code\nvalueset "Subcutaneous route": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.223'\nvalueset "Unfractionated Heparin": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.218'\nvalueset "Urological Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272'\nvalueset "Venous foot pumps (VFP)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230'\nvalueset "Venous Thromboembolism": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279'\nvalueset "Warfarin": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232'\nvalueset "Intensive Care Unit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.23'\n\ncode "Risk for venous thromboembolism": '72136-5' from "LOINC" display 'Risk for venous thromboembolism'\ncode "Principal": '63161005' from "SNOMEDCT" display 'Principal (qualifier value)'\ncode "Order": 'order' from "RequestIntent" display 'Order'\n\nparameter "Measurement Period" Interval<DateTime>\n    default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n\tSDE."SDE Payer"\n\ndefine "SDE Race":\n  SDE."SDE Race"\n\ndefine "SDE Sex":\n\tSDE."SDE Sex"\n\ndefine "Denominator":\n\t"Initial Population"\n\ndefine "ED Visit":\n\t["Encounter": type in "Emergency Department Visit"] EDVisit\n    where EDVisit.status = 'finished'\n\ndefine "Initial Population":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions"\n\ndefine "No VTE Prophylaxis Device Applied or Ordered":\n  // NOTE: Should be using device.code, but that requires CQL 1.4\n  (\n     (\n       (\n           ["DeviceUseStatement"] DeviceUseStatement\n               where DeviceUseStatement.status = 'completed'\n       ) ValidDeviceUseStatement\n           with [Device] Device\n               such that Global.GetId(ValidDeviceUseStatement.device.reference) = Device.id\n                   and (\n                       Device.type in "Venous foot pumps (VFP)"\n                           or Device.type in "Intermittent pneumatic compression devices (IPC)"\n                           or Device.type in "Graduated compression stockings (GCS)"\n                   )\n     ) D\n     //JR: updated to use the Global get extension because the argument is DomainResource\n     where Global.GetExtension(D, 'doNotPerform').value is true\n  )\n  union ((\n    ["DeviceRequest": code in "Venous foot pumps (VFP)"]\n      union ["DeviceRequest": code in "Intermittent pneumatic compression devices (IPC)"]\n      union ["DeviceRequest": code in "Graduated compression stockings (GCS)"]\n  ) D\n    where D.intent ~ ToConcept("Order")\n    //JR: updated to use the Global get extension because the argument is DomainResource\n\t and Global.GetExtension(D, 'doNotPerform').value is true\n    //where D.doNotPerform is true // Needs a QI-Core extension to support\n  )\ndefine function GetExtension(Extensions List<Extension>, URL String):\n  singleton from (Extensions E where E.url = URL return E)\n\n//Done\ndefine "No VTE Prophylaxis Device Due to Medical Reason During ED Visit":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"ED Visit" EDVisit,\n\t\t"No VTE Prophylaxis Device Applied or Ordered" NoVTEDevice\n\t\twhere FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand (singleton from NoVTEDevice.reasonCode in "Medical Reason")\n\t\t\tand Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during FHIRHelpers.ToInterval(EDVisit.period)\n\n//Done\ndefine "No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Admission":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"No VTE Prophylaxis Device Applied or Ordered" NoVTEDevice\n\t\twhere (singleton from NoVTEDevice.reasonCode in "Medical Reason")\n\t\t\tand Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\n//Done\ndefine "No VTE Prophylaxis Medication Administered or Ordered":\n\t((\t["MedicationAdministration": medication in "Low Dose Unfractionated Heparin for VTE Prophylaxis"]\n\tunion\n\t["MedicationAdministration": medication in "Low Molecular Weight Heparin for VTE Prophylaxis"]\n\tunion\n\t["MedicationAdministration": medication in "Injectable Factor Xa Inhibitor for VTE Prophylaxis"]\n\tunion\n\t["MedicationAdministration": medication in "Warfarin"]\n\t) MedicationAdm\n\t\twhere MedicationAdm.notGiven is true\n\t)\n\tunion\n\t // TODO: Tracker for QI-core to add doNotPerform extension for MedicationRequest and suggest to the base Resource\n\t//JR: code is not an attribute of MedicationRequest.  Used medication instead.\n\t((\t["MedicationRequest": medication in "Low Dose Unfractionated Heparin for VTE Prophylaxis"]\n\tunion\n\t["MedicationRequest": medication in "Low Molecular Weight Heparin for VTE Prophylaxis"]\n\tunion\n\t["MedicationRequest": medication in "Injectable Factor Xa Inhibitor for VTE Prophylaxis"]\n\tunion\n\t["MedicationRequest": medication in "Warfarin"]\n\t) MedicationOrder\n\twhere\tMedicationOrder.intent = 'order'\n\t\tand GetExtension(MedicationOrder.extension, 'http://example.org/fhir/extensions/doNotPerform').value is true\n\t\t//MedicationOrder.doNotPerform is true // Needs a QI-Core extension to support\n\t)\n\n\n//Done\ndefine "No VTE Prophylaxis Medication Due to Medical Reason During ED Visit":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"ED Visit" EDVisit,\n\t\t"No VTE Prophylaxis Medication Administered or Ordered" NoVTEMedication\n\t\twhere FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand (singleton from NoVTEMedication.reasonCode in "Medical Reason")\n\t\t// TODO: Profile of MedicationAdministration to ensure effective is a Period\n\t\t\tand Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during FHIRHelpers.ToInterval(EDVisit.period)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Admission":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"No VTE Prophylaxis Medication Administered or Ordered" NoVTEMedication\n\t\twhere (singleton from NoVTEMedication.reasonCode in "Medical Reason")\n\t\t\tand Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Procedure":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t"No VTE Prophylaxis Device Applied or Ordered" NoVTEDevice\n\t\twhere NoVTEDevice.reasonCode in "Medical Reason"\n\t\t\tand AnesthesiaProcedure.status = 'completed'\n\t\t\t// TODO: Profile of procedure to ensure performed is a Period\n\t\t\tand AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand  Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during VTEICU."CalendarDayOfOrDayAfter"(end of AnesthesiaProcedure.performed)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "Admission Without VTE or Obstetrical Conditions":\n\t\t(Global."Inpatient Encounter" InpatientEncounter\n\t\twhere not (\n\t\t    //Connectathon: still broken: temporarily removed pending HAPI FHIR server fix for maxClauseCount > 1024\n            //Global.EncounterDiagnosis(InpatientEncounter).code in "Obstetrics" or\n\t\t\t\t\t\t\t\tGlobal.EncounterDiagnosis(InpatientEncounter).code in "Venous Thromboembolism"\n\t\t\t\t\t\t\t\tor Global.EncounterDiagnosis(InpatientEncounter).code in "Obstetrics VTE"\n\t\t\t\t\t\t\t)\n    )\n\t\tintersect (Global."Inpatient Encounter" InpatientEncounter\n\t\t\t\twithout (\n\t\t            //Connectathon: still broken: temporarily removed pending HAPI FHIR server fix for maxClauseCount > 1024\n                    //["Condition": code in "Obstetrics"] union\n\t\t\t\t\t\t\t\t\t["Condition": code in "Venous Thromboembolism"]\n\t\t\t\t\t\t\t\t\tunion ["Condition": code in "Obstetrics VTE"])\tDiagnosis\n\t\t\t\tsuch that Diagnosis.clinicalStatus = 'active'\n        \t\tand Diagnosis.verificationStatus = 'confirmed'\n\t\t\t\t\t\tand Global."Normalize Onset"(Diagnosis.onset) during Global."Hospitalization"(InpatientEncounter)\n\t\t\t\t\t\t)\n\n//Done\ndefine "No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Procedure":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t"No VTE Prophylaxis Medication Administered or Ordered" NoVTEMedication\n\t\twhere NoVTEMedication.reasonCode in "Medical Reason"\n\t\t\tand AnesthesiaProcedure.status = 'completed'\n\t\t\tand AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\t// TODO: Profile of MedicationAdministration to ensure effective is a Period\n\t\t\tand Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during VTEICU."CalendarDayOfOrDayAfter"(end of AnesthesiaProcedure.performed)\n\t\treturn QualifyingEncounter\n\n\n//Done\ndefine "Encounter Less Than 2 Days":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twhere Global."LengthInDays"(FHIRHelpers.ToInterval(QualifyingEncounter.period))< 2\n\n\n//Done\ndefine "SCIP VTE Selected Surgery":\n\t(\n\t\t//Connectathon: still broken: temporarily removed pending HAPI FHIR server fix for maxClauseCount > 1024\n\t\t// ["Procedure": "General Surgery"]\n\t\t// union\n        ["Procedure": "Gynecological Surgery"]\n\t\tunion ["Procedure": "Hip Fracture Surgery"]\n\t\tunion ["Procedure": "Hip Replacement Surgery"]\n\t\tunion ["Procedure": "Intracranial Neurosurgery"]\n\t\tunion ["Procedure": "Knee Replacement Surgery"]\n\t\tunion ["Procedure": "Urological Surgery"] ) P\n\t\twhere P.status = 'completed'\n\n\n//Done\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion\n\t\t(["Procedure": "Comfort Measures"] IntervetionPerformed\n\t\twhere IntervetionPerformed.status = 'completed')\n\n//Done\ndefine "Intervention Comfort Measures on Day of or Day After Start of Hospitalization":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twith "Intervention Comfort Measures" ComfortMeasure\n\t// TODO: Profile of procedure to ensure performed is a Period\n\t\t\tsuch that Coalesce(ComfortMeasure.authoredOn, start of ComfortMeasure.performed) 1 day or less on or after day of start of Global."Hospitalization"(QualifyingEncounter)\n\n//Done\ndefine "Intervention Comfort Measures on Day of or Day After Procedure":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t"Intervention Comfort Measures" ComfortMeasure\n\t\twhere  AnesthesiaProcedure.status = 'completed'\n\t\t\t\tand AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\t\tand Coalesce(ComfortMeasure.authoredOn, start of ComfortMeasure.performed) 1 day or less on or after day of end of AnesthesiaProcedure.performed\n\n//Done\ndefine "VTE Prophylaxis by Medication Administered or Device Applied":\n\t( ["MedicationAdministration": medication in "Low Dose Unfractionated Heparin for VTE Prophylaxis"] VTEMedication\n\t\t\twhere VTEMedication.status = 'completed'\n\t\t\t\t\t\tand VTEMedication.dosage.route in "Subcutaneous route"\n            return start of VTEMedication.effective\n\t)\n\t\t//JR: code is not an attribute of MedicationAdministration.  Used medication instead.\n\t\tunion (["MedicationAdministration": medication in "Low Molecular Weight Heparin for VTE Prophylaxis"] VTEMedication return start of VTEMedication.effective)\n\t\tunion (["MedicationAdministration": medication in "Injectable Factor Xa Inhibitor for VTE Prophylaxis"] VTEMedication return start of VTEMedication.effective)\n\t\tunion (["MedicationAdministration": medication in "Warfarin"] VTEMedication return start of VTEMedication.effective)\n\t\tunion\n            (\n                (\n                    ["DeviceUseStatement"] DeviceUseStatement\n                        where DeviceUseStatement.status = 'completed'\n                ) ValidDeviceUseStatement\n                with [Device] Device\n                such that Last(Split(ValidDeviceUseStatement.device.reference, '/')) = Device.id\n                    and (\n                        Device.type in "Venous foot pumps (VFP)"\n                            or Device.type in "Intermittent pneumatic compression devices (IPC)"\n                            or Device.type in "Graduated compression stockings (GCS)"\n                    )\n            ) DeviceApplied\n        where DeviceApplied.status = 'completed'\n        return Coalesce(DeviceApplied.recordedOn, start of DeviceApplied.whenUsed)\n\n//Done\ndefine "VTE Prophylaxis Received on Day of or Day After Admission or Procedure":\n\t( from\n\t\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t\t"VTE Prophylaxis by Medication Administered or Device Applied" VTEProphylaxisDate\n\t\t\t// TODO: Profile of MedicationAdministration to ensure effective is a Period\n        where VTEProphylaxisDate during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n        return QualifyingEncounter\n\t)\n\t\tunion ( from\n\t\t\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t\t\t"VTE Prophylaxis by Medication Administered or Device Applied" VTEProphylaxisDate\n            where AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n                and VTEProphylaxisDate during VTEICU."CalendarDayOfOrDayAfter"(end of AnesthesiaProcedure.performed)\n            return QualifyingEncounter\n\t\t)\n\n\n//Done\ndefine "Medication Oral Factor Xa Inhibitor Administered on Day of or Day After Admission or Procedure":\n\t( from\n\t\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t\t["MedicationAdministration": medication in "Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment"] FactorXaMedication\n\t\t\twhere FactorXaMedication.effective starts during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\t\t\treturn QualifyingEncounter\n\t)\n\t\tunion ( from\n\t\t\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t\t\t["MedicationAdministration": medication in "Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment"] FactorXaMedication\n\t\t\t\twhere AnesthesiaProcedure.status = 'completed'\n\t\t\t\tand AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\t\t\tand FactorXaMedication.effective starts during VTEICU."CalendarDayOfOrDayAfter"(end of AnesthesiaProcedure.performed)\n\t\t\t\treturn QualifyingEncounter\n\t\t)\n\n//Done\ndefine "Encounter With Prior or Present Diagnosis of Atrial Fibrillation or VTE":\n\t( "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\t\twith ["Condition": code in "Atrial Fibrillation/Flutter"] AtrialFibrillation\n\t\t\t\tsuch that AtrialFibrillation.clinicalStatus = 'active'\n\t\t\t\tand AtrialFibrillation.verificationStatus = 'confirmed'\n\t\t\t\tand Global."Normalize Onset"(AtrialFibrillation.onset) on or before end of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t)\n\t\tunion ( "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\t\t\twhere Global.EncounterDiagnosis(QualifyingEncounter).code in "Atrial Fibrillation/Flutter"\n\t\t\t)\n\t\tunion ( "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\t\t\twith ["Condition": code in "Venous Thromboembolism"] VTEDiagnosis\n\t\t\t\t\tsuch that  VTEDiagnosis.clinicalStatus in { 'inactive', 'remission', 'resolved' }\n\t\t\t\t\tand VTEDiagnosis.verificationStatus = 'confirmed'\n\t\t\t\t\tand Global."Normalize Onset"(VTEDiagnosis.onset) before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t)\n\n//Done\ndefine "Encounter With ICU Location Stay 1 Day or More":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twhere exists ( QualifyingEncounter.location Location\n\t\t\t\twhere Global.GetLocation(Location.location).type in "Intensive Care Unit"\n\t\t\t\t\tand Global."LengthInDays"(Location.period)>= 1\n\t\t\t\t\tand Location.period starts during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\t\t)\n\n\n//Done\ndefine "Encounter With Principal Diagnosis of Mental Disorder or Stroke":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twhere\n            //Connectathon: still broken: temporarily removed pending HAPI FHIR server fix for maxClauseCount > 1024\n            //Global.PrincipalDiagnosis(QualifyingEncounter).code in "Mental Health Diagnoses"\n\t\t\t//or\n            Global.PrincipalDiagnosis(QualifyingEncounter).code in "Hemorrhagic Stroke"\n\t\t\tor Global.PrincipalDiagnosis(QualifyingEncounter).code in "Ischemic Stroke"\n\n//Done\n// TODO: Define an ordinality extension to a Procedure profile and ask Patient Administration and/or Patient Care to review\ndefine "Encounter With Principal Procedure of SCIP VTE Selected Surgery":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\t//Connectathon: pending cql_engine fix #262 (FHIR 3.0.0 model info issue with Extension.url)\n\t\twith ( "SCIP VTE Selected Surgery" Procedure\n\t\t\twhere GetExtension(Procedure.extension, 'http://example.org/StructureDefinition/ordinality').value ~ "Principal" ) SelectedProcedure\n\t\t\tsuch that SelectedProcedure.performed during FHIRHelpers.ToInterval( QualifyingEncounter.period)\n\n//Done\ndefine "Denominator Exclusions":\n\t"Encounter Less Than 2 Days"\n\t\tunion "Encounter With ICU Location Stay 1 Day or More"\n\t\tunion "Encounter With Principal Diagnosis of Mental Disorder or Stroke"\n\t\tunion "Encounter With Principal Procedure of SCIP VTE Selected Surgery"\n\t\tunion "Intervention Comfort Measures on Day of or Day After Start of Hospitalization"\n\t\tunion "Intervention Comfort Measures on Day of or Day After Procedure"\n\n//Done\ndefine "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions":\n\t( Global."Inpatient Encounter" InpatientEncounter\n\t\t\twith ["Patient"] BirthDate\n\t\t\t\tsuch that Global."CalendarAgeInYearsAt"(ToDateTime(BirthDate.birthDate), start of FHIRHelpers.ToInterval(InpatientEncounter.period)) >= 18\n\t)\n\t\tintersect "Admission Without VTE or Obstetrical Conditions"\n\n//Done\ndefine "Encounter With Prior or Present Procedure of Hip or Knee Replacement Surgery":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twith ( ["Procedure": "Hip Replacement Surgery"]\n\t\t\tunion ["Procedure": "Knee Replacement Surgery"] ) HipKneeProcedure\n\t\t\tsuch that HipKneeProcedure.status = 'completed'\n\t\t\t\tand HipKneeProcedure.performed starts on or before end of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\n//Done\ndefine "Low Risk for VTE or Anticoagulant Administered":\n\t"Low Risk for VTE or Anticoagulant Administered During ED Visit"\n\t\tunion "Low Risk for VTE or Anticoagulant Administered on Day of or Day After Admission"\n\t\tunion "Low Risk for VTE or Anticoagulant Administered on Day of or Day After Procedure"\n\n//Done\ndefine "No VTE Prophylaxis Due to Medical Reason":\n\t( "No VTE Prophylaxis Medication Due to Medical Reason During ED Visit"\n\t\t\tintersect "No VTE Prophylaxis Device Due to Medical Reason During ED Visit"\n\t)\n\t\tunion ( "No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Admission"\n\t\t\t\tintersect "No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Admission"\n\t\t)\n\t\tunion ( "No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Procedure"\n\t\t\t\tintersect "No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Procedure"\n\t\t)\n\n//Done\ndefine "No VTE Prophylaxis Due to Patient Refusal During ED Visit":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"ED Visit" EDVisit,\n\t\t"No VTE Prophylaxis Medication or Device Due to Patient Refusal" PatientRefusal\n\t\twhere EDVisit.period ends 1 hour or less on or before start of QualifyingEncounter.period\n\t\t\tand Coalesce(PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn) during EDVisit.period\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Admission":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"No VTE Prophylaxis Medication or Device Due to Patient Refusal" PatientRefusal\n\t\twhere Coalesce(start of PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn)\n      during VTEICU."CalendarDayOfOrDayAfter"(start of QualifyingEncounter.period)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Procedure":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t"No VTE Prophylaxis Medication or Device Due to Patient Refusal" PatientRefusal\n\t\twhere AnesthesiaProcedure.performed ends 1 day after day of start of QualifyingEncounter.period\n\t\t\tand Coalesce(start of PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn)\n        during VTEICU."CalendarDayOfOrDayAfter"(end of AnesthesiaProcedure.performed)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "No VTE Prophylaxis Medication or Device Due to Patient Refusal":\n\t( "No VTE Prophylaxis Medication Administered or Ordered"\n\t\tunion "No VTE Prophylaxis Device Applied or Ordered" ) NoVTEProphylaxis\n\t\twhere GetExtension(NoVTEProphylaxis.extension, 'http://example.org/StructureDefinition/notDoneReason').value in "Patient Refusal"\n\n//Done\ndefine "No VTE Prophylaxis Due to Patient Refusal":\n\t"No VTE Prophylaxis Due to Patient Refusal During ED Visit"\n\t\tunion "No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Admission"\n\t\tunion "No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Procedure"\n\n//Done\ndefine "Numerator":\n\t"VTE Prophylaxis Received on Day of or Day After Admission or Procedure"\n\t\tunion ( "Medication Oral Factor Xa Inhibitor Administered on Day of or Day After Admission or Procedure"\n\t\t\t\tintersect ( "Encounter With Prior or Present Diagnosis of Atrial Fibrillation or VTE"\n\t\t\t\t\t\tunion "Encounter With Prior or Present Procedure of Hip or Knee Replacement Surgery"\n\t\t\t\t)\n\t\t)\n\t\tunion "Low Risk for VTE or Anticoagulant Administered"\n\t\tunion "No VTE Prophylaxis Due to Medical Reason"\n\t\tunion "No VTE Prophylaxis Due to Patient Refusal"\n\n//Done\ndefine "Is In Low Risk for VTE or On Anticoagulant":\n    //Connectathon: verified that this is corrected\n\t( ["Observation": "Risk for venous thromboembolism"] VTERiskAssessment\n\t\t\twhere VTERiskAssessment.value in "Low Risk"\n\t)\n\n/*\n// TODO: Issues with constructing the FHIR types here...\n\t\tunion ( ["Observation": "INR"] INRLabTest\n\t\t\t\twhere INRLabTest.value as Quantity > 3.0\n\t\t\t\treturn "Observation" { id: INRLabTest.id, effective: INRLabTest.issued }\n\t\t)\n\t\tunion ((( ["MedicationAdministration": "Unfractionated Heparin"] UnfractionatedHeparin\n\t\t\t\t\twhere UnfractionatedHeparin.dosage.route in "Intravenous route"\n\t\t\t\t\t\t)\n\t\t\t\tunion ["MedicationAdministration": "Direct Thrombin Inhibitor"]\n\t\t\t\tunion ["MedicationAdministration": "Glycoprotein IIb/IIIa Inhibitors"] ) AnticoagulantMedication\n\t\t\t\t\treturn "Observation" { id: AnticoagulantMedication.id, effective: start of effective}\n\t\t)\n*/\n\n//Done\ndefine "Low Risk for VTE or Anticoagulant Administered During ED Visit":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"ED Visit" EDVisit,\n\t\t"Is In Low Risk for VTE or On Anticoagulant" VTERiskAssessment\n\t\twhere FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand VTERiskAssessment.issued during FHIRHelpers.ToInterval(EDVisit.period)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "Low Risk for VTE or Anticoagulant Administered on Day of or Day After Admission":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twith "Is In Low Risk for VTE or On Anticoagulant" VTERiskAssessment\n\t\t\tsuch that VTERiskAssessment.issued during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\n//Done\ndefine "Low Risk for VTE or Anticoagulant Administered on Day of or Day After Procedure":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t"Is In Low Risk for VTE or On Anticoagulant" VTERiskAssessment\n\t\twhere AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand VTERiskAssessment.issued during VTEICU."CalendarDayOfOrDayAfter"(end of FHIRHelpers.ToInterval(AnesthesiaProcedure.performed))\n\t\treturn QualifyingEncounter\n
\r\n \r\n \r\n
\r\n
" + }, + "version": "7.4.000", + "name": "EXM108_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-VTEICU-FHIR3-2.4.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + } ], + "dataRequirement": [ { + "type": "Patient" + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "DeviceUseStatement" + }, { + "type": "Device" + }, { + "type": "DeviceRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230" + } ] + }, { + "type": "DeviceRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214" + } ] + }, { + "type": "DeviceRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256" + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39" + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219" + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211" + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232" + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39" + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219" + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211" + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272" + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39" + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219" + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211" + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232" + } ] + }, { + "type": "DeviceUseStatement" + }, { + "type": "Device" + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI1NTYiIHN0YXJ0Q2hhcj0iNCIgZW5kTGluZT0iNTU2IiBlbmRDaGFyPSI1MyIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxpZGVudGlmaWVyIGlkPSJFWE0xMDhfRkhJUjMiIHZlcnNpb249IjcuNC4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iR2xvYmFsIiBwYXRoPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIHZlcnNpb249IjIuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJWVEVJQ1UiIHBhdGg9IlZURUlDVV9GSElSMyIgdmVyc2lvbj0iMi40LjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlNERSIgcGF0aD0iU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIiB2ZXJzaW9uPSIxLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGRlZmF1bHQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAxOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICA8L2RlZmF1bHQ+DQogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPg0KICAgICAgPC9kZWY+DQogICA8L3BhcmFtZXRlcnM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IlNOT01FRENUIiBpZD0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTE9JTkMiIGlkPSJodHRwOi8vbG9pbmMub3JnIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlJlcXVlc3RJbnRlbnQiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL3JlcXVlc3QtaW50ZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iQXRyaWFsIEZpYnJpbGxhdGlvbi9GbHV0dGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwMiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpcmVjdCBUaHJvbWJpbiBJbmhpYml0b3IiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMTc0MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJHZW5lcmFsIFN1cmdlcnkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkdseWNvcHJvdGVpbiBJSWIvSUlJYSBJbmhpYml0b3JzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDQ1LjQxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ikd5bmVjb2xvZ2ljYWwgU3VyZ2VyeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNTciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSGVtb3JyaGFnaWMgU3Ryb2tlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxMiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJIaXAgRnJhY3R1cmUgU3VyZ2VyeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNTgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJJTlIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjEzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkludGVybWl0dGVudCBwbmV1bWF0aWMgY29tcHJlc3Npb24gZGV2aWNlcyAoSVBDKSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSW50cmFjcmFuaWFsIE5ldXJvc3VyZ2VyeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNjAiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSW50cmF2ZW5vdXMgcm91dGUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjIyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IklzY2hlbWljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNDciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI2MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEwNDUuMzkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMb3cgUmlzayIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40MDAiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTWVkaWNhbCBSZWFzb24iIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDczIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik1lbnRhbCBIZWFsdGggRGlhZ25vc2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA1LjEyLjEwMDQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT2JzdGV0cmljcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT2JzdGV0cmljcyBWVEUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjY0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMTM0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQgUmVmdXNhbCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS45MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJTdWJjdXRhbmVvdXMgcm91dGUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjIzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlVuZnJhY3Rpb25hdGVkIEhlcGFyaW4iIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE4IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlVyb2xvZ2ljYWwgU3VyZ2VyeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNzIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iVmVub3VzIGZvb3QgcHVtcHMgKFZGUCkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjMwIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlZlbm91cyBUaHJvbWJvZW1ib2xpc20iIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjc5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IldhcmZhcmluIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIzMiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJJbnRlbnNpdmUgQ2FyZSBVbml0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTEwLjIzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iUmlzayBmb3IgdmVub3VzIHRocm9tYm9lbWJvbGlzbSIgaWQ9IjcyMTM2LTUiIGRpc3BsYXk9IlJpc2sgZm9yIHZlbm91cyB0aHJvbWJvZW1ib2xpc20iIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iTE9JTkMiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQcmluY2lwYWwiIGlkPSI2MzE2MTAwNSIgZGlzcGxheT0iUHJpbmNpcGFsIChxdWFsaWZpZXIgdmFsdWUpIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlNOT01FRENUIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iT3JkZXIiIGlkPSJvcmRlciIgZGlzcGxheT0iT3JkZXIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iUmVxdWVzdEludGVudCIvPg0KICAgICAgPC9kZWY+DQogICA8L2NvZGVzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgRXRobmljaXR5IiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgUGF5ZXIiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIFJhY2UiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgU2V4IiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkFkbWlzc2lvbiBXaXRob3V0IFZURSBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJbnRlcnNlY3QiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSIkdGhpcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iVmVub3VzIFRocm9tYm9lbWJvbGlzbSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSIkdGhpcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iT2JzdGV0cmljcyBWVEUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSW5wYXRpZW50RW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklucGF0aWVudCBFbmNvdW50ZXIiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IkRpYWdub3NpcyIgeHNpOnR5cGU9IldpdGhvdXQiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlZlbm91cyBUaHJvbWJvZW1ib2xpc20iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iT2JzdGV0cmljcyBWVEUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNsaW5pY2FsU3RhdHVzIiBzY29wZT0iRGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IkRpYWdub3NpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29uZmlybWVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluY2x1ZGVkSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSW5wYXRpZW50RW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJbnRlcnNlY3QiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJCaXJ0aERhdGUiIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiBzY29wZT0iQmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxOCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFkbWlzc2lvbiBXaXRob3V0IFZURSBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURWaXNpdCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJEIj4NCiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWYWxpZERldmljZVVzZVN0YXRlbWVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRGV2aWNlVXNlU3RhdGVtZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iRGV2aWNlIiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpEZXZpY2UiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlIiBzY29wZT0iVmFsaWREZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiBzY29wZT0iRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ0eXBlIiBzY29wZT0iRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJWZW5vdXMgZm9vdCBwdW1wcyAoVkZQKSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ0eXBlIiBzY29wZT0iRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idHlwZSIgc2NvcGU9IkRldmljZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iR3JhZHVhdGVkIGNvbXByZXNzaW9uIHN0b2NraW5ncyAoR0NTKSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IklzVHJ1ZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0Jvb2xlYW4iIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpib29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkQiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRvTm90UGVyZm9ybSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJEIj4NCiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlZlbm91cyBmb290IHB1bXBzIChWRlApIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkRldmljZVJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1aXZhbGVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvQ29uY2VwdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJPcmRlciIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc1RydWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Cb29sZWFuIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJHZXRFeHRlbnNpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJEIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJkb05vdFBlcmZvcm0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFeHRlbnNpb25zIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVVJMIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRXh0ZW5zaW9ucyI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBuYW1lPSJmaGlyOkV4dGVuc2lvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlVSTCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURWaXNpdCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJNZWRpY2FsIFJlYXNvbiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTm9WVEVEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVjb3JkZWRPbiIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9InRydWUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlR1cGxlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbmFtZT0iRURWaXNpdCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbmFtZT0iTm9WVEVEZXZpY2UiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJNZWRpY2FsIFJlYXNvbiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTm9WVEVEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVjb3JkZWRPbiIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9InRydWUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlR1cGxlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIG5hbWU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik1lZGljYXRpb25BZG0iPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJXYXJmYXJpbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSXNUcnVlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQm9vbGVhbiIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibm90R2l2ZW4iIHNjb3BlPSJNZWRpY2F0aW9uQWRtIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik1lZGljYXRpb25PcmRlciI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iV2FyZmFyaW4iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9Ik1lZGljYXRpb25PcmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNUcnVlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQm9vbGVhbiIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iTWVkaWNhdGlvbk9yZGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vZXhhbXBsZS5vcmcvZmhpci9leHRlbnNpb25zL2RvTm90UGVyZm9ybSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkVEVmlzaXQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vVlRFTWVkaWNhdGlvbiI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJob3VyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWFzb25Db2RlIiBzY29wZT0iTm9WVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJNZWRpY2FsIFJlYXNvbiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTm9WVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iTm9WVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb1ZURU1lZGljYXRpb24iPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iTWVkaWNhbCBSZWFzb24iLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIgbGlicmFyeU5hbWU9IlZURUlDVSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb1ZURURldmljZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJyZWFzb25Db2RlIiBzY29wZT0iTm9WVEVEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9Ik1lZGljYWwgUmVhc29uIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iU2FtZUFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlY29yZGVkT24iIHNjb3BlPSJOb1ZURURldmljZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIgbGlicmFyeU5hbWU9IlZURUlDVSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb1ZURU1lZGljYXRpb24iPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iTWVkaWNhbCBSZWFzb24iLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTm9WVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iTm9WVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIExlc3MgVGhhbiAyIERheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJMZXNzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTQ0lQIFZURSBTZWxlY3RlZCBTdXJnZXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ikd5bmVjb2xvZ2ljYWwgU3VyZ2VyeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIaXAgRnJhY3R1cmUgU3VyZ2VyeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSW50cmFjcmFuaWFsIE5ldXJvc3VyZ2VyeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlVyb2xvZ2ljYWwgU3VyZ2VyeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnRlcnZldGlvblBlcmZvcm1lZCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iSW50ZXJ2ZXRpb25QZXJmb3JtZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFN0YXJ0IG9mIEhvc3BpdGFsaXphdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQ29tZm9ydE1lYXN1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQW5lc3RoZXNpYVByb2NlZHVyZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQ29tZm9ydE1lYXN1cmUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iQ29tZm9ydE1lYXN1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0idHJ1ZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBuYW1lPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkNvbWZvcnRNZWFzdXJlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBuYW1lPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJWVEUgUHJvcGh5bGF4aXMgYnkgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgRGV2aWNlIEFwcGxpZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZURU1lZGljYXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJWVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJvdXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkb3NhZ2UiIHNjb3BlPSJWVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJTdWJjdXRhbmVvdXMgcm91dGUiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJWVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZURU1lZGljYXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVlRFTWVkaWNhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IlZURU1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVlRFTWVkaWNhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJXYXJmYXJpbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IlZURU1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRGV2aWNlQXBwbGllZCI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVmFsaWREZXZpY2VVc2VTdGF0ZW1lbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkRldmljZVVzZVN0YXRlbWVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IkRldmljZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RGV2aWNlIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGFzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJTcGxpdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5nVG9TcGxpdCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2UiIHNjb3BlPSJWYWxpZERldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N0cmluZ1RvU3BsaXQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIvIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InR5cGUiIHNjb3BlPSJEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IlZlbm91cyBmb290IHB1bXBzIChWRlApIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InR5cGUiIHNjb3BlPSJEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkludGVybWl0dGVudCBwbmV1bWF0aWMgY29tcHJlc3Npb24gZGV2aWNlcyAoSVBDKSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ0eXBlIiBzY29wZT0iRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJHcmFkdWF0ZWQgY29tcHJlc3Npb24gc3RvY2tpbmdzIChHQ1MpIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkRldmljZUFwcGxpZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkNvYWxlc2NlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlY29yZGVkT24iIHNjb3BlPSJEZXZpY2VBcHBsaWVkIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ3aGVuVXNlZCIgc2NvcGU9IkRldmljZUFwcGxpZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVlRFIFByb3BoeWxheGlzIFJlY2VpdmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVlRFUHJvcGh5bGF4aXNEYXRlIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlZURSBQcm9waHlsYXhpcyBieSBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBEZXZpY2UgQXBwbGllZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWVEVQcm9waHlsYXhpc0RhdGUiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGxpYnJhcnlOYW1lPSJWVEVJQ1UiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWVEVQcm9waHlsYXhpc0RhdGUiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVlRFIFByb3BoeWxheGlzIGJ5IE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIERldmljZSBBcHBsaWVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVlRFUHJvcGh5bGF4aXNEYXRlIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTWVkaWNhdGlvbiBPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRmFjdG9yWGFNZWRpY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iRmFjdG9yWGFNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQW5lc3RoZXNpYVByb2NlZHVyZSI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRmFjdG9yWGFNZWRpY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iRmFjdG9yWGFNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIFdpdGggUHJpb3Igb3IgUHJlc2VudCBEaWFnbm9zaXMgb2YgQXRyaWFsIEZpYnJpbGxhdGlvbiBvciBWVEUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJBdHJpYWxGaWJyaWxsYXRpb24iIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkF0cmlhbCBGaWJyaWxsYXRpb24vRmx1dHRlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJBdHJpYWxGaWJyaWxsYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmVyaWZpY2F0aW9uU3RhdHVzIiBzY29wZT0iQXRyaWFsRmlicmlsbGF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb25maXJtZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU2FtZU9yQmVmb3JlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiBzY29wZT0iQXRyaWFsRmlicmlsbGF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlckRpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iQXRyaWFsIEZpYnJpbGxhdGlvbi9GbHV0dGVyIi8+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iVlRFRGlhZ25vc2lzIiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJWZW5vdXMgVGhyb21ib2VtYm9saXNtIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjbGluaWNhbFN0YXR1cyIgc2NvcGU9IlZURURpYWdub3NpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaW5hY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icmVtaXNzaW9uIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InJlc29sdmVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2ZXJpZmljYXRpb25TdGF0dXMiIHNjb3BlPSJWVEVEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbmZpcm1lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJWVEVEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24gU3RheSAxIERheSBvciBNb3JlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJMb2NhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idHlwZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0TG9jYXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkludGVuc2l2ZSBDYXJlIFVuaXQiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBvZiBNZW50YWwgRGlzb3JkZXIgb3IgU3Ryb2tlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IklzY2hlbWljIFN0cm9rZSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgUHJvY2VkdXJlIG9mIFNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iU2VsZWN0ZWRQcm9jZWR1cmUiIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQcm9jZWR1cmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0NJUCBWVEUgU2VsZWN0ZWQgU3VyZ2VyeSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29kZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJHZXRFeHRlbnNpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL29yZGluYWxpdHkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlByaW5jaXBhbCIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluY2x1ZGVkSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IlNlbGVjdGVkUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2x1c2lvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciBMZXNzIFRoYW4gMiBEYXlzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIFdpdGggSUNVIExvY2F0aW9uIFN0YXkgMSBEYXkgb3IgTW9yZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIG9mIE1lbnRhbCBEaXNvcmRlciBvciBTdHJva2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgUHJvY2VkdXJlIG9mIFNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkNvbWZvcnRNZWFzdXJlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgU3RhcnQgb2YgSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJDb21mb3J0TWVhc3VyZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkNvbWZvcnRNZWFzdXJlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iQW5lc3RoZXNpYVByb2NlZHVyZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iQ29tZm9ydE1lYXN1cmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgUHJvY2VkdXJlIG9mIEhpcCBvciBLbmVlIFJlcGxhY2VtZW50IFN1cmdlcnkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iSGlwS25lZVByb2NlZHVyZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhpcCBSZXBsYWNlbWVudCBTdXJnZXJ5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IktuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkhpcEtuZWVQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTYW1lT3JCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJIaXBLbmVlUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSXMgSW4gTG93IFJpc2sgZm9yIFZURSBvciBPbiBBbnRpY29hZ3VsYW50IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWVEVSaXNrQXNzZXNzbWVudCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUmlzayBmb3IgdmVub3VzIHRocm9tYm9lbWJvbGlzbSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiBzY29wZT0iVlRFUmlza0Fzc2Vzc21lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkxvdyBSaXNrIi8+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgRHVyaW5nIEVEIFZpc2l0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkVEVmlzaXQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZURVJpc2tBc3Nlc3NtZW50Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzIEluIExvdyBSaXNrIGZvciBWVEUgb3IgT24gQW50aWNvYWd1bGFudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpc3N1ZWQiIHNjb3BlPSJWVEVSaXNrQXNzZXNzbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IlZURVJpc2tBc3Nlc3NtZW50IiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJcyBJbiBMb3cgUmlzayBmb3IgVlRFIG9yIE9uIEFudGljb2FndWxhbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Imlzc3VlZCIgc2NvcGU9IlZURVJpc2tBc3Nlc3NtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQW5lc3RoZXNpYVByb2NlZHVyZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVlRFUmlza0Fzc2Vzc21lbnQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSXMgSW4gTG93IFJpc2sgZm9yIFZURSBvciBPbiBBbnRpY29hZ3VsYW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaXNzdWVkIiBzY29wZT0iVlRFUmlza0Fzc2Vzc21lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGxpYnJhcnlOYW1lPSJWVEVJQ1UiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBEdXJpbmcgRUQgVmlzaXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIE1lZGljYWwgUmVhc29uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW50ZXJzZWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkVEVmlzaXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkludGVyc2VjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW50ZXJzZWN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb1ZURVByb3BoeWxheGlzIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgQXBwbGllZCBvciBPcmRlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgIDxjb2RlIHhzaTp0eXBlPSJDYXNlIj4NCiAgICAgICAgICAgICAgICAgIDxjYXNlSXRlbT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVuIGlzVHlwZT0iZmhpcjpiYXNlNjRCaW5hcnkiIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iTm9WVEVQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2V4YW1wbGUub3JnL1N0cnVjdHVyZURlZmluaXRpb24vbm90RG9uZVJlYXNvbiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9iYXNlNjRCaW5hcnkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpiYXNlNjRCaW5hcnkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iTm9WVEVQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2V4YW1wbGUub3JnL1N0cnVjdHVyZURlZmluaXRpb24vbm90RG9uZVJlYXNvbiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4NCiAgICAgICAgICAgICAgICAgIDxjYXNlSXRlbT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVuIGlzVHlwZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlbj4NCiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Y29kZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJHZXRFeHRlbnNpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJOb1ZURVByb3BoeWxheGlzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vZXhhbXBsZS5vcmcvU3RydWN0dXJlRGVmaW5pdGlvbi9ub3REb25lUmVhc29uIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgICAgICAgPGNhc2VJdGVtPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZW4gaXNUeXBlPSJmaGlyOmlkIiB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlbj4NCiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6aWQiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iTm9WVEVQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2V4YW1wbGUub3JnL1N0cnVjdHVyZURlZmluaXRpb24vbm90RG9uZVJlYXNvbiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4NCiAgICAgICAgICAgICAgICAgIDxjYXNlSXRlbT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVuIGlzVHlwZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJHZXRFeHRlbnNpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJOb1ZURVByb3BoeWxheGlzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vZXhhbXBsZS5vcmcvU3RydWN0dXJlRGVmaW5pdGlvbi9ub3REb25lUmVhc29uIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOm1hcmtkb3duIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICAgICAgICA8d2hlbiBpc1R5cGU9ImZoaXI6b2lkIiB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlbj4NCiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6b2lkIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICAgICAgICA8d2hlbiBpc1R5cGU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlbj4NCiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICAgICAgICA8d2hlbiBpc1R5cGU9ImZoaXI6dXJpIiB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlbj4NCiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6dXJpIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICAgICAgICA8ZWxzZSByZXN1bHRUeXBlTmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iUGF0aWVudCBSZWZ1c2FsIi8+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIER1cmluZyBFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQYXRpZW50UmVmdXNhbCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBvciBEZXZpY2UgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iUGF0aWVudFJlZnVzYWwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IlBhdGllbnRSZWZ1c2FsIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlY29yZGVkT24iIHNjb3BlPSJQYXRpZW50UmVmdXNhbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQYXRpZW50UmVmdXNhbCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBvciBEZXZpY2UgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJQYXRpZW50UmVmdXNhbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iUGF0aWVudFJlZnVzYWwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVjb3JkZWRPbiIgc2NvcGU9IlBhdGllbnRSZWZ1c2FsIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkFuZXN0aGVzaWFQcm9jZWR1cmUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBhdGllbnRSZWZ1c2FsIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iUGF0aWVudFJlZnVzYWwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IlBhdGllbnRSZWZ1c2FsIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlY29yZGVkT24iIHNjb3BlPSJQYXRpZW50UmVmdXNhbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIgbGlicmFyeU5hbWU9IlZURUlDVSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgRHVyaW5nIEVEIFZpc2l0IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOdW1lcmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWVEUgUHJvcGh5bGF4aXMgUmVjZWl2ZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkludGVyc2VjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWRpY2F0aW9uIE9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgRGlhZ25vc2lzIG9mIEF0cmlhbCBGaWJyaWxsYXRpb24gb3IgVlRFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIFdpdGggUHJpb3Igb3IgUHJlc2VudCBQcm9jZWR1cmUgb2YgSGlwIG9yIEtuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkVEVmlzaXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBNZWRpY2FsIFJlYXNvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE0xMDhfRkhJUjMgdmVyc2lvbiAnNy40LjAwMCcKCi8qCkJhc2VkIG9uIENNUzEwOHY3IC0gVmVub3VzIFRocm9tYm9lbWJvbGlzbSBQcm9waHlsYXhpcwoqLwoKLyoKVGhpcyBleGFtcGxlIGlzIGEgd29yayBpbiBwcm9ncmVzcyBhbmQgc2hvdWxkIG5vdCBiZSBjb25zaWRlcmVkIGEgZmluYWwgc3BlY2lmaWNhdGlvbgpvciByZWNvbW1lbmRhdGlvbiBmb3IgZ3VpZGFuY2UuIFRoaXMgZXhhbXBsZSB3aWxsIGhlbHAgZ3VpZGUgYW5kIGRpcmVjdCB0aGUgcHJvY2VzcwpvZiBmaW5kaW5nIGNvbnZlbnRpb25zIGFuZCB1c2FnZSBwYXR0ZXJucyB0aGF0IG1lZXQgdGhlIG5lZWRzIG9mIHRoZSB2YXJpb3VzIHN0YWtlaG9sZGVycwppbiB0aGUgbWVhc3VyZSBkZXZlbG9wbWVudCBjb21tdW5pdHkuCiovCgovKgpEYXRhIFR5cGVzIFVzZWQ6CgpFbmNvdW50ZXIKRGV2aWNlVXNlU3RhdGVtZW50CkRldmljZVJlcXVlc3QKTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uCk1lZGljYXRpb25SZXF1ZXN0ClByb2NlZHVyZSAtIG9yZGluYWxpdHkgZXh0ZW5zaW9uClByb2NlZHVyZVJlcXVlc3QKQ29uZGl0aW9uCiovCgovKgpEZXZlbG9wbWVudCBOb3RlczoKCiAgICBOZWVkIHRvIGRlZmluZSDigJxkb05vdFBlcmZvbeKAnSBRSUNvcmUgZXh0ZW5zaW9uIHRvIHN1cHBvcnQg4oCcTm90RG9uZSBpcyB0cnVl4oCdIGV4cHJlc3Npb24uIFN1Z2dlc3QgdG8gdGhlIGJhc2UgUmVzb3VyY2UgZm9yIHRoZSBmb2xsb3dpbmcgcHJvZmlsZXMg4oCTCgogICAgICAgIERldmljZVVzZVN0YXRlbWVudAogICAgICAgIERldmljZVJlcXVlc3QKICAgICAgICBNZWRpY2F0aW9uUmVxdWVzdAoKICAgICAgICBBZGQgZG9Ob3RQZXJmb3JtIHRvIERldmljZVVzZVJlcXVlc3QgYW5kIG5vdERvbmUgdG8gRGV2aWNlVXNlU3RhdGVtZW50OgogICAgICAgIFsjMjA2MDFdKGh0dHBzOi8vZ2ZvcmdlLmhsNy5vcmcvZ2YvcHJvamVjdC9maGlyL3RyYWNrZXIvP2FjdGlvbj1UcmFja2VySXRlbUVkaXQmdHJhY2tlcl9pdGVtX2lkPTIwNjAxKQogICAgICAgIFByb21vdGUgcHJvZmlsZXMgdG8gUUktQ29yZToKICAgICAgICBbIzIwNjEwXShodHRwczovL2dmb3JnZS5obDcub3JnL2dmL3Byb2plY3QvZmhpci90cmFja2VyLz9hY3Rpb249VHJhY2tlckl0ZW1FZGl0JnRyYWNrZXJfaXRlbV9pZD0yMDYxMCkKCiAgICBOZWVkIHRvIGRlZmluZSBhbiDigJxvcmRpbmFsaXR54oCdIGV4dGVuc2lvbiBmb3IgUHJvY2VkdXJlIHByb2ZpbGUgdG8gc3VwcG9ydCDigJxQcm9jZWR1cmUub3JkaW5hbGl0eSB+ICJQcmluY2lwYWwiIGV4cHJlc3Npb24uCgogICAgICBbIzIwNTI3XShodHRwczovL2dmb3JnZS5obDcub3JnL2dmL3Byb2plY3QvZmhpci90cmFja2VyLz9hY3Rpb249VHJhY2tlckl0ZW1FZGl0JnRyYWNrZXJfaXRlbV9pZD0yMDUyNykKCiAgICBOZWVkIHRvIGNvbmZpcm0gdGhlIGZvbGxvd2luZyBwcm9maWxlcyBhbmQgZW5zdXJlIFBlcmlvZCBpcyBhIGRlZmF1bHQgdHlwZSAtCgogICAgICAgIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5lZmZlY3RpdmUKICAgICAgICBQcm9jZWR1cmUucGVyZm9ybWVkCgogICAgICAgIERlZmluZWQgYXMgREVRTSBwcm9maWxlcyBjdXJyZW50bHksIHByb21vdGUgdG8gUUktQ29yZQogICAgICAgIFsjMjA2MTFdKGh0dHBzOi8vZ2ZvcmdlLmhsNy5vcmcvZ2YvcHJvamVjdC9maGlyL3RyYWNrZXIvP2FjdGlvbj1UcmFja2VySXRlbUVkaXQmdHJhY2tlcl9pdGVtX2lkPTIwNjExKQoKICAgIFN1Z2dlc3QgZGVmaW5pbmcg4oCccmVjb3JkZWRPbuKAnCB0byBzdXBwb3J0IHRoZSB0aW1pbmdzIGZvciDigJxNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24ubm90R2l2ZW7igJ0gYW5kIOKAnFByb2NlZHVyZS5ub3REb25l4oCdLiBzZWUgdGhlIGhpZ2hsaWdodGVkIGZpZWxkcyBiZWxvdy4KCiAgICAgIFsjMjA2MDJdKGh0dHBzOi8vZ2ZvcmdlLmhsNy5vcmcvZ2YvcHJvamVjdC9maGlyL3RyYWNrZXIvP2FjdGlvbj1UcmFja2VySXRlbUVkaXQmdHJhY2tlcl9pdGVtX2lkPTIwNjAyKQoKfFByb2ZpbGUgICAgICAgICAgICAgICAgICAgfFRpbWluZyB1c2VkIGZvciBEb25lIHxUaW1pbmcgdXNlZCBmb3IgZG9Ob3RQZXJmb3JtIHxUSkMgY29tbWVudHMgICAgICAgICAgfAp8LS0tfC0tLXwtLS18LS0tfAp8RGV2aWNlVXNlU3RhdGVtZW50ICAgICAgICB8d2hlblVzZWQgICAgICAgICAgICAgfHJlY29yZGVkT24gICAgICAgICAgICAgICAgICAgfCAgIHwKfERldmljZVJlcXVlc3QgICAgICAgICAgICAgfGF1dGhvcmVkT24gICAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICAgICAgICAgIHwgICB8CnxNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gIHxlZmZlY3RpdmUgICAgICAgICAgICB8ZWZmZWN0aXZlICAgICAgICAgICAgICAgICAgICB8IFN1Z2dlc3QgYWRkaW5nIHJlY29yZGVkT24gZm9yIG5vdEdpdmVuIHRpbWluZyB8CnxNZWRpY2F0aW9uUmVxdWVzdCAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICB8YXV0aG9yZWRPbiAgICAgICAgICAgICAgICAgICB8ICAgfAp8UHJvY2VkdXJlICAgICAgICAgICAgICAgICB8cGVyZm9ybWVkICAgICAgICAgICAgfHBlcmZvcm1lZCAgICAgICAgICAgICAgICAgICAgfCBTdWdnZXN0IGFkZGluZyByZWNvcmRlZE9uIGZvciBub3REb25lIHRpbWluZyB8CnxQcm9jZWR1cmVSZXF1ZXN0ICAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICB8YXV0aG9yZWRPbiAgICAgICAgICAgICAgICAgICB8ICAgfAoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgVlRFSUNVX0ZISVIzIHZlcnNpb24gJzIuNC4wMDAnIGNhbGxlZCBWVEVJQ1UKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4Jwpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwpjb2Rlc3lzdGVtICJSZXF1ZXN0SW50ZW50IjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiQXRyaWFsIEZpYnJpbGxhdGlvbi9GbHV0dGVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDInCnZhbHVlc2V0ICJDb21mb3J0IE1lYXN1cmVzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8xLjMuNi4xLjQuMS4zMzg5NS4xLjMuMC40NScKdmFsdWVzZXQgIkRpcmVjdCBUaHJvbWJpbiBJbmhpYml0b3IiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNScKdmFsdWVzZXQgIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTInCnZhbHVlc2V0ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjE3NDMnCnZhbHVlc2V0ICJHZW5lcmFsIFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NScKdmFsdWVzZXQgIkdseWNvcHJvdGVpbiBJSWIvSUlJYSBJbmhpYml0b3JzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA0NS40MScKdmFsdWVzZXQgIkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NicKdmFsdWVzZXQgIkd5bmVjb2xvZ2ljYWwgU3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJIaXAgRnJhY3R1cmUgU3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU4Jwp2YWx1ZXNldCAiSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1OScKdmFsdWVzZXQgIkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTEnCnZhbHVlc2V0ICJJTlIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxMycKdmFsdWVzZXQgIkludGVybWl0dGVudCBwbmV1bWF0aWMgY29tcHJlc3Npb24gZGV2aWNlcyAoSVBDKSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE0Jwp2YWx1ZXNldCAiSW50cmFjcmFuaWFsIE5ldXJvc3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYwJwp2YWx1ZXNldCAiSW50cmF2ZW5vdXMgcm91dGUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIyMicKdmFsdWVzZXQgIklzY2hlbWljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3Jwp2YWx1ZXNldCAiS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNjEnCnZhbHVlc2V0ICJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDQ1LjM5Jwp2YWx1ZXNldCAiTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTknCnZhbHVlc2V0ICJMb3cgUmlzayI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDAwJwp2YWx1ZXNldCAiTWVkaWNhbCBSZWFzb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQ3MycKdmFsdWVzZXQgIk1lbnRhbCBIZWFsdGggRGlhZ25vc2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwNS4xMi4xMDA0Jwp2YWx1ZXNldCAiT2JzdGV0cmljcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYzJwp2YWx1ZXNldCAiT2JzdGV0cmljcyBWVEUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI2NCcKdmFsdWVzZXQgIk9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjEzNCcKdmFsdWVzZXQgIlBhdGllbnQgUmVmdXNhbCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuOTMnCi8vdmFsdWVzZXQgIlByaW5jaXBhbCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMTQnIC8vIENoYW5nZWQgdG8gdXNlIGEgY29kZQp2YWx1ZXNldCAiU3ViY3V0YW5lb3VzIHJvdXRlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMjMnCnZhbHVlc2V0ICJVbmZyYWN0aW9uYXRlZCBIZXBhcmluIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTgnCnZhbHVlc2V0ICJVcm9sb2dpY2FsIFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI3MicKdmFsdWVzZXQgIlZlbm91cyBmb290IHB1bXBzIChWRlApIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMzAnCnZhbHVlc2V0ICJWZW5vdXMgVGhyb21ib2VtYm9saXNtIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNzknCnZhbHVlc2V0ICJXYXJmYXJpbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjMyJwp2YWx1ZXNldCAiSW50ZW5zaXZlIENhcmUgVW5pdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMjMnCgpjb2RlICJSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtIjogJzcyMTM2LTUnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtJwpjb2RlICJQcmluY2lwYWwiOiAnNjMxNjEwMDUnIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdQcmluY2lwYWwgKHF1YWxpZmllciB2YWx1ZSknCmNvZGUgIk9yZGVyIjogJ29yZGVyJyBmcm9tICJSZXF1ZXN0SW50ZW50IiBkaXNwbGF5ICdPcmRlcicKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KICAgIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCkKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CglTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgoJU0RFLiJTREUgU2V4IgoKZGVmaW5lICJEZW5vbWluYXRvciI6CgkiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJFRCBWaXNpdCI6CglbIkVuY291bnRlciI6IHR5cGUgaW4gIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0Il0gRURWaXNpdAogICAgd2hlcmUgRURWaXNpdC5zdGF0dXMgPSAnZmluaXNoZWQnCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CgkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIKCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiOgogIC8vIE5PVEU6IFNob3VsZCBiZSB1c2luZyBkZXZpY2UuY29kZSwgYnV0IHRoYXQgcmVxdWlyZXMgQ1FMIDEuNAogICgKICAgICAoCiAgICAgICAoCiAgICAgICAgICAgWyJEZXZpY2VVc2VTdGF0ZW1lbnQiXSBEZXZpY2VVc2VTdGF0ZW1lbnQKICAgICAgICAgICAgICAgd2hlcmUgRGV2aWNlVXNlU3RhdGVtZW50LnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICAgICApIFZhbGlkRGV2aWNlVXNlU3RhdGVtZW50CiAgICAgICAgICAgd2l0aCBbRGV2aWNlXSBEZXZpY2UKICAgICAgICAgICAgICAgc3VjaCB0aGF0IEdsb2JhbC5HZXRJZChWYWxpZERldmljZVVzZVN0YXRlbWVudC5kZXZpY2UucmVmZXJlbmNlKSA9IERldmljZS5pZAogICAgICAgICAgICAgICAgICAgYW5kICgKICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2UudHlwZSBpbiAiVmVub3VzIGZvb3QgcHVtcHMgKFZGUCkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIERldmljZS50eXBlIGluICJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIERldmljZS50eXBlIGluICJHcmFkdWF0ZWQgY29tcHJlc3Npb24gc3RvY2tpbmdzIChHQ1MpIgogICAgICAgICAgICAgICAgICAgKQogICAgICkgRAogICAgIC8vSlI6IHVwZGF0ZWQgdG8gdXNlIHRoZSBHbG9iYWwgZ2V0IGV4dGVuc2lvbiBiZWNhdXNlIHRoZSBhcmd1bWVudCBpcyBEb21haW5SZXNvdXJjZQogICAgIHdoZXJlIEdsb2JhbC5HZXRFeHRlbnNpb24oRCwgJ2RvTm90UGVyZm9ybScpLnZhbHVlIGlzIHRydWUKICApCiAgdW5pb24gKCgKICAgIFsiRGV2aWNlUmVxdWVzdCI6IGNvZGUgaW4gIlZlbm91cyBmb290IHB1bXBzIChWRlApIl0KICAgICAgdW5pb24gWyJEZXZpY2VSZXF1ZXN0IjogY29kZSBpbiAiSW50ZXJtaXR0ZW50IHBuZXVtYXRpYyBjb21wcmVzc2lvbiBkZXZpY2VzIChJUEMpIl0KICAgICAgdW5pb24gWyJEZXZpY2VSZXF1ZXN0IjogY29kZSBpbiAiR3JhZHVhdGVkIGNvbXByZXNzaW9uIHN0b2NraW5ncyAoR0NTKSJdCiAgKSBECiAgICB3aGVyZSBELmludGVudCB+IFRvQ29uY2VwdCgiT3JkZXIiKQogICAgLy9KUjogdXBkYXRlZCB0byB1c2UgdGhlIEdsb2JhbCBnZXQgZXh0ZW5zaW9uIGJlY2F1c2UgdGhlIGFyZ3VtZW50IGlzIERvbWFpblJlc291cmNlCgkgYW5kIEdsb2JhbC5HZXRFeHRlbnNpb24oRCwgJ2RvTm90UGVyZm9ybScpLnZhbHVlIGlzIHRydWUKICAgIC8vd2hlcmUgRC5kb05vdFBlcmZvcm0gaXMgdHJ1ZSAvLyBOZWVkcyBhIFFJLUNvcmUgZXh0ZW5zaW9uIHRvIHN1cHBvcnQKICApCmRlZmluZSBmdW5jdGlvbiBHZXRFeHRlbnNpb24oRXh0ZW5zaW9ucyBMaXN0PEV4dGVuc2lvbj4sIFVSTCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tIChFeHRlbnNpb25zIEUgd2hlcmUgRS51cmwgPSBVUkwgcmV0dXJuIEUpCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCSJFRCBWaXNpdCIgRURWaXNpdCwKCQkiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiIE5vVlRFRGV2aWNlCgkJd2hlcmUgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kIChzaW5nbGV0b24gZnJvbSBOb1ZURURldmljZS5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIpCgkJCWFuZCBDb2FsZXNjZShOb1ZURURldmljZS5hdXRob3JlZE9uLCBOb1ZURURldmljZS5yZWNvcmRlZE9uKSBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiIE5vVlRFRGV2aWNlCgkJd2hlcmUgKHNpbmdsZXRvbiBmcm9tIE5vVlRFRGV2aWNlLnJlYXNvbkNvZGUgaW4gIk1lZGljYWwgUmVhc29uIikKCQkJYW5kIENvYWxlc2NlKE5vVlRFRGV2aWNlLmF1dGhvcmVkT24sIE5vVlRFRGV2aWNlLnJlY29yZGVkT24pIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIjoKCSgoCVsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0KCXVuaW9uCglbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdCgl1bmlvbgoJWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyJdCgl1bmlvbgoJWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJXYXJmYXJpbiJdCgkpIE1lZGljYXRpb25BZG0KCQl3aGVyZSBNZWRpY2F0aW9uQWRtLm5vdEdpdmVuIGlzIHRydWUKCSkKCXVuaW9uCgkgLy8gVE9ETzogVHJhY2tlciBmb3IgUUktY29yZSB0byBhZGQgZG9Ob3RQZXJmb3JtIGV4dGVuc2lvbiBmb3IgTWVkaWNhdGlvblJlcXVlc3QgYW5kIHN1Z2dlc3QgdG8gdGhlIGJhc2UgUmVzb3VyY2UKCS8vSlI6IGNvZGUgaXMgbm90IGFuIGF0dHJpYnV0ZSBvZiBNZWRpY2F0aW9uUmVxdWVzdC4gIFVzZWQgbWVkaWNhdGlvbiBpbnN0ZWFkLgoJKCgJWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gIkxvdyBEb3NlIFVuZnJhY3Rpb25hdGVkIEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdCgl1bmlvbgoJWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdCgl1bmlvbgoJWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gIkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIl0KCXVuaW9uCglbIk1lZGljYXRpb25SZXF1ZXN0IjogbWVkaWNhdGlvbiBpbiAiV2FyZmFyaW4iXQoJKSBNZWRpY2F0aW9uT3JkZXIKCXdoZXJlCU1lZGljYXRpb25PcmRlci5pbnRlbnQgPSAnb3JkZXInCgkJYW5kIEdldEV4dGVuc2lvbihNZWRpY2F0aW9uT3JkZXIuZXh0ZW5zaW9uLCAnaHR0cDovL2V4YW1wbGUub3JnL2ZoaXIvZXh0ZW5zaW9ucy9kb05vdFBlcmZvcm0nKS52YWx1ZSBpcyB0cnVlCgkJLy9NZWRpY2F0aW9uT3JkZXIuZG9Ob3RQZXJmb3JtIGlzIHRydWUgLy8gTmVlZHMgYSBRSS1Db3JlIGV4dGVuc2lvbiB0byBzdXBwb3J0CgkpCgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIER1cmluZyBFRCBWaXNpdCI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJIkVEIFZpc2l0IiBFRFZpc2l0LAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIgTm9WVEVNZWRpY2F0aW9uCgkJd2hlcmUgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kIChzaW5nbGV0b24gZnJvbSBOb1ZURU1lZGljYXRpb24ucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iKQoJCS8vIFRPRE86IFByb2ZpbGUgb2YgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIHRvIGVuc3VyZSBlZmZlY3RpdmUgaXMgYSBQZXJpb2QKCQkJYW5kIENvYWxlc2NlKE5vVlRFTWVkaWNhdGlvbi5hdXRob3JlZE9uLCBzdGFydCBvZiBOb1ZURU1lZGljYXRpb24uZWZmZWN0aXZlKSBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIE5vVlRFTWVkaWNhdGlvbgoJCXdoZXJlIChzaW5nbGV0b24gZnJvbSBOb1ZURU1lZGljYXRpb24ucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iKQoJCQlhbmQgQ29hbGVzY2UoTm9WVEVNZWRpY2F0aW9uLmF1dGhvcmVkT24sIHN0YXJ0IG9mIE5vVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUpIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgTm9WVEVEZXZpY2UKCQl3aGVyZSBOb1ZURURldmljZS5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIKCQkJYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJLy8gVE9ETzogUHJvZmlsZSBvZiBwcm9jZWR1cmUgdG8gZW5zdXJlIHBlcmZvcm1lZCBpcyBhIFBlcmlvZAoJCQlhbmQgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kICBDb2FsZXNjZShOb1ZURURldmljZS5hdXRob3JlZE9uLCBOb1ZURURldmljZS5yZWNvcmRlZE9uKSBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKQoJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJBZG1pc3Npb24gV2l0aG91dCBWVEUgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyI6CgkJKEdsb2JhbC4iSW5wYXRpZW50IEVuY291bnRlciIgSW5wYXRpZW50RW5jb3VudGVyCgkJd2hlcmUgbm90ICgKCQkgICAgLy9Db25uZWN0YXRob246IHN0aWxsIGJyb2tlbjogdGVtcG9yYXJpbHkgcmVtb3ZlZCBwZW5kaW5nIEhBUEkgRkhJUiBzZXJ2ZXIgZml4IGZvciBtYXhDbGF1c2VDb3VudCA+IDEwMjQKICAgICAgICAgICAgLy9HbG9iYWwuRW5jb3VudGVyRGlhZ25vc2lzKElucGF0aWVudEVuY291bnRlcikuY29kZSBpbiAiT2JzdGV0cmljcyIgb3IKCQkJCQkJCQlHbG9iYWwuRW5jb3VudGVyRGlhZ25vc2lzKElucGF0aWVudEVuY291bnRlcikuY29kZSBpbiAiVmVub3VzIFRocm9tYm9lbWJvbGlzbSIKCQkJCQkJCQlvciBHbG9iYWwuRW5jb3VudGVyRGlhZ25vc2lzKElucGF0aWVudEVuY291bnRlcikuY29kZSBpbiAiT2JzdGV0cmljcyBWVEUiCgkJCQkJCQkpCiAgICApCgkJaW50ZXJzZWN0IChHbG9iYWwuIklucGF0aWVudCBFbmNvdW50ZXIiIElucGF0aWVudEVuY291bnRlcgoJCQkJd2l0aG91dCAoCgkJICAgICAgICAgICAgLy9Db25uZWN0YXRob246IHN0aWxsIGJyb2tlbjogdGVtcG9yYXJpbHkgcmVtb3ZlZCBwZW5kaW5nIEhBUEkgRkhJUiBzZXJ2ZXIgZml4IGZvciBtYXhDbGF1c2VDb3VudCA+IDEwMjQKICAgICAgICAgICAgICAgICAgICAvL1siQ29uZGl0aW9uIjogY29kZSBpbiAiT2JzdGV0cmljcyJdIHVuaW9uCgkJCQkJCQkJCVsiQ29uZGl0aW9uIjogY29kZSBpbiAiVmVub3VzIFRocm9tYm9lbWJvbGlzbSJdCgkJCQkJCQkJCXVuaW9uIFsiQ29uZGl0aW9uIjogY29kZSBpbiAiT2JzdGV0cmljcyBWVEUiXSkJRGlhZ25vc2lzCgkJCQlzdWNoIHRoYXQgRGlhZ25vc2lzLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKICAgICAgICAJCWFuZCBEaWFnbm9zaXMudmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKCQkJCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIE9uc2V0IihEaWFnbm9zaXMub25zZXQpIGR1cmluZyBHbG9iYWwuIkhvc3BpdGFsaXphdGlvbiIoSW5wYXRpZW50RW5jb3VudGVyKQoJCQkJCQkpCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIgTm9WVEVNZWRpY2F0aW9uCgkJd2hlcmUgTm9WVEVNZWRpY2F0aW9uLnJlYXNvbkNvZGUgaW4gIk1lZGljYWwgUmVhc29uIgoJCQlhbmQgQW5lc3RoZXNpYVByb2NlZHVyZS5zdGF0dXMgPSAnY29tcGxldGVkJwoJCQlhbmQgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJLy8gVE9ETzogUHJvZmlsZSBvZiBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gdG8gZW5zdXJlIGVmZmVjdGl2ZSBpcyBhIFBlcmlvZAoJCQlhbmQgQ29hbGVzY2UoTm9WVEVNZWRpY2F0aW9uLmF1dGhvcmVkT24sIHN0YXJ0IG9mIE5vVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUpIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihlbmQgb2YgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQpCgkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgTGVzcyBUaGFuIDIgRGF5cyI6CgkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlcgoJCXdoZXJlIEdsb2JhbC4iTGVuZ3RoSW5EYXlzIihGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSk8IDIKCgovL0RvbmUKZGVmaW5lICJTQ0lQIFZURSBTZWxlY3RlZCBTdXJnZXJ5IjoKCSgKCQkvL0Nvbm5lY3RhdGhvbjogc3RpbGwgYnJva2VuOiB0ZW1wb3JhcmlseSByZW1vdmVkIHBlbmRpbmcgSEFQSSBGSElSIHNlcnZlciBmaXggZm9yIG1heENsYXVzZUNvdW50ID4gMTAyNAoJCS8vIFsiUHJvY2VkdXJlIjogIkdlbmVyYWwgU3VyZ2VyeSJdCgkJLy8gdW5pb24KICAgICAgICBbIlByb2NlZHVyZSI6ICJHeW5lY29sb2dpY2FsIFN1cmdlcnkiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIkhpcCBGcmFjdHVyZSBTdXJnZXJ5Il0KCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJIaXAgUmVwbGFjZW1lbnQgU3VyZ2VyeSJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiSW50cmFjcmFuaWFsIE5ldXJvc3VyZ2VyeSJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5Il0KCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJVcm9sb2dpY2FsIFN1cmdlcnkiXSApIFAKCQl3aGVyZSBQLnN0YXR1cyA9ICdjb21wbGV0ZWQnCgoKLy9Eb25lCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgoJKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJDb21mb3J0IE1lYXN1cmVzIl0gUAoJCXdoZXJlIFAuaW50ZW50ID0gJ29yZGVyJykKCQl1bmlvbgoJCShbIlByb2NlZHVyZSI6ICJDb21mb3J0IE1lYXN1cmVzIl0gSW50ZXJ2ZXRpb25QZXJmb3JtZWQKCQl3aGVyZSBJbnRlcnZldGlvblBlcmZvcm1lZC5zdGF0dXMgPSAnY29tcGxldGVkJykKCi8vRG9uZQpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgU3RhcnQgb2YgSG9zcGl0YWxpemF0aW9uIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2l0aCAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIENvbWZvcnRNZWFzdXJlCgkvLyBUT0RPOiBQcm9maWxlIG9mIHByb2NlZHVyZSB0byBlbnN1cmUgcGVyZm9ybWVkIGlzIGEgUGVyaW9kCgkJCXN1Y2ggdGhhdCBDb2FsZXNjZShDb21mb3J0TWVhc3VyZS5hdXRob3JlZE9uLCBzdGFydCBvZiBDb21mb3J0TWVhc3VyZS5wZXJmb3JtZWQpIDEgZGF5IG9yIGxlc3Mgb24gb3IgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uIihRdWFsaWZ5aW5nRW5jb3VudGVyKQoKLy9Eb25lCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCSJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyIgQ29tZm9ydE1lYXN1cmUKCQl3aGVyZSAgQW5lc3RoZXNpYVByb2NlZHVyZS5zdGF0dXMgPSAnY29tcGxldGVkJwoJCQkJYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkIGVuZHMgMSBkYXkgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJCQlhbmQgQ29hbGVzY2UoQ29tZm9ydE1lYXN1cmUuYXV0aG9yZWRPbiwgc3RhcnQgb2YgQ29tZm9ydE1lYXN1cmUucGVyZm9ybWVkKSAxIGRheSBvciBsZXNzIG9uIG9yIGFmdGVyIGRheSBvZiBlbmQgb2YgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQKCi8vRG9uZQpkZWZpbmUgIlZURSBQcm9waHlsYXhpcyBieSBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBEZXZpY2UgQXBwbGllZCI6CgkoIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0gVlRFTWVkaWNhdGlvbgoJCQl3aGVyZSBWVEVNZWRpY2F0aW9uLnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCQkJCWFuZCBWVEVNZWRpY2F0aW9uLmRvc2FnZS5yb3V0ZSBpbiAiU3ViY3V0YW5lb3VzIHJvdXRlIgogICAgICAgICAgICByZXR1cm4gc3RhcnQgb2YgVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUKCSkKCQkvL0pSOiBjb2RlIGlzIG5vdCBhbiBhdHRyaWJ1dGUgb2YgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLiAgVXNlZCBtZWRpY2F0aW9uIGluc3RlYWQuCgkJdW5pb24gKFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0gVlRFTWVkaWNhdGlvbiByZXR1cm4gc3RhcnQgb2YgVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUpCgkJdW5pb24gKFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiSW5qZWN0YWJsZSBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMiXSBWVEVNZWRpY2F0aW9uIHJldHVybiBzdGFydCBvZiBWVEVNZWRpY2F0aW9uLmVmZmVjdGl2ZSkKCQl1bmlvbiAoWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJXYXJmYXJpbiJdIFZURU1lZGljYXRpb24gcmV0dXJuIHN0YXJ0IG9mIFZURU1lZGljYXRpb24uZWZmZWN0aXZlKQoJCXVuaW9uCiAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICBbIkRldmljZVVzZVN0YXRlbWVudCJdIERldmljZVVzZVN0YXRlbWVudAogICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSBEZXZpY2VVc2VTdGF0ZW1lbnQuc3RhdHVzID0gJ2NvbXBsZXRlZCcKICAgICAgICAgICAgICAgICkgVmFsaWREZXZpY2VVc2VTdGF0ZW1lbnQKICAgICAgICAgICAgICAgIHdpdGggW0RldmljZV0gRGV2aWNlCiAgICAgICAgICAgICAgICBzdWNoIHRoYXQgTGFzdChTcGxpdChWYWxpZERldmljZVVzZVN0YXRlbWVudC5kZXZpY2UucmVmZXJlbmNlLCAnLycpKSA9IERldmljZS5pZAogICAgICAgICAgICAgICAgICAgIGFuZCAoCiAgICAgICAgICAgICAgICAgICAgICAgIERldmljZS50eXBlIGluICJWZW5vdXMgZm9vdCBwdW1wcyAoVkZQKSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIERldmljZS50eXBlIGluICJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBEZXZpY2UudHlwZSBpbiAiR3JhZHVhdGVkIGNvbXByZXNzaW9uIHN0b2NraW5ncyAoR0NTKSIKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkgRGV2aWNlQXBwbGllZAogICAgICAgIHdoZXJlIERldmljZUFwcGxpZWQuc3RhdHVzID0gJ2NvbXBsZXRlZCcKICAgICAgICByZXR1cm4gQ29hbGVzY2UoRGV2aWNlQXBwbGllZC5yZWNvcmRlZE9uLCBzdGFydCBvZiBEZXZpY2VBcHBsaWVkLndoZW5Vc2VkKQoKLy9Eb25lCmRlZmluZSAiVlRFIFByb3BoeWxheGlzIFJlY2VpdmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSI6CgkoIGZyb20KCQkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJCSJWVEUgUHJvcGh5bGF4aXMgYnkgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgRGV2aWNlIEFwcGxpZWQiIFZURVByb3BoeWxheGlzRGF0ZQoJCQkvLyBUT0RPOiBQcm9maWxlIG9mIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiB0byBlbnN1cmUgZWZmZWN0aXZlIGlzIGEgUGVyaW9kCiAgICAgICAgd2hlcmUgVlRFUHJvcGh5bGF4aXNEYXRlIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKICAgICAgICByZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoJKQoJCXVuaW9uICggZnJvbQoJCQkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJCQlbIlByb2NlZHVyZSI6ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIl0gQW5lc3RoZXNpYVByb2NlZHVyZSwKCQkJCSJWVEUgUHJvcGh5bGF4aXMgYnkgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgRGV2aWNlIEFwcGxpZWQiIFZURVByb3BoeWxheGlzRGF0ZQogICAgICAgICAgICB3aGVyZSBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQogICAgICAgICAgICAgICAgYW5kIFZURVByb3BoeWxheGlzRGF0ZSBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKQogICAgICAgICAgICByZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoJCSkKCgovL0RvbmUKZGVmaW5lICJNZWRpY2F0aW9uIE9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIjoKCSggZnJvbQoJCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkJWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyBvciBWVEUgVHJlYXRtZW50Il0gRmFjdG9yWGFNZWRpY2F0aW9uCgkJCXdoZXJlIEZhY3RvclhhTWVkaWNhdGlvbi5lZmZlY3RpdmUgc3RhcnRzIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCQkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCSkKCQl1bmlvbiAoIGZyb20KCQkJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCQkJWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsCgkJCQlbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIk9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiXSBGYWN0b3JYYU1lZGljYXRpb24KCQkJCXdoZXJlIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJCWFuZCBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCQkJCWFuZCBGYWN0b3JYYU1lZGljYXRpb24uZWZmZWN0aXZlIHN0YXJ0cyBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKQoJCQkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQkpCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBQcmlvciBvciBQcmVzZW50IERpYWdub3NpcyBvZiBBdHJpYWwgRmlicmlsbGF0aW9uIG9yIFZURSI6CgkoICJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJCXdpdGggWyJDb25kaXRpb24iOiBjb2RlIGluICJBdHJpYWwgRmlicmlsbGF0aW9uL0ZsdXR0ZXIiXSBBdHJpYWxGaWJyaWxsYXRpb24KCQkJCXN1Y2ggdGhhdCBBdHJpYWxGaWJyaWxsYXRpb24uY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJwoJCQkJYW5kIEF0cmlhbEZpYnJpbGxhdGlvbi52ZXJpZmljYXRpb25TdGF0dXMgPSAnY29uZmlybWVkJwoJCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIE9uc2V0IihBdHJpYWxGaWJyaWxsYXRpb24ub25zZXQpIG9uIG9yIGJlZm9yZSBlbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCSkKCQl1bmlvbiAoICJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJCQl3aGVyZSBHbG9iYWwuRW5jb3VudGVyRGlhZ25vc2lzKFF1YWxpZnlpbmdFbmNvdW50ZXIpLmNvZGUgaW4gIkF0cmlhbCBGaWJyaWxsYXRpb24vRmx1dHRlciIKCQkJKQoJCXVuaW9uICggIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQkJCXdpdGggWyJDb25kaXRpb24iOiBjb2RlIGluICJWZW5vdXMgVGhyb21ib2VtYm9saXNtIl0gVlRFRGlhZ25vc2lzCgkJCQkJc3VjaCB0aGF0ICBWVEVEaWFnbm9zaXMuY2xpbmljYWxTdGF0dXMgaW4geyAnaW5hY3RpdmUnLCAncmVtaXNzaW9uJywgJ3Jlc29sdmVkJyB9CgkJCQkJYW5kIFZURURpYWdub3Npcy52ZXJpZmljYXRpb25TdGF0dXMgPSAnY29uZmlybWVkJwoJCQkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoVlRFRGlhZ25vc2lzLm9uc2V0KSBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkpCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24gU3RheSAxIERheSBvciBNb3JlIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2hlcmUgZXhpc3RzICggUXVhbGlmeWluZ0VuY291bnRlci5sb2NhdGlvbiBMb2NhdGlvbgoJCQkJd2hlcmUgR2xvYmFsLkdldExvY2F0aW9uKExvY2F0aW9uLmxvY2F0aW9uKS50eXBlIGluICJJbnRlbnNpdmUgQ2FyZSBVbml0IgoJCQkJCWFuZCBHbG9iYWwuIkxlbmd0aEluRGF5cyIoTG9jYXRpb24ucGVyaW9kKT49IDEKCQkJCQlhbmQgTG9jYXRpb24ucGVyaW9kIHN0YXJ0cyBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkpCgkJKQoKCi8vRG9uZQpkZWZpbmUgIkVuY291bnRlciBXaXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgb2YgTWVudGFsIERpc29yZGVyIG9yIFN0cm9rZSI6CgkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlcgoJCXdoZXJlCiAgICAgICAgICAgIC8vQ29ubmVjdGF0aG9uOiBzdGlsbCBicm9rZW46IHRlbXBvcmFyaWx5IHJlbW92ZWQgcGVuZGluZyBIQVBJIEZISVIgc2VydmVyIGZpeCBmb3IgbWF4Q2xhdXNlQ291bnQgPiAxMDI0CiAgICAgICAgICAgIC8vR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhRdWFsaWZ5aW5nRW5jb3VudGVyKS5jb2RlIGluICJNZW50YWwgSGVhbHRoIERpYWdub3NlcyIKCQkJLy9vcgogICAgICAgICAgICBHbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKFF1YWxpZnlpbmdFbmNvdW50ZXIpLmNvZGUgaW4gIkhlbW9ycmhhZ2ljIFN0cm9rZSIKCQkJb3IgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhRdWFsaWZ5aW5nRW5jb3VudGVyKS5jb2RlIGluICJJc2NoZW1pYyBTdHJva2UiCgovL0RvbmUKLy8gVE9ETzogRGVmaW5lIGFuIG9yZGluYWxpdHkgZXh0ZW5zaW9uIHRvIGEgUHJvY2VkdXJlIHByb2ZpbGUgYW5kIGFzayBQYXRpZW50IEFkbWluaXN0cmF0aW9uIGFuZC9vciBQYXRpZW50IENhcmUgdG8gcmV2aWV3CmRlZmluZSAiRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIFByb2NlZHVyZSBvZiBTQ0lQIFZURSBTZWxlY3RlZCBTdXJnZXJ5IjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJLy9Db25uZWN0YXRob246IHBlbmRpbmcgY3FsX2VuZ2luZSBmaXggIzI2MiAoRkhJUiAzLjAuMCBtb2RlbCBpbmZvIGlzc3VlIHdpdGggRXh0ZW5zaW9uLnVybCkKCQl3aXRoICggIlNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiIFByb2NlZHVyZQoJCQl3aGVyZSBHZXRFeHRlbnNpb24oUHJvY2VkdXJlLmV4dGVuc2lvbiwgJ2h0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL29yZGluYWxpdHknKS52YWx1ZSB+ICJQcmluY2lwYWwiICkgU2VsZWN0ZWRQcm9jZWR1cmUKCQkJc3VjaCB0aGF0IFNlbGVjdGVkUHJvY2VkdXJlLnBlcmZvcm1lZCBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCggUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgovL0RvbmUKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb25zIjoKCSJFbmNvdW50ZXIgTGVzcyBUaGFuIDIgRGF5cyIKCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggSUNVIExvY2F0aW9uIFN0YXkgMSBEYXkgb3IgTW9yZSIKCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBvZiBNZW50YWwgRGlzb3JkZXIgb3IgU3Ryb2tlIgoJCXVuaW9uICJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgUHJvY2VkdXJlIG9mIFNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiCgkJdW5pb24gIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgU3RhcnQgb2YgSG9zcGl0YWxpemF0aW9uIgoJCXVuaW9uICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIKCi8vRG9uZQpkZWZpbmUgIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiOgoJKCBHbG9iYWwuIklucGF0aWVudCBFbmNvdW50ZXIiIElucGF0aWVudEVuY291bnRlcgoJCQl3aXRoIFsiUGF0aWVudCJdIEJpcnRoRGF0ZQoJCQkJc3VjaCB0aGF0IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKFRvRGF0ZVRpbWUoQmlydGhEYXRlLmJpcnRoRGF0ZSksIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZCkpID49IDE4CgkpCgkJaW50ZXJzZWN0ICJBZG1pc3Npb24gV2l0aG91dCBWVEUgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIKCi8vRG9uZQpkZWZpbmUgIkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgUHJvY2VkdXJlIG9mIEhpcCBvciBLbmVlIFJlcGxhY2VtZW50IFN1cmdlcnkiOgoJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQl3aXRoICggWyJQcm9jZWR1cmUiOiAiSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiXQoJCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJLbmVlIFJlcGxhY2VtZW50IFN1cmdlcnkiXSApIEhpcEtuZWVQcm9jZWR1cmUKCQkJc3VjaCB0aGF0IEhpcEtuZWVQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJCWFuZCBIaXBLbmVlUHJvY2VkdXJlLnBlcmZvcm1lZCBzdGFydHMgb24gb3IgYmVmb3JlIGVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoKLy9Eb25lCmRlZmluZSAiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCI6CgkiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBEdXJpbmcgRUQgVmlzaXQiCgkJdW5pb24gIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iCgkJdW5pb24gIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIE1lZGljYWwgUmVhc29uIjoKCSggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiCgkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IgoJKQoJCXVuaW9uICggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiIKCQkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iCgkJKQoJCXVuaW9uICggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIKCQkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiCgkJKQoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgRHVyaW5nIEVEIFZpc2l0IjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiRUQgVmlzaXQiIEVEVmlzaXQsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBQYXRpZW50UmVmdXNhbAoJCXdoZXJlIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kCgkJCWFuZCBDb2FsZXNjZShQYXRpZW50UmVmdXNhbC5lZmZlY3RpdmUsIFBhdGllbnRSZWZ1c2FsLmF1dGhvcmVkT24sIFBhdGllbnRSZWZ1c2FsLnJlY29yZGVkT24pIGR1cmluZyBFRFZpc2l0LnBlcmlvZAoJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBQYXRpZW50UmVmdXNhbAoJCXdoZXJlIENvYWxlc2NlKHN0YXJ0IG9mIFBhdGllbnRSZWZ1c2FsLmVmZmVjdGl2ZSwgUGF0aWVudFJlZnVzYWwuYXV0aG9yZWRPbiwgUGF0aWVudFJlZnVzYWwucmVjb3JkZWRPbikKICAgICAgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKHN0YXJ0IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBQYXRpZW50UmVmdXNhbAoJCXdoZXJlIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkIGVuZHMgMSBkYXkgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kCgkJCWFuZCBDb2FsZXNjZShzdGFydCBvZiBQYXRpZW50UmVmdXNhbC5lZmZlY3RpdmUsIFBhdGllbnRSZWZ1c2FsLmF1dGhvcmVkT24sIFBhdGllbnRSZWZ1c2FsLnJlY29yZGVkT24pCiAgICAgICAgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKGVuZCBvZiBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gb3IgRGV2aWNlIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiOgoJKCAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiCgkJdW5pb24gIk5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgQXBwbGllZCBvciBPcmRlcmVkIiApIE5vVlRFUHJvcGh5bGF4aXMKCQl3aGVyZSBHZXRFeHRlbnNpb24oTm9WVEVQcm9waHlsYXhpcy5leHRlbnNpb24sICdodHRwOi8vZXhhbXBsZS5vcmcvU3RydWN0dXJlRGVmaW5pdGlvbi9ub3REb25lUmVhc29uJykudmFsdWUgaW4gIlBhdGllbnQgUmVmdXNhbCIKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIjoKCSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBEdXJpbmcgRUQgVmlzaXQiCgkJdW5pb24gIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIgoJCXVuaW9uICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIKCi8vRG9uZQpkZWZpbmUgIk51bWVyYXRvciI6CgkiVlRFIFByb3BoeWxheGlzIFJlY2VpdmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSIKCQl1bmlvbiAoICJNZWRpY2F0aW9uIE9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIgoJCQkJaW50ZXJzZWN0ICggIkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgRGlhZ25vc2lzIG9mIEF0cmlhbCBGaWJyaWxsYXRpb24gb3IgVlRFIgoJCQkJCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggUHJpb3Igb3IgUHJlc2VudCBQcm9jZWR1cmUgb2YgSGlwIG9yIEtuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSIKCQkJCSkKCQkpCgkJdW5pb24gIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQiCgkJdW5pb24gIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gTWVkaWNhbCBSZWFzb24iCgkJdW5pb24gIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIgoKLy9Eb25lCmRlZmluZSAiSXMgSW4gTG93IFJpc2sgZm9yIFZURSBvciBPbiBBbnRpY29hZ3VsYW50IjoKICAgIC8vQ29ubmVjdGF0aG9uOiB2ZXJpZmllZCB0aGF0IHRoaXMgaXMgY29ycmVjdGVkCgkoIFsiT2JzZXJ2YXRpb24iOiAiUmlzayBmb3IgdmVub3VzIHRocm9tYm9lbWJvbGlzbSJdIFZURVJpc2tBc3Nlc3NtZW50CgkJCXdoZXJlIFZURVJpc2tBc3Nlc3NtZW50LnZhbHVlIGluICJMb3cgUmlzayIKCSkKCi8qCi8vIFRPRE86IElzc3VlcyB3aXRoIGNvbnN0cnVjdGluZyB0aGUgRkhJUiB0eXBlcyBoZXJlLi4uCgkJdW5pb24gKCBbIk9ic2VydmF0aW9uIjogIklOUiJdIElOUkxhYlRlc3QKCQkJCXdoZXJlIElOUkxhYlRlc3QudmFsdWUgYXMgUXVhbnRpdHkgPiAzLjAKCQkJCXJldHVybiAiT2JzZXJ2YXRpb24iIHsgaWQ6IElOUkxhYlRlc3QuaWQsIGVmZmVjdGl2ZTogSU5STGFiVGVzdC5pc3N1ZWQgfQoJCSkKCQl1bmlvbiAoKCggWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiAiVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiJdIFVuZnJhY3Rpb25hdGVkSGVwYXJpbgoJCQkJCXdoZXJlIFVuZnJhY3Rpb25hdGVkSGVwYXJpbi5kb3NhZ2Uucm91dGUgaW4gIkludHJhdmVub3VzIHJvdXRlIgoJCQkJCQkpCgkJCQl1bmlvbiBbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6ICJEaXJlY3QgVGhyb21iaW4gSW5oaWJpdG9yIl0KCQkJCXVuaW9uIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogIkdseWNvcHJvdGVpbiBJSWIvSUlJYSBJbmhpYml0b3JzIl0gKSBBbnRpY29hZ3VsYW50TWVkaWNhdGlvbgoJCQkJCXJldHVybiAiT2JzZXJ2YXRpb24iIHsgaWQ6IEFudGljb2FndWxhbnRNZWRpY2F0aW9uLmlkLCBlZmZlY3RpdmU6IHN0YXJ0IG9mIGVmZmVjdGl2ZX0KCQkpCiovCgovL0RvbmUKZGVmaW5lICJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIER1cmluZyBFRCBWaXNpdCI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJIkVEIFZpc2l0IiBFRFZpc2l0LAoJCSJJcyBJbiBMb3cgUmlzayBmb3IgVlRFIG9yIE9uIEFudGljb2FndWxhbnQiIFZURVJpc2tBc3Nlc3NtZW50CgkJd2hlcmUgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kIFZURVJpc2tBc3Nlc3NtZW50Lmlzc3VlZCBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiI6CgkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlcgoJCXdpdGggIklzIEluIExvdyBSaXNrIGZvciBWVEUgb3IgT24gQW50aWNvYWd1bGFudCIgVlRFUmlza0Fzc2Vzc21lbnQKCQkJc3VjaCB0aGF0IFZURVJpc2tBc3Nlc3NtZW50Lmlzc3VlZCBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkpCgovL0RvbmUKZGVmaW5lICJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQlbIlByb2NlZHVyZSI6ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIl0gQW5lc3RoZXNpYVByb2NlZHVyZSwKCQkiSXMgSW4gTG93IFJpc2sgZm9yIFZURSBvciBPbiBBbnRpY29hZ3VsYW50IiBWVEVSaXNrQXNzZXNzbWVudAoJCXdoZXJlIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkIGVuZHMgMSBkYXkgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJCWFuZCBWVEVSaXNrQXNzZXNzbWVudC5pc3N1ZWQgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKGVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKSkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgo=" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-EXM108-FHIR3-7.4.000" + } + }, { + "resource": { + "resourceType": "Encounter", + "id": "denom-EXM108-FHIR3-1", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] + }, + "status": "finished", + "class": { + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", + "code": "IMP", + "display": "inpatient encounter" + }, + "type": [ { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "32485007", + "display": "Hospital admission (procedure)" + } ] + } ], + "subject": { + "reference": "Patient/denom-EXM108-FHIR3" + }, + "period": { + "start": "2019-01-16T08:30:00-07:00", + "end": "2019-01-20T08:30:00-07:00" + }, + "diagnosis": [ { + "condition": { + "reference": "Condition/denom-EXM108-FHIR3-2" + } + } ], + "hospitalization": { + "dischargeDisposition": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "306701001", + "display": "Discharge to community hospital (procedure)" + } ] + } + } + }, + "request": { + "method": "PUT", + "url": "Encounter/denom-EXM108-FHIR3-1" + } + }, { + "resource": { + "resourceType": "Condition", + "id": "denom-EXM108-FHIR3-2", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition" ] + }, + "verificationStatus": "confirmed", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "encounter-diagnosis", + "display": "Encounter Diagnosis" + } ] + } ], + "code": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "10327003", + "display": "Cocaine-induced mood disorder (disorder)" + } ] + }, + "subject": { + "reference": "Patient/denom-EXM108-FHIR3" + } + }, + "request": { + "method": "PUT", + "url": "Condition/denom-EXM108-FHIR3-2" + } + }, { + "resource": { + "resourceType": "Bundle", + "id": "tests-Condition-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Condition", + "id": "numer-EXM108-FHIR3-2", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition" ] + }, + "verificationStatus": "confirmed", + "category": [ { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "encounter-diagnosis", + "display": "Encounter Diagnosis" + } ] + } ], + "code": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "213213007", + "display": "Cardiac arrest as a complication of care (disorder)" + } ] + }, + "subject": { + "reference": "Patient/numer-EXM108-FHIR3" + } + }, + "request": { + "method": "PUT", + "url": "Condition/numer-EXM108-FHIR3-2" + } + } ] + }, + "request": { + "method": "PUT", + "url": "tests-Condition-bundle" + } + }, { + "resource": { + "resourceType": "Procedure", + "id": "denom-EXM108-FHIR3-4", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-procedure" ] + }, + "status": "completed", + "code": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "112943005", + "display": "Epidural injection of anesthetic substance" + } ] + }, + "subject": { + "reference": "Patient/denom-EXM108-FHIR3" + }, + "performedPeriod": { + "start": "2019-01-17T08:30:00-07:00", + "end": "2019-01-17T10:30:00-07:00" + } + }, + "request": { + "method": "PUT", + "url": "Procedure/denom-EXM108-FHIR3-4" + } + }, { + "resource": { + "resourceType": "Bundle", + "id": "tests-Encounter-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Encounter", + "id": "numer-EXM108-FHIR3-3", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] + }, + "status": "finished", + "class": { + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", + "code": "IMP", + "display": "inpatient encounter" + }, + "type": [ { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "32485007", + "display": "Hospital admission (procedure)" + } ] + } ], + "subject": { + "reference": "Patient/numer-EXM108-FHIR3" + }, + "period": { + "start": "2019-01-16T08:30:00-07:00", + "end": "2019-01-20T08:30:00-07:00" + }, + "diagnosis": [ { + "condition": { + "reference": "Condition/numer-EXM108-FHIR3-2" + }, + "role": { + "coding": [ { + "system": "http://hl7.org/fhir/diagnosis-role", + "code": "billing", + "display": "Billing" + } ] + }, + "rank": 1 + } ], + "hospitalization": { + "dischargeDisposition": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "306701001", + "display": "Discharge to community hospital (procedure)" } ] - } ], - "identifier": [ { - "use": "usual", - "type": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "MR", - "display": "Medical Record Number" - } ] - }, - "system": "http://hospital.smarthealthit.org", - "value": "999999997" - } ], - "name": [ { - "family": "Smith", - "given": [ "Jill" ] - } ], - "gender": "female", - "birthDate": "1963-09-13" + } } + }, + "request": { + "method": "PUT", + "url": "Encounter/numer-EXM108-FHIR3-3" + } + } ] + }, + "request": { + "method": "PUT", + "url": "tests-Encounter-bundle" + } + }, { + "resource": { + "resourceType": "MedicationAdministration", + "id": "denom-EXM108-FHIR3-5", + "status": "completed", + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "854228", + "display": "0.3 ML Enoxaparin sodium 100 MG/ML Prefilled Syringe" } ] - } ], - "status": "complete", - "type": "individual", - "measure": { - "reference": "Measure/measure-EXM108-FHIR3-7.4.000" }, - "patient": { - "reference": "Patient/numer-EXM108-FHIR3" + "subject": { + "reference": "Patient/denom-EXM108-FHIR3" }, - "period": { - "start": "2019-01-01T00:00:00-07:00", - "end": "2019-12-31T00:00:00-07:00" + "effectivePeriod": { + "start": "2019-01-19T12:30:00-07:00", + "end": "2019-01-19T13:00:00-07:00" + } + }, + "request": { + "method": "PUT", + "url": "MedicationAdministration/denom-EXM108-FHIR3-5" + } + }, { + "resource": { + "resourceType": "Patient", + "id": "denom-EXM108-FHIR3", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] }, - "group": [ { - "identifier": { - "value": "group-1" + "extension": [ { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2106-3", + "display": "White" + } + } ] + }, { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2186-5", + "display": "Not Hispanic or Latino" + } + } ] + } ], + "identifier": [ { + "use": "usual", + "type": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MR", + "display": "Medical Record Number" + } ] }, - "population": [ { - "code": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "initial-population", - "display": "Initial Population" - } ] - }, - "count": 1 - }, { - "code": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "numerator", - "display": "Numerator" - } ] - }, - "count": 1 - }, { - "code": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator", - "display": "Denominator" - } ] - }, - "count": 1 - }, { - "code": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator-exclusion", - "display": "Denominator Exclusion" - } ] - }, - "count": 0 - } ], - "measureScore": 1.0 + "system": "http://hospital.smarthealthit.org", + "value": "999999996" } ], - "evaluatedResources": { - "reference": "#13687040-a0ad-4346-b7c8-174e53903241" - } + "name": [ { + "family": "Jones", + "given": [ "Frank" ] + } ], + "gender": "male", + "birthDate": "1951-05-01" }, "request": { "method": "PUT", - "url": "MeasureReport/measurereport-numer-EXM108-FHIR3" + "url": "Patient/denom-EXM108-FHIR3" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-VTEICU-FHIR3-2.4.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-VTEICU-FHIR3-2.4.000
Type: Logic Library
Version: 2.4.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

Content: type: text/cql
library VTEICU_FHIR3 version '2.4.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Common\n\n// TODO: Determine how to reference a particular version of LOINC\ncodesystem "LOINC:2.46": 'http://loinc.org' version 'urn:hl7:version:2.46'\ncodesystem "SNOMEDCT:2016-03": 'http://snomed.info/sct/731000124108' version 'http://snomed.info/sct/731000124108/version/201603'\n\nvalueset "Intensive Care Unit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.23'\n\ncode "Birthdate": '21112-8' from "LOINC:2.46" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT:2016-03" display 'Dead'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarDayOfOrDayAfter"(StartValue DateTime):\n\tInterval[StartValue, ToDate(StartValue + 2 days))\n\ndefine function "Start of First ICU"(Encounter "Encounter"):\n\tstart of "First Intensive Care Unit"(Encounter).period\n\ndefine function "First Intensive Care Unit"(Encounter "Encounter"):\n\tFirst(Encounter.location L\n\t\t\twhere Common.GetLocation(L.location).type in "Intensive Care Unit"\n\t\t\t\tand L.period during Encounter.period\n\t\t\tsort by start of period\n\t)\n
\n \n \n
\n
" + }, + "version": "2.4.000", + "name": "VTEICU_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlZURUlDVV9GSElSMyIgdmVyc2lvbj0iMi40LjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJDb21tb24iIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQzoyLjQ2IiBpZD0iaHR0cDovL2xvaW5jLm9yZyIgdmVyc2lvbj0idXJuOmhsNzp2ZXJzaW9uOjIuNDYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1Q6MjAxNi0wMyIgaWQ9Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4IiB2ZXJzaW9uPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOC92ZXJzaW9uLzIwMTYwMyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC9jb2RlU3lzdGVtcz4NCiAgIDx2YWx1ZVNldHM+DQogICAgICA8ZGVmIG5hbWU9IkludGVuc2l2ZSBDYXJlIFVuaXQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DOjIuNDYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZWFkIiBpZD0iNDE5MDk5MDA5IiBkaXNwbGF5PSJEZWFkIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlNOT01FRENUOjIwMTYtMDMiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICA8eWVhciBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3llYXI+DQogICAgICAgICAgICA8bW9udGggcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvbW9udGg+DQogICAgICAgICAgICA8ZGF5IHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9kYXk+DQogICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDx0aW1lem9uZU9mZnNldCB4c2k6dHlwZT0iVGltZXpvbmVGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC90aW1lem9uZU9mZnNldD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgPGxvdyBuYW1lPSJTdGFydFZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJTdGFydFZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iU3RhcnRWYWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkZpcnN0IEludGVuc2l2ZSBDYXJlIFVuaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTCI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InR5cGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldExvY2F0aW9uIiBsaWJyYXJ5TmFtZT0iQ29tbW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG9jYXRpb24iIHNjb3BlPSJMIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkludGVuc2l2ZSBDYXJlIFVuaXQiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmNsdWRlZEluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9IklkZW50aWZpZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgIDwvYnk+DQogICAgICAgICAgICAgICA8L3NvcnQ+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTdGFydCBvZiBGaXJzdCBJQ1UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJGaXJzdCBJbnRlbnNpdmUgQ2FyZSBVbml0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBWVEVJQ1VfRkhJUjMgdmVyc2lvbiAnMi40LjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgQ29tbW9uCgovLyBUT0RPOiBEZXRlcm1pbmUgaG93IHRvIHJlZmVyZW5jZSBhIHBhcnRpY3VsYXIgdmVyc2lvbiBvZiBMT0lOQwpjb2Rlc3lzdGVtICJMT0lOQzoyLjQ2IjogJ2h0dHA6Ly9sb2luYy5vcmcnIHZlcnNpb24gJ3VybjpobDc6dmVyc2lvbjoyLjQ2Jwpjb2Rlc3lzdGVtICJTTk9NRURDVDoyMDE2LTAzIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4JyB2ZXJzaW9uICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOC92ZXJzaW9uLzIwMTYwMycKCnZhbHVlc2V0ICJJbnRlbnNpdmUgQ2FyZSBVbml0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4yMycKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQzoyLjQ2IiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1Q6MjAxNi0wMyIgZGlzcGxheSAnRGVhZCcKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lIGZ1bmN0aW9uICJUb0RhdGUiKFZhbHVlIERhdGVUaW1lKToKCURhdGVUaW1lKHllYXIgZnJvbSBWYWx1ZSwgbW9udGggZnJvbSBWYWx1ZSwgZGF5IGZyb20gVmFsdWUsIDAsIDAsIDAsIDAsIHRpbWV6b25lIGZyb20gVmFsdWUpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihTdGFydFZhbHVlIERhdGVUaW1lKToKCUludGVydmFsW1N0YXJ0VmFsdWUsIFRvRGF0ZShTdGFydFZhbHVlICsgMiBkYXlzKSkKCmRlZmluZSBmdW5jdGlvbiAiU3RhcnQgb2YgRmlyc3QgSUNVIihFbmNvdW50ZXIgIkVuY291bnRlciIpOgoJc3RhcnQgb2YgIkZpcnN0IEludGVuc2l2ZSBDYXJlIFVuaXQiKEVuY291bnRlcikucGVyaW9kCgpkZWZpbmUgZnVuY3Rpb24gIkZpcnN0IEludGVuc2l2ZSBDYXJlIFVuaXQiKEVuY291bnRlciAiRW5jb3VudGVyIik6CglGaXJzdChFbmNvdW50ZXIubG9jYXRpb24gTAoJCQl3aGVyZSBDb21tb24uR2V0TG9jYXRpb24oTC5sb2NhdGlvbikudHlwZSBpbiAiSW50ZW5zaXZlIENhcmUgVW5pdCIKCQkJCWFuZCBMLnBlcmlvZCBkdXJpbmcgRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIHBlcmlvZAoJKQo=" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-VTEICU-FHIR3-2.4.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" + }, + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-FHIRHelpers-3.0.0" } }, { "resource": { @@ -1339,41 +1816,6 @@ "method": "PUT", "url": "DeviceUseStatement/numer-EXM108-FHIR3-4" } - }, { - "resource": { - "resourceType": "Bundle", - "id": "tests-MedicationAdministration-bundle", - "type": "transaction", - "entry": [ { - "resource": { - "resourceType": "MedicationAdministration", - "id": "denom-EXM108-FHIR3-5", - "status": "completed", - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "854228", - "display": "0.3 ML Enoxaparin sodium 100 MG/ML Prefilled Syringe" - } ] - }, - "subject": { - "reference": "Patient/denom-EXM108-FHIR3" - }, - "effectivePeriod": { - "start": "2019-01-19T12:30:00-07:00", - "end": "2019-01-19T13:00:00-07:00" - } - }, - "request": { - "method": "PUT", - "url": "MedicationAdministration/denom-EXM108-FHIR3-5" - } - } ] - }, - "request": { - "method": "PUT", - "url": "tests-MedicationAdministration-bundle" - } }, { "resource": { "resourceType": "Encounter", diff --git a/fhir3/bundles/measure/EXM108_FHIR3-7.4.000/EXM108_FHIR3-7.4.000-files/library-EXM108_FHIR3-7.4.000.json b/fhir3/bundles/measure/EXM108_FHIR3-7.4.000/EXM108_FHIR3-7.4.000-files/library-EXM108_FHIR3-7.4.000.json index aa2a7c53..8e9a589a 100644 --- a/fhir3/bundles/measure/EXM108_FHIR3-7.4.000/EXM108_FHIR3-7.4.000-files/library-EXM108_FHIR3-7.4.000.json +++ b/fhir3/bundles/measure/EXM108_FHIR3-7.4.000/EXM108_FHIR3-7.4.000-files/library-EXM108_FHIR3-7.4.000.json @@ -21,6 +21,334 @@ "code": "logic-library" } ] }, + "dataRequirement": [ { + "type": "Patient" + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + } ] + }, { + "type": "DeviceUseStatement" + }, { + "type": "Device" + }, { + "type": "DeviceRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230" + } + } ] + }, { + "type": "DeviceRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214" + } + } ] + }, { + "type": "DeviceRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232" + } + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39" + } + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219" + } + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211" + } + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272" + } + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232" + } + } ] + }, { + "type": "DeviceUseStatement" + }, { + "type": "Device" + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } + } ] + } ], "content": [ { "contentType": "text/cql", "data": "bGlicmFyeSBFWE0xMDhfRkhJUjMgdmVyc2lvbiAnNy40LjAwMCcKCi8qCkJhc2VkIG9uIENNUzEwOHY3IC0gVmVub3VzIFRocm9tYm9lbWJvbGlzbSBQcm9waHlsYXhpcwoqLwoKLyoKVGhpcyBleGFtcGxlIGlzIGEgd29yayBpbiBwcm9ncmVzcyBhbmQgc2hvdWxkIG5vdCBiZSBjb25zaWRlcmVkIGEgZmluYWwgc3BlY2lmaWNhdGlvbgpvciByZWNvbW1lbmRhdGlvbiBmb3IgZ3VpZGFuY2UuIFRoaXMgZXhhbXBsZSB3aWxsIGhlbHAgZ3VpZGUgYW5kIGRpcmVjdCB0aGUgcHJvY2VzcwpvZiBmaW5kaW5nIGNvbnZlbnRpb25zIGFuZCB1c2FnZSBwYXR0ZXJucyB0aGF0IG1lZXQgdGhlIG5lZWRzIG9mIHRoZSB2YXJpb3VzIHN0YWtlaG9sZGVycwppbiB0aGUgbWVhc3VyZSBkZXZlbG9wbWVudCBjb21tdW5pdHkuCiovCgovKgpEYXRhIFR5cGVzIFVzZWQ6CgpFbmNvdW50ZXIKRGV2aWNlVXNlU3RhdGVtZW50CkRldmljZVJlcXVlc3QKTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uCk1lZGljYXRpb25SZXF1ZXN0ClByb2NlZHVyZSAtIG9yZGluYWxpdHkgZXh0ZW5zaW9uClByb2NlZHVyZVJlcXVlc3QKQ29uZGl0aW9uCiovCgovKgpEZXZlbG9wbWVudCBOb3RlczoKCiAgICBOZWVkIHRvIGRlZmluZSDigJxkb05vdFBlcmZvbeKAnSBRSUNvcmUgZXh0ZW5zaW9uIHRvIHN1cHBvcnQg4oCcTm90RG9uZSBpcyB0cnVl4oCdIGV4cHJlc3Npb24uIFN1Z2dlc3QgdG8gdGhlIGJhc2UgUmVzb3VyY2UgZm9yIHRoZSBmb2xsb3dpbmcgcHJvZmlsZXMg4oCTCgogICAgICAgIERldmljZVVzZVN0YXRlbWVudAogICAgICAgIERldmljZVJlcXVlc3QKICAgICAgICBNZWRpY2F0aW9uUmVxdWVzdAoKICAgICAgICBBZGQgZG9Ob3RQZXJmb3JtIHRvIERldmljZVVzZVJlcXVlc3QgYW5kIG5vdERvbmUgdG8gRGV2aWNlVXNlU3RhdGVtZW50OgogICAgICAgIFsjMjA2MDFdKGh0dHBzOi8vZ2ZvcmdlLmhsNy5vcmcvZ2YvcHJvamVjdC9maGlyL3RyYWNrZXIvP2FjdGlvbj1UcmFja2VySXRlbUVkaXQmdHJhY2tlcl9pdGVtX2lkPTIwNjAxKQogICAgICAgIFByb21vdGUgcHJvZmlsZXMgdG8gUUktQ29yZToKICAgICAgICBbIzIwNjEwXShodHRwczovL2dmb3JnZS5obDcub3JnL2dmL3Byb2plY3QvZmhpci90cmFja2VyLz9hY3Rpb249VHJhY2tlckl0ZW1FZGl0JnRyYWNrZXJfaXRlbV9pZD0yMDYxMCkKCiAgICBOZWVkIHRvIGRlZmluZSBhbiDigJxvcmRpbmFsaXR54oCdIGV4dGVuc2lvbiBmb3IgUHJvY2VkdXJlIHByb2ZpbGUgdG8gc3VwcG9ydCDigJxQcm9jZWR1cmUub3JkaW5hbGl0eSB+ICJQcmluY2lwYWwiIGV4cHJlc3Npb24uCgogICAgICBbIzIwNTI3XShodHRwczovL2dmb3JnZS5obDcub3JnL2dmL3Byb2plY3QvZmhpci90cmFja2VyLz9hY3Rpb249VHJhY2tlckl0ZW1FZGl0JnRyYWNrZXJfaXRlbV9pZD0yMDUyNykKCiAgICBOZWVkIHRvIGNvbmZpcm0gdGhlIGZvbGxvd2luZyBwcm9maWxlcyBhbmQgZW5zdXJlIFBlcmlvZCBpcyBhIGRlZmF1bHQgdHlwZSAtCgogICAgICAgIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5lZmZlY3RpdmUKICAgICAgICBQcm9jZWR1cmUucGVyZm9ybWVkCgogICAgICAgIERlZmluZWQgYXMgREVRTSBwcm9maWxlcyBjdXJyZW50bHksIHByb21vdGUgdG8gUUktQ29yZQogICAgICAgIFsjMjA2MTFdKGh0dHBzOi8vZ2ZvcmdlLmhsNy5vcmcvZ2YvcHJvamVjdC9maGlyL3RyYWNrZXIvP2FjdGlvbj1UcmFja2VySXRlbUVkaXQmdHJhY2tlcl9pdGVtX2lkPTIwNjExKQoKICAgIFN1Z2dlc3QgZGVmaW5pbmcg4oCccmVjb3JkZWRPbuKAnCB0byBzdXBwb3J0IHRoZSB0aW1pbmdzIGZvciDigJxNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24ubm90R2l2ZW7igJ0gYW5kIOKAnFByb2NlZHVyZS5ub3REb25l4oCdLiBzZWUgdGhlIGhpZ2hsaWdodGVkIGZpZWxkcyBiZWxvdy4KCiAgICAgIFsjMjA2MDJdKGh0dHBzOi8vZ2ZvcmdlLmhsNy5vcmcvZ2YvcHJvamVjdC9maGlyL3RyYWNrZXIvP2FjdGlvbj1UcmFja2VySXRlbUVkaXQmdHJhY2tlcl9pdGVtX2lkPTIwNjAyKQoKfFByb2ZpbGUgICAgICAgICAgICAgICAgICAgfFRpbWluZyB1c2VkIGZvciBEb25lIHxUaW1pbmcgdXNlZCBmb3IgZG9Ob3RQZXJmb3JtIHxUSkMgY29tbWVudHMgICAgICAgICAgfAp8LS0tfC0tLXwtLS18LS0tfAp8RGV2aWNlVXNlU3RhdGVtZW50ICAgICAgICB8d2hlblVzZWQgICAgICAgICAgICAgfHJlY29yZGVkT24gICAgICAgICAgICAgICAgICAgfCAgIHwKfERldmljZVJlcXVlc3QgICAgICAgICAgICAgfGF1dGhvcmVkT24gICAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICAgICAgICAgIHwgICB8CnxNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gIHxlZmZlY3RpdmUgICAgICAgICAgICB8ZWZmZWN0aXZlICAgICAgICAgICAgICAgICAgICB8IFN1Z2dlc3QgYWRkaW5nIHJlY29yZGVkT24gZm9yIG5vdEdpdmVuIHRpbWluZyB8CnxNZWRpY2F0aW9uUmVxdWVzdCAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICB8YXV0aG9yZWRPbiAgICAgICAgICAgICAgICAgICB8ICAgfAp8UHJvY2VkdXJlICAgICAgICAgICAgICAgICB8cGVyZm9ybWVkICAgICAgICAgICAgfHBlcmZvcm1lZCAgICAgICAgICAgICAgICAgICAgfCBTdWdnZXN0IGFkZGluZyByZWNvcmRlZE9uIGZvciBub3REb25lIHRpbWluZyB8CnxQcm9jZWR1cmVSZXF1ZXN0ICAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICB8YXV0aG9yZWRPbiAgICAgICAgICAgICAgICAgICB8ICAgfAoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgVlRFSUNVX0ZISVIzIHZlcnNpb24gJzIuNC4wMDAnIGNhbGxlZCBWVEVJQ1UKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4Jwpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwpjb2Rlc3lzdGVtICJSZXF1ZXN0SW50ZW50IjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiQXRyaWFsIEZpYnJpbGxhdGlvbi9GbHV0dGVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDInCnZhbHVlc2V0ICJDb21mb3J0IE1lYXN1cmVzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8xLjMuNi4xLjQuMS4zMzg5NS4xLjMuMC40NScKdmFsdWVzZXQgIkRpcmVjdCBUaHJvbWJpbiBJbmhpYml0b3IiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNScKdmFsdWVzZXQgIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTInCnZhbHVlc2V0ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjE3NDMnCnZhbHVlc2V0ICJHZW5lcmFsIFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NScKdmFsdWVzZXQgIkdseWNvcHJvdGVpbiBJSWIvSUlJYSBJbmhpYml0b3JzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA0NS40MScKdmFsdWVzZXQgIkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NicKdmFsdWVzZXQgIkd5bmVjb2xvZ2ljYWwgU3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJIaXAgRnJhY3R1cmUgU3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU4Jwp2YWx1ZXNldCAiSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1OScKdmFsdWVzZXQgIkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTEnCnZhbHVlc2V0ICJJTlIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxMycKdmFsdWVzZXQgIkludGVybWl0dGVudCBwbmV1bWF0aWMgY29tcHJlc3Npb24gZGV2aWNlcyAoSVBDKSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE0Jwp2YWx1ZXNldCAiSW50cmFjcmFuaWFsIE5ldXJvc3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYwJwp2YWx1ZXNldCAiSW50cmF2ZW5vdXMgcm91dGUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIyMicKdmFsdWVzZXQgIklzY2hlbWljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3Jwp2YWx1ZXNldCAiS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNjEnCnZhbHVlc2V0ICJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDQ1LjM5Jwp2YWx1ZXNldCAiTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTknCnZhbHVlc2V0ICJMb3cgUmlzayI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDAwJwp2YWx1ZXNldCAiTWVkaWNhbCBSZWFzb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQ3MycKdmFsdWVzZXQgIk1lbnRhbCBIZWFsdGggRGlhZ25vc2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwNS4xMi4xMDA0Jwp2YWx1ZXNldCAiT2JzdGV0cmljcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYzJwp2YWx1ZXNldCAiT2JzdGV0cmljcyBWVEUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI2NCcKdmFsdWVzZXQgIk9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjEzNCcKdmFsdWVzZXQgIlBhdGllbnQgUmVmdXNhbCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuOTMnCi8vdmFsdWVzZXQgIlByaW5jaXBhbCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMTQnIC8vIENoYW5nZWQgdG8gdXNlIGEgY29kZQp2YWx1ZXNldCAiU3ViY3V0YW5lb3VzIHJvdXRlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMjMnCnZhbHVlc2V0ICJVbmZyYWN0aW9uYXRlZCBIZXBhcmluIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTgnCnZhbHVlc2V0ICJVcm9sb2dpY2FsIFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI3MicKdmFsdWVzZXQgIlZlbm91cyBmb290IHB1bXBzIChWRlApIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMzAnCnZhbHVlc2V0ICJWZW5vdXMgVGhyb21ib2VtYm9saXNtIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNzknCnZhbHVlc2V0ICJXYXJmYXJpbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjMyJwp2YWx1ZXNldCAiSW50ZW5zaXZlIENhcmUgVW5pdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMjMnCgpjb2RlICJSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtIjogJzcyMTM2LTUnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtJwpjb2RlICJQcmluY2lwYWwiOiAnNjMxNjEwMDUnIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdQcmluY2lwYWwgKHF1YWxpZmllciB2YWx1ZSknCmNvZGUgIk9yZGVyIjogJ29yZGVyJyBmcm9tICJSZXF1ZXN0SW50ZW50IiBkaXNwbGF5ICdPcmRlcicKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KICAgIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCkKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CglTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgoJU0RFLiJTREUgU2V4IgoKZGVmaW5lICJEZW5vbWluYXRvciI6CgkiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJFRCBWaXNpdCI6CglbIkVuY291bnRlciI6IHR5cGUgaW4gIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0Il0gRURWaXNpdAogICAgd2hlcmUgRURWaXNpdC5zdGF0dXMgPSAnZmluaXNoZWQnCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CgkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIKCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiOgogIC8vIE5PVEU6IFNob3VsZCBiZSB1c2luZyBkZXZpY2UuY29kZSwgYnV0IHRoYXQgcmVxdWlyZXMgQ1FMIDEuNAogICgKICAgICAoCiAgICAgICAoCiAgICAgICAgICAgWyJEZXZpY2VVc2VTdGF0ZW1lbnQiXSBEZXZpY2VVc2VTdGF0ZW1lbnQKICAgICAgICAgICAgICAgd2hlcmUgRGV2aWNlVXNlU3RhdGVtZW50LnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICAgICApIFZhbGlkRGV2aWNlVXNlU3RhdGVtZW50CiAgICAgICAgICAgd2l0aCBbRGV2aWNlXSBEZXZpY2UKICAgICAgICAgICAgICAgc3VjaCB0aGF0IEdsb2JhbC5HZXRJZChWYWxpZERldmljZVVzZVN0YXRlbWVudC5kZXZpY2UucmVmZXJlbmNlKSA9IERldmljZS5pZAogICAgICAgICAgICAgICAgICAgYW5kICgKICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2UudHlwZSBpbiAiVmVub3VzIGZvb3QgcHVtcHMgKFZGUCkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIERldmljZS50eXBlIGluICJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIERldmljZS50eXBlIGluICJHcmFkdWF0ZWQgY29tcHJlc3Npb24gc3RvY2tpbmdzIChHQ1MpIgogICAgICAgICAgICAgICAgICAgKQogICAgICkgRAogICAgIC8vSlI6IHVwZGF0ZWQgdG8gdXNlIHRoZSBHbG9iYWwgZ2V0IGV4dGVuc2lvbgogICAgIHdoZXJlIEdsb2JhbC5HZXRFeHRlbnNpb24oRCwgJ2RvTm90UGVyZm9ybScpLnZhbHVlIGlzIHRydWUKICApCiAgdW5pb24gKCgKICAgIFsiRGV2aWNlUmVxdWVzdCI6IGNvZGUgaW4gIlZlbm91cyBmb290IHB1bXBzIChWRlApIl0KICAgICAgdW5pb24gWyJEZXZpY2VSZXF1ZXN0IjogY29kZSBpbiAiSW50ZXJtaXR0ZW50IHBuZXVtYXRpYyBjb21wcmVzc2lvbiBkZXZpY2VzIChJUEMpIl0KICAgICAgdW5pb24gWyJEZXZpY2VSZXF1ZXN0IjogY29kZSBpbiAiR3JhZHVhdGVkIGNvbXByZXNzaW9uIHN0b2NraW5ncyAoR0NTKSJdCiAgKSBECiAgICB3aGVyZSBELmludGVudCB+IFRvQ29uY2VwdCgiT3JkZXIiKQogICAgICAvL0pSOiB1cGRhdGVkIHRvIHVzZSB0aGUgR2xvYmFsIGdldCBleHRlbnNpb24KICAJICBhbmQgR2xvYmFsLkdldEV4dGVuc2lvbihELCAnZG9Ob3RQZXJmb3JtJykudmFsdWUgaXMgdHJ1ZQogICkKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIER1cmluZyBFRCBWaXNpdCI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJIkVEIFZpc2l0IiBFRFZpc2l0LAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgTm9WVEVEZXZpY2UKCXdoZXJlIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRURWaXNpdC5wZXJpb2QpIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJYW5kIChzaW5nbGV0b24gZnJvbSBOb1ZURURldmljZS5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIpCgkJYW5kIENvYWxlc2NlKE5vVlRFRGV2aWNlLmF1dGhvcmVkT24sIE5vVlRFRGV2aWNlLnJlY29yZGVkT24pIGR1cmluZyBGSElSSGVscGVycy5Ub0ludGVydmFsKEVEVmlzaXQucGVyaW9kKQoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgTm9WVEVEZXZpY2UKCXdoZXJlIChzaW5nbGV0b24gZnJvbSBOb1ZURURldmljZS5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIpCgkJYW5kIENvYWxlc2NlKE5vVlRFRGV2aWNlLmF1dGhvcmVkT24sIE5vVlRFRGV2aWNlLnJlY29yZGVkT24pIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIjoKCSgoWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiXQogIAl1bmlvbglbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdCiAgCXVuaW9uCVsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiSW5qZWN0YWJsZSBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMiXQogIAl1bmlvbglbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIldhcmZhcmluIl0KCSkgTWVkaWNhdGlvbkFkbQoJCXdoZXJlIE1lZGljYXRpb25BZG0ubm90R2l2ZW4gaXMgdHJ1ZQoJKQoJdW5pb24KCS8vSlI6IGNvZGUgaXMgbm90IGFuIGF0dHJpYnV0ZSBvZiBNZWRpY2F0aW9uUmVxdWVzdC4gIFVzZWQgbWVkaWNhdGlvbiBpbnN0ZWFkLgoJKChbIk1lZGljYXRpb25SZXF1ZXN0IjogbWVkaWNhdGlvbiBpbiAiTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0KICAJdW5pb24JWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdCiAgCXVuaW9uCVsiTWVkaWNhdGlvblJlcXVlc3QiOiBtZWRpY2F0aW9uIGluICJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyJdCiAgCXVuaW9uCVsiTWVkaWNhdGlvblJlcXVlc3QiOiBtZWRpY2F0aW9uIGluICJXYXJmYXJpbiJdCgkpIE1lZGljYXRpb25PcmRlcgoJd2hlcmUJTWVkaWNhdGlvbk9yZGVyLmludGVudCA9ICdvcmRlcicKICAgIC8vIFVwZGF0ZWQgdG8gdXNlIEdsb2JhbC5HZXRFeHRlbnNpb24KCQlhbmQgR2xvYmFsLkdldEV4dGVuc2lvbihNZWRpY2F0aW9uT3JkZXIsICdkb05vdFBlcmZvcm0nKS52YWx1ZSBpcyB0cnVlCgkpCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiRUQgVmlzaXQiIEVEVmlzaXQsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIiBOb1ZURU1lZGljYXRpb24KCQl3aGVyZSBGSElSSGVscGVycy5Ub0ludGVydmFsKEVEVmlzaXQucGVyaW9kKSBlbmRzIDEgaG91ciBvciBsZXNzIG9uIG9yIGJlZm9yZSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCQlhbmQgKHNpbmdsZXRvbiBmcm9tIE5vVlRFTWVkaWNhdGlvbi5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIpCgkJCWFuZCBDb2FsZXNjZShOb1ZURU1lZGljYXRpb24uYXV0aG9yZWRPbiwgc3RhcnQgb2YgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKE5vVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUpKSBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIE5vVlRFTWVkaWNhdGlvbgoJCXdoZXJlIChzaW5nbGV0b24gZnJvbSBOb1ZURU1lZGljYXRpb24ucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iKQoJCQlhbmQgQ29hbGVzY2UoTm9WVEVNZWRpY2F0aW9uLmF1dGhvcmVkT24sIHN0YXJ0IG9mIE5vVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUpIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgTm9WVEVEZXZpY2UKCQl3aGVyZSBOb1ZURURldmljZS5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIKCQkJYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kICBDb2FsZXNjZShOb1ZURURldmljZS5hdXRob3JlZE9uLCBOb1ZURURldmljZS5yZWNvcmRlZE9uKSBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkpCgkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCi8vRG9uZQpkZWZpbmUgIkFkbWlzc2lvbiBXaXRob3V0IFZURSBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIjoKCQkoR2xvYmFsLiJJbnBhdGllbnQgRW5jb3VudGVyIiBJbnBhdGllbnRFbmNvdW50ZXIKCQl3aGVyZSBub3QgKAoJCSAgICAvL0Nvbm5lY3RhdGhvbjogc3RpbGwgYnJva2VuOiB0ZW1wb3JhcmlseSByZW1vdmVkIHBlbmRpbmcgSEFQSSBGSElSIHNlcnZlciBmaXggZm9yIG1heENsYXVzZUNvdW50ID4gMTAyNAogICAgICAgICAgICAvL0dsb2JhbC5FbmNvdW50ZXJEaWFnbm9zaXMoSW5wYXRpZW50RW5jb3VudGVyKS5jb2RlIGluICJPYnN0ZXRyaWNzIiBvcgoJCQkJCQkJCUdsb2JhbC5FbmNvdW50ZXJEaWFnbm9zaXMoSW5wYXRpZW50RW5jb3VudGVyKS5jb2RlIGluICJWZW5vdXMgVGhyb21ib2VtYm9saXNtIgoJCQkJCQkJCW9yIEdsb2JhbC5FbmNvdW50ZXJEaWFnbm9zaXMoSW5wYXRpZW50RW5jb3VudGVyKS5jb2RlIGluICJPYnN0ZXRyaWNzIFZURSIKCQkJCQkJCSkKICAgICkKCQlpbnRlcnNlY3QgKEdsb2JhbC4iSW5wYXRpZW50IEVuY291bnRlciIgSW5wYXRpZW50RW5jb3VudGVyCgkJCQl3aXRob3V0ICgKICAgICAgICAgIC8vQ29ubmVjdGF0aG9uOiBzdGlsbCBicm9rZW46IHRlbXBvcmFyaWx5IHJlbW92ZWQgcGVuZGluZyBIQVBJIEZISVIgc2VydmVyIGZpeCBmb3IgbWF4Q2xhdXNlQ291bnQgPiAxMDI0CiAgICAgICAgICAgICAgLy9bIkNvbmRpdGlvbiI6IGNvZGUgaW4gIk9ic3RldHJpY3MiXSB1bmlvbgoJCQkJCQlbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIlZlbm91cyBUaHJvbWJvZW1ib2xpc20iXQoJCQkJCQl1bmlvbiBbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIk9ic3RldHJpY3MgVlRFIl0pCURpYWdub3NpcwoJCQkJc3VjaCB0aGF0IERpYWdub3Npcy5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnCiAgICAgICAgCQlhbmQgRGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCgkJCQkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoRGlhZ25vc2lzLm9uc2V0KSBkdXJpbmcgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb24iKElucGF0aWVudEVuY291bnRlcikKCQkJCQkJKQoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQlbIlByb2NlZHVyZSI6ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIl0gQW5lc3RoZXNpYVByb2NlZHVyZSwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIE5vVlRFTWVkaWNhdGlvbgoJCXdoZXJlIE5vVlRFTWVkaWNhdGlvbi5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIKCQkJYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kIENvYWxlc2NlKE5vVlRFTWVkaWNhdGlvbi5hdXRob3JlZE9uLCBzdGFydCBvZiBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoTm9WVEVNZWRpY2F0aW9uLmVmZmVjdGl2ZSkpIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihlbmQgb2YgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKSkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKCi8vRG9uZQpkZWZpbmUgIkVuY291bnRlciBMZXNzIFRoYW4gMiBEYXlzIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpKTwgMgoKCi8vRG9uZQpkZWZpbmUgIlNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiOgoJKAoJCS8vQ29ubmVjdGF0aG9uOiBzdGlsbCBicm9rZW46IHRlbXBvcmFyaWx5IHJlbW92ZWQgcGVuZGluZyBIQVBJIEZISVIgc2VydmVyIGZpeCBmb3IgbWF4Q2xhdXNlQ291bnQgPiAxMDI0CgkJLy8gWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBTdXJnZXJ5Il0KCQkvLyB1bmlvbgogICAgWyJQcm9jZWR1cmUiOiAiR3luZWNvbG9naWNhbCBTdXJnZXJ5Il0KCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJIaXAgRnJhY3R1cmUgU3VyZ2VyeSJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIkludHJhY3JhbmlhbCBOZXVyb3N1cmdlcnkiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIktuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiVXJvbG9naWNhbCBTdXJnZXJ5Il0gKSBQCgkJd2hlcmUgUC5zdGF0dXMgPSAnY29tcGxldGVkJwoKCi8vRG9uZQpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIjoKCShbIlByb2NlZHVyZVJlcXVlc3QiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIFAKCQl3aGVyZSBQLmludGVudCA9ICdvcmRlcicpCgkJdW5pb24KCQkoWyJQcm9jZWR1cmUiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIEludGVydmV0aW9uUGVyZm9ybWVkCgkJICB3aGVyZSBJbnRlcnZldGlvblBlcmZvcm1lZC5zdGF0dXMgPSAnY29tcGxldGVkJykKCi8vRG9uZQpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgU3RhcnQgb2YgSG9zcGl0YWxpemF0aW9uIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2l0aCAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIENvbWZvcnRNZWFzdXJlCgkJCXN1Y2ggdGhhdCBDb2FsZXNjZShDb21mb3J0TWVhc3VyZS5hdXRob3JlZE9uLCBzdGFydCBvZiBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29tZm9ydE1lYXN1cmUucGVyZm9ybWVkKSkgMSBkYXkgb3IgbGVzcyBvbiBvciBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb24iKFF1YWxpZnlpbmdFbmNvdW50ZXIpCgovL0RvbmUKZGVmaW5lICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsCgkJIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiBDb21mb3J0TWVhc3VyZQoJd2hlcmUgIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKSBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCWFuZCBDb2FsZXNjZShDb21mb3J0TWVhc3VyZS5hdXRob3JlZE9uLCBzdGFydCBvZiBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29tZm9ydE1lYXN1cmUucGVyZm9ybWVkKSkgMSBkYXkgb3IgbGVzcyBvbiBvciBhZnRlciBkYXkgb2YgZW5kIG9mIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkKCi8vRG9uZQpkZWZpbmUgIlZURSBQcm9waHlsYXhpcyBieSBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBEZXZpY2UgQXBwbGllZCI6CgkoIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0gVlRFTWVkaWNhdGlvbgoJCQl3aGVyZSBWVEVNZWRpY2F0aW9uLnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCQlhbmQgVlRFTWVkaWNhdGlvbi5kb3NhZ2Uucm91dGUgaW4gIlN1YmN1dGFuZW91cyByb3V0ZSIKICAgICAgcmV0dXJuIHN0YXJ0IG9mIFZURU1lZGljYXRpb24uZWZmZWN0aXZlCgkpCgkJLy9KUjogY29kZSBpcyBub3QgYW4gYXR0cmlidXRlIG9mIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi4gIFVzZWQgbWVkaWNhdGlvbiBpbnN0ZWFkLgoJCXVuaW9uIChbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdIFZURU1lZGljYXRpb24gcmV0dXJuIHN0YXJ0IG9mIFZURU1lZGljYXRpb24uZWZmZWN0aXZlKQoJCXVuaW9uIChbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIl0gVlRFTWVkaWNhdGlvbiByZXR1cm4gc3RhcnQgb2YgVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUpCgkJdW5pb24gKFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiV2FyZmFyaW4iXSBWVEVNZWRpY2F0aW9uIHJldHVybiBzdGFydCBvZiBWVEVNZWRpY2F0aW9uLmVmZmVjdGl2ZSkKCQl1bmlvbiAoCiAgICAgIChbIkRldmljZVVzZVN0YXRlbWVudCJdIERldmljZVVzZVN0YXRlbWVudAogICAgICAgIHdoZXJlIERldmljZVVzZVN0YXRlbWVudC5zdGF0dXMgPSAnY29tcGxldGVkJwogICAgICApIFZhbGlkRGV2aWNlVXNlU3RhdGVtZW50CiAgICAgICAgd2l0aCBbRGV2aWNlXSBEZXZpY2UKICAgICAgICAgIHN1Y2ggdGhhdCBMYXN0KFNwbGl0KFZhbGlkRGV2aWNlVXNlU3RhdGVtZW50LmRldmljZS5yZWZlcmVuY2UsICcvJykpID0gRGV2aWNlLmlkCiAgICAgICAgICAgIGFuZCAoRGV2aWNlLnR5cGUgaW4gIlZlbm91cyBmb290IHB1bXBzIChWRlApIgogICAgICAgICAgICAgIG9yIERldmljZS50eXBlIGluICJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiCiAgICAgICAgICAgICAgb3IgRGV2aWNlLnR5cGUgaW4gIkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiCiAgICAgICAgICAgICkKICAgICkgRGV2aWNlQXBwbGllZAogICAgICB3aGVyZSBEZXZpY2VBcHBsaWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICAgIHJldHVybiBDb2FsZXNjZShEZXZpY2VBcHBsaWVkLnJlY29yZGVkT24sIHN0YXJ0IG9mIERldmljZUFwcGxpZWQud2hlblVzZWQpCgovL0RvbmUKZGVmaW5lICJWVEUgUHJvcGh5bGF4aXMgUmVjZWl2ZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIjoKCSggZnJvbQoJCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkJIlZURSBQcm9waHlsYXhpcyBieSBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBEZXZpY2UgQXBwbGllZCIgVlRFUHJvcGh5bGF4aXNEYXRlCiAgICB3aGVyZSBWVEVQcm9waHlsYXhpc0RhdGUgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpKQogICAgcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCSkKCQl1bmlvbiAoIGZyb20KCQkJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCQkJWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsCgkJCQkiVlRFIFByb3BoeWxheGlzIGJ5IE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIERldmljZSBBcHBsaWVkIiBWVEVQcm9waHlsYXhpc0RhdGUKICAgICAgd2hlcmUgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKICAgICAgICBhbmQgVlRFUHJvcGh5bGF4aXNEYXRlIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihlbmQgb2YgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQpCiAgICAgIHJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJKQoKLy9Eb25lCmRlZmluZSAiTWVkaWNhdGlvbiBPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSI6CgkoIGZyb20KCQkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJCVsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMgb3IgVlRFIFRyZWF0bWVudCJdIEZhY3RvclhhTWVkaWNhdGlvbgoJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihGYWN0b3JYYU1lZGljYXRpb24uZWZmZWN0aXZlKSBzdGFydHMgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpKQoJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkpCgkJdW5pb24gKAogICAgICBmcm9tCgkJCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCQkJWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyBvciBWVEUgVHJlYXRtZW50Il0gRmFjdG9yWGFNZWRpY2F0aW9uCgkJCXdoZXJlIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJICBhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKSBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihGYWN0b3JYYU1lZGljYXRpb24uZWZmZWN0aXZlKSBzdGFydHMgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKGVuZCBvZiBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQpKQoJCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoJCSkKCi8vRG9uZQpkZWZpbmUgIkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgRGlhZ25vc2lzIG9mIEF0cmlhbCBGaWJyaWxsYXRpb24gb3IgVlRFIjoKCSggIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQkJd2l0aCBbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIkF0cmlhbCBGaWJyaWxsYXRpb24vRmx1dHRlciJdIEF0cmlhbEZpYnJpbGxhdGlvbgoJCQkJc3VjaCB0aGF0IEF0cmlhbEZpYnJpbGxhdGlvbi5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnCiAgCQkJCWFuZCBBdHJpYWxGaWJyaWxsYXRpb24udmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKICAJCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIE9uc2V0IihBdHJpYWxGaWJyaWxsYXRpb24ub25zZXQpIG9uIG9yIGJlZm9yZSBlbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCSkKCQl1bmlvbiAoICJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJCQl3aGVyZSBHbG9iYWwuRW5jb3VudGVyRGlhZ25vc2lzKFF1YWxpZnlpbmdFbmNvdW50ZXIpLmNvZGUgaW4gIkF0cmlhbCBGaWJyaWxsYXRpb24vRmx1dHRlciIKCQkJKQoJCXVuaW9uICggIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQkJCXdpdGggWyJDb25kaXRpb24iOiBjb2RlIGluICJWZW5vdXMgVGhyb21ib2VtYm9saXNtIl0gVlRFRGlhZ25vc2lzCgkJCQkJc3VjaCB0aGF0IFZURURpYWdub3Npcy5jbGluaWNhbFN0YXR1cyBpbiB7ICdpbmFjdGl2ZScsICdyZW1pc3Npb24nLCAncmVzb2x2ZWQnIH0KICAJCQkJCWFuZCBWVEVEaWFnbm9zaXMudmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKICAJCQkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoVlRFRGlhZ25vc2lzLm9uc2V0KSBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkpCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24gU3RheSAxIERheSBvciBNb3JlIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2hlcmUgZXhpc3RzICgKICAgICAgUXVhbGlmeWluZ0VuY291bnRlci5sb2NhdGlvbiBMb2NhdGlvbgogIAkJCXdoZXJlIEdsb2JhbC5HZXRMb2NhdGlvbihMb2NhdGlvbi5sb2NhdGlvbikudHlwZSBpbiAiSW50ZW5zaXZlIENhcmUgVW5pdCIKICAJCQkJYW5kIEdsb2JhbC4iTGVuZ3RoSW5EYXlzIihMb2NhdGlvbi5wZXJpb2QpPj0gMQogIAkJCQlhbmQgTG9jYXRpb24ucGVyaW9kIHN0YXJ0cyBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkpCgkJKQoKLy9Eb25lCmRlZmluZSAiRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBvZiBNZW50YWwgRGlzb3JkZXIgb3IgU3Ryb2tlIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2hlcmUKICAgICAgLy9Db25uZWN0YXRob246IHN0aWxsIGJyb2tlbjogdGVtcG9yYXJpbHkgcmVtb3ZlZCBwZW5kaW5nIEhBUEkgRkhJUiBzZXJ2ZXIgZml4IGZvciBtYXhDbGF1c2VDb3VudCA+IDEwMjQKICAgICAgLy9HbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKFF1YWxpZnlpbmdFbmNvdW50ZXIpLmNvZGUgaW4gIk1lbnRhbCBIZWFsdGggRGlhZ25vc2VzIgogICAgICAvL29yCiAgICAgIEdsb2JhbC5QcmluY2lwYWxEaWFnbm9zaXMoUXVhbGlmeWluZ0VuY291bnRlcikuY29kZSBpbiAiSGVtb3JyaGFnaWMgU3Ryb2tlIgoJCQlvciBHbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKFF1YWxpZnlpbmdFbmNvdW50ZXIpLmNvZGUgaW4gIklzY2hlbWljIFN0cm9rZSIKCi8vRG9uZQovLyBUT0RPOiBEZWZpbmUgYW4gb3JkaW5hbGl0eSBleHRlbnNpb24gdG8gYSBQcm9jZWR1cmUgcHJvZmlsZSBhbmQgYXNrIFBhdGllbnQgQWRtaW5pc3RyYXRpb24gYW5kL29yIFBhdGllbnQgQ2FyZSB0byByZXZpZXcKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgUHJvY2VkdXJlIG9mIFNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiOgoJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQkvL0Nvbm5lY3RhdGhvbjogcGVuZGluZyBjcWxfZW5naW5lIGZpeCAjMjYyIChGSElSIDMuMC4wIG1vZGVsIGluZm8gaXNzdWUgd2l0aCBFeHRlbnNpb24udXJsKQoJCXdpdGggKCAiU0NJUCBWVEUgU2VsZWN0ZWQgU3VyZ2VyeSIgUHJvY2VkdXJlCiAgICAgIC8vIFRPRE86IFZhbGlkYXRlIHRoYXQgdGhpcyBpcyB0aGUgY29ycmVjdCB3YXkgdG8gaW5kaWNhdGUgcHJpbmNpcGFsIHByb2NlZHVyZQoJCQl3aGVyZSBHbG9iYWwuR2V0RXh0ZW5zaW9uKFByb2NlZHVyZSwgJ29yZGluYWxpdHknKS52YWx1ZSB+ICJQcmluY2lwYWwiICkgU2VsZWN0ZWRQcm9jZWR1cmUKCQkJc3VjaCB0aGF0IEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihTZWxlY3RlZFByb2NlZHVyZS5wZXJmb3JtZWQpIGR1cmluZyBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoKLy9Eb25lCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6CgkiRW5jb3VudGVyIExlc3MgVGhhbiAyIERheXMiCgkJdW5pb24gIkVuY291bnRlciBXaXRoIElDVSBMb2NhdGlvbiBTdGF5IDEgRGF5IG9yIE1vcmUiCgkJdW5pb24gIkVuY291bnRlciBXaXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgb2YgTWVudGFsIERpc29yZGVyIG9yIFN0cm9rZSIKCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIFByb2NlZHVyZSBvZiBTQ0lQIFZURSBTZWxlY3RlZCBTdXJnZXJ5IgoJCXVuaW9uICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFN0YXJ0IG9mIEhvc3BpdGFsaXphdGlvbiIKCQl1bmlvbiAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIjoKCSggR2xvYmFsLiJJbnBhdGllbnQgRW5jb3VudGVyIiBJbnBhdGllbnRFbmNvdW50ZXIKCQkJd2l0aCBbIlBhdGllbnQiXSBCaXJ0aERhdGUKCQkJCXN1Y2ggdGhhdCBHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihUb0RhdGVUaW1lKEJpcnRoRGF0ZS5iaXJ0aERhdGUpLCBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKElucGF0aWVudEVuY291bnRlci5wZXJpb2QpKSA+PSAxOAoJKQoJCWludGVyc2VjdCAiQWRtaXNzaW9uIFdpdGhvdXQgVlRFIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBQcmlvciBvciBQcmVzZW50IFByb2NlZHVyZSBvZiBIaXAgb3IgS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2l0aCAoIFsiUHJvY2VkdXJlIjogIkhpcCBSZXBsYWNlbWVudCBTdXJnZXJ5Il0KCQkJdW5pb24gWyJQcm9jZWR1cmUiOiAiS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5Il0gKSBIaXBLbmVlUHJvY2VkdXJlCgkJCXN1Y2ggdGhhdCBIaXBLbmVlUHJvY2VkdXJlLnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEhpcEtuZWVQcm9jZWR1cmUucGVyZm9ybWVkKSBzdGFydHMgb24gb3IgYmVmb3JlIGVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoKLy9Eb25lCmRlZmluZSAiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCI6CgkiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBEdXJpbmcgRUQgVmlzaXQiCgkJdW5pb24gIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iCgkJdW5pb24gIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIE1lZGljYWwgUmVhc29uIjoKCSggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiCgkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IgoJKQoJCXVuaW9uICggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiIKCQkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iCgkJKQoJCXVuaW9uICggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIKCQkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiCgkJKQoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgRHVyaW5nIEVEIFZpc2l0IjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiRUQgVmlzaXQiIEVEVmlzaXQsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBQYXRpZW50UmVmdXNhbAoJd2hlcmUgRURWaXNpdC5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QKCQlhbmQgQ29hbGVzY2UoUGF0aWVudFJlZnVzYWwuZWZmZWN0aXZlLCBQYXRpZW50UmVmdXNhbC5hdXRob3JlZE9uLCBQYXRpZW50UmVmdXNhbC5yZWNvcmRlZE9uKSBkdXJpbmcgRURWaXNpdC5wZXJpb2QKCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBQYXRpZW50UmVmdXNhbAoJd2hlcmUgQ29hbGVzY2Uoc3RhcnQgb2YgUGF0aWVudFJlZnVzYWwuZWZmZWN0aXZlLCBQYXRpZW50UmVmdXNhbC5hdXRob3JlZE9uLCBQYXRpZW50UmVmdXNhbC5yZWNvcmRlZE9uKQogICAgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKHN0YXJ0IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQlbIlByb2NlZHVyZSI6ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIl0gQW5lc3RoZXNpYVByb2NlZHVyZSwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gb3IgRGV2aWNlIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiIFBhdGllbnRSZWZ1c2FsCgl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQpIGVuZHMgMSBkYXkgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kCgkJYW5kIENvYWxlc2NlKHN0YXJ0IG9mIFBhdGllbnRSZWZ1c2FsLmVmZmVjdGl2ZSwgUGF0aWVudFJlZnVzYWwuYXV0aG9yZWRPbiwgUGF0aWVudFJlZnVzYWwucmVjb3JkZWRPbikKICAgICAgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKGVuZCBvZiBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkKCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBvciBEZXZpY2UgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCI6CgkoICJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIKCQl1bmlvbiAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiICkgTm9WVEVQcm9waHlsYXhpcwoJCXdoZXJlIEdsb2JhbC5HZXRFeHRlbnNpb24oTm9WVEVQcm9waHlsYXhpcywgJ25vdERvbmVSZWFzb24nKS52YWx1ZSBpbiAiUGF0aWVudCBSZWZ1c2FsIgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiOgoJIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIER1cmluZyBFRCBWaXNpdCIKCQl1bmlvbiAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iCgkJdW5pb24gIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIgoKLy9Eb25lCmRlZmluZSAiTnVtZXJhdG9yIjoKCSJWVEUgUHJvcGh5bGF4aXMgUmVjZWl2ZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIgoJCXVuaW9uICggIk1lZGljYXRpb24gT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiBvciBQcm9jZWR1cmUiCgkJCQlpbnRlcnNlY3QgKCAiRW5jb3VudGVyIFdpdGggUHJpb3Igb3IgUHJlc2VudCBEaWFnbm9zaXMgb2YgQXRyaWFsIEZpYnJpbGxhdGlvbiBvciBWVEUiCgkJCQkJCXVuaW9uICJFbmNvdW50ZXIgV2l0aCBQcmlvciBvciBQcmVzZW50IFByb2NlZHVyZSBvZiBIaXAgb3IgS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IgoJCQkJKQoJCSkKCQl1bmlvbiAiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCIKCQl1bmlvbiAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBNZWRpY2FsIFJlYXNvbiIKCQl1bmlvbiAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiCgovL0RvbmUKZGVmaW5lICJJcyBJbiBMb3cgUmlzayBmb3IgVlRFIG9yIE9uIEFudGljb2FndWxhbnQiOgogICAgLy9Db25uZWN0YXRob246IHZlcmlmaWVkIHRoYXQgdGhpcyBpcyBjb3JyZWN0ZWQKCSggWyJPYnNlcnZhdGlvbiI6ICJSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtIl0gVlRFUmlza0Fzc2Vzc21lbnQKCQkJd2hlcmUgVlRFUmlza0Fzc2Vzc21lbnQudmFsdWUgaW4gIkxvdyBSaXNrIgoJKQoKLyoKLy8gVE9ETzogSXNzdWVzIHdpdGggY29uc3RydWN0aW5nIHRoZSBGSElSIHR5cGVzIGhlcmUuLi4KCQl1bmlvbiAoIFsiT2JzZXJ2YXRpb24iOiAiSU5SIl0gSU5STGFiVGVzdAoJCQkJd2hlcmUgSU5STGFiVGVzdC52YWx1ZSBhcyBRdWFudGl0eSA+IDMuMAoJCQkJcmV0dXJuICJPYnNlcnZhdGlvbiIgeyBpZDogSU5STGFiVGVzdC5pZCwgZWZmZWN0aXZlOiBJTlJMYWJUZXN0Lmlzc3VlZCB9CgkJKQoJCXVuaW9uICgoKCBbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6ICJVbmZyYWN0aW9uYXRlZCBIZXBhcmluIl0gVW5mcmFjdGlvbmF0ZWRIZXBhcmluCgkJCQkJd2hlcmUgVW5mcmFjdGlvbmF0ZWRIZXBhcmluLmRvc2FnZS5yb3V0ZSBpbiAiSW50cmF2ZW5vdXMgcm91dGUiCgkJCQkJCSkKCQkJCXVuaW9uIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogIkRpcmVjdCBUaHJvbWJpbiBJbmhpYml0b3IiXQoJCQkJdW5pb24gWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiAiR2x5Y29wcm90ZWluIElJYi9JSUlhIEluaGliaXRvcnMiXSApIEFudGljb2FndWxhbnRNZWRpY2F0aW9uCgkJCQkJcmV0dXJuICJPYnNlcnZhdGlvbiIgeyBpZDogQW50aWNvYWd1bGFudE1lZGljYXRpb24uaWQsIGVmZmVjdGl2ZTogc3RhcnQgb2YgZWZmZWN0aXZlfQoJCSkKKi8KCi8vRG9uZQpkZWZpbmUgIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgRHVyaW5nIEVEIFZpc2l0IjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiRUQgVmlzaXQiIEVEVmlzaXQsCgkJIklzIEluIExvdyBSaXNrIGZvciBWVEUgb3IgT24gQW50aWNvYWd1bGFudCIgVlRFUmlza0Fzc2Vzc21lbnQKCXdoZXJlIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRURWaXNpdC5wZXJpb2QpIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJYW5kIFZURVJpc2tBc3Nlc3NtZW50Lmlzc3VlZCBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkKCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2l0aCAiSXMgSW4gTG93IFJpc2sgZm9yIFZURSBvciBPbiBBbnRpY29hZ3VsYW50IiBWVEVSaXNrQXNzZXNzbWVudAoJCQlzdWNoIHRoYXQgVlRFUmlza0Fzc2Vzc21lbnQuaXNzdWVkIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCi8vRG9uZQpkZWZpbmUgIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCSJJcyBJbiBMb3cgUmlzayBmb3IgVlRFIG9yIE9uIEFudGljb2FndWxhbnQiIFZURVJpc2tBc3Nlc3NtZW50Cgl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQpIGVuZHMgMSBkYXkgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJYW5kIFZURVJpc2tBc3Nlc3NtZW50Lmlzc3VlZCBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkpCglyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgo=" diff --git a/fhir3/bundles/measure/EXM108_FHIR3-7.4.000/EXM108_FHIR3-7.4.000-files/library-deps-EXM108_FHIR3-7.4.000-bundle.json b/fhir3/bundles/measure/EXM108_FHIR3-7.4.000/EXM108_FHIR3-7.4.000-files/library-deps-EXM108_FHIR3-7.4.000-bundle.json new file mode 100644 index 00000000..e909778b --- /dev/null +++ b/fhir3/bundles/measure/EXM108_FHIR3-7.4.000/EXM108_FHIR3-7.4.000-files/library-deps-EXM108_FHIR3-7.4.000-bundle.json @@ -0,0 +1,185 @@ +{ + "resourceType": "Bundle", + "id": "library-deps-EXM108-FHIR3-7.4.000-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" + }, + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-2.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-2.0.000
Type: Logic Library
Version: 2.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '2.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t    and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] C where C.id = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t\treturn singleton from ([Condition] C where C.id = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "2.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMDUiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIwNSIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVSIiBpZD0iRVIiIGRpc3BsYXk9IkVtZXJnZW5jeSByb29tIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSUNVIiBpZD0iSUNVIiBkaXNwbGF5PSJJbnRlbnNpdmUgY2FyZSB1bml0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikxlbmd0aEluRGF5cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGlmZmVyZW5jZUJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJJbnBhdGllbnQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgIDx5ZWFyIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwveWVhcj4NCiAgICAgICAgICAgIDxtb250aCBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9tb250aD4NCiAgICAgICAgICAgIDxkYXkgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L2RheT4NCiAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHRpbWV6b25lT2Zmc2V0IHhzaTp0eXBlPSJUaW1lem9uZUZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3RpbWV6b25lT2Zmc2V0Pg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2RheSIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbk1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImhvdXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDxlbHNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlgiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFREVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFREVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgIDx0aGVuIHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTGVuZ3RoIG9mIFN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQWRtaXNzaW9uIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIERpc2NoYXJnZSBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGl0YWxMb2NhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8c29ydD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxieSBkaXJlY3Rpb249ImFzYyIgeHNpOnR5cGU9IkJ5RXhwcmVzc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvbmRpdGlvbiIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyb2xlIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpbGxpbmciIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlZ2VyIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyYW5rIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29uZGl0aW9uIiBzY29wZT0iUEQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldExvY2F0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxvY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkxvY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlZmVyZW5jZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0RXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldFByb3ZlbmFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm92ZW5hbmNlIiBjb2RlUHJvcGVydHk9InRhcmdldCIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldE1lZGljYXRpb25Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlcXVlc3QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVxdWVzdCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwoKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnCmNvZGUgIkVSIjogJ0VSJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnRW1lcmdlbmN5IHJvb20nCmNvZGUgIklDVSI6ICdJQ1UnIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdJbnRlbnNpdmUgY2FyZSB1bml0Jwpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIiOgoJW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFbmNvdW50ZXJJbnBhdGllbnQKCQl3aGVyZSBFbmNvdW50ZXJJbnBhdGllbnQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCSAgICBhbmQgIkxlbmd0aEluRGF5cyIoRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCkgPD0gMTIwCgkJCWFuZCBFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kIGVuZHMgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgZnVuY3Rpb24gIlRvRGF0ZSIoVmFsdWUgRGF0ZVRpbWUpOgoJRGF0ZVRpbWUoeWVhciBmcm9tIFZhbHVlLCBtb250aCBmcm9tIFZhbHVlLCBkYXkgZnJvbSBWYWx1ZSwgMCwgMCwgMCwgMCwgdGltZXpvbmUgZnJvbSBWYWx1ZSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbkRheXNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6CglkYXlzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5cyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluRGF5c0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6Cgltb250aHMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCXllYXJzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluWWVhcnMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJblllYXJzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiTGVuZ3RoSW5EYXlzIihWYWx1ZSBJbnRlcnZhbDxEYXRlVGltZT4pOgoJZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgVmFsdWUgYW5kIGVuZCBvZiBWYWx1ZQoKZGVmaW5lIGZ1bmN0aW9uICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKICAgIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXSBFRFZpc2l0CiAgICAgICAgICAgIHdoZXJlIEVEVmlzaXQuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgICAgICAgICAgICAgYW5kIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCkKICAgICkKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJKCAiRUQgVmlzaXQiKFRoZUVuY291bnRlcikgKSBYCiAgICByZXR1cm4KICAgICAgICBpZiBYIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgZWxzZSBJbnRlcnZhbFtzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFgucGVyaW9kKSwgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCldCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIEVERW5jb3VudGVyCiAgICByZXR1cm4KICAgICAgICBpZiBFREVuY291bnRlciBpcyBudWxsIHRoZW4gVGhlRW5jb3VudGVyLmxvY2F0aW9uCiAgICAgICAgZWxzZSBmbGF0dGVuIHsgRURFbmNvdW50ZXIubG9jYXRpb24sIFRoZUVuY291bnRlci5sb2NhdGlvbiB9CgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMZW5ndGggb2YgU3RheSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCUxlbmd0aEluRGF5cygiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIpKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWwgRGlzY2hhcmdlIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgllbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEZpcnN0KAoJICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCXNvcnQgYnkgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChwZXJpb2QpCgkpLnBlcmlvZCkKCi8vIFRPRE8gLSBmaXggdGhlc2UgKG11c3QgZmV0Y2ggTG9jYXRpb24gcmVzb3VyY2VzIGFuZCBjb21wYXJlIGlkIHRvIHJlZmVyZW5jZSkKLypkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIERlcGFydHVyZSBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoTGFzdCgKCSAgICAoICJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIihUaGVFbmNvdW50ZXIpICkgSG9zcGl0YWxMb2NhdGlvbgoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkVtZXJnZW5jeSBEZXBhcnRtZW50IEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoKAoJICAgIHNpbmdsZXRvbiBmcm9tICgKCSAgICAgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJFUiIKCQkpCgkpLnBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiRmlyc3QgSW5wYXRpZW50IEludGVuc2l2ZSBDYXJlIFVuaXQiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglGaXJzdCgKCSAgICAoIFRoZUVuY291bnRlci5sb2NhdGlvbiApIEhvc3BpdGFsTG9jYXRpb24KCQkJd2hlcmUgSG9zcGl0YWxMb2NhdGlvbi50eXBlIH4gIklDVSIKCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgVGhlRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKSovCgovKgoqCiogICAgQ1FGTWVhc3VyZXMgQ29tbW9uIExvZ2ljCioKKi8KCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgogIGlmIG9uc2V0IGlzIEZISVIuZGF0ZVRpbWUgdGhlbgoJICBJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLlBlcmlvZCB0aGVuCgkgIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwob25zZXQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIG9uc2V0IGlzIEZISVIuQWdlIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpLAoJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpICsgMSB5ZWFyKQoJZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbiBDb25kaXRpb24pOgoJaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5kYXRlVGltZSldCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5BZ2UgdGhlbgoJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLAoJCQlGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmJvb2xlYW4gdGhlbgoJICBJbnRlcnZhbFtlbmQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgY29uZGl0aW9uLmFzc2VydGVkRGF0ZSkKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJHZXRQcmV2YWxlbmNlUGVyaW9kIihjb25kaXRpb24gQ29uZGl0aW9uKToKICBJbnRlcnZhbFtzdGFydCBvZiAiTm9ybWFsaXplIE9uc2V0Iihjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbikpCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBJbnRlcnZhbCIoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZD4pOgogIGlmIGNob2ljZSBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5kYXRlVGltZSksIEZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZQoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNob2ljZSBhcyBGSElSLlBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcpOgoJTGFzdChTcGxpdCh1cmksICcvJykpCgpkZWZpbmUgZnVuY3Rpb24gIkVuY291bnRlckRpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6CiAgRW5jb3VudGVyLmRpYWdub3NpcyBECiAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKFtDb25kaXRpb25dIEMgd2hlcmUgQy5pZCA9ICJHZXRJZCIoRC5jb25kaXRpb24ucmVmZXJlbmNlKSkKCi8vIFJldHVybnMgdGhlIGNvbmRpdGlvbiB0aGF0IGlzIHNwZWNpZmllZCBhcyB0aGUgcHJpbmNpcGFsIGRpYWdub3NpcyBmb3IgdGhlIGVuY291bnRlcgpkZWZpbmUgZnVuY3Rpb24gIlByaW5jaXBhbERpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6Cgkoc2luZ2xldG9uIGZyb20gKEVuY291bnRlci5kaWFnbm9zaXMgRCB3aGVyZSBELnJvbGUgfiBUb0NvbmNlcHQoIkJpbGxpbmciKSBhbmQgRC5yYW5rID0gMSkpIFBECgkJcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDIHdoZXJlIEMuaWQgPSAiR2V0SWQiKFBELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgbG9jYXRpb24gZm9yIHRoZSBnaXZlbiBsb2NhdGlvbiByZWZlcmVuY2UKZGVmaW5lIGZ1bmN0aW9uIEdldExvY2F0aW9uKHJlZmVyZW5jZSBSZWZlcmVuY2UpOgogIHNpbmdsZXRvbiBmcm9tICgKICAgIFtMb2NhdGlvbl0gTG9jYXRpb24gd2hlcmUgTG9jYXRpb24uaWQudmFsdWUgPSBHZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKQogICkKCi8qCk5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlCkNRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nICsgdXJsKQoJCXJldHVybiBFCgpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UsIHVybCkKCi8qCk5PVEU6IFByb3ZlbmFuY2UgaXMgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIHRoaXMgaXMgcHJvdmlkZWQgb25seSBhcyBhbiBpbGx1c3RyYXRpb24KZm9yIHdoYXQgdXNpbmcgUHJvdmVuYW5jZSBjb3VsZCBsb29rIGxpa2UsIGFuZCBpcyBub3QgYSB0ZXN0ZWQgcGF0dGVybgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldFByb3ZlbmFuY2UiKHJlc291cmNlIFJlc291cmNlKToKICBzaW5nbGV0b24gZnJvbSAoW1Byb3ZlbmFuY2U6IHRhcmdldCBpbiByZXNvdXJjZS5pZF0pCgpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Db2RlIihyZXF1ZXN0IE1lZGljYXRpb25SZXF1ZXN0KToKICBpZiByZXF1ZXN0Lm1lZGljYXRpb24gaXMgQ29kZWFibGVDb25jZXB0IHRoZW4KCSAgcmVxdWVzdC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdAoJZWxzZQoJICAoc2luZ2xldG9uIGZyb20gKFtNZWRpY2F0aW9uOiBpZCBpbiBHZXRJZCgocmVxdWVzdC5tZWRpY2F0aW9uIGFzIFJlZmVyZW5jZSkucmVmZXJlbmNlKV0pKS5jb2RlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-SupplementalDataElements-FHIR3-1.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-SupplementalDataElements-FHIR3-1.0.0
Type: Logic Library
Version: 1.0.0
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Coverage

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591

Content: type: text/cql
library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Payer":\n    [Coverage: type in "Payer"] Payer\n      return {\n        code: Payer.type,\n        period: Payer.period\n      }\n\ndefine "SDE Race":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Sex":\n  case\n    when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n    when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n    else null\n  end\n
\n \n \n
\n
" + }, + "version": "1.0.0", + "name": "SupplementalDataElements_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-VTEICU-FHIR3-2.4.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-VTEICU-FHIR3-2.4.000
Type: Logic Library
Version: 2.4.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

Content: type: text/cql
library VTEICU_FHIR3 version '2.4.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Common\n\n// TODO: Determine how to reference a particular version of LOINC\ncodesystem "LOINC:2.46": 'http://loinc.org' version 'urn:hl7:version:2.46'\ncodesystem "SNOMEDCT:2016-03": 'http://snomed.info/sct/731000124108' version 'http://snomed.info/sct/731000124108/version/201603'\n\nvalueset "Intensive Care Unit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.23'\n\ncode "Birthdate": '21112-8' from "LOINC:2.46" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT:2016-03" display 'Dead'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarDayOfOrDayAfter"(StartValue DateTime):\n\tInterval[StartValue, ToDate(StartValue + 2 days))\n\ndefine function "Start of First ICU"(Encounter "Encounter"):\n\tstart of "First Intensive Care Unit"(Encounter).period\n\ndefine function "First Intensive Care Unit"(Encounter "Encounter"):\n\tFirst(Encounter.location L\n\t\t\twhere Common.GetLocation(L.location).type in "Intensive Care Unit"\n\t\t\t\tand L.period during Encounter.period\n\t\t\tsort by start of period\n\t)\n
\n \n \n
\n
" + }, + "version": "2.4.000", + "name": "VTEICU_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlZURUlDVV9GSElSMyIgdmVyc2lvbj0iMi40LjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJDb21tb24iIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQzoyLjQ2IiBpZD0iaHR0cDovL2xvaW5jLm9yZyIgdmVyc2lvbj0idXJuOmhsNzp2ZXJzaW9uOjIuNDYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1Q6MjAxNi0wMyIgaWQ9Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4IiB2ZXJzaW9uPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOC92ZXJzaW9uLzIwMTYwMyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC9jb2RlU3lzdGVtcz4NCiAgIDx2YWx1ZVNldHM+DQogICAgICA8ZGVmIG5hbWU9IkludGVuc2l2ZSBDYXJlIFVuaXQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DOjIuNDYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZWFkIiBpZD0iNDE5MDk5MDA5IiBkaXNwbGF5PSJEZWFkIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlNOT01FRENUOjIwMTYtMDMiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICA8eWVhciBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3llYXI+DQogICAgICAgICAgICA8bW9udGggcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvbW9udGg+DQogICAgICAgICAgICA8ZGF5IHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9kYXk+DQogICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDx0aW1lem9uZU9mZnNldCB4c2k6dHlwZT0iVGltZXpvbmVGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC90aW1lem9uZU9mZnNldD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgPGxvdyBuYW1lPSJTdGFydFZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJTdGFydFZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iU3RhcnRWYWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkZpcnN0IEludGVuc2l2ZSBDYXJlIFVuaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTCI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InR5cGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldExvY2F0aW9uIiBsaWJyYXJ5TmFtZT0iQ29tbW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG9jYXRpb24iIHNjb3BlPSJMIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkludGVuc2l2ZSBDYXJlIFVuaXQiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmNsdWRlZEluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9IklkZW50aWZpZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgIDwvYnk+DQogICAgICAgICAgICAgICA8L3NvcnQ+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTdGFydCBvZiBGaXJzdCBJQ1UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJGaXJzdCBJbnRlbnNpdmUgQ2FyZSBVbml0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBWVEVJQ1VfRkhJUjMgdmVyc2lvbiAnMi40LjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgQ29tbW9uCgovLyBUT0RPOiBEZXRlcm1pbmUgaG93IHRvIHJlZmVyZW5jZSBhIHBhcnRpY3VsYXIgdmVyc2lvbiBvZiBMT0lOQwpjb2Rlc3lzdGVtICJMT0lOQzoyLjQ2IjogJ2h0dHA6Ly9sb2luYy5vcmcnIHZlcnNpb24gJ3VybjpobDc6dmVyc2lvbjoyLjQ2Jwpjb2Rlc3lzdGVtICJTTk9NRURDVDoyMDE2LTAzIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4JyB2ZXJzaW9uICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOC92ZXJzaW9uLzIwMTYwMycKCnZhbHVlc2V0ICJJbnRlbnNpdmUgQ2FyZSBVbml0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4yMycKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQzoyLjQ2IiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1Q6MjAxNi0wMyIgZGlzcGxheSAnRGVhZCcKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lIGZ1bmN0aW9uICJUb0RhdGUiKFZhbHVlIERhdGVUaW1lKToKCURhdGVUaW1lKHllYXIgZnJvbSBWYWx1ZSwgbW9udGggZnJvbSBWYWx1ZSwgZGF5IGZyb20gVmFsdWUsIDAsIDAsIDAsIDAsIHRpbWV6b25lIGZyb20gVmFsdWUpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihTdGFydFZhbHVlIERhdGVUaW1lKToKCUludGVydmFsW1N0YXJ0VmFsdWUsIFRvRGF0ZShTdGFydFZhbHVlICsgMiBkYXlzKSkKCmRlZmluZSBmdW5jdGlvbiAiU3RhcnQgb2YgRmlyc3QgSUNVIihFbmNvdW50ZXIgIkVuY291bnRlciIpOgoJc3RhcnQgb2YgIkZpcnN0IEludGVuc2l2ZSBDYXJlIFVuaXQiKEVuY291bnRlcikucGVyaW9kCgpkZWZpbmUgZnVuY3Rpb24gIkZpcnN0IEludGVuc2l2ZSBDYXJlIFVuaXQiKEVuY291bnRlciAiRW5jb3VudGVyIik6CglGaXJzdChFbmNvdW50ZXIubG9jYXRpb24gTAoJCQl3aGVyZSBDb21tb24uR2V0TG9jYXRpb24oTC5sb2NhdGlvbikudHlwZSBpbiAiSW50ZW5zaXZlIENhcmUgVW5pdCIKCQkJCWFuZCBMLnBlcmlvZCBkdXJpbmcgRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIHBlcmlvZAoJKQo=" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-VTEICU-FHIR3-2.4.000" + } + } ] +} \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM108_FHIR3-7.4.000/EXM108_FHIR3-7.4.000-files/measure-EXM108_FHIR3-7.4.000.json b/fhir3/bundles/measure/EXM108_FHIR3-7.4.000/EXM108_FHIR3-7.4.000-files/measure-EXM108_FHIR3-7.4.000.json index 6c28f490..fac7ab54 100644 --- a/fhir3/bundles/measure/EXM108_FHIR3-7.4.000/EXM108_FHIR3-7.4.000-files/measure-EXM108_FHIR3-7.4.000.json +++ b/fhir3/bundles/measure/EXM108_FHIR3-7.4.000/EXM108_FHIR3-7.4.000-files/measure-EXM108_FHIR3-7.4.000.json @@ -8,7 +8,7 @@ }, "text": { "status": "generated", - "div": "
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Measurement Periodnull - null
Copyright and Disclaimer Notice\n
\n \n \n
HEDIS%26reg; is a registered trademark of the National Committee for Quality Assurance (NCQA). The HEDIS measures and specifications are owned by NCQA. NCQA holds a copyright in the HEDIS measures and specifications and may rescind or alter these measures and specifications at any time. Users of the HEDIS measures and specifications shall not have the right to alter, enhance or otherwise modify the HEDIS measures and specifications, and shall not disassemble, recompile or reverse engineer the HEDIS measures and specifications. Anyone desiring to use or reproduce the materials, subject to licensed user restrictions, without modification for an internal, non-commercial purpose may do so without obtaining any approval from NCQA. Use of the Rules for Allowable Adjustments of HEDIS to make permitted adjustments of the materials does not constitute a modification. All other uses, including a commercial use, or any external reproduction, distribution and publication must be approved by NCQA and are subject to a license at the discretion of NCQA.\n\nHEDIS measures and specifications are not clinical guidelines, do not establish a standard of medical care and have not been tested for all potential applications. The measures and specifications are provided “as is” without warranty of any kind. NCQA makes no representations, warranties or endorsements about the quality of any product, test or protocol identified as numerator compliant or otherwise identified as meeting the requirements of a HEDIS measure or specification. NCQA also makes no representations, warranties or endorsements about the quality of any organization or clinician who uses or reports performance measures. NCQA has no liability to anyone who relies on HEDIS measures and specifications or data reflective of performance under such measures and specifications.\n\nCalculated measure results, based on unadjusted HEDIS specifications, may not be termed “Health Plan HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Uncertified, Unaudited Health Plan HEDIS Rates.”\n\nCalculated measure results, based on adjusted HEDIS specifications, may not be termed “Adjusted HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Adjusted, Uncertified, Unaudited HEDIS Rates.”\n\nLimited proprietary coding is contained in the measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. NCQA disclaims all liability for use or accuracy of any coding contained in the specifications.\n\nThe American Medical Association holds a copyright to the CPT%26reg; codes contained in the measures specifications.\n\nThe American Hospital Association holds a copyright to the Uniform Bill Codes (UB) contained in the measure specifications. The UB Codes in the HEDIS specifications are included with the permission of the AHA. The UB Codes contained in the HEDIS specifications may be used by health plans and other health care delivery organizations for the purpose of calculating and reporting HEDIS measure results or using HEDIS measure results for their internal quality improvement purposes. All other uses of the UB Codes require a license from the AHA. Anyone desiring to use the UB Codes in a commercial Product(s) to generate HEDIS results, or for any other commercial use, must obtain a commercial use license directly from the AHA. To inquire about licensing, contact ub04@healthforum.com.\n\nSome measure specifications contain coding from LOINC%26reg; (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright %26copy; 1995-2019, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/terms-of-use.\n\n"SNOMED” and “SNOMED CT” are registered trademarks of the International Health Terminology Standards Development Organization (IHTSDO).\n\n“HL7” is the registered trademark of Health Level Seven International.\n\n%26copy; 2019 by the National Committee for Quality Assurance, all rights reserved.
\n
\n
Characteristics
Improvement Notation
Definitions
\n \n \n
\n \n \n \n \n
\n

Table of Contents

\n \n
\n \n

Definitions

\n \n

Functions

\n \n

Terminology

\n
\n
    \n \n
\n
\n

Data Criteria (QDM Data Elements)

\n
\n
    \n \n
\n
\n

Supplemental Data Elements

\n \n
\n
    \n
  • None
  • \n
\n
\n

Risk Adjustment Variables

\n
\n
    \n
  • None
  • \n
\n
\n
\n \n \n \n
\n
" + "div": "
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Measurement Periodnull - null
Copyright and Disclaimer Notice\n
\n \n \n
HEDIS%26reg; is a registered trademark of the National Committee for Quality Assurance (NCQA). The HEDIS measures and specifications are owned by NCQA. NCQA holds a copyright in the HEDIS measures and specifications and may rescind or alter these measures and specifications at any time. Users of the HEDIS measures and specifications shall not have the right to alter, enhance or otherwise modify the HEDIS measures and specifications, and shall not disassemble, recompile or reverse engineer the HEDIS measures and specifications. Anyone desiring to use or reproduce the materials, subject to licensed user restrictions, without modification for an internal, non-commercial purpose may do so without obtaining any approval from NCQA. Use of the Rules for Allowable Adjustments of HEDIS to make permitted adjustments of the materials does not constitute a modification. All other uses, including a commercial use, or any external reproduction, distribution and publication must be approved by NCQA and are subject to a license at the discretion of NCQA.\n\nHEDIS measures and specifications are not clinical guidelines, do not establish a standard of medical care and have not been tested for all potential applications. The measures and specifications are provided “as is” without warranty of any kind. NCQA makes no representations, warranties or endorsements about the quality of any product, test or protocol identified as numerator compliant or otherwise identified as meeting the requirements of a HEDIS measure or specification. NCQA also makes no representations, warranties or endorsements about the quality of any organization or clinician who uses or reports performance measures. NCQA has no liability to anyone who relies on HEDIS measures and specifications or data reflective of performance under such measures and specifications.\n\nCalculated measure results, based on unadjusted HEDIS specifications, may not be termed “Health Plan HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Uncertified, Unaudited Health Plan HEDIS Rates.”\n\nCalculated measure results, based on adjusted HEDIS specifications, may not be termed “Adjusted HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Adjusted, Uncertified, Unaudited HEDIS Rates.”\n\nLimited proprietary coding is contained in the measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. NCQA disclaims all liability for use or accuracy of any coding contained in the specifications.\n\nThe American Medical Association holds a copyright to the CPT%26reg; codes contained in the measures specifications.\n\nThe American Hospital Association holds a copyright to the Uniform Bill Codes (UB) contained in the measure specifications. The UB Codes in the HEDIS specifications are included with the permission of the AHA. The UB Codes contained in the HEDIS specifications may be used by health plans and other health care delivery organizations for the purpose of calculating and reporting HEDIS measure results or using HEDIS measure results for their internal quality improvement purposes. All other uses of the UB Codes require a license from the AHA. Anyone desiring to use the UB Codes in a commercial Product(s) to generate HEDIS results, or for any other commercial use, must obtain a commercial use license directly from the AHA. To inquire about licensing, contact ub04@healthforum.com.\n\nSome measure specifications contain coding from LOINC%26reg; (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright %26copy; 1995-2019, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/terms-of-use.\n\n"SNOMED” and “SNOMED CT” are registered trademarks of the International Health Terminology Standards Development Organization (IHTSDO).\n\n“HL7” is the registered trademark of Health Level Seven International.\n\n%26copy; 2019 by the National Committee for Quality Assurance, all rights reserved.
\n
\n
Characteristics
Improvement Notation
Definitions
\n \n \n
\n \n \n \n \n
\n

Table of Contents

\n \n
\n \n

Definitions

\n \n

Functions

\n \n

Terminology

\n
\n
    \n \n
\n
\n

Data Criteria (QDM Data Elements)

\n
\n
    \n \n
\n
\n

Supplemental Data Elements

\n \n
\n
    \n
  • None
  • \n
\n
\n

Risk Adjustment Variables

\n
\n
    \n
  • None
  • \n
\n
\n
\n \n \n \n
\n
" }, "extension": [ { "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", diff --git a/fhir3/bundles/measure/EXM124_FHIR3-7.2.000/EXM124_FHIR3-7.2.000-bundle.json b/fhir3/bundles/measure/EXM124_FHIR3-7.2.000/EXM124_FHIR3-7.2.000-bundle.json index 8934e196..83aeace4 100644 --- a/fhir3/bundles/measure/EXM124_FHIR3-7.2.000/EXM124_FHIR3-7.2.000-bundle.json +++ b/fhir3/bundles/measure/EXM124_FHIR3-7.2.000/EXM124_FHIR3-7.2.000-bundle.json @@ -4,38 +4,337 @@ "type": "transaction", "entry": [ { "resource": { - "resourceType": "Bundle", - "id": "tests-Observation-bundle", - "type": "transaction", - "entry": [ { - "resource": { - "resourceType": "Observation", - "id": "denom-EXM124-FHIR3-2", - "meta": { - "profile": [ "http://www.http://hl7.org/fhir/FHIR3/observation" ] - }, - "status": "final", - "code": { - "coding": [ { - "system": "http://loinc.org", - "code": "10524-7", - "display": "Microscopic observation [Identifier] in Cervix by Cyto stain" - } ] - }, - "subject": { - "reference": "Patient/denom-EXM124-FHIR3" - }, - "effectiveDateTime": "2019-11-01T00:00:00" - }, - "request": { - "method": "PUT", - "url": "Observation/denom-EXM124-FHIR3-2" - } - } ] + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1014", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1014", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1014" + } ], + "version": "20170504", + "name": "HysterectomywithNoResidualCervix", + "title": "Hysterectomy with No Residual Cervix", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "1998", + "concept": [ { + "code": "56308", + "display": "Laparoscopy, surgical; with vaginal hysterectomy with or without removal of tube(s), with or without removal of ovary(s) (laparoscopic assisted vaginal hysterectomy)" + } ] + }, { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "51925", + "display": "Closure of vesicouterine fistula; with hysterectomy" + }, { + "code": "57540", + "display": "Excision of cervical stump, abdominal approach" + }, { + "code": "57545", + "display": "Excision of cervical stump, abdominal approach; with pelvic floor repair" + }, { + "code": "57550", + "display": "Excision of cervical stump, vaginal approach" + }, { + "code": "57555", + "display": "Excision of cervical stump, vaginal approach; with anterior and/or posterior repair" + }, { + "code": "57556", + "display": "Excision of cervical stump, vaginal approach; with repair of enterocele" + }, { + "code": "58150", + "display": "Total abdominal hysterectomy (corpus and cervix), with or without removal of tube(s), with or without removal of ovary(s)" + }, { + "code": "58152", + "display": "Total abdominal hysterectomy (corpus and cervix), with or without removal of tube(s), with or without removal of ovary(s); with colpo-urethrocystopexy (eg, Marshall-Marchetti-Krantz, Burch)" + }, { + "code": "58200", + "display": "Total abdominal hysterectomy, including partial vaginectomy, with para-aortic and pelvic lymph node sampling, with or without removal of tube(s), with or without removal of ovary(s)" + }, { + "code": "58210", + "display": "Radical abdominal hysterectomy, with bilateral total pelvic lymphadenectomy and para-aortic lymph node sampling (biopsy), with or without removal of tube(s), with or without removal of ovary(s)" + }, { + "code": "58240", + "display": "Pelvic exenteration for gynecologic malignancy, with total abdominal hysterectomy or cervicectomy, with or without removal of tube(s), with or without removal of ovary(s), with removal of bladder and ureteral transplantations, and/or abdominoperineal resection of rectum and colon and colostomy, or any combination thereof" + }, { + "code": "58260", + "display": "Vaginal hysterectomy, for uterus 250 g or less" + }, { + "code": "58262", + "display": "Vaginal hysterectomy, for uterus 250 g or less; with removal of tube(s), and/or ovary(s)" + }, { + "code": "58263", + "display": "Vaginal hysterectomy, for uterus 250 g or less; with removal of tube(s), and/or ovary(s), with repair of enterocele" + }, { + "code": "58267", + "display": "Vaginal hysterectomy, for uterus 250 g or less; with colpo-urethrocystopexy (Marshall-Marchetti-Krantz type, Pereyra type) with or without endoscopic control" + }, { + "code": "58270", + "display": "Vaginal hysterectomy, for uterus 250 g or less; with repair of enterocele" + }, { + "code": "58275", + "display": "Vaginal hysterectomy, with total or partial vaginectomy" + }, { + "code": "58280", + "display": "Vaginal hysterectomy, with total or partial vaginectomy; with repair of enterocele" + }, { + "code": "58285", + "display": "Vaginal hysterectomy, radical (Schauta type operation)" + }, { + "code": "58290", + "display": "Vaginal hysterectomy, for uterus greater than 250 g" + }, { + "code": "58291", + "display": "Vaginal hysterectomy, for uterus greater than 250 g; with removal of tube(s) and/or ovary(s)" + }, { + "code": "58292", + "display": "Vaginal hysterectomy, for uterus greater than 250 g; with removal of tube(s) and/or ovary(s), with repair of enterocele" + }, { + "code": "58293", + "display": "Vaginal hysterectomy, for uterus greater than 250 g; with colpo-urethrocystopexy (Marshall-Marchetti-Krantz type, Pereyra type) with or without endoscopic control" + }, { + "code": "58294", + "display": "Vaginal hysterectomy, for uterus greater than 250 g; with repair of enterocele" + }, { + "code": "58548", + "display": "Laparoscopy, surgical, with radical hysterectomy, with bilateral total pelvic lymphadenectomy and para-aortic lymph node sampling (biopsy), with removal of tube(s) and ovary(s), if performed" + }, { + "code": "58550", + "display": "Laparoscopy, surgical, with vaginal hysterectomy, for uterus 250 g or less" + }, { + "code": "58552", + "display": "Laparoscopy, surgical, with vaginal hysterectomy, for uterus 250 g or less; with removal of tube(s) and/or ovary(s)" + }, { + "code": "58553", + "display": "Laparoscopy, surgical, with vaginal hysterectomy, for uterus greater than 250 g" + }, { + "code": "58554", + "display": "Laparoscopy, surgical, with vaginal hysterectomy, for uterus greater than 250 g; with removal of tube(s) and/or ovary(s)" + }, { + "code": "58570", + "display": "Laparoscopy, surgical, with total hysterectomy, for uterus 250 g or less" + }, { + "code": "58571", + "display": "Laparoscopy, surgical, with total hysterectomy, for uterus 250 g or less; with removal of tube(s) and/or ovary(s)" + }, { + "code": "58572", + "display": "Laparoscopy, surgical, with total hysterectomy, for uterus greater than 250 g" + }, { + "code": "58573", + "display": "Laparoscopy, surgical, with total hysterectomy, for uterus greater than 250 g; with removal of tube(s) and/or ovary(s)" + }, { + "code": "58951", + "display": "Resection (initial) of ovarian, tubal or primary peritoneal malignancy with bilateral salpingo-oophorectomy and omentectomy; with total abdominal hysterectomy, pelvic and limited para-aortic lymphadenectomy" + }, { + "code": "58953", + "display": "Bilateral salpingo-oophorectomy with omentectomy, total abdominal hysterectomy and radical dissection for debulking" + }, { + "code": "58954", + "display": "Bilateral salpingo-oophorectomy with omentectomy, total abdominal hysterectomy and radical dissection for debulking; with pelvic lymphadenectomy and limited para-aortic lymphadenectomy" + }, { + "code": "58956", + "display": "Bilateral salpingo-oophorectomy with total omentectomy, total abdominal hysterectomy for malignancy" + }, { + "code": "59135", + "display": "Surgical treatment of ectopic pregnancy; interstitial, uterine pregnancy requiring total hysterectomy" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2017-09", + "concept": [ { + "code": "27950001", + "display": "Total hysterectomy with unilateral removal of ovary (procedure)" + }, { + "code": "31545000", + "display": "Total hysterectomy with unilateral removal of tube (procedure)" + }, { + "code": "59750000", + "display": "Total hysterectomy with unilateral removal of tube and ovary (procedure)" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "112918004", + "display": "Vaginal hysterectomy with colpo-urethrocystopexy, Marshall-Marchetti-Krantz type (procedure)" + }, { + "code": "116140006", + "display": "Total hysterectomy (procedure)" + }, { + "code": "116142003", + "display": "Radical hysterectomy (procedure)" + }, { + "code": "116143008", + "display": "Total abdominal hysterectomy (procedure)" + }, { + "code": "116144002", + "display": "Total abdominal hysterectomy with bilateral salpingo-oophorectomy (procedure)" + }, { + "code": "236888001", + "display": "Laparoscopic total hysterectomy (procedure)" + }, { + "code": "236891001", + "display": "Laparoscopic radical hysterectomy (procedure)" + }, { + "code": "24293001", + "display": "Excision of cervical stump by abdominal approach (procedure)" + }, { + "code": "265056007", + "display": "Vaginal hysterectomy (procedure)" + }, { + "code": "27185000", + "display": "Vaginal hysterectomy with partial colpectomy and repair of enterocele (procedure)" + }, { + "code": "287924009", + "display": "Excision of cervix stump (procedure)" + }, { + "code": "30160001", + "display": "Vaginal hysterectomy with total colpectomy and repair of enterocele (procedure)" + }, { + "code": "307771009", + "display": "Radical abdominal hysterectomy (procedure)" + }, { + "code": "309880009", + "display": "Vaginal hysterocolpectomy (procedure)" + }, { + "code": "35955002", + "display": "Radical vaginal hysterectomy (procedure)" + }, { + "code": "359971002", + "display": "Ward-Mayo operation for vaginal hysterectomy (procedure)" + }, { + "code": "359974005", + "display": "Tuffier operation for vaginal hysterectomy (procedure)" + }, { + "code": "359977003", + "display": "Mayo operation for vaginal hysterectomy (procedure)" + }, { + "code": "359983000", + "display": "Heaney operation for vaginal hysterectomy (procedure)" + }, { + "code": "361222003", + "display": "Wertheim-Meigs abdominal hysterectomy (procedure)" + }, { + "code": "361223008", + "display": "Wertheim operation (procedure)" + }, { + "code": "413145007", + "display": "Vaginal hysterectomy with conservation of ovaries (procedure)" + }, { + "code": "414575003", + "display": "Laparoscopic total abdominal hysterectomy and bilateral salpingo-oophorectomy (procedure)" + }, { + "code": "41566006", + "display": "Excision of cervical stump by vaginal approach (procedure)" + }, { + "code": "43791001", + "display": "Vaginal hysterectomy with total colpectomy (procedure)" + }, { + "code": "441820006", + "display": "Laparoscopy assisted vaginal hysterectomy with bilateral salpingo-oophorectomy (procedure)" + }, { + "code": "446446002", + "display": "Total abdominal hysterectomy and removal of vaginal cuff (procedure)" + }, { + "code": "446679008", + "display": "Total laparoscopic excision of uterus by abdominal approach (procedure)" + }, { + "code": "447771005", + "display": "Abdominal hysterectomy and excision of periuterine tissue (procedure)" + }, { + "code": "448539002", + "display": "Vaginal hysterectomy and excision of periuterine tissue (procedure)" + }, { + "code": "54490004", + "display": "Vaginal hysterectomy with repair of enterocele (procedure)" + }, { + "code": "63516002", + "display": "Vaginal hysterectomy with colpo-urethrocystopexy, Pereyra type (procedure)" + }, { + "code": "708877008", + "display": "Laparoscopic total hysterectomy using robotic assistance (procedure)" + }, { + "code": "708878003", + "display": "Laparoscopic radical hysterectomy using robotic assistance (procedure)" + }, { + "code": "75835007", + "display": "Laparoscopic-assisted vaginal hysterectomy (procedure)" + }, { + "code": "77902002", + "display": "Vaginal hysterectomy with partial colpectomy (procedure)" + }, { + "code": "86477000", + "display": "Total hysterectomy with removal of both tubes and ovaries (procedure)" + }, { + "code": "88144003", + "display": "Removal of ectopic interstitial uterine pregnancy requiring total hysterectomy (procedure)" + } ] + } ] + } }, "request": { "method": "PUT", - "url": "tests-Observation-bundle" + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1014" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.108.12.1017", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1017", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.108.12.1017" + } ], + "version": "20170504", + "name": "PapTest", + "title": "Pap Test", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://loinc.org", + "version": "2.64", + "concept": [ { + "code": "10524-7", + "display": "Microscopic observation [Identifier] in Cervix by Cyto stain" + }, { + "code": "18500-9", + "display": "Microscopic observation [Identifier] in Cervix by Cyto stain.thin prep" + }, { + "code": "19762-4", + "display": "General categories [Interpretation] of Cervical or vaginal smear or scraping by Cyto stain" + }, { + "code": "19764-0", + "display": "Statement of adequacy [Interpretation] of Cervical or vaginal smear or scraping by Cyto stain" + }, { + "code": "19765-7", + "display": "Microscopic observation [Identifier] in Cervical or vaginal smear or scraping by Cyto stain" + }, { + "code": "19766-5", + "display": "Microscopic observation [Identifier] in Cervical or vaginal smear or scraping by Cyto stain Narrative" + }, { + "code": "19774-9", + "display": "Cytology study comment Cervical or vaginal smear or scraping Cyto stain" + }, { + "code": "33717-0", + "display": "Cytology Cervical or vaginal smear or scraping study" + }, { + "code": "47527-7", + "display": "Cytology report of Cervical or vaginal smear or scraping Cyto stain.thin prep" + }, { + "code": "47528-5", + "display": "Cytology report of Cervical or vaginal smear or scraping Cyto stain" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.108.12.1017" } }, { "resource": { @@ -45,12 +344,6 @@ "status": "generated", "div": "
\n \n \n
Id: library-EXM124-FHIR3-7.2.000
Type: Logic Library
Version: 7.2.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

type: depends-on

Resource:
reference: Library/library-AdultOutpatientEncounters-FHIR3-1.1.000

type: depends-on

Resource:
reference: Library/library-Hospice-FHIR3-1.0.000

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

Data Requirements:

type: Observation

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1017

type: Observation

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1059

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1014

type: Condition

code filter:
path: code

Content: type: text/cql
library EXM124_FHIR3 version '7.2.000'\n\n/*\nBased on CMS124v7 - Cervical Cancer Screening\n*/\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude AdultOutpatientEncounters_FHIR3 version '1.1.000' called AdultOutpatientEncounters\ninclude Hospice_FHIR3 version '1.0.000' called Hospice\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "SNOMEDCT:2017-09": 'http://snomed.info/sct/731000124108' version 'http://snomed.info/sct/731000124108/version/201709'\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Female": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.560.100.2'\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\nvalueset "Hysterectomy with No Residual Cervix": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1014'\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "Pap Test": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1017'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "HPV Test": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1059'\n\ncode "Congenital absence of cervix (disorder)": '37687000' from "SNOMEDCT:2017-09" display 'Congenital absence of cervix (disorder)'\n\nparameter "Measurement Period" Interval<DateTime>\n    default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n  SDE."SDE Payer"\n\ndefine "SDE Race":\n  SDE."SDE Race"\n\ndefine "SDE Sex":\n  SDE."SDE Sex"\n\ndefine "Numerator":\n\texists "Pap Test Within 3 Years"\n\t\tor exists "Pap Test With HPV Within 5 Years"\n\ndefine "Denominator":\n\t"Initial Population"\n\ndefine "Pap Test with Results":\n\t[Observation: "Pap Test"] PapTest\n\t\twhere PapTest.value is not null\n\t\t\tand PapTest.status in { 'final', 'amended', 'corrected', 'preliminary' }\n\ndefine "Pap Test Within 3 Years":\n\t"Pap Test with Results" PapTest\n\t\twhere Global."Normalize Interval"(PapTest.effective) ends 3 years or less before end of "Measurement Period"\n\ndefine "PapTest Within 5 Years":\n\t( "Pap Test with Results" PapTestOver30YearsOld\n\t\t\twhere Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of Global."Normalize Interval"(PapTestOver30YearsOld.effective))>= 30\n\t\t\t\tand Global."Normalize Interval"(PapTestOver30YearsOld.effective) ends 5 years or less before end of "Measurement Period"\n\t)\n\ndefine "Pap Test With HPV Within 5 Years":\n\t"PapTest Within 5 Years" PapTestOver30YearsOld\n\t\twith [Observation: "HPV Test"] HPVTest\n\t\t\tsuch that HPVTest.value is not null\n        and Global."Normalize Interval"(HPVTest.effective) starts within 1 day of start of Global."Normalize Interval"(PapTestOver30YearsOld.effective)\n\t\t\t\tand HPVTest.status in { 'final', 'amended', 'corrected', 'preliminary' }\n\ndefine "Denominator Exclusion":\n\tHospice."Has Hospice"("Measurement Period")\n\t\tor exists "Surgical Absence of Cervix"\n\t\tor exists "Absence of Cervix"\n\ndefine "Absence of Cervix":\n\t[Condition : "Congenital absence of cervix (disorder)"] NoCervixBirth\n\t\twhere Global."Normalize Onset"(NoCervixBirth.onset) starts before end of "Measurement Period"\n\t\t\tand NoCervixBirth.clinicalStatus = 'active'\n\ndefine "Surgical Absence of Cervix":\n\t[Procedure: "Hysterectomy with No Residual Cervix"] NoCervixHysterectomy\n\t\twhere Global."Normalize Interval"(NoCervixHysterectomy.performed) ends before end "Measurement Period"\n\t\t\tand NoCervixHysterectomy.status = 'completed'\n\ndefine "Initial Population":\n\tPatient.gender = 'female'\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period") in Interval[23, 64]\n\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")\n
\n \n \n
\n
" }, - "extension": [ { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } - } ], "version": "7.2.000", "name": "EXM124_FHIR3", "status": "active", @@ -61,7 +354,60 @@ "code": "logic-library" } ] }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-Hospice-FHIR3-1.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + } ], + "dataRequirement": [ { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1017" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1059" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1014" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code" + } ] + } ], "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI5MSIgc3RhcnRDaGFyPSIyIiBlbmRMaW5lPSI5MSIgZW5kQ2hhcj0iNTYiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iRVhNMTI0X0ZISVIzIiB2ZXJzaW9uPSI3LjIuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iR2xvYmFsIiBwYXRoPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIHZlcnNpb249IjIuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzIiBwYXRoPSJBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIiB2ZXJzaW9uPSIxLjEuMDAwIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iSG9zcGljZSIgcGF0aD0iSG9zcGljZV9GSElSMyIgdmVyc2lvbj0iMS4wLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTREUiIHBhdGg9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8cGFyYW1ldGVycz4NCiAgICAgIDxkZWYgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxkZWZhdWx0IGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICAgICA8eWVhciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIwMTkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgPC9kZWZhdWx0Pg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJTTk9NRURDVDoyMDE3LTA5IiBpZD0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgiIHZlcnNpb249Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4L3ZlcnNpb24vMjAxNzA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRmVtYWxlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTYwLjEwMC4yIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDE2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ikh5c3RlcmVjdG9teSB3aXRoIE5vIFJlc2lkdWFsIENlcnZpeCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDE0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik9mZmljZSBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDAxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlBhcCBUZXN0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA4LjEyLjEwMTciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyNSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMtSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDIzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkhQViBUZXN0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwNTkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJDb25nZW5pdGFsIGFic2VuY2Ugb2YgY2Vydml4IChkaXNvcmRlcikiIGlkPSIzNzY4NzAwMCIgZGlzcGxheT0iQ29uZ2VuaXRhbCBhYnNlbmNlIG9mIGNlcnZpeCAoZGlzb3JkZXIpIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlNOT01FRENUOjIwMTctMDkiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBFdGhuaWNpdHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIEV0aG5pY2l0eSIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgUGF5ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIFBheWVyIiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBSYWNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBSYWNlIiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBTZXgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIFNleCIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQYXAgVGVzdCB3aXRoIFJlc3VsdHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBhcFRlc3QiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXAgVGVzdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOb3QiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IlBhcFRlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJQYXBUZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5hbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhbWVuZGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvcnJlY3RlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJwcmVsaW1pbmFyeSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUGFwIFRlc3QgV2l0aGluIDMgWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBhcFRlc3QiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUGFwIFRlc3Qgd2l0aCBSZXN1bHRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEludGVydmFsIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iUGFwVGVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIzIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlBhcFRlc3QgV2l0aGluIDUgWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBhcFRlc3RPdmVyMzBZZWFyc09sZCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJQYXAgVGVzdCB3aXRoIFJlc3VsdHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IlBhcFRlc3RPdmVyMzBZZWFyc09sZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjMwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEludGVydmFsIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iUGFwVGVzdE92ZXIzMFllYXJzT2xkIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjUiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUGFwIFRlc3QgV2l0aCBIUFYgV2l0aGluIDUgWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBhcFRlc3RPdmVyMzBZZWFyc09sZCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJQYXBUZXN0IFdpdGhpbiA1IFllYXJzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJIUFZUZXN0IiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhQViBUZXN0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiBzY29wZT0iSFBWVGVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkhQVlRlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IlBhcFRlc3RPdmVyMzBZZWFyc09sZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEludGVydmFsIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iUGFwVGVzdE92ZXIzMFllYXJzT2xkIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJIUFZUZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5hbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhbWVuZGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvcnJlY3RlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJwcmVsaW1pbmFyeSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOdW1lcmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUGFwIFRlc3QgV2l0aGluIDMgWWVhcnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlBhcCBUZXN0IFdpdGggSFBWIFdpdGhpbiA1IFllYXJzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJnZW5kZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmVtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjY0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJRdWFsaWZ5aW5nIEVuY291bnRlcnMiIGxpYnJhcnlOYW1lPSJBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlN1cmdpY2FsIEFic2VuY2Ugb2YgQ2Vydml4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb0NlcnZpeEh5c3RlcmVjdG9teSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIeXN0ZXJlY3RvbXkgd2l0aCBObyBSZXNpZHVhbCBDZXJ2aXgiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQmVmb3JlIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEludGVydmFsIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iTm9DZXJ2aXhIeXN0ZXJlY3RvbXkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iTm9DZXJ2aXhIeXN0ZXJlY3RvbXkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQWJzZW5jZSBvZiBDZXJ2aXgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vQ2Vydml4QmlydGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDb25nZW5pdGFsIGFic2VuY2Ugb2YgY2Vydml4IChkaXNvcmRlcikiIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQmVmb3JlIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgT25zZXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJvbnNldCIgc2NvcGU9Ik5vQ2Vydml4QmlydGgiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJOb0NlcnZpeEJpcnRoIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2x1c2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkhhcyBIb3NwaWNlIiBsaWJyYXJ5TmFtZT0iSG9zcGljZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJTdXJnaWNhbCBBYnNlbmNlIG9mIENlcnZpeCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQWJzZW5jZSBvZiBDZXJ2aXgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { "contentType": "text/cql", "data": "bGlicmFyeSBFWE0xMjRfRkhJUjMgdmVyc2lvbiAnNy4yLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEyNHY3IC0gQ2VydmljYWwgQ2FuY2VyIFNjcmVlbmluZwoqLwoKLyoKVGhpcyBleGFtcGxlIGlzIGEgd29yayBpbiBwcm9ncmVzcyBhbmQgc2hvdWxkIG5vdCBiZSBjb25zaWRlcmVkIGEgZmluYWwgc3BlY2lmaWNhdGlvbgpvciByZWNvbW1lbmRhdGlvbiBmb3IgZ3VpZGFuY2UuIFRoaXMgZXhhbXBsZSB3aWxsIGhlbHAgZ3VpZGUgYW5kIGRpcmVjdCB0aGUgcHJvY2VzcwpvZiBmaW5kaW5nIGNvbnZlbnRpb25zIGFuZCB1c2FnZSBwYXR0ZXJucyB0aGF0IG1lZXQgdGhlIG5lZWRzIG9mIHRoZSB2YXJpb3VzIHN0YWtlaG9sZGVycwppbiB0aGUgbWVhc3VyZSBkZXZlbG9wbWVudCBjb21tdW5pdHkuCiovCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcgY2FsbGVkIEdsb2JhbAppbmNsdWRlIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMgdmVyc2lvbiAnMS4xLjAwMCcgY2FsbGVkIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMKaW5jbHVkZSBIb3NwaWNlX0ZISVIzIHZlcnNpb24gJzEuMC4wMDAnIGNhbGxlZCBIb3NwaWNlCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKY29kZXN5c3RlbSAiU05PTUVEQ1Q6MjAxNy0wOSI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcgdmVyc2lvbiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDknCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiRmVtYWxlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjU2MC4xMDAuMicKdmFsdWVzZXQgIkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxNicKdmFsdWVzZXQgIkh5c3RlcmVjdG9teSB3aXRoIE5vIFJlc2lkdWFsIENlcnZpeCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTAxNCcKdmFsdWVzZXQgIk9mZmljZSBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwMScKdmFsdWVzZXQgIlBhcCBUZXN0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOC4xMi4xMDE3Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjUnCnZhbHVlc2V0ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMtSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyMycKdmFsdWVzZXQgIkhQViBUZXN0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDU5JwoKY29kZSAiQ29uZ2VuaXRhbCBhYnNlbmNlIG9mIGNlcnZpeCAoZGlzb3JkZXIpIjogJzM3Njg3MDAwJyBmcm9tICJTTk9NRURDVDoyMDE3LTA5IiBkaXNwbGF5ICdDb25nZW5pdGFsIGFic2VuY2Ugb2YgY2Vydml4IChkaXNvcmRlciknCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgICBkZWZhdWx0IEludGVydmFsW0AyMDE5LTAxLTAxVDAwOjAwOjAwLjAsIEAyMDIwLTAxLTAxVDAwOjAwOjAwLjApCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiU0RFIEV0aG5pY2l0eSI6CiAgU0RFLiJTREUgRXRobmljaXR5IgoKZGVmaW5lICJTREUgUGF5ZXIiOgogIFNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CiAgU0RFLiJTREUgUmFjZSIKCmRlZmluZSAiU0RFIFNleCI6CiAgU0RFLiJTREUgU2V4IgoKZGVmaW5lICJOdW1lcmF0b3IiOgoJZXhpc3RzICJQYXAgVGVzdCBXaXRoaW4gMyBZZWFycyIKCQlvciBleGlzdHMgIlBhcCBUZXN0IFdpdGggSFBWIFdpdGhpbiA1IFllYXJzIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CgkiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJQYXAgVGVzdCB3aXRoIFJlc3VsdHMiOgoJW09ic2VydmF0aW9uOiAiUGFwIFRlc3QiXSBQYXBUZXN0CgkJd2hlcmUgUGFwVGVzdC52YWx1ZSBpcyBub3QgbnVsbAoJCQlhbmQgUGFwVGVzdC5zdGF0dXMgaW4geyAnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnLCAncHJlbGltaW5hcnknIH0KCmRlZmluZSAiUGFwIFRlc3QgV2l0aGluIDMgWWVhcnMiOgoJIlBhcCBUZXN0IHdpdGggUmVzdWx0cyIgUGFwVGVzdAoJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihQYXBUZXN0LmVmZmVjdGl2ZSkgZW5kcyAzIHllYXJzIG9yIGxlc3MgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJQYXBUZXN0IFdpdGhpbiA1IFllYXJzIjoKCSggIlBhcCBUZXN0IHdpdGggUmVzdWx0cyIgUGFwVGVzdE92ZXIzMFllYXJzT2xkCgkJCXdoZXJlIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihQYXBUZXN0T3ZlcjMwWWVhcnNPbGQuZWZmZWN0aXZlKSk+PSAzMAoJCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihQYXBUZXN0T3ZlcjMwWWVhcnNPbGQuZWZmZWN0aXZlKSBlbmRzIDUgeWVhcnMgb3IgbGVzcyBiZWZvcmUgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgkpCgpkZWZpbmUgIlBhcCBUZXN0IFdpdGggSFBWIFdpdGhpbiA1IFllYXJzIjoKCSJQYXBUZXN0IFdpdGhpbiA1IFllYXJzIiBQYXBUZXN0T3ZlcjMwWWVhcnNPbGQKCQl3aXRoIFtPYnNlcnZhdGlvbjogIkhQViBUZXN0Il0gSFBWVGVzdAoJCQlzdWNoIHRoYXQgSFBWVGVzdC52YWx1ZSBpcyBub3QgbnVsbAogICAgICAgIGFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoSFBWVGVzdC5lZmZlY3RpdmUpIHN0YXJ0cyB3aXRoaW4gMSBkYXkgb2Ygc3RhcnQgb2YgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKFBhcFRlc3RPdmVyMzBZZWFyc09sZC5lZmZlY3RpdmUpCgkJCQlhbmQgSFBWVGVzdC5zdGF0dXMgaW4geyAnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnLCAncHJlbGltaW5hcnknIH0KCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9uIjoKCUhvc3BpY2UuIkhhcyBIb3NwaWNlIigiTWVhc3VyZW1lbnQgUGVyaW9kIikKCQlvciBleGlzdHMgIlN1cmdpY2FsIEFic2VuY2Ugb2YgQ2Vydml4IgoJCW9yIGV4aXN0cyAiQWJzZW5jZSBvZiBDZXJ2aXgiCgpkZWZpbmUgIkFic2VuY2Ugb2YgQ2Vydml4IjoKCVtDb25kaXRpb24gOiAiQ29uZ2VuaXRhbCBhYnNlbmNlIG9mIGNlcnZpeCAoZGlzb3JkZXIpIl0gTm9DZXJ2aXhCaXJ0aAoJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIE9uc2V0IihOb0NlcnZpeEJpcnRoLm9uc2V0KSBzdGFydHMgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQlhbmQgTm9DZXJ2aXhCaXJ0aC5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnCgpkZWZpbmUgIlN1cmdpY2FsIEFic2VuY2Ugb2YgQ2Vydml4IjoKCVtQcm9jZWR1cmU6ICJIeXN0ZXJlY3RvbXkgd2l0aCBObyBSZXNpZHVhbCBDZXJ2aXgiXSBOb0NlcnZpeEh5c3RlcmVjdG9teQoJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihOb0NlcnZpeEh5c3RlcmVjdG9teS5wZXJmb3JtZWQpIGVuZHMgYmVmb3JlIGVuZCAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQlhbmQgTm9DZXJ2aXhIeXN0ZXJlY3RvbXkuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKCVBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScKCQlhbmQgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpIGluIEludGVydmFsWzIzLCA2NF0KCQlhbmQgZXhpc3RzIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMuIlF1YWxpZnlpbmcgRW5jb3VudGVycyIoIk1lYXN1cmVtZW50IFBlcmlvZCIpCg==" } ] @@ -70,6 +416,29 @@ "method": "PUT", "url": "Library/library-EXM124-FHIR3-7.2.000" } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.292", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292", + "title": "Emergency Department Visit", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "4525004", + "display": "Emergency department patient visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } }, { "resource": { "resourceType": "Patient", @@ -121,49 +490,6 @@ "method": "PUT", "url": "Patient/denom-EXM124-FHIR3" } - }, { - "resource": { - "resourceType": "Bundle", - "id": "tests-Encounter-bundle", - "type": "transaction", - "entry": [ { - "resource": { - "resourceType": "Encounter", - "id": "denom-EXM124-FHIR3-1", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] - }, - "status": "finished", - "class": { - "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", - "code": "AMB", - "display": "ambulatory" - }, - "type": [ { - "coding": [ { - "system": "http://www.ama-assn.org/go/cpt", - "code": "99201", - "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." - } ] - } ], - "subject": { - "reference": "Patient/denom-EXM124-FHIR3" - }, - "period": { - "start": "2019-01-01T00:00:00.0", - "end": "2019-01-02T00:00:00.0" - } - }, - "request": { - "method": "PUT", - "url": "Encounter/denom-EXM124-FHIR3-1" - } - } ] - }, - "request": { - "method": "PUT", - "url": "tests-Encounter-bundle" - } }, { "resource": { "resourceType": "MeasureReport", @@ -364,219 +690,81 @@ } }, { "resource": { - "resourceType": "Measure", - "id": "measure-EXM124-FHIR3-7.2.000", - "meta": { - "versionId": "4", - "lastUpdated": "2019-08-16T22:54:16.130+00:00", - "profile": [ "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" ] - }, - "text": { - "status": "generated", - "div": "
Id: Measure/measure-exm124-FHIR3
Type:
system: http://hl7.org/fhir/measure-type
code: process
Identifier: system: http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms
value: 130
system: http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/nqf
value: 0034
Title: Cervical Cancer Screening
Status: active
Description: Percentage of women 21-64 years of age who were screened for cervical cancer using either of the following criteria: <br> * Women age 21-64 who had cervical cytology performed every 3 years <br.* Women age 30-64 who had cervical cytology/human papillomavirus (HPV) co-testing performed every 5 years
Purpose: Women 23-64 years of age with a visit during the measurement period
Use Context:

code: program

value:
text: eligible-provider

Topic:
system: http://loinc.org
code: 57024-2
display: Health Quality Measure Document
Contributor: author: National Committee for Quality Assurance
Related:

type: citation

citation:
Howlader, N., Noone, A.M., Krapcho, M., Miller, D., Bishop, K., Altekruse, S.F., Kosary, C.L., Yu, M., Ruhl, J., Tatalovich, Z., Mariotto, A., Lewis, D.R., Chen, H.S., Feuer, E.J., and Cronin, K.A. 2016. "SEER Cancer Statistics Review, 1975-2013." National Cancer Institute. (December 5, 2016) http://seer.cancer.gov/csr/1975_2013/

type: citation

citation:
National Business Group on Health. 2011. "Pathways to Managing Cancer in the Workplace." (May 8, 2012). http://www.tcyh.org/employers/downloads/Pathways_Managing_Cancer_2011.pdf

type: citation

citation:
Feig S. 2011. Comparison of Costs and Benefits of Breast Cancer Screening with Mammography, Ultrasonagraphy, and MRI. Obstetrics and Gynecology Clinics of North America. 38(1):179-96.

type: citation

citation:
U.S. Preventive Services Task Force (USPSTF). 2016. "Screening for Breast Cancer: U.S. Preventive Services Task Force Recommendation Statement." Ann Intern Med. 164(4):279-296. doi:10.7326/M15-2886.

Library:

reference: Library/library-exm124-FHIR3

Disclaimer: The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. <br> Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].
Scoring:
system: http://hl7.org/fhir/measure-scoring
code: proportion
Rationale: Breast cancer is one of the most common types of cancers, accounting for 15 percent of all new cancer diagnoses in the U.S. (Howlader et al, 2016). In 2013, over 3 million women were estimated to be living with breast cancer in the U.S. and it is estimated that 12 percent of women will be diagnosed with breast cancer at some point during their lifetime (Howlader et al, 2016). <br> While there are other factors that affect a woman's risk of developing breast cancer, advancing age is a primary risk factor. Breast cancer is most frequently diagnosed among women ages 55-64; the median age at diagnosis is 62 years (Howlader et al, 2016). The chance of a woman being diagnosed with breast cancer in a given year increases with age. By age 40, the chances are 1 in 235; by age 50 it becomes 1 in 54; by age 60, it is 1 in 25 (National Business Group on Health, 2011). <br> In the U.S., costs associated with a diagnosis of breast cancer range from $451 to $2,520, factoring in continued testing, multiple office visits and procedures. The total costs related to breast cancer add up to nearly $7 billion per year in the U.S., including $2 billion spent on late-stage treatment (National Business Group on Health, 2011). If breast cancer is detected through mammography screening and diagnosed in its earliest stages, treatment may be less expensive (Feig, 2011).
Clinical Recommendation: The U.S. Preventive Services Task Force (USPSTF) recommends biennial screening mammography for women aged 50-74 years (B recommendation). <br> The decision to start screening mammography in women prior to age 50 years should be an individual one. Women who place a higher value on the potential benefit than the potential harms may choose to begin biennial screening between the ages of 40 and 49 years (C recommendation). (USPSTF, 2016) <br> The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of screening mammography in women aged 75 years or older (I statement). (USPSTF, 2016) <br> The USPSTF concludes that the current evidence is insufficient to assess the benefits and harms of digital breast tomosynthesis (DBT) as a primary screening method for breast cancer (I Statement). (USPSTF, 2016) <br> The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of adjunctive screening for breast cancer using breast ultrasonography, magnetic resonance imaging, DBT, or other methods in women identified to have dense breasts on an otherwise negative screening mammogram (I statement). (USPSTF, 2016)
Guidance: To ensure the measure is only looking for a cervical cytology test only after a woman turns 21 years of age, the youngest age in the initial population is 23. <br> Patient self-report for procedures as well as diagnostic studies should be recorded in 'Procedure, Performed' template or 'Diagnostic Study, Performed' template in QRDA-1. <br> Include only cytology and HPV "co-testing"; in co-testing, both cytology and HPV tests are performed (i.e., the samples are collected and both tests are ordered, regardless of the cytology result) on the same date of service. Do not include reflex testing. In addition, if the medical record indicates the HPV test was performed only after determining the cytology result, this is considered reflex testing and does not meet criteria for the measure.
Group:

Identifier:
value: group-1

Population:

Identifier:
value: initial-population-identifier

criteria: Initial Population

Identifier:
value: numerator-identifier

criteria: Numerator

Identifier:
value: denominator-identifier

criteria: Denominator

Identifier:
value: denominator-exclusions-identifier

criteria: Denominator Exclusion

Supplemental Data:

Identifier:
value: sde-ethnicity

usage:
system: http://hl7.org/fhir/measure-data-usage
code: supplemental-data

criteria: SDE Ethnicity

Identifier:
value: sde-payer

usage:
system: http://hl7.org/fhir/measure-data-usage
code: supplemental-data

criteria: SDE Payer

Identifier:
value: sde-race

usage:
system: http://hl7.org/fhir/measure-data-usage
code: supplemental-data

criteria: SDE Race

Identifier:
value: sde-sex

usage:
system: http://hl7.org/fhir/measure-data-usage
code: supplemental-data

criteria: SDE Sex

" - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", - "valueCode": "boolean" - }, { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } - } ], - "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-exm124-FHIR3", + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.110.12.1059", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1059", "identifier": [ { - "use": "official", - "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms", - "value": "124" - }, { - "use": "official", - "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/nqf", - "value": "0034" + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.110.12.1059" } ], - "version": "7.2.000", - "name": "EXM124", - "title": "Cervical Cancer Screening", + "version": "20170504", + "name": "HPVTest", + "title": "HPV Test", "status": "active", - "experimental": true, - "date": "2018-09-17", - "publisher": "National Committee for Quality Assurance", - "description": "Percentage of women 21-64 years of age who were screened for cervical cancer using either of the following criteria:
* Women age 21-64 who had cervical cytology performed every 3 years Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications.
CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.", - "relatedArtifact": [ { - "type": "citation", - "citation": "Howlader, N., Noone, A.M., Krapcho, M., Miller, D., Bishop, K., Altekruse, S.F., Kosary, C.L., Yu, M., Ruhl, J., Tatalovich, Z., Mariotto, A., Lewis, D.R., Chen, H.S., Feuer, E.J., and Cronin, K.A. 2016. \"SEER Cancer Statistics Review, 1975-2013.\" National Cancer Institute. (December 5, 2016) http://seer.cancer.gov/csr/1975_2013/" - }, { - "type": "citation", - "citation": "National Business Group on Health. 2011. \"Pathways to Managing Cancer in the Workplace.\" (May 8, 2012). http://www.tcyh.org/employers/downloads/Pathways_Managing_Cancer_2011.pdf" - }, { - "type": "citation", - "citation": "Feig S. 2011. Comparison of Costs and Benefits of Breast Cancer Screening with Mammography, Ultrasonagraphy, and MRI. Obstetrics and Gynecology Clinics of North America. 38(1):179-96." - }, { - "type": "citation", - "citation": "U.S. Preventive Services Task Force (USPSTF). 2016. \"Screening for Breast Cancer: U.S. Preventive Services Task Force Recommendation Statement.\" Ann Intern Med. 164(4):279-296. doi:10.7326/M15-2886." - } ], - "library": [ { - "reference": "Library/library-EXM124-FHIR3-7.2.000" - } ], - "disclaimer": "The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND.
Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].", - "scoring": { - "coding": [ { - "system": "http://hl7.org/fhir/measure-scoring", - "code": "proportion" - } ] - }, - "type": [ { - "coding": [ { - "system": "http://hl7.org/fhir/measure-type", - "code": "process" - } ] - } ], - "rationale": "Breast cancer is one of the most common types of cancers, accounting for 15 percent of all new cancer diagnoses in the U.S. (Howlader et al, 2016). In 2013, over 3 million women were estimated to be living with breast cancer in the U.S. and it is estimated that 12 percent of women will be diagnosed with breast cancer at some point during their lifetime (Howlader et al, 2016).
While there are other factors that affect a woman's risk of developing breast cancer, advancing age is a primary risk factor. Breast cancer is most frequently diagnosed among women ages 55-64; the median age at diagnosis is 62 years (Howlader et al, 2016). The chance of a woman being diagnosed with breast cancer in a given year increases with age. By age 40, the chances are 1 in 235; by age 50 it becomes 1 in 54; by age 60, it is 1 in 25 (National Business Group on Health, 2011).
In the U.S., costs associated with a diagnosis of breast cancer range from $451 to $2,520, factoring in continued testing, multiple office visits and procedures. The total costs related to breast cancer add up to nearly $7 billion per year in the U.S., including $2 billion spent on late-stage treatment (National Business Group on Health, 2011). If breast cancer is detected through mammography screening and diagnosed in its earliest stages, treatment may be less expensive (Feig, 2011).", - "clinicalRecommendationStatement": "The U.S. Preventive Services Task Force (USPSTF) recommends biennial screening mammography for women aged 50-74 years (B recommendation).
The decision to start screening mammography in women prior to age 50 years should be an individual one. Women who place a higher value on the potential benefit than the potential harms may choose to begin biennial screening between the ages of 40 and 49 years (C recommendation). (USPSTF, 2016)
The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of screening mammography in women aged 75 years or older (I statement). (USPSTF, 2016)
The USPSTF concludes that the current evidence is insufficient to assess the benefits and harms of digital breast tomosynthesis (DBT) as a primary screening method for breast cancer (I Statement). (USPSTF, 2016)
The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of adjunctive screening for breast cancer using breast ultrasonography, magnetic resonance imaging, DBT, or other methods in women identified to have dense breasts on an otherwise negative screening mammogram (I statement). (USPSTF, 2016)", - "improvementNotation": "increase", - "guidance": "To ensure the measure is only looking for a cervical cytology test only after a woman turns 21 years of age, the youngest age in the initial population is 23.
Patient self-report for procedures as well as diagnostic studies should be recorded in 'Procedure, Performed' template or 'Diagnostic Study, Performed' template in QRDA-1.
Include only cytology and HPV \"co-testing\"; in co-testing, both cytology and HPV tests are performed (i.e., the samples are collected and both tests are ordered, regardless of the cytology result) on the same date of service. Do not include reflex testing. In addition, if the medical record indicates the HPV test was performed only after determining the cytology result, this is considered reflex testing and does not meet criteria for the measure.", - "group": [ { - "identifier": { - "value": "group-1" - }, - "population": [ { - "identifier": { - "value": "initial-population-identifier" - }, - "code": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "initial-population", - "display": "Initial Population" - } ] - }, - "criteria": "Initial Population" - }, { - "identifier": { - "value": "numerator-identifier" - }, - "code": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "numerator", - "display": "Numerator" - } ] - }, - "criteria": "Numerator" - }, { - "identifier": { - "value": "denominator-identifier" - }, - "code": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator", - "display": "Denominator" - } ] - }, - "criteria": "Denominator" - }, { - "identifier": { - "value": "denominator-exclusions-identifier" - }, - "code": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator-exclusion", - "display": "Denominator Exclusion" - } ] - }, - "criteria": "Denominator Exclusion" - } ] - } ], - "supplementalData": [ { - "identifier": { - "value": "sde-ethnicity" - }, - "usage": [ { - "coding": [ { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } ] - } ], - "criteria": "SDE Ethnicity" - }, { - "identifier": { - "value": "sde-payer" - }, - "usage": [ { - "coding": [ { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } ] - } ], - "criteria": "SDE Payer" - }, { - "identifier": { - "value": "sde-race" - }, - "usage": [ { - "coding": [ { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" + "version": "2.56", + "concept": [ { + "code": "75406-9", + "display": "Human papilloma virus 16 and 18+45 E6+E7 mRNA [Presence] in Cervix by Probe with amplification" } ] - } ], - "criteria": "SDE Race" - }, { - "identifier": { - "value": "sde-sex" - }, - "usage": [ { - "coding": [ { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" + }, { + "system": "http://loinc.org", + "version": "2.64", + "concept": [ { + "code": "21440-3", + "display": "Human papilloma virus 16+18+31+33+35+45+51+52+56 DNA [Presence] in Cervix by Probe" + }, { + "code": "30167-1", + "display": "Human papilloma virus 16+18+31+33+35+39+45+51+52+56+58+59+68 DNA [Presence] in Cervix by Probe with signal amplification" + }, { + "code": "38372-9", + "display": "Human papilloma virus 6+11+16+18+31+33+35+39+42+43+44+45+51+52+56+58+59+68 DNA [Presence] in Cervix by Probe with signal amplification" + }, { + "code": "59263-4", + "display": "Human papilloma virus 16 DNA [Presence] in Cervix by Probe with signal amplification" + }, { + "code": "59264-2", + "display": "Human papilloma virus 18 DNA [Presence] in Cervix by Probe with signal amplification" + }, { + "code": "59420-0", + "display": "Human papilloma virus 16+18+31+33+35+39+45+51+52+56+58+59+66+68 DNA [Presence] in Cervix by Probe with signal amplification" + }, { + "code": "69002-4", + "display": "Human papilloma virus E6+E7 mRNA [Presence] in Cervix by NAA with probe detection" + }, { + "code": "71431-1", + "display": "Human papilloma virus 31+33+35+39+45+51+52+56+58+59+66+68 DNA [Presence] in Cervix by NAA with probe detection" + }, { + "code": "75694-0", + "display": "Human papilloma virus 18+45 E6+E7 mRNA [Presence] in Cervix by NAA with probe detection" + }, { + "code": "77379-6", + "display": "Human papilloma virus 16 and 18 and 31+33+35+39+45+51+52+56+58+59+66+68 DNA [Interpretation] in Cervix" + }, { + "code": "77399-4", + "display": "Human papilloma virus 16 DNA [Presence] in Cervix by NAA with probe detection" + }, { + "code": "77400-0", + "display": "Human papilloma virus 18 DNA [Presence] in Cervix by NAA with probe detection" + }, { + "code": "82354-2", + "display": "Human papilloma virus 16 and 18+45 E6+E7 mRNA [Identifier] in Cervix by NAA with probe detection" + }, { + "code": "82456-5", + "display": "Human papilloma virus 16 E6+E7 mRNA [Presence] in Cervix by NAA with probe detection" + }, { + "code": "82675-0", + "display": "Human papilloma virus 16+18+31+33+35+39+45+51+52+56+58+59+66+68 DNA [Presence] in Cervix by NAA with probe detection" } ] - } ], - "criteria": "SDE Sex" - } ] + } ] + } }, "request": { "method": "PUT", - "url": "Measure/measure-EXM124-FHIR3-7.2.000/_history/4" + "url": "ValueSet/2.16.840.1.113883.3.464.1003.110.12.1059" } }, { "resource": { @@ -629,6 +817,133 @@ "method": "PUT", "url": "Patient/numer-EXM124-FHIR3" } + }, { + "resource": { + "resourceType": "Library", + "id": "library-AdultOutpatientEncounters-FHIR3-1.1.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-AdultOutpatientEncounters-FHIR3-1.1.000
Type: Logic Library
Version: 1.1.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016

Content: type: text/cql
library AdultOutpatientEncounters_FHIR3 version '1.1.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "Annual Wellness Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\n\ncontext Patient\n\ndefine function "Qualifying Encounters"(MeasurementPeriod Interval<DateTime>):\n\t(\n\t    [Encounter: "Office Visit"]\n\t\tunion [Encounter: "Annual Wellness Visit"] \n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Home Healthcare Services"]\n    ) ValidEncounter\n\t\twhere ValidEncounter.period during day of MeasurementPeriod\n\t\tand ValidEncounter.status  = 'finished' \n
\n \n \n
\n
" + }, + "version": "1.1.000", + "name": "AdultOutpatientEncounters_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMiIHZlcnNpb249IjEuMS4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT2ZmaWNlIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iQW5udWFsIFdlbGxuZXNzIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgLSBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUXVhbGlmeWluZyBFbmNvdW50ZXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZhbGlkRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik9mZmljZSBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJBbm51YWwgV2VsbG5lc3MgVmlzaXQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW5jbHVkZWRJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWYWxpZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudFBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iVmFsaWRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIHZlcnNpb24gJzEuMS4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnCnZhbHVlc2V0ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCcKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMnCnZhbHVlc2V0ICJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYnCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIihNZWFzdXJlbWVudFBlcmlvZCBJbnRlcnZhbDxEYXRlVGltZT4pOgoJKAoJICAgIFtFbmNvdW50ZXI6ICJPZmZpY2UgVmlzaXQiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIl0KICAgICkgVmFsaWRFbmNvdW50ZXIKCQl3aGVyZSBWYWxpZEVuY291bnRlci5wZXJpb2QgZHVyaW5nIGRheSBvZiBNZWFzdXJlbWVudFBlcmlvZAoJCWFuZCBWYWxpZEVuY291bnRlci5zdGF0dXMgID0gJ2ZpbmlzaGVkJyAK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-Hospice-FHIR3-1.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-Hospice-FHIR3-1.0.000
Type: Logic Library
Version: 1.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15

Content: type: text/cql
library Hospice_FHIR3 version '1.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "SNOMEDCT:2017-09": 'http://snomed.info/sct/731000124108' version 'http://snomed.info/sct/731000124108/version/201709'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Hospice care ambulatory": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15'\n\ncode "Discharge to healthcare facility for hospice care (procedure)": '428371000124100' from "SNOMEDCT:2017-09" display 'Discharge to healthcare facility for hospice care (procedure)'\ncode "Discharge to home for hospice care (procedure)": '428361000124107' from "SNOMEDCT:2017-09" display 'Discharge to home for hospice care (procedure)'\n\ncontext Patient\n\ndefine function "Has Hospice"(MeasurementPeriod Interval<DateTime>):\n\texists (\n\t    [Encounter: "Encounter Inpatient"] DischargeHospice\n\t\t\twhere DischargeHospice.status = 'final'\n\t\t\t    and (\n\t\t\t        FHIRHelpers.ToConcept(DischargeHospice.hospitalization.dischargeDisposition).codes[0] ~ "Discharge to home for hospice care (procedure)"\n\t\t\t\t\t    or FHIRHelpers.ToConcept(DischargeHospice.hospitalization.dischargeDisposition).codes[0] ~ "Discharge to healthcare facility for hospice care (procedure)"\n\t\t\t    )\n\t\t\t\tand DischargeHospice.period ends during day of MeasurementPeriod\n\t)\n    or exists (\n        [ProcedureRequest: "Hospice care ambulatory"] HospiceOrder\n            where HospiceOrder.intent = 'order'\n                and HospiceOrder.authoredOn in day of MeasurementPeriod\n    )\n    or exists (\n        [Procedure: "Hospice care ambulatory"] HospicePerformed\n            where HospicePerformed.status = 'completed'\n                and Global."Normalize Interval"(HospicePerformed.performed) overlaps MeasurementPeriod\n    )\n
\n \n \n
\n
" + }, + "version": "1.0.000", + "name": "Hospice_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9Ikhvc3BpY2VfRkhJUjMiIHZlcnNpb249IjEuMC4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IlNOT01FRENUOjIwMTctMDkiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgdmVyc2lvbj0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpY2UgY2FyZSBhbWJ1bGF0b3J5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTA4LjE1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgaWQ9IjQyODM3MTAwMDEyNDEwMCIgZGlzcGxheT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVDoyMDE3LTA5Ii8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgaWQ9IjQyODM2MTAwMDEyNDEwNyIgZGlzcGxheT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVDoyMDE3LTA5Ii8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIYXMgSG9zcGljZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRGlzY2hhcmdlSG9zcGljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkRpc2NoYXJnZUhvc3BpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmRleGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmRleGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikhvc3BpY2VPcmRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSG9zcGljZSBjYXJlIGFtYnVsYXRvcnkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9Ikhvc3BpY2VPcmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJIb3NwaWNlT3JkZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGljZVBlcmZvcm1lZCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iSG9zcGljZVBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik92ZXJsYXBzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9Ikhvc3BpY2VQZXJmb3JtZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBIb3NwaWNlX0ZISVIzIHZlcnNpb24gJzEuMC4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiU05PTUVEQ1Q6MjAxNy0wOSI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcgdmVyc2lvbiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDknCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMDguMTUnCgpjb2RlICJEaXNjaGFyZ2UgdG8gaGVhbHRoY2FyZSBmYWNpbGl0eSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIjogJzQyODM3MTAwMDEyNDEwMCcgZnJvbSAiU05PTUVEQ1Q6MjAxNy0wOSIgZGlzcGxheSAnRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKScKY29kZSAiRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSI6ICc0MjgzNjEwMDAxMjQxMDcnIGZyb20gIlNOT01FRENUOjIwMTctMDkiIGRpc3BsYXkgJ0Rpc2NoYXJnZSB0byBob21lIGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSknCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiSGFzIEhvc3BpY2UiKE1lYXN1cmVtZW50UGVyaW9kIEludGVydmFsPERhdGVUaW1lPik6CglleGlzdHMgKAoJICAgIFtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRGlzY2hhcmdlSG9zcGljZQoJCQl3aGVyZSBEaXNjaGFyZ2VIb3NwaWNlLnN0YXR1cyA9ICdmaW5hbCcKCQkJICAgIGFuZCAoCgkJCSAgICAgICAgRkhJUkhlbHBlcnMuVG9Db25jZXB0KERpc2NoYXJnZUhvc3BpY2UuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uKS5jb2Rlc1swXSB+ICJEaXNjaGFyZ2UgdG8gaG9tZSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIgoJCQkJCSAgICBvciBGSElSSGVscGVycy5Ub0NvbmNlcHQoRGlzY2hhcmdlSG9zcGljZS5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24pLmNvZGVzWzBdIH4gIkRpc2NoYXJnZSB0byBoZWFsdGhjYXJlIGZhY2lsaXR5IGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSkiCgkJCSAgICApCgkJCQlhbmQgRGlzY2hhcmdlSG9zcGljZS5wZXJpb2QgZW5kcyBkdXJpbmcgZGF5IG9mIE1lYXN1cmVtZW50UGVyaW9kCgkpCiAgICBvciBleGlzdHMgKAogICAgICAgIFtQcm9jZWR1cmVSZXF1ZXN0OiAiSG9zcGljZSBjYXJlIGFtYnVsYXRvcnkiXSBIb3NwaWNlT3JkZXIKICAgICAgICAgICAgd2hlcmUgSG9zcGljZU9yZGVyLmludGVudCA9ICdvcmRlcicKICAgICAgICAgICAgICAgIGFuZCBIb3NwaWNlT3JkZXIuYXV0aG9yZWRPbiBpbiBkYXkgb2YgTWVhc3VyZW1lbnRQZXJpb2QKICAgICkKICAgIG9yIGV4aXN0cyAoCiAgICAgICAgW1Byb2NlZHVyZTogIkhvc3BpY2UgY2FyZSBhbWJ1bGF0b3J5Il0gSG9zcGljZVBlcmZvcm1lZAogICAgICAgICAgICB3aGVyZSBIb3NwaWNlUGVyZm9ybWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICAgICAgICAgICAgICBhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEhvc3BpY2VQZXJmb3JtZWQucGVyZm9ybWVkKSBvdmVybGFwcyBNZWFzdXJlbWVudFBlcmlvZAogICAgKQo=" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-Hospice-FHIR3-1.0.000" + } }, { "resource": { "resourceType": "MeasureReport", @@ -882,6 +1197,1206 @@ "method": "PUT", "url": "Encounter/denom-EXM124-FHIR3-1" } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1001", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1001" + } ], + "version": "20180310", + "name": "OfficeVisit", + "title": "Office Visit", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99201", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99202", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: An expanded problem focused history; An expanded problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 20 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99203", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A detailed history; A detailed examination; Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate severity. Typically, 30 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99204", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 45 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99205", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 60 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99212", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99213", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: An expanded problem focused history; An expanded problem focused examination; Medical decision making of low complexity. Counseling and coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 15 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99214", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A detailed history; A detailed examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 25 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99215", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 40 minutes are spent face-to-face with the patient and/or family." + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "185463005", + "display": "Visit out of hours (procedure)" + }, { + "code": "185464004", + "display": "Out of hours visit - not night visit (procedure)" + }, { + "code": "185465003", + "display": "Weekend visit (procedure)" + }, { + "code": "30346009", + "display": "Evaluation and management of established outpatient in office or other outpatient facility (procedure)" + }, { + "code": "3391000175108", + "display": "Office visit for pediatric care and assessment (procedure)" + }, { + "code": "37894004", + "display": "Evaluation and management of new outpatient in office or other outpatient facility (procedure)" + }, { + "code": "439740005", + "display": "Postoperative follow-up visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1023", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1023" + } ], + "version": "20170504", + "name": "PreventiveCareServices-InitialOfficeVisit,18andUp", + "title": "Preventive Care Services-Initial Office Visit, 18 and Up", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99385", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 18-39 years" + }, { + "code": "99386", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 40-64 years" + }, { + "code": "99387", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 65 years and older" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-2.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-2.0.000
Type: Logic Library
Version: 2.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '2.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t    and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] C where C.id = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t\treturn singleton from ([Condition] C where C.id = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "2.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMDUiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIwNSIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVSIiBpZD0iRVIiIGRpc3BsYXk9IkVtZXJnZW5jeSByb29tIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSUNVIiBpZD0iSUNVIiBkaXNwbGF5PSJJbnRlbnNpdmUgY2FyZSB1bml0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikxlbmd0aEluRGF5cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGlmZmVyZW5jZUJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJJbnBhdGllbnQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgIDx5ZWFyIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwveWVhcj4NCiAgICAgICAgICAgIDxtb250aCBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9tb250aD4NCiAgICAgICAgICAgIDxkYXkgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L2RheT4NCiAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHRpbWV6b25lT2Zmc2V0IHhzaTp0eXBlPSJUaW1lem9uZUZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3RpbWV6b25lT2Zmc2V0Pg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2RheSIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbk1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImhvdXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDxlbHNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlgiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFREVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFREVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgIDx0aGVuIHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTGVuZ3RoIG9mIFN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQWRtaXNzaW9uIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIERpc2NoYXJnZSBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGl0YWxMb2NhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8c29ydD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxieSBkaXJlY3Rpb249ImFzYyIgeHNpOnR5cGU9IkJ5RXhwcmVzc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvbmRpdGlvbiIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyb2xlIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpbGxpbmciIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlZ2VyIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyYW5rIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29uZGl0aW9uIiBzY29wZT0iUEQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldExvY2F0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxvY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkxvY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlZmVyZW5jZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0RXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldFByb3ZlbmFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm92ZW5hbmNlIiBjb2RlUHJvcGVydHk9InRhcmdldCIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldE1lZGljYXRpb25Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlcXVlc3QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVxdWVzdCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwoKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnCmNvZGUgIkVSIjogJ0VSJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnRW1lcmdlbmN5IHJvb20nCmNvZGUgIklDVSI6ICdJQ1UnIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdJbnRlbnNpdmUgY2FyZSB1bml0Jwpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIiOgoJW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFbmNvdW50ZXJJbnBhdGllbnQKCQl3aGVyZSBFbmNvdW50ZXJJbnBhdGllbnQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCSAgICBhbmQgIkxlbmd0aEluRGF5cyIoRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCkgPD0gMTIwCgkJCWFuZCBFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kIGVuZHMgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgZnVuY3Rpb24gIlRvRGF0ZSIoVmFsdWUgRGF0ZVRpbWUpOgoJRGF0ZVRpbWUoeWVhciBmcm9tIFZhbHVlLCBtb250aCBmcm9tIFZhbHVlLCBkYXkgZnJvbSBWYWx1ZSwgMCwgMCwgMCwgMCwgdGltZXpvbmUgZnJvbSBWYWx1ZSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbkRheXNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6CglkYXlzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5cyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluRGF5c0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6Cgltb250aHMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCXllYXJzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluWWVhcnMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJblllYXJzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiTGVuZ3RoSW5EYXlzIihWYWx1ZSBJbnRlcnZhbDxEYXRlVGltZT4pOgoJZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgVmFsdWUgYW5kIGVuZCBvZiBWYWx1ZQoKZGVmaW5lIGZ1bmN0aW9uICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKICAgIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXSBFRFZpc2l0CiAgICAgICAgICAgIHdoZXJlIEVEVmlzaXQuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgICAgICAgICAgICAgYW5kIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCkKICAgICkKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJKCAiRUQgVmlzaXQiKFRoZUVuY291bnRlcikgKSBYCiAgICByZXR1cm4KICAgICAgICBpZiBYIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgZWxzZSBJbnRlcnZhbFtzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFgucGVyaW9kKSwgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCldCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIEVERW5jb3VudGVyCiAgICByZXR1cm4KICAgICAgICBpZiBFREVuY291bnRlciBpcyBudWxsIHRoZW4gVGhlRW5jb3VudGVyLmxvY2F0aW9uCiAgICAgICAgZWxzZSBmbGF0dGVuIHsgRURFbmNvdW50ZXIubG9jYXRpb24sIFRoZUVuY291bnRlci5sb2NhdGlvbiB9CgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMZW5ndGggb2YgU3RheSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCUxlbmd0aEluRGF5cygiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIpKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWwgRGlzY2hhcmdlIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgllbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEZpcnN0KAoJICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCXNvcnQgYnkgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChwZXJpb2QpCgkpLnBlcmlvZCkKCi8vIFRPRE8gLSBmaXggdGhlc2UgKG11c3QgZmV0Y2ggTG9jYXRpb24gcmVzb3VyY2VzIGFuZCBjb21wYXJlIGlkIHRvIHJlZmVyZW5jZSkKLypkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIERlcGFydHVyZSBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoTGFzdCgKCSAgICAoICJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIihUaGVFbmNvdW50ZXIpICkgSG9zcGl0YWxMb2NhdGlvbgoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkVtZXJnZW5jeSBEZXBhcnRtZW50IEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoKAoJICAgIHNpbmdsZXRvbiBmcm9tICgKCSAgICAgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJFUiIKCQkpCgkpLnBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiRmlyc3QgSW5wYXRpZW50IEludGVuc2l2ZSBDYXJlIFVuaXQiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglGaXJzdCgKCSAgICAoIFRoZUVuY291bnRlci5sb2NhdGlvbiApIEhvc3BpdGFsTG9jYXRpb24KCQkJd2hlcmUgSG9zcGl0YWxMb2NhdGlvbi50eXBlIH4gIklDVSIKCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgVGhlRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKSovCgovKgoqCiogICAgQ1FGTWVhc3VyZXMgQ29tbW9uIExvZ2ljCioKKi8KCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgogIGlmIG9uc2V0IGlzIEZISVIuZGF0ZVRpbWUgdGhlbgoJICBJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLlBlcmlvZCB0aGVuCgkgIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwob25zZXQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIG9uc2V0IGlzIEZISVIuQWdlIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpLAoJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpICsgMSB5ZWFyKQoJZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbiBDb25kaXRpb24pOgoJaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5kYXRlVGltZSldCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5BZ2UgdGhlbgoJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLAoJCQlGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmJvb2xlYW4gdGhlbgoJICBJbnRlcnZhbFtlbmQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgY29uZGl0aW9uLmFzc2VydGVkRGF0ZSkKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJHZXRQcmV2YWxlbmNlUGVyaW9kIihjb25kaXRpb24gQ29uZGl0aW9uKToKICBJbnRlcnZhbFtzdGFydCBvZiAiTm9ybWFsaXplIE9uc2V0Iihjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbikpCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBJbnRlcnZhbCIoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZD4pOgogIGlmIGNob2ljZSBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5kYXRlVGltZSksIEZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZQoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNob2ljZSBhcyBGSElSLlBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcpOgoJTGFzdChTcGxpdCh1cmksICcvJykpCgpkZWZpbmUgZnVuY3Rpb24gIkVuY291bnRlckRpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6CiAgRW5jb3VudGVyLmRpYWdub3NpcyBECiAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKFtDb25kaXRpb25dIEMgd2hlcmUgQy5pZCA9ICJHZXRJZCIoRC5jb25kaXRpb24ucmVmZXJlbmNlKSkKCi8vIFJldHVybnMgdGhlIGNvbmRpdGlvbiB0aGF0IGlzIHNwZWNpZmllZCBhcyB0aGUgcHJpbmNpcGFsIGRpYWdub3NpcyBmb3IgdGhlIGVuY291bnRlcgpkZWZpbmUgZnVuY3Rpb24gIlByaW5jaXBhbERpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6Cgkoc2luZ2xldG9uIGZyb20gKEVuY291bnRlci5kaWFnbm9zaXMgRCB3aGVyZSBELnJvbGUgfiBUb0NvbmNlcHQoIkJpbGxpbmciKSBhbmQgRC5yYW5rID0gMSkpIFBECgkJcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDIHdoZXJlIEMuaWQgPSAiR2V0SWQiKFBELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgbG9jYXRpb24gZm9yIHRoZSBnaXZlbiBsb2NhdGlvbiByZWZlcmVuY2UKZGVmaW5lIGZ1bmN0aW9uIEdldExvY2F0aW9uKHJlZmVyZW5jZSBSZWZlcmVuY2UpOgogIHNpbmdsZXRvbiBmcm9tICgKICAgIFtMb2NhdGlvbl0gTG9jYXRpb24gd2hlcmUgTG9jYXRpb24uaWQudmFsdWUgPSBHZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKQogICkKCi8qCk5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlCkNRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nICsgdXJsKQoJCXJldHVybiBFCgpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UsIHVybCkKCi8qCk5PVEU6IFByb3ZlbmFuY2UgaXMgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIHRoaXMgaXMgcHJvdmlkZWQgb25seSBhcyBhbiBpbGx1c3RyYXRpb24KZm9yIHdoYXQgdXNpbmcgUHJvdmVuYW5jZSBjb3VsZCBsb29rIGxpa2UsIGFuZCBpcyBub3QgYSB0ZXN0ZWQgcGF0dGVybgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldFByb3ZlbmFuY2UiKHJlc291cmNlIFJlc291cmNlKToKICBzaW5nbGV0b24gZnJvbSAoW1Byb3ZlbmFuY2U6IHRhcmdldCBpbiByZXNvdXJjZS5pZF0pCgpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Db2RlIihyZXF1ZXN0IE1lZGljYXRpb25SZXF1ZXN0KToKICBpZiByZXF1ZXN0Lm1lZGljYXRpb24gaXMgQ29kZWFibGVDb25jZXB0IHRoZW4KCSAgcmVxdWVzdC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdAoJZWxzZQoJICAoc2luZ2xldG9uIGZyb20gKFtNZWRpY2F0aW9uOiBpZCBpbiBHZXRJZCgocmVxdWVzdC5tZWRpY2F0aW9uIGFzIFJlZmVyZW5jZSkucmVmZXJlbmNlKV0pKS5jb2RlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-SupplementalDataElements-FHIR3-1.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-SupplementalDataElements-FHIR3-1.0.0
Type: Logic Library
Version: 1.0.0
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Coverage

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591

Content: type: text/cql
library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Payer":\n    [Coverage: type in "Payer"] Payer\n      return {\n        code: Payer.type,\n        period: Payer.period\n      }\n\ndefine "SDE Race":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Sex":\n  case\n    when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n    when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n    else null\n  end\n
\n \n \n
\n
" + }, + "version": "1.0.0", + "name": "SupplementalDataElements_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1" + } ], + "version": "20150331", + "name": "ONCAdministrativeSex", + "title": "ONC Administrative Sex", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + }, { + "code": "M", + "display": "Male" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1025", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1025" + } ], + "version": "20170504", + "name": "PreventiveCareServices-EstablishedOfficeVisit,18andUp", + "title": "Preventive Care Services - Established Office Visit, 18 and Up", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99395", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 18-39 years" + }, { + "code": "99396", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 40-64 years" + }, { + "code": "99397", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 65 years and older" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.837", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.837" + } ], + "version": "20121025", + "name": "Ethnicity", + "title": "Ethnicity", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "2135-2", + "display": "Hispanic or Latino" + }, { + "code": "2186-5", + "display": "Not Hispanic or Latino" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "resource": { + "resourceType": "Bundle", + "id": "tests-Observation-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Observation", + "id": "denom-EXM124-FHIR3-2", + "meta": { + "profile": [ "http://www.http://hl7.org/fhir/FHIR3/observation" ] + }, + "status": "final", + "code": { + "coding": [ { + "system": "http://loinc.org", + "code": "10524-7", + "display": "Microscopic observation [Identifier] in Cervix by Cyto stain" + } ] + }, + "subject": { + "reference": "Patient/denom-EXM124-FHIR3" + }, + "effectiveDateTime": "2019-11-01T00:00:00" + }, + "request": { + "method": "PUT", + "url": "Observation/denom-EXM124-FHIR3-2" + } + } ] + }, + "request": { + "method": "PUT", + "url": "tests-Observation-bundle" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.3591", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.3591" + } ], + "version": "20180718", + "name": "Payer", + "title": "Payer", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.phdsc.org/standards/pdfs/SourceofPaymentTypologyVersion6FINALSeptember2015.pdf", + "version": "8.0", + "concept": [ { + "code": "1", + "display": "MEDICARE" + }, { + "code": "11", + "display": "Medicare (Managed Care)" + }, { + "code": "111", + "display": "Medicare HMO" + }, { + "code": "112", + "display": "Medicare PPO" + }, { + "code": "113", + "display": "Medicare POS" + }, { + "code": "119", + "display": "Medicare Managed Care Other" + }, { + "code": "12", + "display": "Medicare (Non-managed Care)" + }, { + "code": "121", + "display": "Medicare FFS" + }, { + "code": "122", + "display": "Medicare Drug Benefit" + }, { + "code": "123", + "display": "Medicare Medical Savings Account (MSA)" + }, { + "code": "129", + "display": "Medicare Non-managed Care Other" + }, { + "code": "13", + "display": "Medicare Hospice" + }, { + "code": "14", + "display": "Dual Eligibility Medicare/Medicaid Organization" + }, { + "code": "19", + "display": "Medicare Other" + }, { + "code": "191", + "display": "Medicare Pharmacy Benefit Manager" + }, { + "code": "2", + "display": "MEDICAID" + }, { + "code": "21", + "display": "Medicaid (Managed Care)" + }, { + "code": "211", + "display": "Medicaid HMO" + }, { + "code": "212", + "display": "Medicaid PPO" + }, { + "code": "213", + "display": "Medicaid PCCM (Primary Care Case Management)" + }, { + "code": "219", + "display": "Medicaid Managed Care Other" + }, { + "code": "22", + "display": "Medicaid (Non-managed Care Plan)" + }, { + "code": "23", + "display": "Medicaid/SCHIP" + }, { + "code": "25", + "display": "Medicaid - Out of State" + }, { + "code": "26", + "display": "Medicaid -- Long Term Care" + }, { + "code": "29", + "display": "Medicaid Other" + }, { + "code": "291", + "display": "Medicaid Pharmacy Benefit Manager" + }, { + "code": "299", + "display": "Medicaid - Dental" + }, { + "code": "3", + "display": "OTHER GOVERNMENT (Federal/State/Local) (excluding Department of Corrections)" + }, { + "code": "31", + "display": "Department of Defense" + }, { + "code": "311", + "display": "TRICARE (CHAMPUS)" + }, { + "code": "3111", + "display": "TRICARE Prime--HMO" + }, { + "code": "3112", + "display": "TRICARE Extra--PPO" + }, { + "code": "3113", + "display": "TRICARE Standard - Fee For Service" + }, { + "code": "3114", + "display": "TRICARE For Life--Medicare Supplement" + }, { + "code": "3115", + "display": "TRICARE Reserve Select" + }, { + "code": "3116", + "display": "Uniformed Services Family Health Plan (USFHP) -- HMO" + }, { + "code": "3119", + "display": "Department of Defense - (other)" + }, { + "code": "312", + "display": "Military Treatment Facility" + }, { + "code": "3121", + "display": "Enrolled Prime--HMO" + }, { + "code": "3122", + "display": "Non-enrolled Space Available" + }, { + "code": "3123", + "display": "TRICARE For Life (TFL)" + }, { + "code": "313", + "display": "Dental --Stand Alone" + }, { + "code": "32", + "display": "Department of Veterans Affairs" + }, { + "code": "321", + "display": "Veteran care--Care provided to Veterans" + }, { + "code": "3211", + "display": "Direct Care--Care provided in VA facilities" + }, { + "code": "3212", + "display": "Indirect Care--Care provided outside VA facilities" + }, { + "code": "32121", + "display": "Fee Basis" + }, { + "code": "32122", + "display": "Foreign Fee/Foreign Medical Program (FMP)" + }, { + "code": "32123", + "display": "Contract Nursing Home/Community Nursing Home" + }, { + "code": "32124", + "display": "State Veterans Home" + }, { + "code": "32125", + "display": "Sharing Agreements" + }, { + "code": "32126", + "display": "Other Federal Agency" + }, { + "code": "32127", + "display": "Dental Care" + }, { + "code": "32128", + "display": "Vision Care" + }, { + "code": "322", + "display": "Non-veteran care" + }, { + "code": "3221", + "display": "Civilian Health and Medical Program for the VA (CHAMPVA)" + }, { + "code": "3222", + "display": "Spina Bifida Health Care Program (SB)" + }, { + "code": "3223", + "display": "Children of Women Vietnam Veterans (CWVV)" + }, { + "code": "3229", + "display": "Other non-veteran care" + }, { + "code": "33", + "display": "Indian Health Service or Tribe" + }, { + "code": "331", + "display": "Indian Health Service -- Regular" + }, { + "code": "332", + "display": "Indian Health Service -- Contract" + }, { + "code": "333", + "display": "Indian Health Service - Managed Care" + }, { + "code": "334", + "display": "Indian Tribe - Sponsored Coverage" + }, { + "code": "34", + "display": "HRSA Program" + }, { + "code": "341", + "display": "Title V (MCH Block Grant)" + }, { + "code": "342", + "display": "Migrant Health Program" + }, { + "code": "343", + "display": "Ryan White Act" + }, { + "code": "349", + "display": "Other" + }, { + "code": "35", + "display": "Black Lung" + }, { + "code": "36", + "display": "State Government" + }, { + "code": "361", + "display": "State SCHIP program (codes for individual states)" + }, { + "code": "362", + "display": "Specific state programs (list/ local code)" + }, { + "code": "369", + "display": "State, not otherwise specified (other state)" + }, { + "code": "37", + "display": "Local Government" + }, { + "code": "371", + "display": "Local - Managed care" + }, { + "code": "3711", + "display": "HMO" + }, { + "code": "3712", + "display": "PPO" + }, { + "code": "3713", + "display": "POS" + }, { + "code": "372", + "display": "FFS/Indemnity" + }, { + "code": "379", + "display": "Local, not otherwise specified (other local, county)" + }, { + "code": "38", + "display": "Other Government (Federal, State, Local not specified)" + }, { + "code": "381", + "display": "Federal, State, Local not specified managed care" + }, { + "code": "3811", + "display": "Federal, State, Local not specified - HMO" + }, { + "code": "3812", + "display": "Federal, State, Local not specified - PPO" + }, { + "code": "3813", + "display": "Federal, State, Local not specified - POS" + }, { + "code": "3819", + "display": "Federal, State, Local not specified - not specified managed care" + }, { + "code": "382", + "display": "Federal, State, Local not specified - FFS" + }, { + "code": "389", + "display": "Federal, State, Local not specified - Other" + }, { + "code": "39", + "display": "Other Federal" + }, { + "code": "391", + "display": "Federal Employee Health Plan - Use when known" + }, { + "code": "4", + "display": "DEPARTMENTS OF CORRECTIONS" + }, { + "code": "41", + "display": "Corrections Federal" + }, { + "code": "42", + "display": "Corrections State" + }, { + "code": "43", + "display": "Corrections Local" + }, { + "code": "44", + "display": "Corrections Unknown Level" + }, { + "code": "5", + "display": "PRIVATE HEALTH INSURANCE" + }, { + "code": "51", + "display": "Managed Care (Private)" + }, { + "code": "511", + "display": "Commercial Managed Care - HMO" + }, { + "code": "512", + "display": "Commercial Managed Care - PPO" + }, { + "code": "513", + "display": "Commercial Managed Care - POS" + }, { + "code": "514", + "display": "Exclusive Provider Organization" + }, { + "code": "515", + "display": "Gatekeeper PPO (GPPO)" + }, { + "code": "516", + "display": "Commercial Managed Care - Pharmacy Benefit Manager" + }, { + "code": "517", + "display": "Commercial Managed Care - Dental" + }, { + "code": "519", + "display": "Managed Care, Other (non HMO)" + }, { + "code": "52", + "display": "Private Health Insurance - Indemnity" + }, { + "code": "521", + "display": "Commercial Indemnity" + }, { + "code": "522", + "display": "Self-insured (ERISA) Administrative Services Only (ASO) plan" + }, { + "code": "523", + "display": "Medicare supplemental policy (as second payer)" + }, { + "code": "524", + "display": "Indemnity Insurance - Dental" + }, { + "code": "529", + "display": "Private health insurance--other commercial Indemnity" + }, { + "code": "53", + "display": "Managed Care (private) or private health insurance (indemnity), not otherwise specified" + }, { + "code": "54", + "display": "Organized Delivery System" + }, { + "code": "55", + "display": "Small Employer Purchasing Group" + }, { + "code": "56", + "display": "Specialized Stand Alone Plan" + }, { + "code": "561", + "display": "Dental" + }, { + "code": "562", + "display": "Vision" + }, { + "code": "59", + "display": "Other Private Insurance" + }, { + "code": "6", + "display": "BLUE CROSS/BLUE SHIELD" + }, { + "code": "61", + "display": "BC Managed Care" + }, { + "code": "611", + "display": "BC Managed Care -- HMO" + }, { + "code": "612", + "display": "BC Managed Care -- PPO" + }, { + "code": "613", + "display": "BC Managed Care -- POS" + }, { + "code": "614", + "display": "BC Managed Care - Dental" + }, { + "code": "619", + "display": "BC Managed Care -- Other" + }, { + "code": "62", + "display": "BC Insurance Indemnity" + }, { + "code": "621", + "display": "BC Indemnity" + }, { + "code": "622", + "display": "BC Self-insured (ERISA) Administrative Services Only (ASO)Plan" + }, { + "code": "623", + "display": "BC Medicare Supplemental Plan" + }, { + "code": "629", + "display": "BC Indemnity - Dental" + }, { + "code": "7", + "display": "MANAGED CARE, UNSPECIFIED (to be used only if one can't distinguish public from private)" + }, { + "code": "71", + "display": "HMO" + }, { + "code": "72", + "display": "PPO" + }, { + "code": "73", + "display": "POS" + }, { + "code": "79", + "display": "Other Managed Care" + }, { + "code": "8", + "display": "NO PAYMENT from an Organization/Agency/Program/Private Payer Listed" + }, { + "code": "81", + "display": "Self-pay (Includes applicants for insurance and Medicaid applicants)" + }, { + "code": "82", + "display": "No Charge" + }, { + "code": "821", + "display": "Charity" + }, { + "code": "822", + "display": "Professional Courtesy" + }, { + "code": "823", + "display": "Research/Clinical Trial" + }, { + "code": "83", + "display": "Refusal to Pay/Bad Debt" + }, { + "code": "84", + "display": "Hill Burton Free Care" + }, { + "code": "85", + "display": "Research/Donor" + }, { + "code": "89", + "display": "No Payment, Other" + }, { + "code": "9", + "display": "MISCELLANEOUS/OTHER" + }, { + "code": "91", + "display": "Foreign National" + }, { + "code": "92", + "display": "Other (Non-government)" + }, { + "code": "93", + "display": "Disability Insurance" + }, { + "code": "94", + "display": "Long-term Care Insurance" + }, { + "code": "95", + "display": "Worker's Compensation" + }, { + "code": "951", + "display": "Worker's Comp HMO" + }, { + "code": "953", + "display": "Worker's Comp Fee-for-Service" + }, { + "code": "954", + "display": "Worker's Comp Other Managed Care" + }, { + "code": "959", + "display": "Worker's Comp, Other unspecified" + }, { + "code": "96", + "display": "Auto Insurance (includes no fault)" + }, { + "code": "97", + "display": "Legal Liability / Liability Insurance" + }, { + "code": "98", + "display": "Other specified but not otherwise classifiable (includes Hospice - Unspecified plan)" + }, { + "code": "99", + "display": "No Typology Code available for payment source" + }, { + "code": "9999", + "display": "Unavailable / No Payer Specified / Blank" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.836", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.836" + } ], + "version": "20121025", + "name": "Race", + "title": "Race", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "1002-5", + "display": "American Indian or Alaska Native" + }, { + "code": "2028-9", + "display": "Asian" + }, { + "code": "2054-5", + "display": "Black or African American" + }, { + "code": "2076-8", + "display": "Native Hawaiian or Other Pacific Islander" + }, { + "code": "2106-3", + "display": "White" + }, { + "code": "2131-1", + "display": "Other Race" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.666.5.307", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.666.5.307" + } ], + "version": "20170504", + "name": "EncounterInpatient", + "title": "Encounter Inpatient", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + }, { + "code": "8715000", + "display": "Hospital admission, elective (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "resource": { + "resourceType": "Bundle", + "id": "tests-Encounter-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Encounter", + "id": "denom-EXM124-FHIR3-1", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] + }, + "status": "finished", + "class": { + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", + "code": "AMB", + "display": "ambulatory" + }, + "type": [ { + "coding": [ { + "system": "http://www.ama-assn.org/go/cpt", + "code": "99201", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + } ] + } ], + "subject": { + "reference": "Patient/denom-EXM124-FHIR3" + }, + "period": { + "start": "2019-01-01T00:00:00.0", + "end": "2019-01-02T00:00:00.0" + } + }, + "request": { + "method": "PUT", + "url": "Encounter/denom-EXM124-FHIR3-1" + } + } ] + }, + "request": { + "method": "PUT", + "url": "tests-Encounter-bundle" + } + }, { + "resource": { + "resourceType": "Measure", + "id": "measure-EXM124-FHIR3-7.2.000", + "meta": { + "versionId": "4", + "lastUpdated": "2019-08-16T22:54:16.130+00:00", + "profile": [ "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" ] + }, + "text": { + "status": "generated", + "div": "
Id: Measure/measure-exm124-FHIR3
Type:
system: http://hl7.org/fhir/measure-type
code: process
Identifier: system: http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms
value: 130
system: http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/nqf
value: 0034
Title: Cervical Cancer Screening
Status: active
Description: Percentage of women 21-64 years of age who were screened for cervical cancer using either of the following criteria: <br> * Women age 21-64 who had cervical cytology performed every 3 years <br.* Women age 30-64 who had cervical cytology/human papillomavirus (HPV) co-testing performed every 5 years
Purpose: Women 23-64 years of age with a visit during the measurement period
Use Context:

code: program

value:
text: eligible-provider

Topic:
system: http://loinc.org
code: 57024-2
display: Health Quality Measure Document
Contributor: author: National Committee for Quality Assurance
Related:

type: citation

citation:
Howlader, N., Noone, A.M., Krapcho, M., Miller, D., Bishop, K., Altekruse, S.F., Kosary, C.L., Yu, M., Ruhl, J., Tatalovich, Z., Mariotto, A., Lewis, D.R., Chen, H.S., Feuer, E.J., and Cronin, K.A. 2016. "SEER Cancer Statistics Review, 1975-2013." National Cancer Institute. (December 5, 2016) http://seer.cancer.gov/csr/1975_2013/

type: citation

citation:
National Business Group on Health. 2011. "Pathways to Managing Cancer in the Workplace." (May 8, 2012). http://www.tcyh.org/employers/downloads/Pathways_Managing_Cancer_2011.pdf

type: citation

citation:
Feig S. 2011. Comparison of Costs and Benefits of Breast Cancer Screening with Mammography, Ultrasonagraphy, and MRI. Obstetrics and Gynecology Clinics of North America. 38(1):179-96.

type: citation

citation:
U.S. Preventive Services Task Force (USPSTF). 2016. "Screening for Breast Cancer: U.S. Preventive Services Task Force Recommendation Statement." Ann Intern Med. 164(4):279-296. doi:10.7326/M15-2886.

Library:

reference: Library/library-exm124-FHIR3

Disclaimer: The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. <br> Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].
Scoring:
system: http://hl7.org/fhir/measure-scoring
code: proportion
Rationale: Breast cancer is one of the most common types of cancers, accounting for 15 percent of all new cancer diagnoses in the U.S. (Howlader et al, 2016). In 2013, over 3 million women were estimated to be living with breast cancer in the U.S. and it is estimated that 12 percent of women will be diagnosed with breast cancer at some point during their lifetime (Howlader et al, 2016). <br> While there are other factors that affect a woman's risk of developing breast cancer, advancing age is a primary risk factor. Breast cancer is most frequently diagnosed among women ages 55-64; the median age at diagnosis is 62 years (Howlader et al, 2016). The chance of a woman being diagnosed with breast cancer in a given year increases with age. By age 40, the chances are 1 in 235; by age 50 it becomes 1 in 54; by age 60, it is 1 in 25 (National Business Group on Health, 2011). <br> In the U.S., costs associated with a diagnosis of breast cancer range from $451 to $2,520, factoring in continued testing, multiple office visits and procedures. The total costs related to breast cancer add up to nearly $7 billion per year in the U.S., including $2 billion spent on late-stage treatment (National Business Group on Health, 2011). If breast cancer is detected through mammography screening and diagnosed in its earliest stages, treatment may be less expensive (Feig, 2011).
Clinical Recommendation: The U.S. Preventive Services Task Force (USPSTF) recommends biennial screening mammography for women aged 50-74 years (B recommendation). <br> The decision to start screening mammography in women prior to age 50 years should be an individual one. Women who place a higher value on the potential benefit than the potential harms may choose to begin biennial screening between the ages of 40 and 49 years (C recommendation). (USPSTF, 2016) <br> The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of screening mammography in women aged 75 years or older (I statement). (USPSTF, 2016) <br> The USPSTF concludes that the current evidence is insufficient to assess the benefits and harms of digital breast tomosynthesis (DBT) as a primary screening method for breast cancer (I Statement). (USPSTF, 2016) <br> The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of adjunctive screening for breast cancer using breast ultrasonography, magnetic resonance imaging, DBT, or other methods in women identified to have dense breasts on an otherwise negative screening mammogram (I statement). (USPSTF, 2016)
Guidance: To ensure the measure is only looking for a cervical cytology test only after a woman turns 21 years of age, the youngest age in the initial population is 23. <br> Patient self-report for procedures as well as diagnostic studies should be recorded in 'Procedure, Performed' template or 'Diagnostic Study, Performed' template in QRDA-1. <br> Include only cytology and HPV "co-testing"; in co-testing, both cytology and HPV tests are performed (i.e., the samples are collected and both tests are ordered, regardless of the cytology result) on the same date of service. Do not include reflex testing. In addition, if the medical record indicates the HPV test was performed only after determining the cytology result, this is considered reflex testing and does not meet criteria for the measure.
Group:

Identifier:
value: group-1

Population:

Identifier:
value: initial-population-identifier

criteria: Initial Population

Identifier:
value: numerator-identifier

criteria: Numerator

Identifier:
value: denominator-identifier

criteria: Denominator

Identifier:
value: denominator-exclusions-identifier

criteria: Denominator Exclusion

Supplemental Data:

Identifier:
value: sde-ethnicity

usage:
system: http://hl7.org/fhir/measure-data-usage
code: supplemental-data

criteria: SDE Ethnicity

Identifier:
value: sde-payer

usage:
system: http://hl7.org/fhir/measure-data-usage
code: supplemental-data

criteria: SDE Payer

Identifier:
value: sde-race

usage:
system: http://hl7.org/fhir/measure-data-usage
code: supplemental-data

criteria: SDE Race

Identifier:
value: sde-sex

usage:
system: http://hl7.org/fhir/measure-data-usage
code: supplemental-data

criteria: SDE Sex

" + }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", + "valueCode": "boolean" + } ], + "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-exm124-FHIR3", + "identifier": [ { + "use": "official", + "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms", + "value": "124" + }, { + "use": "official", + "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/nqf", + "value": "0034" + } ], + "version": "7.2.000", + "name": "EXM124", + "title": "Cervical Cancer Screening", + "status": "active", + "experimental": true, + "date": "2018-09-17", + "publisher": "National Committee for Quality Assurance", + "description": "Percentage of women 21-64 years of age who were screened for cervical cancer using either of the following criteria:
* Women age 21-64 who had cervical cytology performed every 3 years Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications.
CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.", + "relatedArtifact": [ { + "type": "citation", + "citation": "Howlader, N., Noone, A.M., Krapcho, M., Miller, D., Bishop, K., Altekruse, S.F., Kosary, C.L., Yu, M., Ruhl, J., Tatalovich, Z., Mariotto, A., Lewis, D.R., Chen, H.S., Feuer, E.J., and Cronin, K.A. 2016. \"SEER Cancer Statistics Review, 1975-2013.\" National Cancer Institute. (December 5, 2016) http://seer.cancer.gov/csr/1975_2013/" + }, { + "type": "citation", + "citation": "National Business Group on Health. 2011. \"Pathways to Managing Cancer in the Workplace.\" (May 8, 2012). http://www.tcyh.org/employers/downloads/Pathways_Managing_Cancer_2011.pdf" + }, { + "type": "citation", + "citation": "Feig S. 2011. Comparison of Costs and Benefits of Breast Cancer Screening with Mammography, Ultrasonagraphy, and MRI. Obstetrics and Gynecology Clinics of North America. 38(1):179-96." + }, { + "type": "citation", + "citation": "U.S. Preventive Services Task Force (USPSTF). 2016. \"Screening for Breast Cancer: U.S. Preventive Services Task Force Recommendation Statement.\" Ann Intern Med. 164(4):279-296. doi:10.7326/M15-2886." + } ], + "library": [ { + "reference": "Library/library-EXM124-FHIR3-7.2.000" + } ], + "disclaimer": "The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND.
Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].", + "scoring": { + "coding": [ { + "system": "http://hl7.org/fhir/measure-scoring", + "code": "proportion" + } ] + }, + "type": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-type", + "code": "process" + } ] + } ], + "rationale": "Breast cancer is one of the most common types of cancers, accounting for 15 percent of all new cancer diagnoses in the U.S. (Howlader et al, 2016). In 2013, over 3 million women were estimated to be living with breast cancer in the U.S. and it is estimated that 12 percent of women will be diagnosed with breast cancer at some point during their lifetime (Howlader et al, 2016).
While there are other factors that affect a woman's risk of developing breast cancer, advancing age is a primary risk factor. Breast cancer is most frequently diagnosed among women ages 55-64; the median age at diagnosis is 62 years (Howlader et al, 2016). The chance of a woman being diagnosed with breast cancer in a given year increases with age. By age 40, the chances are 1 in 235; by age 50 it becomes 1 in 54; by age 60, it is 1 in 25 (National Business Group on Health, 2011).
In the U.S., costs associated with a diagnosis of breast cancer range from $451 to $2,520, factoring in continued testing, multiple office visits and procedures. The total costs related to breast cancer add up to nearly $7 billion per year in the U.S., including $2 billion spent on late-stage treatment (National Business Group on Health, 2011). If breast cancer is detected through mammography screening and diagnosed in its earliest stages, treatment may be less expensive (Feig, 2011).", + "clinicalRecommendationStatement": "The U.S. Preventive Services Task Force (USPSTF) recommends biennial screening mammography for women aged 50-74 years (B recommendation).
The decision to start screening mammography in women prior to age 50 years should be an individual one. Women who place a higher value on the potential benefit than the potential harms may choose to begin biennial screening between the ages of 40 and 49 years (C recommendation). (USPSTF, 2016)
The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of screening mammography in women aged 75 years or older (I statement). (USPSTF, 2016)
The USPSTF concludes that the current evidence is insufficient to assess the benefits and harms of digital breast tomosynthesis (DBT) as a primary screening method for breast cancer (I Statement). (USPSTF, 2016)
The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of adjunctive screening for breast cancer using breast ultrasonography, magnetic resonance imaging, DBT, or other methods in women identified to have dense breasts on an otherwise negative screening mammogram (I statement). (USPSTF, 2016)", + "improvementNotation": "increase", + "guidance": "To ensure the measure is only looking for a cervical cytology test only after a woman turns 21 years of age, the youngest age in the initial population is 23.
Patient self-report for procedures as well as diagnostic studies should be recorded in 'Procedure, Performed' template or 'Diagnostic Study, Performed' template in QRDA-1.
Include only cytology and HPV \"co-testing\"; in co-testing, both cytology and HPV tests are performed (i.e., the samples are collected and both tests are ordered, regardless of the cytology result) on the same date of service. Do not include reflex testing. In addition, if the medical record indicates the HPV test was performed only after determining the cytology result, this is considered reflex testing and does not meet criteria for the measure.", + "group": [ { + "identifier": { + "value": "group-1" + }, + "population": [ { + "identifier": { + "value": "initial-population-identifier" + }, + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population", + "display": "Initial Population" + } ] + }, + "criteria": "Initial Population" + }, { + "identifier": { + "value": "numerator-identifier" + }, + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "numerator", + "display": "Numerator" + } ] + }, + "criteria": "Numerator" + }, { + "identifier": { + "value": "denominator-identifier" + }, + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator", + "display": "Denominator" + } ] + }, + "criteria": "Denominator" + }, { + "identifier": { + "value": "denominator-exclusions-identifier" + }, + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator-exclusion", + "display": "Denominator Exclusion" + } ] + }, + "criteria": "Denominator Exclusion" + } ] + } ], + "supplementalData": [ { + "identifier": { + "value": "sde-ethnicity" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Ethnicity" + }, { + "identifier": { + "value": "sde-payer" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Payer" + }, { + "identifier": { + "value": "sde-race" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Race" + }, { + "identifier": { + "value": "sde-sex" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Sex" + } ] + }, + "request": { + "method": "PUT", + "url": "Measure/measure-EXM124-FHIR3-7.2.000/_history/4" + } }, { "resource": { "resourceType": "Observation", @@ -939,6 +2454,219 @@ "method": "PUT", "url": "Encounter/numer-EXM124-FHIR3-1" } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.526.3.1240", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.526.3.1240" + } ], + "version": "20170504", + "name": "AnnualWellnessVisit", + "title": "Annual Wellness Visit", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/index.html", + "version": "2018", + "concept": [ { + "code": "G0438", + "display": "Annual wellness visit; includes a personalized prevention plan of service (pps), initial visit" + }, { + "code": "G0439", + "display": "Annual wellness visit, includes a personalized prevention plan of service (pps), subsequent visit" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.526.3.1240" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" + }, + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1016", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1016" + } ], + "version": "20180310", + "name": "HomeHealthcareServices", + "title": "Home Healthcare Services", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99341", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; and Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low severity. Typically, 20 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99342", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: An expanded problem focused history; An expanded problem focused examination; and Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate severity. Typically, 30 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99343", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A detailed history; A detailed examination; and Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 45 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99344", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; and Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of high severity. Typically, 60 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99345", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; and Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the patient is unstable or has developed a significant new problem requiring immediate physician attention. Typically, 75 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99347", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A problem focused interval history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 15 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99348", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: An expanded problem focused interval history; An expanded problem focused examination; Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 25 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99349", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A detailed interval history; A detailed examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are moderate to high severity. Typically, 40 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99350", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A comprehensive interval history; A comprehensive examination; Medical decision making of moderate to high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. The patient may be unstable or may have developed a significant new problem requiring immediate physician attention. Typically, 60 minutes are spent face-to-face with the patient and/or family." + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "185460008", + "display": "Home visit request by patient (procedure)" + }, { + "code": "185462000", + "display": "Home visit request by relative (procedure)" + }, { + "code": "185466002", + "display": "Home visit for urgent condition (procedure)" + }, { + "code": "185467006", + "display": "Home visit for acute condition (procedure)" + }, { + "code": "185468001", + "display": "Home visit for chronic condition (procedure)" + }, { + "code": "185470005", + "display": "Home visit elderly assessment (procedure)" + }, { + "code": "225929007", + "display": "Joint home visit (procedure)" + }, { + "code": "315205008", + "display": "Bank holiday home visit (procedure)" + }, { + "code": "439708006", + "display": "Home visit (procedure)" + }, { + "code": "698704008", + "display": "Home visit for rheumatology service (procedure)" + }, { + "code": "704126008", + "display": "Home visit for anticoagulant drug monitoring (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1108.15", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1108.15" + } ], + "version": "20170504", + "name": "Hospicecareambulatory", + "title": "Hospice care ambulatory", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "385763009", + "display": "Hospice care (regime/therapy)" + }, { + "code": "385765002", + "display": "Hospice care management (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1108.15" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.560.100.2", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.560.100.2", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.560.100.2" + } ], + "version": "20160331", + "name": "Female", + "title": "Female", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.560.100.2" + } }, { "resource": { "resourceType": "Bundle", diff --git a/fhir3/bundles/measure/EXM124_FHIR3-7.2.000/EXM124_FHIR3-7.2.000-files/library-EXM124_FHIR3-7.2.000.json b/fhir3/bundles/measure/EXM124_FHIR3-7.2.000/EXM124_FHIR3-7.2.000-files/library-EXM124_FHIR3-7.2.000.json index bc1c9b9c..6ad4b3f9 100644 --- a/fhir3/bundles/measure/EXM124_FHIR3-7.2.000/EXM124_FHIR3-7.2.000-files/library-EXM124_FHIR3-7.2.000.json +++ b/fhir3/bundles/measure/EXM124_FHIR3-7.2.000/EXM124_FHIR3-7.2.000-files/library-EXM124_FHIR3-7.2.000.json @@ -21,6 +21,36 @@ "code": "logic-library" } ] }, + "dataRequirement": [ { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1017" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1059" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1014" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code" + } ] + } ], "content": [ { "contentType": "text/cql", "data": "bGlicmFyeSBFWE0xMjRfRkhJUjMgdmVyc2lvbiAnNy4yLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEyNHY3IC0gQ2VydmljYWwgQ2FuY2VyIFNjcmVlbmluZwoqLwoKLyoKVGhpcyBleGFtcGxlIGlzIGEgd29yayBpbiBwcm9ncmVzcyBhbmQgc2hvdWxkIG5vdCBiZSBjb25zaWRlcmVkIGEgZmluYWwgc3BlY2lmaWNhdGlvbgpvciByZWNvbW1lbmRhdGlvbiBmb3IgZ3VpZGFuY2UuIFRoaXMgZXhhbXBsZSB3aWxsIGhlbHAgZ3VpZGUgYW5kIGRpcmVjdCB0aGUgcHJvY2VzcwpvZiBmaW5kaW5nIGNvbnZlbnRpb25zIGFuZCB1c2FnZSBwYXR0ZXJucyB0aGF0IG1lZXQgdGhlIG5lZWRzIG9mIHRoZSB2YXJpb3VzIHN0YWtlaG9sZGVycwppbiB0aGUgbWVhc3VyZSBkZXZlbG9wbWVudCBjb21tdW5pdHkuCiovCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcgY2FsbGVkIEdsb2JhbAppbmNsdWRlIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMgdmVyc2lvbiAnMS4xLjAwMCcgY2FsbGVkIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMKaW5jbHVkZSBIb3NwaWNlX0ZISVIzIHZlcnNpb24gJzEuMC4wMDAnIGNhbGxlZCBIb3NwaWNlCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKY29kZXN5c3RlbSAiU05PTUVEQ1Q6MjAxNy0wOSI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcgdmVyc2lvbiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDknCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiRmVtYWxlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjU2MC4xMDAuMicKdmFsdWVzZXQgIkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxNicKdmFsdWVzZXQgIkh5c3RlcmVjdG9teSB3aXRoIE5vIFJlc2lkdWFsIENlcnZpeCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTAxNCcKdmFsdWVzZXQgIk9mZmljZSBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwMScKdmFsdWVzZXQgIlBhcCBUZXN0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOC4xMi4xMDE3Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjUnCnZhbHVlc2V0ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMtSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyMycKdmFsdWVzZXQgIkhQViBUZXN0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDU5JwoKY29kZSAiQ29uZ2VuaXRhbCBhYnNlbmNlIG9mIGNlcnZpeCAoZGlzb3JkZXIpIjogJzM3Njg3MDAwJyBmcm9tICJTTk9NRURDVDoyMDE3LTA5IiBkaXNwbGF5ICdDb25nZW5pdGFsIGFic2VuY2Ugb2YgY2Vydml4IChkaXNvcmRlciknCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgICBkZWZhdWx0IEludGVydmFsW0AyMDE5LTAxLTAxVDAwOjAwOjAwLjAsIEAyMDIwLTAxLTAxVDAwOjAwOjAwLjApCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiU0RFIEV0aG5pY2l0eSI6CiAgU0RFLiJTREUgRXRobmljaXR5IgoKZGVmaW5lICJTREUgUGF5ZXIiOgogIFNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CiAgU0RFLiJTREUgUmFjZSIKCmRlZmluZSAiU0RFIFNleCI6CiAgU0RFLiJTREUgU2V4IgoKZGVmaW5lICJOdW1lcmF0b3IiOgoJZXhpc3RzICJQYXAgVGVzdCBXaXRoaW4gMyBZZWFycyIKCQlvciBleGlzdHMgIlBhcCBUZXN0IFdpdGggSFBWIFdpdGhpbiA1IFllYXJzIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CgkiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJQYXAgVGVzdCB3aXRoIFJlc3VsdHMiOgoJW09ic2VydmF0aW9uOiAiUGFwIFRlc3QiXSBQYXBUZXN0CgkJd2hlcmUgUGFwVGVzdC52YWx1ZSBpcyBub3QgbnVsbAoJCQlhbmQgUGFwVGVzdC5zdGF0dXMgaW4geyAnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnLCAncHJlbGltaW5hcnknIH0KCmRlZmluZSAiUGFwIFRlc3QgV2l0aGluIDMgWWVhcnMiOgoJIlBhcCBUZXN0IHdpdGggUmVzdWx0cyIgUGFwVGVzdAoJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihQYXBUZXN0LmVmZmVjdGl2ZSkgZW5kcyAzIHllYXJzIG9yIGxlc3MgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJQYXBUZXN0IFdpdGhpbiA1IFllYXJzIjoKCSggIlBhcCBUZXN0IHdpdGggUmVzdWx0cyIgUGFwVGVzdE92ZXIzMFllYXJzT2xkCgkJCXdoZXJlIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihQYXBUZXN0T3ZlcjMwWWVhcnNPbGQuZWZmZWN0aXZlKSk+PSAzMAoJCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihQYXBUZXN0T3ZlcjMwWWVhcnNPbGQuZWZmZWN0aXZlKSBlbmRzIDUgeWVhcnMgb3IgbGVzcyBiZWZvcmUgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgkpCgpkZWZpbmUgIlBhcCBUZXN0IFdpdGggSFBWIFdpdGhpbiA1IFllYXJzIjoKCSJQYXBUZXN0IFdpdGhpbiA1IFllYXJzIiBQYXBUZXN0T3ZlcjMwWWVhcnNPbGQKCQl3aXRoIFtPYnNlcnZhdGlvbjogIkhQViBUZXN0Il0gSFBWVGVzdAoJCQlzdWNoIHRoYXQgSFBWVGVzdC52YWx1ZSBpcyBub3QgbnVsbAogICAgICAgIGFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoSFBWVGVzdC5lZmZlY3RpdmUpIHN0YXJ0cyB3aXRoaW4gMSBkYXkgb2Ygc3RhcnQgb2YgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKFBhcFRlc3RPdmVyMzBZZWFyc09sZC5lZmZlY3RpdmUpCgkJCQlhbmQgSFBWVGVzdC5zdGF0dXMgaW4geyAnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnLCAncHJlbGltaW5hcnknIH0KCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9uIjoKCUhvc3BpY2UuIkhhcyBIb3NwaWNlIigiTWVhc3VyZW1lbnQgUGVyaW9kIikKCQlvciBleGlzdHMgIlN1cmdpY2FsIEFic2VuY2Ugb2YgQ2Vydml4IgoJCW9yIGV4aXN0cyAiQWJzZW5jZSBvZiBDZXJ2aXgiCgpkZWZpbmUgIkFic2VuY2Ugb2YgQ2Vydml4IjoKCVtDb25kaXRpb24gOiAiQ29uZ2VuaXRhbCBhYnNlbmNlIG9mIGNlcnZpeCAoZGlzb3JkZXIpIl0gTm9DZXJ2aXhCaXJ0aAoJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIE9uc2V0IihOb0NlcnZpeEJpcnRoLm9uc2V0KSBzdGFydHMgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQlhbmQgTm9DZXJ2aXhCaXJ0aC5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnCgpkZWZpbmUgIlN1cmdpY2FsIEFic2VuY2Ugb2YgQ2Vydml4IjoKCVtQcm9jZWR1cmU6ICJIeXN0ZXJlY3RvbXkgd2l0aCBObyBSZXNpZHVhbCBDZXJ2aXgiXSBOb0NlcnZpeEh5c3RlcmVjdG9teQoJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihOb0NlcnZpeEh5c3RlcmVjdG9teS5wZXJmb3JtZWQpIGVuZHMgYmVmb3JlIGVuZCAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQlhbmQgTm9DZXJ2aXhIeXN0ZXJlY3RvbXkuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKCVBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScKCQlhbmQgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpIGluIEludGVydmFsWzIzLCA2NF0KCQlhbmQgZXhpc3RzIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMuIlF1YWxpZnlpbmcgRW5jb3VudGVycyIoIk1lYXN1cmVtZW50IFBlcmlvZCIpCg==" diff --git a/fhir3/bundles/measure/EXM124_FHIR3-7.2.000/EXM124_FHIR3-7.2.000-files/library-deps-EXM124_FHIR3-7.2.000-bundle.json b/fhir3/bundles/measure/EXM124_FHIR3-7.2.000/EXM124_FHIR3-7.2.000-files/library-deps-EXM124_FHIR3-7.2.000-bundle.json new file mode 100644 index 00000000..1ebba007 --- /dev/null +++ b/fhir3/bundles/measure/EXM124_FHIR3-7.2.000/EXM124_FHIR3-7.2.000-files/library-deps-EXM124_FHIR3-7.2.000-bundle.json @@ -0,0 +1,271 @@ +{ + "resourceType": "Bundle", + "id": "library-deps-EXM124-FHIR3-7.2.000-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Library", + "id": "library-AdultOutpatientEncounters-FHIR3-1.1.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-AdultOutpatientEncounters-FHIR3-1.1.000
Type: Logic Library
Version: 1.1.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016

Content: type: text/cql
library AdultOutpatientEncounters_FHIR3 version '1.1.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "Annual Wellness Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\n\ncontext Patient\n\ndefine function "Qualifying Encounters"(MeasurementPeriod Interval<DateTime>):\n\t(\n\t    [Encounter: "Office Visit"]\n\t\tunion [Encounter: "Annual Wellness Visit"] \n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Home Healthcare Services"]\n    ) ValidEncounter\n\t\twhere ValidEncounter.period during day of MeasurementPeriod\n\t\tand ValidEncounter.status  = 'finished' \n
\n \n \n
\n
" + }, + "version": "1.1.000", + "name": "AdultOutpatientEncounters_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMiIHZlcnNpb249IjEuMS4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT2ZmaWNlIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iQW5udWFsIFdlbGxuZXNzIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgLSBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUXVhbGlmeWluZyBFbmNvdW50ZXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZhbGlkRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik9mZmljZSBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJBbm51YWwgV2VsbG5lc3MgVmlzaXQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW5jbHVkZWRJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWYWxpZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudFBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iVmFsaWRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIHZlcnNpb24gJzEuMS4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnCnZhbHVlc2V0ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCcKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMnCnZhbHVlc2V0ICJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYnCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIihNZWFzdXJlbWVudFBlcmlvZCBJbnRlcnZhbDxEYXRlVGltZT4pOgoJKAoJICAgIFtFbmNvdW50ZXI6ICJPZmZpY2UgVmlzaXQiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIl0KICAgICkgVmFsaWRFbmNvdW50ZXIKCQl3aGVyZSBWYWxpZEVuY291bnRlci5wZXJpb2QgZHVyaW5nIGRheSBvZiBNZWFzdXJlbWVudFBlcmlvZAoJCWFuZCBWYWxpZEVuY291bnRlci5zdGF0dXMgID0gJ2ZpbmlzaGVkJyAK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" + }, + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-2.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-2.0.000
Type: Logic Library
Version: 2.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '2.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t    and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] C where C.id = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t\treturn singleton from ([Condition] C where C.id = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "2.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMDUiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIwNSIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVSIiBpZD0iRVIiIGRpc3BsYXk9IkVtZXJnZW5jeSByb29tIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSUNVIiBpZD0iSUNVIiBkaXNwbGF5PSJJbnRlbnNpdmUgY2FyZSB1bml0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikxlbmd0aEluRGF5cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGlmZmVyZW5jZUJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJJbnBhdGllbnQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgIDx5ZWFyIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwveWVhcj4NCiAgICAgICAgICAgIDxtb250aCBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9tb250aD4NCiAgICAgICAgICAgIDxkYXkgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L2RheT4NCiAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHRpbWV6b25lT2Zmc2V0IHhzaTp0eXBlPSJUaW1lem9uZUZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3RpbWV6b25lT2Zmc2V0Pg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2RheSIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbk1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImhvdXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDxlbHNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlgiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFREVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFREVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgIDx0aGVuIHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTGVuZ3RoIG9mIFN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQWRtaXNzaW9uIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIERpc2NoYXJnZSBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGl0YWxMb2NhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8c29ydD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxieSBkaXJlY3Rpb249ImFzYyIgeHNpOnR5cGU9IkJ5RXhwcmVzc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvbmRpdGlvbiIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyb2xlIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpbGxpbmciIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlZ2VyIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyYW5rIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29uZGl0aW9uIiBzY29wZT0iUEQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldExvY2F0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxvY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkxvY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlZmVyZW5jZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0RXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldFByb3ZlbmFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm92ZW5hbmNlIiBjb2RlUHJvcGVydHk9InRhcmdldCIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldE1lZGljYXRpb25Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlcXVlc3QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVxdWVzdCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwoKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnCmNvZGUgIkVSIjogJ0VSJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnRW1lcmdlbmN5IHJvb20nCmNvZGUgIklDVSI6ICdJQ1UnIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdJbnRlbnNpdmUgY2FyZSB1bml0Jwpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIiOgoJW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFbmNvdW50ZXJJbnBhdGllbnQKCQl3aGVyZSBFbmNvdW50ZXJJbnBhdGllbnQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCSAgICBhbmQgIkxlbmd0aEluRGF5cyIoRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCkgPD0gMTIwCgkJCWFuZCBFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kIGVuZHMgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgZnVuY3Rpb24gIlRvRGF0ZSIoVmFsdWUgRGF0ZVRpbWUpOgoJRGF0ZVRpbWUoeWVhciBmcm9tIFZhbHVlLCBtb250aCBmcm9tIFZhbHVlLCBkYXkgZnJvbSBWYWx1ZSwgMCwgMCwgMCwgMCwgdGltZXpvbmUgZnJvbSBWYWx1ZSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbkRheXNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6CglkYXlzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5cyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluRGF5c0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6Cgltb250aHMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCXllYXJzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluWWVhcnMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJblllYXJzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiTGVuZ3RoSW5EYXlzIihWYWx1ZSBJbnRlcnZhbDxEYXRlVGltZT4pOgoJZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgVmFsdWUgYW5kIGVuZCBvZiBWYWx1ZQoKZGVmaW5lIGZ1bmN0aW9uICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKICAgIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXSBFRFZpc2l0CiAgICAgICAgICAgIHdoZXJlIEVEVmlzaXQuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgICAgICAgICAgICAgYW5kIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCkKICAgICkKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJKCAiRUQgVmlzaXQiKFRoZUVuY291bnRlcikgKSBYCiAgICByZXR1cm4KICAgICAgICBpZiBYIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgZWxzZSBJbnRlcnZhbFtzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFgucGVyaW9kKSwgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCldCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIEVERW5jb3VudGVyCiAgICByZXR1cm4KICAgICAgICBpZiBFREVuY291bnRlciBpcyBudWxsIHRoZW4gVGhlRW5jb3VudGVyLmxvY2F0aW9uCiAgICAgICAgZWxzZSBmbGF0dGVuIHsgRURFbmNvdW50ZXIubG9jYXRpb24sIFRoZUVuY291bnRlci5sb2NhdGlvbiB9CgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMZW5ndGggb2YgU3RheSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCUxlbmd0aEluRGF5cygiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIpKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWwgRGlzY2hhcmdlIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgllbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEZpcnN0KAoJICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCXNvcnQgYnkgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChwZXJpb2QpCgkpLnBlcmlvZCkKCi8vIFRPRE8gLSBmaXggdGhlc2UgKG11c3QgZmV0Y2ggTG9jYXRpb24gcmVzb3VyY2VzIGFuZCBjb21wYXJlIGlkIHRvIHJlZmVyZW5jZSkKLypkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIERlcGFydHVyZSBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoTGFzdCgKCSAgICAoICJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIihUaGVFbmNvdW50ZXIpICkgSG9zcGl0YWxMb2NhdGlvbgoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkVtZXJnZW5jeSBEZXBhcnRtZW50IEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoKAoJICAgIHNpbmdsZXRvbiBmcm9tICgKCSAgICAgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJFUiIKCQkpCgkpLnBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiRmlyc3QgSW5wYXRpZW50IEludGVuc2l2ZSBDYXJlIFVuaXQiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglGaXJzdCgKCSAgICAoIFRoZUVuY291bnRlci5sb2NhdGlvbiApIEhvc3BpdGFsTG9jYXRpb24KCQkJd2hlcmUgSG9zcGl0YWxMb2NhdGlvbi50eXBlIH4gIklDVSIKCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgVGhlRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKSovCgovKgoqCiogICAgQ1FGTWVhc3VyZXMgQ29tbW9uIExvZ2ljCioKKi8KCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgogIGlmIG9uc2V0IGlzIEZISVIuZGF0ZVRpbWUgdGhlbgoJICBJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLlBlcmlvZCB0aGVuCgkgIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwob25zZXQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIG9uc2V0IGlzIEZISVIuQWdlIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpLAoJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpICsgMSB5ZWFyKQoJZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbiBDb25kaXRpb24pOgoJaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5kYXRlVGltZSldCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5BZ2UgdGhlbgoJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLAoJCQlGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmJvb2xlYW4gdGhlbgoJICBJbnRlcnZhbFtlbmQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgY29uZGl0aW9uLmFzc2VydGVkRGF0ZSkKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJHZXRQcmV2YWxlbmNlUGVyaW9kIihjb25kaXRpb24gQ29uZGl0aW9uKToKICBJbnRlcnZhbFtzdGFydCBvZiAiTm9ybWFsaXplIE9uc2V0Iihjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbikpCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBJbnRlcnZhbCIoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZD4pOgogIGlmIGNob2ljZSBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5kYXRlVGltZSksIEZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZQoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNob2ljZSBhcyBGSElSLlBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcpOgoJTGFzdChTcGxpdCh1cmksICcvJykpCgpkZWZpbmUgZnVuY3Rpb24gIkVuY291bnRlckRpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6CiAgRW5jb3VudGVyLmRpYWdub3NpcyBECiAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKFtDb25kaXRpb25dIEMgd2hlcmUgQy5pZCA9ICJHZXRJZCIoRC5jb25kaXRpb24ucmVmZXJlbmNlKSkKCi8vIFJldHVybnMgdGhlIGNvbmRpdGlvbiB0aGF0IGlzIHNwZWNpZmllZCBhcyB0aGUgcHJpbmNpcGFsIGRpYWdub3NpcyBmb3IgdGhlIGVuY291bnRlcgpkZWZpbmUgZnVuY3Rpb24gIlByaW5jaXBhbERpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6Cgkoc2luZ2xldG9uIGZyb20gKEVuY291bnRlci5kaWFnbm9zaXMgRCB3aGVyZSBELnJvbGUgfiBUb0NvbmNlcHQoIkJpbGxpbmciKSBhbmQgRC5yYW5rID0gMSkpIFBECgkJcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDIHdoZXJlIEMuaWQgPSAiR2V0SWQiKFBELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgbG9jYXRpb24gZm9yIHRoZSBnaXZlbiBsb2NhdGlvbiByZWZlcmVuY2UKZGVmaW5lIGZ1bmN0aW9uIEdldExvY2F0aW9uKHJlZmVyZW5jZSBSZWZlcmVuY2UpOgogIHNpbmdsZXRvbiBmcm9tICgKICAgIFtMb2NhdGlvbl0gTG9jYXRpb24gd2hlcmUgTG9jYXRpb24uaWQudmFsdWUgPSBHZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKQogICkKCi8qCk5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlCkNRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nICsgdXJsKQoJCXJldHVybiBFCgpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UsIHVybCkKCi8qCk5PVEU6IFByb3ZlbmFuY2UgaXMgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIHRoaXMgaXMgcHJvdmlkZWQgb25seSBhcyBhbiBpbGx1c3RyYXRpb24KZm9yIHdoYXQgdXNpbmcgUHJvdmVuYW5jZSBjb3VsZCBsb29rIGxpa2UsIGFuZCBpcyBub3QgYSB0ZXN0ZWQgcGF0dGVybgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldFByb3ZlbmFuY2UiKHJlc291cmNlIFJlc291cmNlKToKICBzaW5nbGV0b24gZnJvbSAoW1Byb3ZlbmFuY2U6IHRhcmdldCBpbiByZXNvdXJjZS5pZF0pCgpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Db2RlIihyZXF1ZXN0IE1lZGljYXRpb25SZXF1ZXN0KToKICBpZiByZXF1ZXN0Lm1lZGljYXRpb24gaXMgQ29kZWFibGVDb25jZXB0IHRoZW4KCSAgcmVxdWVzdC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdAoJZWxzZQoJICAoc2luZ2xldG9uIGZyb20gKFtNZWRpY2F0aW9uOiBpZCBpbiBHZXRJZCgocmVxdWVzdC5tZWRpY2F0aW9uIGFzIFJlZmVyZW5jZSkucmVmZXJlbmNlKV0pKS5jb2RlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-SupplementalDataElements-FHIR3-1.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-SupplementalDataElements-FHIR3-1.0.0
Type: Logic Library
Version: 1.0.0
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Coverage

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591

Content: type: text/cql
library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Payer":\n    [Coverage: type in "Payer"] Payer\n      return {\n        code: Payer.type,\n        period: Payer.period\n      }\n\ndefine "SDE Race":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Sex":\n  case\n    when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n    when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n    else null\n  end\n
\n \n \n
\n
" + }, + "version": "1.0.0", + "name": "SupplementalDataElements_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-Hospice-FHIR3-1.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-Hospice-FHIR3-1.0.000
Type: Logic Library
Version: 1.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15

Content: type: text/cql
library Hospice_FHIR3 version '1.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "SNOMEDCT:2017-09": 'http://snomed.info/sct/731000124108' version 'http://snomed.info/sct/731000124108/version/201709'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Hospice care ambulatory": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15'\n\ncode "Discharge to healthcare facility for hospice care (procedure)": '428371000124100' from "SNOMEDCT:2017-09" display 'Discharge to healthcare facility for hospice care (procedure)'\ncode "Discharge to home for hospice care (procedure)": '428361000124107' from "SNOMEDCT:2017-09" display 'Discharge to home for hospice care (procedure)'\n\ncontext Patient\n\ndefine function "Has Hospice"(MeasurementPeriod Interval<DateTime>):\n\texists (\n\t    [Encounter: "Encounter Inpatient"] DischargeHospice\n\t\t\twhere DischargeHospice.status = 'final'\n\t\t\t    and (\n\t\t\t        FHIRHelpers.ToConcept(DischargeHospice.hospitalization.dischargeDisposition).codes[0] ~ "Discharge to home for hospice care (procedure)"\n\t\t\t\t\t    or FHIRHelpers.ToConcept(DischargeHospice.hospitalization.dischargeDisposition).codes[0] ~ "Discharge to healthcare facility for hospice care (procedure)"\n\t\t\t    )\n\t\t\t\tand DischargeHospice.period ends during day of MeasurementPeriod\n\t)\n    or exists (\n        [ProcedureRequest: "Hospice care ambulatory"] HospiceOrder\n            where HospiceOrder.intent = 'order'\n                and HospiceOrder.authoredOn in day of MeasurementPeriod\n    )\n    or exists (\n        [Procedure: "Hospice care ambulatory"] HospicePerformed\n            where HospicePerformed.status = 'completed'\n                and Global."Normalize Interval"(HospicePerformed.performed) overlaps MeasurementPeriod\n    )\n
\n \n \n
\n
" + }, + "version": "1.0.000", + "name": "Hospice_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9Ikhvc3BpY2VfRkhJUjMiIHZlcnNpb249IjEuMC4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IlNOT01FRENUOjIwMTctMDkiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgdmVyc2lvbj0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpY2UgY2FyZSBhbWJ1bGF0b3J5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTA4LjE1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgaWQ9IjQyODM3MTAwMDEyNDEwMCIgZGlzcGxheT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVDoyMDE3LTA5Ii8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgaWQ9IjQyODM2MTAwMDEyNDEwNyIgZGlzcGxheT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVDoyMDE3LTA5Ii8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIYXMgSG9zcGljZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRGlzY2hhcmdlSG9zcGljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkRpc2NoYXJnZUhvc3BpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmRleGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmRleGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikhvc3BpY2VPcmRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSG9zcGljZSBjYXJlIGFtYnVsYXRvcnkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9Ikhvc3BpY2VPcmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJIb3NwaWNlT3JkZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGljZVBlcmZvcm1lZCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iSG9zcGljZVBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik92ZXJsYXBzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9Ikhvc3BpY2VQZXJmb3JtZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBIb3NwaWNlX0ZISVIzIHZlcnNpb24gJzEuMC4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiU05PTUVEQ1Q6MjAxNy0wOSI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcgdmVyc2lvbiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDknCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMDguMTUnCgpjb2RlICJEaXNjaGFyZ2UgdG8gaGVhbHRoY2FyZSBmYWNpbGl0eSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIjogJzQyODM3MTAwMDEyNDEwMCcgZnJvbSAiU05PTUVEQ1Q6MjAxNy0wOSIgZGlzcGxheSAnRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKScKY29kZSAiRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSI6ICc0MjgzNjEwMDAxMjQxMDcnIGZyb20gIlNOT01FRENUOjIwMTctMDkiIGRpc3BsYXkgJ0Rpc2NoYXJnZSB0byBob21lIGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSknCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiSGFzIEhvc3BpY2UiKE1lYXN1cmVtZW50UGVyaW9kIEludGVydmFsPERhdGVUaW1lPik6CglleGlzdHMgKAoJICAgIFtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRGlzY2hhcmdlSG9zcGljZQoJCQl3aGVyZSBEaXNjaGFyZ2VIb3NwaWNlLnN0YXR1cyA9ICdmaW5hbCcKCQkJICAgIGFuZCAoCgkJCSAgICAgICAgRkhJUkhlbHBlcnMuVG9Db25jZXB0KERpc2NoYXJnZUhvc3BpY2UuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uKS5jb2Rlc1swXSB+ICJEaXNjaGFyZ2UgdG8gaG9tZSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIgoJCQkJCSAgICBvciBGSElSSGVscGVycy5Ub0NvbmNlcHQoRGlzY2hhcmdlSG9zcGljZS5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24pLmNvZGVzWzBdIH4gIkRpc2NoYXJnZSB0byBoZWFsdGhjYXJlIGZhY2lsaXR5IGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSkiCgkJCSAgICApCgkJCQlhbmQgRGlzY2hhcmdlSG9zcGljZS5wZXJpb2QgZW5kcyBkdXJpbmcgZGF5IG9mIE1lYXN1cmVtZW50UGVyaW9kCgkpCiAgICBvciBleGlzdHMgKAogICAgICAgIFtQcm9jZWR1cmVSZXF1ZXN0OiAiSG9zcGljZSBjYXJlIGFtYnVsYXRvcnkiXSBIb3NwaWNlT3JkZXIKICAgICAgICAgICAgd2hlcmUgSG9zcGljZU9yZGVyLmludGVudCA9ICdvcmRlcicKICAgICAgICAgICAgICAgIGFuZCBIb3NwaWNlT3JkZXIuYXV0aG9yZWRPbiBpbiBkYXkgb2YgTWVhc3VyZW1lbnRQZXJpb2QKICAgICkKICAgIG9yIGV4aXN0cyAoCiAgICAgICAgW1Byb2NlZHVyZTogIkhvc3BpY2UgY2FyZSBhbWJ1bGF0b3J5Il0gSG9zcGljZVBlcmZvcm1lZAogICAgICAgICAgICB3aGVyZSBIb3NwaWNlUGVyZm9ybWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICAgICAgICAgICAgICBhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEhvc3BpY2VQZXJmb3JtZWQucGVyZm9ybWVkKSBvdmVybGFwcyBNZWFzdXJlbWVudFBlcmlvZAogICAgKQo=" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-Hospice-FHIR3-1.0.000" + } + } ] +} \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM124_FHIR3-7.2.000/EXM124_FHIR3-7.2.000-files/valuesets-EXM124_FHIR3-7.2.000-bundle.json b/fhir3/bundles/measure/EXM124_FHIR3-7.2.000/EXM124_FHIR3-7.2.000-files/valuesets-EXM124_FHIR3-7.2.000-bundle.json new file mode 100644 index 00000000..4b301813 --- /dev/null +++ b/fhir3/bundles/measure/EXM124_FHIR3-7.2.000/EXM124_FHIR3-7.2.000-files/valuesets-EXM124_FHIR3-7.2.000-bundle.json @@ -0,0 +1,1427 @@ +{ + "resourceType": "Bundle", + "id": "valuesets-EXM124-FHIR3-7.2.000-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.3591", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.3591" + } ], + "version": "20180718", + "name": "Payer", + "title": "Payer", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.phdsc.org/standards/pdfs/SourceofPaymentTypologyVersion6FINALSeptember2015.pdf", + "version": "8.0", + "concept": [ { + "code": "1", + "display": "MEDICARE" + }, { + "code": "11", + "display": "Medicare (Managed Care)" + }, { + "code": "111", + "display": "Medicare HMO" + }, { + "code": "112", + "display": "Medicare PPO" + }, { + "code": "113", + "display": "Medicare POS" + }, { + "code": "119", + "display": "Medicare Managed Care Other" + }, { + "code": "12", + "display": "Medicare (Non-managed Care)" + }, { + "code": "121", + "display": "Medicare FFS" + }, { + "code": "122", + "display": "Medicare Drug Benefit" + }, { + "code": "123", + "display": "Medicare Medical Savings Account (MSA)" + }, { + "code": "129", + "display": "Medicare Non-managed Care Other" + }, { + "code": "13", + "display": "Medicare Hospice" + }, { + "code": "14", + "display": "Dual Eligibility Medicare/Medicaid Organization" + }, { + "code": "19", + "display": "Medicare Other" + }, { + "code": "191", + "display": "Medicare Pharmacy Benefit Manager" + }, { + "code": "2", + "display": "MEDICAID" + }, { + "code": "21", + "display": "Medicaid (Managed Care)" + }, { + "code": "211", + "display": "Medicaid HMO" + }, { + "code": "212", + "display": "Medicaid PPO" + }, { + "code": "213", + "display": "Medicaid PCCM (Primary Care Case Management)" + }, { + "code": "219", + "display": "Medicaid Managed Care Other" + }, { + "code": "22", + "display": "Medicaid (Non-managed Care Plan)" + }, { + "code": "23", + "display": "Medicaid/SCHIP" + }, { + "code": "25", + "display": "Medicaid - Out of State" + }, { + "code": "26", + "display": "Medicaid -- Long Term Care" + }, { + "code": "29", + "display": "Medicaid Other" + }, { + "code": "291", + "display": "Medicaid Pharmacy Benefit Manager" + }, { + "code": "299", + "display": "Medicaid - Dental" + }, { + "code": "3", + "display": "OTHER GOVERNMENT (Federal/State/Local) (excluding Department of Corrections)" + }, { + "code": "31", + "display": "Department of Defense" + }, { + "code": "311", + "display": "TRICARE (CHAMPUS)" + }, { + "code": "3111", + "display": "TRICARE Prime--HMO" + }, { + "code": "3112", + "display": "TRICARE Extra--PPO" + }, { + "code": "3113", + "display": "TRICARE Standard - Fee For Service" + }, { + "code": "3114", + "display": "TRICARE For Life--Medicare Supplement" + }, { + "code": "3115", + "display": "TRICARE Reserve Select" + }, { + "code": "3116", + "display": "Uniformed Services Family Health Plan (USFHP) -- HMO" + }, { + "code": "3119", + "display": "Department of Defense - (other)" + }, { + "code": "312", + "display": "Military Treatment Facility" + }, { + "code": "3121", + "display": "Enrolled Prime--HMO" + }, { + "code": "3122", + "display": "Non-enrolled Space Available" + }, { + "code": "3123", + "display": "TRICARE For Life (TFL)" + }, { + "code": "313", + "display": "Dental --Stand Alone" + }, { + "code": "32", + "display": "Department of Veterans Affairs" + }, { + "code": "321", + "display": "Veteran care--Care provided to Veterans" + }, { + "code": "3211", + "display": "Direct Care--Care provided in VA facilities" + }, { + "code": "3212", + "display": "Indirect Care--Care provided outside VA facilities" + }, { + "code": "32121", + "display": "Fee Basis" + }, { + "code": "32122", + "display": "Foreign Fee/Foreign Medical Program (FMP)" + }, { + "code": "32123", + "display": "Contract Nursing Home/Community Nursing Home" + }, { + "code": "32124", + "display": "State Veterans Home" + }, { + "code": "32125", + "display": "Sharing Agreements" + }, { + "code": "32126", + "display": "Other Federal Agency" + }, { + "code": "32127", + "display": "Dental Care" + }, { + "code": "32128", + "display": "Vision Care" + }, { + "code": "322", + "display": "Non-veteran care" + }, { + "code": "3221", + "display": "Civilian Health and Medical Program for the VA (CHAMPVA)" + }, { + "code": "3222", + "display": "Spina Bifida Health Care Program (SB)" + }, { + "code": "3223", + "display": "Children of Women Vietnam Veterans (CWVV)" + }, { + "code": "3229", + "display": "Other non-veteran care" + }, { + "code": "33", + "display": "Indian Health Service or Tribe" + }, { + "code": "331", + "display": "Indian Health Service -- Regular" + }, { + "code": "332", + "display": "Indian Health Service -- Contract" + }, { + "code": "333", + "display": "Indian Health Service - Managed Care" + }, { + "code": "334", + "display": "Indian Tribe - Sponsored Coverage" + }, { + "code": "34", + "display": "HRSA Program" + }, { + "code": "341", + "display": "Title V (MCH Block Grant)" + }, { + "code": "342", + "display": "Migrant Health Program" + }, { + "code": "343", + "display": "Ryan White Act" + }, { + "code": "349", + "display": "Other" + }, { + "code": "35", + "display": "Black Lung" + }, { + "code": "36", + "display": "State Government" + }, { + "code": "361", + "display": "State SCHIP program (codes for individual states)" + }, { + "code": "362", + "display": "Specific state programs (list/ local code)" + }, { + "code": "369", + "display": "State, not otherwise specified (other state)" + }, { + "code": "37", + "display": "Local Government" + }, { + "code": "371", + "display": "Local - Managed care" + }, { + "code": "3711", + "display": "HMO" + }, { + "code": "3712", + "display": "PPO" + }, { + "code": "3713", + "display": "POS" + }, { + "code": "372", + "display": "FFS/Indemnity" + }, { + "code": "379", + "display": "Local, not otherwise specified (other local, county)" + }, { + "code": "38", + "display": "Other Government (Federal, State, Local not specified)" + }, { + "code": "381", + "display": "Federal, State, Local not specified managed care" + }, { + "code": "3811", + "display": "Federal, State, Local not specified - HMO" + }, { + "code": "3812", + "display": "Federal, State, Local not specified - PPO" + }, { + "code": "3813", + "display": "Federal, State, Local not specified - POS" + }, { + "code": "3819", + "display": "Federal, State, Local not specified - not specified managed care" + }, { + "code": "382", + "display": "Federal, State, Local not specified - FFS" + }, { + "code": "389", + "display": "Federal, State, Local not specified - Other" + }, { + "code": "39", + "display": "Other Federal" + }, { + "code": "391", + "display": "Federal Employee Health Plan - Use when known" + }, { + "code": "4", + "display": "DEPARTMENTS OF CORRECTIONS" + }, { + "code": "41", + "display": "Corrections Federal" + }, { + "code": "42", + "display": "Corrections State" + }, { + "code": "43", + "display": "Corrections Local" + }, { + "code": "44", + "display": "Corrections Unknown Level" + }, { + "code": "5", + "display": "PRIVATE HEALTH INSURANCE" + }, { + "code": "51", + "display": "Managed Care (Private)" + }, { + "code": "511", + "display": "Commercial Managed Care - HMO" + }, { + "code": "512", + "display": "Commercial Managed Care - PPO" + }, { + "code": "513", + "display": "Commercial Managed Care - POS" + }, { + "code": "514", + "display": "Exclusive Provider Organization" + }, { + "code": "515", + "display": "Gatekeeper PPO (GPPO)" + }, { + "code": "516", + "display": "Commercial Managed Care - Pharmacy Benefit Manager" + }, { + "code": "517", + "display": "Commercial Managed Care - Dental" + }, { + "code": "519", + "display": "Managed Care, Other (non HMO)" + }, { + "code": "52", + "display": "Private Health Insurance - Indemnity" + }, { + "code": "521", + "display": "Commercial Indemnity" + }, { + "code": "522", + "display": "Self-insured (ERISA) Administrative Services Only (ASO) plan" + }, { + "code": "523", + "display": "Medicare supplemental policy (as second payer)" + }, { + "code": "524", + "display": "Indemnity Insurance - Dental" + }, { + "code": "529", + "display": "Private health insurance--other commercial Indemnity" + }, { + "code": "53", + "display": "Managed Care (private) or private health insurance (indemnity), not otherwise specified" + }, { + "code": "54", + "display": "Organized Delivery System" + }, { + "code": "55", + "display": "Small Employer Purchasing Group" + }, { + "code": "56", + "display": "Specialized Stand Alone Plan" + }, { + "code": "561", + "display": "Dental" + }, { + "code": "562", + "display": "Vision" + }, { + "code": "59", + "display": "Other Private Insurance" + }, { + "code": "6", + "display": "BLUE CROSS/BLUE SHIELD" + }, { + "code": "61", + "display": "BC Managed Care" + }, { + "code": "611", + "display": "BC Managed Care -- HMO" + }, { + "code": "612", + "display": "BC Managed Care -- PPO" + }, { + "code": "613", + "display": "BC Managed Care -- POS" + }, { + "code": "614", + "display": "BC Managed Care - Dental" + }, { + "code": "619", + "display": "BC Managed Care -- Other" + }, { + "code": "62", + "display": "BC Insurance Indemnity" + }, { + "code": "621", + "display": "BC Indemnity" + }, { + "code": "622", + "display": "BC Self-insured (ERISA) Administrative Services Only (ASO)Plan" + }, { + "code": "623", + "display": "BC Medicare Supplemental Plan" + }, { + "code": "629", + "display": "BC Indemnity - Dental" + }, { + "code": "7", + "display": "MANAGED CARE, UNSPECIFIED (to be used only if one can't distinguish public from private)" + }, { + "code": "71", + "display": "HMO" + }, { + "code": "72", + "display": "PPO" + }, { + "code": "73", + "display": "POS" + }, { + "code": "79", + "display": "Other Managed Care" + }, { + "code": "8", + "display": "NO PAYMENT from an Organization/Agency/Program/Private Payer Listed" + }, { + "code": "81", + "display": "Self-pay (Includes applicants for insurance and Medicaid applicants)" + }, { + "code": "82", + "display": "No Charge" + }, { + "code": "821", + "display": "Charity" + }, { + "code": "822", + "display": "Professional Courtesy" + }, { + "code": "823", + "display": "Research/Clinical Trial" + }, { + "code": "83", + "display": "Refusal to Pay/Bad Debt" + }, { + "code": "84", + "display": "Hill Burton Free Care" + }, { + "code": "85", + "display": "Research/Donor" + }, { + "code": "89", + "display": "No Payment, Other" + }, { + "code": "9", + "display": "MISCELLANEOUS/OTHER" + }, { + "code": "91", + "display": "Foreign National" + }, { + "code": "92", + "display": "Other (Non-government)" + }, { + "code": "93", + "display": "Disability Insurance" + }, { + "code": "94", + "display": "Long-term Care Insurance" + }, { + "code": "95", + "display": "Worker's Compensation" + }, { + "code": "951", + "display": "Worker's Comp HMO" + }, { + "code": "953", + "display": "Worker's Comp Fee-for-Service" + }, { + "code": "954", + "display": "Worker's Comp Other Managed Care" + }, { + "code": "959", + "display": "Worker's Comp, Other unspecified" + }, { + "code": "96", + "display": "Auto Insurance (includes no fault)" + }, { + "code": "97", + "display": "Legal Liability / Liability Insurance" + }, { + "code": "98", + "display": "Other specified but not otherwise classifiable (includes Hospice - Unspecified plan)" + }, { + "code": "99", + "display": "No Typology Code available for payment source" + }, { + "code": "9999", + "display": "Unavailable / No Payer Specified / Blank" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1025", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1025" + } ], + "version": "20170504", + "name": "PreventiveCareServices-EstablishedOfficeVisit,18andUp", + "title": "Preventive Care Services - Established Office Visit, 18 and Up", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99395", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 18-39 years" + }, { + "code": "99396", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 40-64 years" + }, { + "code": "99397", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 65 years and older" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.560.100.2", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.560.100.2", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.560.100.2" + } ], + "version": "20160331", + "name": "Female", + "title": "Female", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.560.100.2" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1016", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1016" + } ], + "version": "20180310", + "name": "HomeHealthcareServices", + "title": "Home Healthcare Services", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99341", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; and Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low severity. Typically, 20 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99342", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: An expanded problem focused history; An expanded problem focused examination; and Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate severity. Typically, 30 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99343", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A detailed history; A detailed examination; and Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 45 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99344", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; and Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of high severity. Typically, 60 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99345", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; and Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the patient is unstable or has developed a significant new problem requiring immediate physician attention. Typically, 75 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99347", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A problem focused interval history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 15 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99348", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: An expanded problem focused interval history; An expanded problem focused examination; Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 25 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99349", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A detailed interval history; A detailed examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are moderate to high severity. Typically, 40 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99350", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A comprehensive interval history; A comprehensive examination; Medical decision making of moderate to high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. The patient may be unstable or may have developed a significant new problem requiring immediate physician attention. Typically, 60 minutes are spent face-to-face with the patient and/or family." + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "185460008", + "display": "Home visit request by patient (procedure)" + }, { + "code": "185462000", + "display": "Home visit request by relative (procedure)" + }, { + "code": "185466002", + "display": "Home visit for urgent condition (procedure)" + }, { + "code": "185467006", + "display": "Home visit for acute condition (procedure)" + }, { + "code": "185468001", + "display": "Home visit for chronic condition (procedure)" + }, { + "code": "185470005", + "display": "Home visit elderly assessment (procedure)" + }, { + "code": "225929007", + "display": "Joint home visit (procedure)" + }, { + "code": "315205008", + "display": "Bank holiday home visit (procedure)" + }, { + "code": "439708006", + "display": "Home visit (procedure)" + }, { + "code": "698704008", + "display": "Home visit for rheumatology service (procedure)" + }, { + "code": "704126008", + "display": "Home visit for anticoagulant drug monitoring (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1014", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1014", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1014" + } ], + "version": "20170504", + "name": "HysterectomywithNoResidualCervix", + "title": "Hysterectomy with No Residual Cervix", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "1998", + "concept": [ { + "code": "56308", + "display": "Laparoscopy, surgical; with vaginal hysterectomy with or without removal of tube(s), with or without removal of ovary(s) (laparoscopic assisted vaginal hysterectomy)" + } ] + }, { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "51925", + "display": "Closure of vesicouterine fistula; with hysterectomy" + }, { + "code": "57540", + "display": "Excision of cervical stump, abdominal approach" + }, { + "code": "57545", + "display": "Excision of cervical stump, abdominal approach; with pelvic floor repair" + }, { + "code": "57550", + "display": "Excision of cervical stump, vaginal approach" + }, { + "code": "57555", + "display": "Excision of cervical stump, vaginal approach; with anterior and/or posterior repair" + }, { + "code": "57556", + "display": "Excision of cervical stump, vaginal approach; with repair of enterocele" + }, { + "code": "58150", + "display": "Total abdominal hysterectomy (corpus and cervix), with or without removal of tube(s), with or without removal of ovary(s)" + }, { + "code": "58152", + "display": "Total abdominal hysterectomy (corpus and cervix), with or without removal of tube(s), with or without removal of ovary(s); with colpo-urethrocystopexy (eg, Marshall-Marchetti-Krantz, Burch)" + }, { + "code": "58200", + "display": "Total abdominal hysterectomy, including partial vaginectomy, with para-aortic and pelvic lymph node sampling, with or without removal of tube(s), with or without removal of ovary(s)" + }, { + "code": "58210", + "display": "Radical abdominal hysterectomy, with bilateral total pelvic lymphadenectomy and para-aortic lymph node sampling (biopsy), with or without removal of tube(s), with or without removal of ovary(s)" + }, { + "code": "58240", + "display": "Pelvic exenteration for gynecologic malignancy, with total abdominal hysterectomy or cervicectomy, with or without removal of tube(s), with or without removal of ovary(s), with removal of bladder and ureteral transplantations, and/or abdominoperineal resection of rectum and colon and colostomy, or any combination thereof" + }, { + "code": "58260", + "display": "Vaginal hysterectomy, for uterus 250 g or less" + }, { + "code": "58262", + "display": "Vaginal hysterectomy, for uterus 250 g or less; with removal of tube(s), and/or ovary(s)" + }, { + "code": "58263", + "display": "Vaginal hysterectomy, for uterus 250 g or less; with removal of tube(s), and/or ovary(s), with repair of enterocele" + }, { + "code": "58267", + "display": "Vaginal hysterectomy, for uterus 250 g or less; with colpo-urethrocystopexy (Marshall-Marchetti-Krantz type, Pereyra type) with or without endoscopic control" + }, { + "code": "58270", + "display": "Vaginal hysterectomy, for uterus 250 g or less; with repair of enterocele" + }, { + "code": "58275", + "display": "Vaginal hysterectomy, with total or partial vaginectomy" + }, { + "code": "58280", + "display": "Vaginal hysterectomy, with total or partial vaginectomy; with repair of enterocele" + }, { + "code": "58285", + "display": "Vaginal hysterectomy, radical (Schauta type operation)" + }, { + "code": "58290", + "display": "Vaginal hysterectomy, for uterus greater than 250 g" + }, { + "code": "58291", + "display": "Vaginal hysterectomy, for uterus greater than 250 g; with removal of tube(s) and/or ovary(s)" + }, { + "code": "58292", + "display": "Vaginal hysterectomy, for uterus greater than 250 g; with removal of tube(s) and/or ovary(s), with repair of enterocele" + }, { + "code": "58293", + "display": "Vaginal hysterectomy, for uterus greater than 250 g; with colpo-urethrocystopexy (Marshall-Marchetti-Krantz type, Pereyra type) with or without endoscopic control" + }, { + "code": "58294", + "display": "Vaginal hysterectomy, for uterus greater than 250 g; with repair of enterocele" + }, { + "code": "58548", + "display": "Laparoscopy, surgical, with radical hysterectomy, with bilateral total pelvic lymphadenectomy and para-aortic lymph node sampling (biopsy), with removal of tube(s) and ovary(s), if performed" + }, { + "code": "58550", + "display": "Laparoscopy, surgical, with vaginal hysterectomy, for uterus 250 g or less" + }, { + "code": "58552", + "display": "Laparoscopy, surgical, with vaginal hysterectomy, for uterus 250 g or less; with removal of tube(s) and/or ovary(s)" + }, { + "code": "58553", + "display": "Laparoscopy, surgical, with vaginal hysterectomy, for uterus greater than 250 g" + }, { + "code": "58554", + "display": "Laparoscopy, surgical, with vaginal hysterectomy, for uterus greater than 250 g; with removal of tube(s) and/or ovary(s)" + }, { + "code": "58570", + "display": "Laparoscopy, surgical, with total hysterectomy, for uterus 250 g or less" + }, { + "code": "58571", + "display": "Laparoscopy, surgical, with total hysterectomy, for uterus 250 g or less; with removal of tube(s) and/or ovary(s)" + }, { + "code": "58572", + "display": "Laparoscopy, surgical, with total hysterectomy, for uterus greater than 250 g" + }, { + "code": "58573", + "display": "Laparoscopy, surgical, with total hysterectomy, for uterus greater than 250 g; with removal of tube(s) and/or ovary(s)" + }, { + "code": "58951", + "display": "Resection (initial) of ovarian, tubal or primary peritoneal malignancy with bilateral salpingo-oophorectomy and omentectomy; with total abdominal hysterectomy, pelvic and limited para-aortic lymphadenectomy" + }, { + "code": "58953", + "display": "Bilateral salpingo-oophorectomy with omentectomy, total abdominal hysterectomy and radical dissection for debulking" + }, { + "code": "58954", + "display": "Bilateral salpingo-oophorectomy with omentectomy, total abdominal hysterectomy and radical dissection for debulking; with pelvic lymphadenectomy and limited para-aortic lymphadenectomy" + }, { + "code": "58956", + "display": "Bilateral salpingo-oophorectomy with total omentectomy, total abdominal hysterectomy for malignancy" + }, { + "code": "59135", + "display": "Surgical treatment of ectopic pregnancy; interstitial, uterine pregnancy requiring total hysterectomy" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2017-09", + "concept": [ { + "code": "27950001", + "display": "Total hysterectomy with unilateral removal of ovary (procedure)" + }, { + "code": "31545000", + "display": "Total hysterectomy with unilateral removal of tube (procedure)" + }, { + "code": "59750000", + "display": "Total hysterectomy with unilateral removal of tube and ovary (procedure)" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "112918004", + "display": "Vaginal hysterectomy with colpo-urethrocystopexy, Marshall-Marchetti-Krantz type (procedure)" + }, { + "code": "116140006", + "display": "Total hysterectomy (procedure)" + }, { + "code": "116142003", + "display": "Radical hysterectomy (procedure)" + }, { + "code": "116143008", + "display": "Total abdominal hysterectomy (procedure)" + }, { + "code": "116144002", + "display": "Total abdominal hysterectomy with bilateral salpingo-oophorectomy (procedure)" + }, { + "code": "236888001", + "display": "Laparoscopic total hysterectomy (procedure)" + }, { + "code": "236891001", + "display": "Laparoscopic radical hysterectomy (procedure)" + }, { + "code": "24293001", + "display": "Excision of cervical stump by abdominal approach (procedure)" + }, { + "code": "265056007", + "display": "Vaginal hysterectomy (procedure)" + }, { + "code": "27185000", + "display": "Vaginal hysterectomy with partial colpectomy and repair of enterocele (procedure)" + }, { + "code": "287924009", + "display": "Excision of cervix stump (procedure)" + }, { + "code": "30160001", + "display": "Vaginal hysterectomy with total colpectomy and repair of enterocele (procedure)" + }, { + "code": "307771009", + "display": "Radical abdominal hysterectomy (procedure)" + }, { + "code": "309880009", + "display": "Vaginal hysterocolpectomy (procedure)" + }, { + "code": "35955002", + "display": "Radical vaginal hysterectomy (procedure)" + }, { + "code": "359971002", + "display": "Ward-Mayo operation for vaginal hysterectomy (procedure)" + }, { + "code": "359974005", + "display": "Tuffier operation for vaginal hysterectomy (procedure)" + }, { + "code": "359977003", + "display": "Mayo operation for vaginal hysterectomy (procedure)" + }, { + "code": "359983000", + "display": "Heaney operation for vaginal hysterectomy (procedure)" + }, { + "code": "361222003", + "display": "Wertheim-Meigs abdominal hysterectomy (procedure)" + }, { + "code": "361223008", + "display": "Wertheim operation (procedure)" + }, { + "code": "413145007", + "display": "Vaginal hysterectomy with conservation of ovaries (procedure)" + }, { + "code": "414575003", + "display": "Laparoscopic total abdominal hysterectomy and bilateral salpingo-oophorectomy (procedure)" + }, { + "code": "41566006", + "display": "Excision of cervical stump by vaginal approach (procedure)" + }, { + "code": "43791001", + "display": "Vaginal hysterectomy with total colpectomy (procedure)" + }, { + "code": "441820006", + "display": "Laparoscopy assisted vaginal hysterectomy with bilateral salpingo-oophorectomy (procedure)" + }, { + "code": "446446002", + "display": "Total abdominal hysterectomy and removal of vaginal cuff (procedure)" + }, { + "code": "446679008", + "display": "Total laparoscopic excision of uterus by abdominal approach (procedure)" + }, { + "code": "447771005", + "display": "Abdominal hysterectomy and excision of periuterine tissue (procedure)" + }, { + "code": "448539002", + "display": "Vaginal hysterectomy and excision of periuterine tissue (procedure)" + }, { + "code": "54490004", + "display": "Vaginal hysterectomy with repair of enterocele (procedure)" + }, { + "code": "63516002", + "display": "Vaginal hysterectomy with colpo-urethrocystopexy, Pereyra type (procedure)" + }, { + "code": "708877008", + "display": "Laparoscopic total hysterectomy using robotic assistance (procedure)" + }, { + "code": "708878003", + "display": "Laparoscopic radical hysterectomy using robotic assistance (procedure)" + }, { + "code": "75835007", + "display": "Laparoscopic-assisted vaginal hysterectomy (procedure)" + }, { + "code": "77902002", + "display": "Vaginal hysterectomy with partial colpectomy (procedure)" + }, { + "code": "86477000", + "display": "Total hysterectomy with removal of both tubes and ovaries (procedure)" + }, { + "code": "88144003", + "display": "Removal of ectopic interstitial uterine pregnancy requiring total hysterectomy (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1014" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.108.12.1017", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1017", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.108.12.1017" + } ], + "version": "20170504", + "name": "PapTest", + "title": "Pap Test", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://loinc.org", + "version": "2.64", + "concept": [ { + "code": "10524-7", + "display": "Microscopic observation [Identifier] in Cervix by Cyto stain" + }, { + "code": "18500-9", + "display": "Microscopic observation [Identifier] in Cervix by Cyto stain.thin prep" + }, { + "code": "19762-4", + "display": "General categories [Interpretation] of Cervical or vaginal smear or scraping by Cyto stain" + }, { + "code": "19764-0", + "display": "Statement of adequacy [Interpretation] of Cervical or vaginal smear or scraping by Cyto stain" + }, { + "code": "19765-7", + "display": "Microscopic observation [Identifier] in Cervical or vaginal smear or scraping by Cyto stain" + }, { + "code": "19766-5", + "display": "Microscopic observation [Identifier] in Cervical or vaginal smear or scraping by Cyto stain Narrative" + }, { + "code": "19774-9", + "display": "Cytology study comment Cervical or vaginal smear or scraping Cyto stain" + }, { + "code": "33717-0", + "display": "Cytology Cervical or vaginal smear or scraping study" + }, { + "code": "47527-7", + "display": "Cytology report of Cervical or vaginal smear or scraping Cyto stain.thin prep" + }, { + "code": "47528-5", + "display": "Cytology report of Cervical or vaginal smear or scraping Cyto stain" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.108.12.1017" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.110.12.1059", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1059", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.110.12.1059" + } ], + "version": "20170504", + "name": "HPVTest", + "title": "HPV Test", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://loinc.org", + "version": "2.56", + "concept": [ { + "code": "75406-9", + "display": "Human papilloma virus 16 and 18+45 E6+E7 mRNA [Presence] in Cervix by Probe with amplification" + } ] + }, { + "system": "http://loinc.org", + "version": "2.64", + "concept": [ { + "code": "21440-3", + "display": "Human papilloma virus 16+18+31+33+35+45+51+52+56 DNA [Presence] in Cervix by Probe" + }, { + "code": "30167-1", + "display": "Human papilloma virus 16+18+31+33+35+39+45+51+52+56+58+59+68 DNA [Presence] in Cervix by Probe with signal amplification" + }, { + "code": "38372-9", + "display": "Human papilloma virus 6+11+16+18+31+33+35+39+42+43+44+45+51+52+56+58+59+68 DNA [Presence] in Cervix by Probe with signal amplification" + }, { + "code": "59263-4", + "display": "Human papilloma virus 16 DNA [Presence] in Cervix by Probe with signal amplification" + }, { + "code": "59264-2", + "display": "Human papilloma virus 18 DNA [Presence] in Cervix by Probe with signal amplification" + }, { + "code": "59420-0", + "display": "Human papilloma virus 16+18+31+33+35+39+45+51+52+56+58+59+66+68 DNA [Presence] in Cervix by Probe with signal amplification" + }, { + "code": "69002-4", + "display": "Human papilloma virus E6+E7 mRNA [Presence] in Cervix by NAA with probe detection" + }, { + "code": "71431-1", + "display": "Human papilloma virus 31+33+35+39+45+51+52+56+58+59+66+68 DNA [Presence] in Cervix by NAA with probe detection" + }, { + "code": "75694-0", + "display": "Human papilloma virus 18+45 E6+E7 mRNA [Presence] in Cervix by NAA with probe detection" + }, { + "code": "77379-6", + "display": "Human papilloma virus 16 and 18 and 31+33+35+39+45+51+52+56+58+59+66+68 DNA [Interpretation] in Cervix" + }, { + "code": "77399-4", + "display": "Human papilloma virus 16 DNA [Presence] in Cervix by NAA with probe detection" + }, { + "code": "77400-0", + "display": "Human papilloma virus 18 DNA [Presence] in Cervix by NAA with probe detection" + }, { + "code": "82354-2", + "display": "Human papilloma virus 16 and 18+45 E6+E7 mRNA [Identifier] in Cervix by NAA with probe detection" + }, { + "code": "82456-5", + "display": "Human papilloma virus 16 E6+E7 mRNA [Presence] in Cervix by NAA with probe detection" + }, { + "code": "82675-0", + "display": "Human papilloma virus 16+18+31+33+35+39+45+51+52+56+58+59+66+68 DNA [Presence] in Cervix by NAA with probe detection" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.110.12.1059" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.526.3.1240", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.526.3.1240" + } ], + "version": "20170504", + "name": "AnnualWellnessVisit", + "title": "Annual Wellness Visit", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/index.html", + "version": "2018", + "concept": [ { + "code": "G0438", + "display": "Annual wellness visit; includes a personalized prevention plan of service (pps), initial visit" + }, { + "code": "G0439", + "display": "Annual wellness visit, includes a personalized prevention plan of service (pps), subsequent visit" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.526.3.1240" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.292", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292", + "title": "Emergency Department Visit", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "4525004", + "display": "Emergency department patient visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.666.5.307", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.666.5.307" + } ], + "version": "20170504", + "name": "EncounterInpatient", + "title": "Encounter Inpatient", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + }, { + "code": "8715000", + "display": "Hospital admission, elective (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1108.15", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1108.15" + } ], + "version": "20170504", + "name": "Hospicecareambulatory", + "title": "Hospice care ambulatory", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "385763009", + "display": "Hospice care (regime/therapy)" + }, { + "code": "385765002", + "display": "Hospice care management (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1108.15" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1001", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1001" + } ], + "version": "20180310", + "name": "OfficeVisit", + "title": "Office Visit", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99201", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99202", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: An expanded problem focused history; An expanded problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 20 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99203", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A detailed history; A detailed examination; Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate severity. Typically, 30 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99204", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 45 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99205", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 60 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99212", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99213", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: An expanded problem focused history; An expanded problem focused examination; Medical decision making of low complexity. Counseling and coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 15 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99214", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A detailed history; A detailed examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 25 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99215", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 40 minutes are spent face-to-face with the patient and/or family." + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "185463005", + "display": "Visit out of hours (procedure)" + }, { + "code": "185464004", + "display": "Out of hours visit - not night visit (procedure)" + }, { + "code": "185465003", + "display": "Weekend visit (procedure)" + }, { + "code": "30346009", + "display": "Evaluation and management of established outpatient in office or other outpatient facility (procedure)" + }, { + "code": "3391000175108", + "display": "Office visit for pediatric care and assessment (procedure)" + }, { + "code": "37894004", + "display": "Evaluation and management of new outpatient in office or other outpatient facility (procedure)" + }, { + "code": "439740005", + "display": "Postoperative follow-up visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1023", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1023" + } ], + "version": "20170504", + "name": "PreventiveCareServices-InitialOfficeVisit,18andUp", + "title": "Preventive Care Services-Initial Office Visit, 18 and Up", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99385", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 18-39 years" + }, { + "code": "99386", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 40-64 years" + }, { + "code": "99387", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 65 years and older" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.836", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.836" + } ], + "version": "20121025", + "name": "Race", + "title": "Race", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "1002-5", + "display": "American Indian or Alaska Native" + }, { + "code": "2028-9", + "display": "Asian" + }, { + "code": "2054-5", + "display": "Black or African American" + }, { + "code": "2076-8", + "display": "Native Hawaiian or Other Pacific Islander" + }, { + "code": "2106-3", + "display": "White" + }, { + "code": "2131-1", + "display": "Other Race" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1" + } ], + "version": "20150331", + "name": "ONCAdministrativeSex", + "title": "ONC Administrative Sex", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + }, { + "code": "M", + "display": "Male" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.837", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.837" + } ], + "version": "20121025", + "name": "Ethnicity", + "title": "Ethnicity", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "2135-2", + "display": "Hispanic or Latino" + }, { + "code": "2186-5", + "display": "Not Hispanic or Latino" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.837" + } + } ] +} \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM125_FHIR3-7.2.000/EXM125_FHIR3-7.2.000-bundle.json b/fhir3/bundles/measure/EXM125_FHIR3-7.2.000/EXM125_FHIR3-7.2.000-bundle.json index a3705202..0bb40790 100644 --- a/fhir3/bundles/measure/EXM125_FHIR3-7.2.000/EXM125_FHIR3-7.2.000-bundle.json +++ b/fhir3/bundles/measure/EXM125_FHIR3-7.2.000/EXM125_FHIR3-7.2.000-bundle.json @@ -3,6 +3,1609 @@ "id": "EXM125-FHIR3-7.2.000-bundle", "type": "transaction", "entry": [ { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.108.12.1018", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1018", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.108.12.1018" + } ], + "version": "20171222", + "name": "Mammography", + "title": "Mammography", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/index.html", + "version": "2017", + "concept": [ { + "code": "G0202", + "display": "Screening mammography, bilateral (2-view study of each breast), including computer-aided detection (cad) when performed" + }, { + "code": "G0204", + "display": "Diagnostic mammography, including computer-aided detection (cad) when performed; bilateral" + }, { + "code": "G0206", + "display": "Diagnostic mammography, including computer-aided detection (cad) when performed; unilateral" + } ] + }, { + "system": "http://loinc.org", + "version": "2.58", + "concept": [ { + "code": "38067-5", + "display": "Breast - bilateral Mammogram nipple profile" + } ] + }, { + "system": "http://loinc.org", + "version": "2.64", + "concept": [ { + "code": "24604-1", + "display": "MG Breast Diagnostic Limited Views" + }, { + "code": "24605-8", + "display": "MG Breast Diagnostic" + }, { + "code": "24606-6", + "display": "MG Breast Screening" + }, { + "code": "24610-8", + "display": "MG Breast Limited Views" + }, { + "code": "26175-0", + "display": "MG Breast - bilateral Screening" + }, { + "code": "26176-8", + "display": "MG Breast - left Screening" + }, { + "code": "26177-6", + "display": "MG Breast - right Screening" + }, { + "code": "26287-3", + "display": "MG Breast - bilateral Limited Views" + }, { + "code": "26289-9", + "display": "MG Breast - left Limited Views" + }, { + "code": "26291-5", + "display": "MG Breast - right Limited Views" + }, { + "code": "26346-7", + "display": "MG Breast - bilateral Diagnostic" + }, { + "code": "26347-5", + "display": "MG Breast - left Diagnostic" + }, { + "code": "26348-3", + "display": "MG Breast - right Diagnostic" + }, { + "code": "26349-1", + "display": "MG Breast - bilateral Diagnostic Limited Views" + }, { + "code": "26350-9", + "display": "MG Breast - left Diagnostic Limited Views" + }, { + "code": "26351-7", + "display": "MG Breast - right Diagnostic Limited Views" + }, { + "code": "36319-2", + "display": "MG Breast 4 Views" + }, { + "code": "36625-2", + "display": "MG Breast Views" + }, { + "code": "36626-0", + "display": "MG Breast - bilateral Views" + }, { + "code": "36627-8", + "display": "MG Breast - left Views" + }, { + "code": "36642-7", + "display": "MG Breast - left 2 Views" + }, { + "code": "36962-9", + "display": "MG Breast Axillary" + }, { + "code": "37005-6", + "display": "MG Breast - left Magnification" + }, { + "code": "37006-4", + "display": "MG Breast - bilateral MLO" + }, { + "code": "37016-3", + "display": "MG Breast - bilateral Rolled Views" + }, { + "code": "37017-1", + "display": "MG Breast - left Rolled Views" + }, { + "code": "37028-8", + "display": "MG Breast Tangential" + }, { + "code": "37029-6", + "display": "MG Breast - bilateral Tangential" + }, { + "code": "37030-4", + "display": "MG Breast - left Tangential" + }, { + "code": "37037-9", + "display": "MG Breast True lateral" + }, { + "code": "37038-7", + "display": "MG Breast - bilateral True lateral" + }, { + "code": "37052-8", + "display": "MG Breast - bilateral XCCL" + }, { + "code": "37053-6", + "display": "MG Breast - left XCCL" + }, { + "code": "37539-4", + "display": "MG Breast Grid Views" + }, { + "code": "37542-8", + "display": "MG Breast Magnification Views" + }, { + "code": "37543-6", + "display": "MG Breast - bilateral Magnification Views" + }, { + "code": "37551-9", + "display": "MG Breast Spot Views" + }, { + "code": "37552-7", + "display": "MG Breast - bilateral Spot Views" + }, { + "code": "37553-5", + "display": "MG Breast - left Spot Views compression" + }, { + "code": "37554-3", + "display": "MG Breast - bilateral Magnification and Spot" + }, { + "code": "37768-9", + "display": "MG Breast - right 2 Views" + }, { + "code": "37769-7", + "display": "MG Breast - right Magnification and Spot" + }, { + "code": "37770-5", + "display": "MG Breast - right Tangential" + }, { + "code": "37771-3", + "display": "MG Breast - right True lateral" + }, { + "code": "37772-1", + "display": "MG Breast - right XCCL" + }, { + "code": "37773-9", + "display": "MG Breast - right Magnification" + }, { + "code": "37774-7", + "display": "MG Breast - right Views" + }, { + "code": "37775-4", + "display": "MG Breast - right Rolled Views" + }, { + "code": "38070-9", + "display": "MG Breast Views for implant" + }, { + "code": "38071-7", + "display": "MG Breast - bilateral Views for implant" + }, { + "code": "38072-5", + "display": "MG Breast - left Views for implant" + }, { + "code": "38090-7", + "display": "MG Breast - bilateral Air gap Views" + }, { + "code": "38091-5", + "display": "MG Breast - left Air gap Views" + }, { + "code": "38807-4", + "display": "MG Breast - right Spot Views" + }, { + "code": "38820-7", + "display": "MG Breast - right Views for implant" + }, { + "code": "38854-6", + "display": "MG Breast - left Magnification and Spot" + }, { + "code": "38855-3", + "display": "MG Breast - left True lateral" + }, { + "code": "39150-8", + "display": "FFD mammogram Breast Views Post Localization" + }, { + "code": "39152-4", + "display": "FFD mammogram Breast Diagnostic" + }, { + "code": "39153-2", + "display": "FFD mammogram Breast Screening" + }, { + "code": "39154-0", + "display": "FFD mammogram Breast - bilateral Diagnostic" + }, { + "code": "42168-5", + "display": "FFD mammogram Breast - right Diagnostic" + }, { + "code": "42169-3", + "display": "FFD mammogram Breast - left Diagnostic" + }, { + "code": "42174-3", + "display": "FFD mammogram Breast - bilateral Screening" + }, { + "code": "42415-0", + "display": "MG Breast - bilateral Views Post Wire Placement" + }, { + "code": "42416-8", + "display": "MG Breast - left Views Post Wire Placement" + }, { + "code": "46335-6", + "display": "MG Breast - bilateral Single view" + }, { + "code": "46336-4", + "display": "MG Breast - left Single view" + }, { + "code": "46337-2", + "display": "MG Breast - right Single view" + }, { + "code": "46338-0", + "display": "MG Breast - unilateral Single view" + }, { + "code": "46339-8", + "display": "MG Breast - unilateral Views" + }, { + "code": "46342-2", + "display": "FFD mammogram Breast Views" + }, { + "code": "46350-5", + "display": "MG Breast - unilateral Diagnostic" + }, { + "code": "46351-3", + "display": "MG Breast - bilateral Displacement Views for Implant" + }, { + "code": "46354-7", + "display": "FFD mammogram Breast - right Screening" + }, { + "code": "46355-4", + "display": "FFD mammogram Breast - left Screening" + }, { + "code": "46356-2", + "display": "MG Breast - unilateral Screening" + }, { + "code": "46380-2", + "display": "MG Breast - unilateral Views for implant" + }, { + "code": "48475-8", + "display": "MG Breast - bilateral Diagnostic for implant" + }, { + "code": "48492-3", + "display": "MG Breast - bilateral Screening for implant" + }, { + "code": "69150-1", + "display": "MG Breast - left Diagnostic for implant" + }, { + "code": "69251-7", + "display": "MG Breast Views Post Wire Placement" + }, { + "code": "69259-0", + "display": "MG Breast - right Diagnostic for implant" + }, { + "code": "72137-3", + "display": "DBT Breast - right diagnostic" + }, { + "code": "72138-1", + "display": "DBT Breast - left diagnostic" + }, { + "code": "72139-9", + "display": "DBT Breast - bilateral diagnostic" + }, { + "code": "72140-7", + "display": "DBT Breast - right screening" + }, { + "code": "72141-5", + "display": "DBT Breast - left screening" + }, { + "code": "72142-3", + "display": "DBT Breast - bilateral screening" + }, { + "code": "86462-9", + "display": "DBT Breast - unilateral" + }, { + "code": "86463-7", + "display": "DBT Breast - bilateral" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.108.12.1018" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.292", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292", + "title": "Emergency Department Visit", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "4525004", + "display": "Emergency department patient visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "resource": { + "resourceType": "Patient", + "id": "numer-EXM125-FHIR3", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] + }, + "extension": [ { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2028-9", + "display": "Asian" + } + } ] + }, { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2135-2", + "display": "Hispanic or Latino" + } + } ] + } ], + "identifier": [ { + "use": "usual", + "type": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MR", + "display": "Medical Record Number" + } ] + }, + "system": "http://hospital.smarthealthit.org", + "value": "999999992" + } ], + "name": [ { + "family": "Snuffy", + "given": [ "Moe" ] + } ], + "gender": "female", + "birthDate": "1965-01-01" + }, + "request": { + "method": "PUT", + "url": "Patient/numer-EXM125-FHIR3" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.122.12.1036", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.122.12.1036", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.122.12.1036" + } ], + "version": "20171216", + "name": "Left", + "title": "Left", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "419161000", + "display": "Unilateral left (qualifier value)" + }, { + "code": "7771000", + "display": "Left (qualifier value)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.122.12.1036" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.122.12.1035", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.122.12.1035", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.122.12.1035" + } ], + "version": "20171216", + "name": "Right", + "title": "Right", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "24028007", + "display": "Right (qualifier value)" + }, { + "code": "419465000", + "display": "Unilateral right (qualifier value)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.122.12.1035" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-AdultOutpatientEncounters-FHIR3-1.1.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-AdultOutpatientEncounters-FHIR3-1.1.000
Type: Logic Library
Version: 1.1.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016

Content: type: text/cql
library AdultOutpatientEncounters_FHIR3 version '1.1.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "Annual Wellness Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\n\ncontext Patient\n\ndefine function "Qualifying Encounters"(MeasurementPeriod Interval<DateTime>):\n\t(\n\t    [Encounter: "Office Visit"]\n\t\tunion [Encounter: "Annual Wellness Visit"] \n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Home Healthcare Services"]\n    ) ValidEncounter\n\t\twhere ValidEncounter.period during day of MeasurementPeriod\n\t\tand ValidEncounter.status  = 'finished' \n
\n \n \n
\n
" + }, + "version": "1.1.000", + "name": "AdultOutpatientEncounters_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMiIHZlcnNpb249IjEuMS4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT2ZmaWNlIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iQW5udWFsIFdlbGxuZXNzIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgLSBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUXVhbGlmeWluZyBFbmNvdW50ZXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZhbGlkRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik9mZmljZSBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJBbm51YWwgV2VsbG5lc3MgVmlzaXQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW5jbHVkZWRJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWYWxpZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudFBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iVmFsaWRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIHZlcnNpb24gJzEuMS4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnCnZhbHVlc2V0ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCcKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMnCnZhbHVlc2V0ICJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYnCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIihNZWFzdXJlbWVudFBlcmlvZCBJbnRlcnZhbDxEYXRlVGltZT4pOgoJKAoJICAgIFtFbmNvdW50ZXI6ICJPZmZpY2UgVmlzaXQiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIl0KICAgICkgVmFsaWRFbmNvdW50ZXIKCQl3aGVyZSBWYWxpZEVuY291bnRlci5wZXJpb2QgZHVyaW5nIGRheSBvZiBNZWFzdXJlbWVudFBlcmlvZAoJCWFuZCBWYWxpZEVuY291bnRlci5zdGF0dXMgID0gJ2ZpbmlzaGVkJyAK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-Hospice-FHIR3-1.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-Hospice-FHIR3-1.0.000
Type: Logic Library
Version: 1.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15

Content: type: text/cql
library Hospice_FHIR3 version '1.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "SNOMEDCT:2017-09": 'http://snomed.info/sct/731000124108' version 'http://snomed.info/sct/731000124108/version/201709'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Hospice care ambulatory": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15'\n\ncode "Discharge to healthcare facility for hospice care (procedure)": '428371000124100' from "SNOMEDCT:2017-09" display 'Discharge to healthcare facility for hospice care (procedure)'\ncode "Discharge to home for hospice care (procedure)": '428361000124107' from "SNOMEDCT:2017-09" display 'Discharge to home for hospice care (procedure)'\n\ncontext Patient\n\ndefine function "Has Hospice"(MeasurementPeriod Interval<DateTime>):\n\texists (\n\t    [Encounter: "Encounter Inpatient"] DischargeHospice\n\t\t\twhere DischargeHospice.status = 'final'\n\t\t\t    and (\n\t\t\t        FHIRHelpers.ToConcept(DischargeHospice.hospitalization.dischargeDisposition).codes[0] ~ "Discharge to home for hospice care (procedure)"\n\t\t\t\t\t    or FHIRHelpers.ToConcept(DischargeHospice.hospitalization.dischargeDisposition).codes[0] ~ "Discharge to healthcare facility for hospice care (procedure)"\n\t\t\t    )\n\t\t\t\tand DischargeHospice.period ends during day of MeasurementPeriod\n\t)\n    or exists (\n        [ProcedureRequest: "Hospice care ambulatory"] HospiceOrder\n            where HospiceOrder.intent = 'order'\n                and HospiceOrder.authoredOn in day of MeasurementPeriod\n    )\n    or exists (\n        [Procedure: "Hospice care ambulatory"] HospicePerformed\n            where HospicePerformed.status = 'completed'\n                and Global."Normalize Interval"(HospicePerformed.performed) overlaps MeasurementPeriod\n    )\n
\n \n \n
\n
" + }, + "version": "1.0.000", + "name": "Hospice_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9Ikhvc3BpY2VfRkhJUjMiIHZlcnNpb249IjEuMC4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IlNOT01FRENUOjIwMTctMDkiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgdmVyc2lvbj0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpY2UgY2FyZSBhbWJ1bGF0b3J5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTA4LjE1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgaWQ9IjQyODM3MTAwMDEyNDEwMCIgZGlzcGxheT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVDoyMDE3LTA5Ii8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgaWQ9IjQyODM2MTAwMDEyNDEwNyIgZGlzcGxheT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVDoyMDE3LTA5Ii8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIYXMgSG9zcGljZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRGlzY2hhcmdlSG9zcGljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkRpc2NoYXJnZUhvc3BpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmRleGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmRleGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikhvc3BpY2VPcmRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSG9zcGljZSBjYXJlIGFtYnVsYXRvcnkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9Ikhvc3BpY2VPcmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJIb3NwaWNlT3JkZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGljZVBlcmZvcm1lZCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iSG9zcGljZVBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik92ZXJsYXBzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9Ikhvc3BpY2VQZXJmb3JtZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBIb3NwaWNlX0ZISVIzIHZlcnNpb24gJzEuMC4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiU05PTUVEQ1Q6MjAxNy0wOSI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcgdmVyc2lvbiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDknCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMDguMTUnCgpjb2RlICJEaXNjaGFyZ2UgdG8gaGVhbHRoY2FyZSBmYWNpbGl0eSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIjogJzQyODM3MTAwMDEyNDEwMCcgZnJvbSAiU05PTUVEQ1Q6MjAxNy0wOSIgZGlzcGxheSAnRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKScKY29kZSAiRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSI6ICc0MjgzNjEwMDAxMjQxMDcnIGZyb20gIlNOT01FRENUOjIwMTctMDkiIGRpc3BsYXkgJ0Rpc2NoYXJnZSB0byBob21lIGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSknCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiSGFzIEhvc3BpY2UiKE1lYXN1cmVtZW50UGVyaW9kIEludGVydmFsPERhdGVUaW1lPik6CglleGlzdHMgKAoJICAgIFtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRGlzY2hhcmdlSG9zcGljZQoJCQl3aGVyZSBEaXNjaGFyZ2VIb3NwaWNlLnN0YXR1cyA9ICdmaW5hbCcKCQkJICAgIGFuZCAoCgkJCSAgICAgICAgRkhJUkhlbHBlcnMuVG9Db25jZXB0KERpc2NoYXJnZUhvc3BpY2UuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uKS5jb2Rlc1swXSB+ICJEaXNjaGFyZ2UgdG8gaG9tZSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIgoJCQkJCSAgICBvciBGSElSSGVscGVycy5Ub0NvbmNlcHQoRGlzY2hhcmdlSG9zcGljZS5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24pLmNvZGVzWzBdIH4gIkRpc2NoYXJnZSB0byBoZWFsdGhjYXJlIGZhY2lsaXR5IGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSkiCgkJCSAgICApCgkJCQlhbmQgRGlzY2hhcmdlSG9zcGljZS5wZXJpb2QgZW5kcyBkdXJpbmcgZGF5IG9mIE1lYXN1cmVtZW50UGVyaW9kCgkpCiAgICBvciBleGlzdHMgKAogICAgICAgIFtQcm9jZWR1cmVSZXF1ZXN0OiAiSG9zcGljZSBjYXJlIGFtYnVsYXRvcnkiXSBIb3NwaWNlT3JkZXIKICAgICAgICAgICAgd2hlcmUgSG9zcGljZU9yZGVyLmludGVudCA9ICdvcmRlcicKICAgICAgICAgICAgICAgIGFuZCBIb3NwaWNlT3JkZXIuYXV0aG9yZWRPbiBpbiBkYXkgb2YgTWVhc3VyZW1lbnRQZXJpb2QKICAgICkKICAgIG9yIGV4aXN0cyAoCiAgICAgICAgW1Byb2NlZHVyZTogIkhvc3BpY2UgY2FyZSBhbWJ1bGF0b3J5Il0gSG9zcGljZVBlcmZvcm1lZAogICAgICAgICAgICB3aGVyZSBIb3NwaWNlUGVyZm9ybWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICAgICAgICAgICAgICBhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEhvc3BpY2VQZXJmb3JtZWQucGVyZm9ybWVkKSBvdmVybGFwcyBNZWFzdXJlbWVudFBlcmlvZAogICAgKQo=" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-Hospice-FHIR3-1.0.000" + } + }, { + "resource": { + "resourceType": "DiagnosticReport", + "id": "denom-EXM125-FHIR3-2", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/FHIR3/StructureDefinition-us-core-diagnosticreport-note" ] + }, + "status": "final", + "code": { + "coding": [ { + "system": "http://loinc.org", + "code": "24604-1", + "display": "MG Breast Diagnostic Limited Views" + } ] + }, + "subject": { + "reference": "Patient/denom-EXM125-FHIR3" + }, + "effectivePeriod": { + "start": "2016-11-01T00:00:00", + "end": "2016-11-01T00:00:00" + } + }, + "request": { + "method": "PUT", + "url": "DiagnosticReport/denom-EXM125-FHIR3-2" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1001", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1001" + } ], + "version": "20180310", + "name": "OfficeVisit", + "title": "Office Visit", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99201", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99202", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: An expanded problem focused history; An expanded problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 20 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99203", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A detailed history; A detailed examination; Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate severity. Typically, 30 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99204", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 45 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99205", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 60 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99212", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99213", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: An expanded problem focused history; An expanded problem focused examination; Medical decision making of low complexity. Counseling and coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 15 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99214", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A detailed history; A detailed examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 25 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99215", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 40 minutes are spent face-to-face with the patient and/or family." + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "185463005", + "display": "Visit out of hours (procedure)" + }, { + "code": "185464004", + "display": "Out of hours visit - not night visit (procedure)" + }, { + "code": "185465003", + "display": "Weekend visit (procedure)" + }, { + "code": "30346009", + "display": "Evaluation and management of established outpatient in office or other outpatient facility (procedure)" + }, { + "code": "3391000175108", + "display": "Office visit for pediatric care and assessment (procedure)" + }, { + "code": "37894004", + "display": "Evaluation and management of new outpatient in office or other outpatient facility (procedure)" + }, { + "code": "439740005", + "display": "Postoperative follow-up visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1023", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1023" + } ], + "version": "20170504", + "name": "PreventiveCareServices-InitialOfficeVisit,18andUp", + "title": "Preventive Care Services-Initial Office Visit, 18 and Up", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99385", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 18-39 years" + }, { + "code": "99386", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 40-64 years" + }, { + "code": "99387", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 65 years and older" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } + }, { + "resource": { + "resourceType": "Encounter", + "id": "denom-EXM125-FHIR3-1", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] + }, + "status": "finished", + "class": { + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", + "code": "AMB", + "display": "ambulatory" + }, + "type": [ { + "coding": [ { + "system": "http://www.ama-assn.org/go/cpt", + "code": "99201", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + } ] + } ], + "subject": { + "reference": "Patient/denom-EXM125-FHIR3" + }, + "period": { + "start": "2019-05-30T00:00:00-00:00", + "end": "2019-05-31T00:00:00-00:00" + } + }, + "request": { + "method": "PUT", + "url": "Encounter/denom-EXM125-FHIR3-1" + } + }, { + "resource": { + "resourceType": "Patient", + "id": "denom-EXM125-FHIR3", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] + }, + "extension": [ { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2106-3", + "display": "White" + } + } ] + }, { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2186-5", + "display": "Not Hispanic or Latino" + } + } ] + } ], + "identifier": [ { + "use": "usual", + "type": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MR", + "display": "Medical Record Number" + } ] + }, + "system": "http://hospital.smarthealthit.org", + "value": "999999993" + } ], + "name": [ { + "family": "Nomer", + "given": [ "Miss" ] + } ], + "gender": "female", + "birthDate": "1965-01-01" + }, + "request": { + "method": "PUT", + "url": "Patient/denom-EXM125-FHIR3" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-2.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-2.0.000
Type: Logic Library
Version: 2.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '2.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t    and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] C where C.id = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t\treturn singleton from ([Condition] C where C.id = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "2.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMDUiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIwNSIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVSIiBpZD0iRVIiIGRpc3BsYXk9IkVtZXJnZW5jeSByb29tIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSUNVIiBpZD0iSUNVIiBkaXNwbGF5PSJJbnRlbnNpdmUgY2FyZSB1bml0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikxlbmd0aEluRGF5cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGlmZmVyZW5jZUJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJJbnBhdGllbnQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgIDx5ZWFyIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwveWVhcj4NCiAgICAgICAgICAgIDxtb250aCBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9tb250aD4NCiAgICAgICAgICAgIDxkYXkgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L2RheT4NCiAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHRpbWV6b25lT2Zmc2V0IHhzaTp0eXBlPSJUaW1lem9uZUZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3RpbWV6b25lT2Zmc2V0Pg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2RheSIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbk1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImhvdXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDxlbHNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlgiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFREVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFREVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgIDx0aGVuIHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTGVuZ3RoIG9mIFN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQWRtaXNzaW9uIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIERpc2NoYXJnZSBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGl0YWxMb2NhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8c29ydD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxieSBkaXJlY3Rpb249ImFzYyIgeHNpOnR5cGU9IkJ5RXhwcmVzc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvbmRpdGlvbiIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyb2xlIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpbGxpbmciIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlZ2VyIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyYW5rIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29uZGl0aW9uIiBzY29wZT0iUEQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldExvY2F0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxvY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkxvY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlZmVyZW5jZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0RXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldFByb3ZlbmFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm92ZW5hbmNlIiBjb2RlUHJvcGVydHk9InRhcmdldCIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldE1lZGljYXRpb25Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlcXVlc3QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVxdWVzdCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwoKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnCmNvZGUgIkVSIjogJ0VSJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnRW1lcmdlbmN5IHJvb20nCmNvZGUgIklDVSI6ICdJQ1UnIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdJbnRlbnNpdmUgY2FyZSB1bml0Jwpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIiOgoJW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFbmNvdW50ZXJJbnBhdGllbnQKCQl3aGVyZSBFbmNvdW50ZXJJbnBhdGllbnQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCSAgICBhbmQgIkxlbmd0aEluRGF5cyIoRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCkgPD0gMTIwCgkJCWFuZCBFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kIGVuZHMgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgZnVuY3Rpb24gIlRvRGF0ZSIoVmFsdWUgRGF0ZVRpbWUpOgoJRGF0ZVRpbWUoeWVhciBmcm9tIFZhbHVlLCBtb250aCBmcm9tIFZhbHVlLCBkYXkgZnJvbSBWYWx1ZSwgMCwgMCwgMCwgMCwgdGltZXpvbmUgZnJvbSBWYWx1ZSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbkRheXNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6CglkYXlzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5cyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluRGF5c0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6Cgltb250aHMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCXllYXJzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluWWVhcnMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJblllYXJzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiTGVuZ3RoSW5EYXlzIihWYWx1ZSBJbnRlcnZhbDxEYXRlVGltZT4pOgoJZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgVmFsdWUgYW5kIGVuZCBvZiBWYWx1ZQoKZGVmaW5lIGZ1bmN0aW9uICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKICAgIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXSBFRFZpc2l0CiAgICAgICAgICAgIHdoZXJlIEVEVmlzaXQuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgICAgICAgICAgICAgYW5kIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCkKICAgICkKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJKCAiRUQgVmlzaXQiKFRoZUVuY291bnRlcikgKSBYCiAgICByZXR1cm4KICAgICAgICBpZiBYIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgZWxzZSBJbnRlcnZhbFtzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFgucGVyaW9kKSwgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCldCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIEVERW5jb3VudGVyCiAgICByZXR1cm4KICAgICAgICBpZiBFREVuY291bnRlciBpcyBudWxsIHRoZW4gVGhlRW5jb3VudGVyLmxvY2F0aW9uCiAgICAgICAgZWxzZSBmbGF0dGVuIHsgRURFbmNvdW50ZXIubG9jYXRpb24sIFRoZUVuY291bnRlci5sb2NhdGlvbiB9CgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMZW5ndGggb2YgU3RheSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCUxlbmd0aEluRGF5cygiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIpKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWwgRGlzY2hhcmdlIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgllbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEZpcnN0KAoJICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCXNvcnQgYnkgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChwZXJpb2QpCgkpLnBlcmlvZCkKCi8vIFRPRE8gLSBmaXggdGhlc2UgKG11c3QgZmV0Y2ggTG9jYXRpb24gcmVzb3VyY2VzIGFuZCBjb21wYXJlIGlkIHRvIHJlZmVyZW5jZSkKLypkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIERlcGFydHVyZSBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoTGFzdCgKCSAgICAoICJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIihUaGVFbmNvdW50ZXIpICkgSG9zcGl0YWxMb2NhdGlvbgoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkVtZXJnZW5jeSBEZXBhcnRtZW50IEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoKAoJICAgIHNpbmdsZXRvbiBmcm9tICgKCSAgICAgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJFUiIKCQkpCgkpLnBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiRmlyc3QgSW5wYXRpZW50IEludGVuc2l2ZSBDYXJlIFVuaXQiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglGaXJzdCgKCSAgICAoIFRoZUVuY291bnRlci5sb2NhdGlvbiApIEhvc3BpdGFsTG9jYXRpb24KCQkJd2hlcmUgSG9zcGl0YWxMb2NhdGlvbi50eXBlIH4gIklDVSIKCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgVGhlRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKSovCgovKgoqCiogICAgQ1FGTWVhc3VyZXMgQ29tbW9uIExvZ2ljCioKKi8KCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgogIGlmIG9uc2V0IGlzIEZISVIuZGF0ZVRpbWUgdGhlbgoJICBJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLlBlcmlvZCB0aGVuCgkgIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwob25zZXQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIG9uc2V0IGlzIEZISVIuQWdlIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpLAoJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpICsgMSB5ZWFyKQoJZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbiBDb25kaXRpb24pOgoJaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5kYXRlVGltZSldCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5BZ2UgdGhlbgoJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLAoJCQlGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmJvb2xlYW4gdGhlbgoJICBJbnRlcnZhbFtlbmQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgY29uZGl0aW9uLmFzc2VydGVkRGF0ZSkKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJHZXRQcmV2YWxlbmNlUGVyaW9kIihjb25kaXRpb24gQ29uZGl0aW9uKToKICBJbnRlcnZhbFtzdGFydCBvZiAiTm9ybWFsaXplIE9uc2V0Iihjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbikpCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBJbnRlcnZhbCIoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZD4pOgogIGlmIGNob2ljZSBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5kYXRlVGltZSksIEZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZQoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNob2ljZSBhcyBGSElSLlBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcpOgoJTGFzdChTcGxpdCh1cmksICcvJykpCgpkZWZpbmUgZnVuY3Rpb24gIkVuY291bnRlckRpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6CiAgRW5jb3VudGVyLmRpYWdub3NpcyBECiAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKFtDb25kaXRpb25dIEMgd2hlcmUgQy5pZCA9ICJHZXRJZCIoRC5jb25kaXRpb24ucmVmZXJlbmNlKSkKCi8vIFJldHVybnMgdGhlIGNvbmRpdGlvbiB0aGF0IGlzIHNwZWNpZmllZCBhcyB0aGUgcHJpbmNpcGFsIGRpYWdub3NpcyBmb3IgdGhlIGVuY291bnRlcgpkZWZpbmUgZnVuY3Rpb24gIlByaW5jaXBhbERpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6Cgkoc2luZ2xldG9uIGZyb20gKEVuY291bnRlci5kaWFnbm9zaXMgRCB3aGVyZSBELnJvbGUgfiBUb0NvbmNlcHQoIkJpbGxpbmciKSBhbmQgRC5yYW5rID0gMSkpIFBECgkJcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDIHdoZXJlIEMuaWQgPSAiR2V0SWQiKFBELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgbG9jYXRpb24gZm9yIHRoZSBnaXZlbiBsb2NhdGlvbiByZWZlcmVuY2UKZGVmaW5lIGZ1bmN0aW9uIEdldExvY2F0aW9uKHJlZmVyZW5jZSBSZWZlcmVuY2UpOgogIHNpbmdsZXRvbiBmcm9tICgKICAgIFtMb2NhdGlvbl0gTG9jYXRpb24gd2hlcmUgTG9jYXRpb24uaWQudmFsdWUgPSBHZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKQogICkKCi8qCk5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlCkNRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nICsgdXJsKQoJCXJldHVybiBFCgpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UsIHVybCkKCi8qCk5PVEU6IFByb3ZlbmFuY2UgaXMgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIHRoaXMgaXMgcHJvdmlkZWQgb25seSBhcyBhbiBpbGx1c3RyYXRpb24KZm9yIHdoYXQgdXNpbmcgUHJvdmVuYW5jZSBjb3VsZCBsb29rIGxpa2UsIGFuZCBpcyBub3QgYSB0ZXN0ZWQgcGF0dGVybgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldFByb3ZlbmFuY2UiKHJlc291cmNlIFJlc291cmNlKToKICBzaW5nbGV0b24gZnJvbSAoW1Byb3ZlbmFuY2U6IHRhcmdldCBpbiByZXNvdXJjZS5pZF0pCgpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Db2RlIihyZXF1ZXN0IE1lZGljYXRpb25SZXF1ZXN0KToKICBpZiByZXF1ZXN0Lm1lZGljYXRpb24gaXMgQ29kZWFibGVDb25jZXB0IHRoZW4KCSAgcmVxdWVzdC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdAoJZWxzZQoJICAoc2luZ2xldG9uIGZyb20gKFtNZWRpY2F0aW9uOiBpZCBpbiBHZXRJZCgocmVxdWVzdC5tZWRpY2F0aW9uIGFzIFJlZmVyZW5jZSkucmVmZXJlbmNlKV0pKS5jb2RlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-SupplementalDataElements-FHIR3-1.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-SupplementalDataElements-FHIR3-1.0.0
Type: Logic Library
Version: 1.0.0
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Coverage

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591

Content: type: text/cql
library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Payer":\n    [Coverage: type in "Payer"] Payer\n      return {\n        code: Payer.type,\n        period: Payer.period\n      }\n\ndefine "SDE Race":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Sex":\n  case\n    when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n    when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n    else null\n  end\n
\n \n \n
\n
" + }, + "version": "1.0.0", + "name": "SupplementalDataElements_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + }, { + "resource": { + "resourceType": "Bundle", + "id": "tests-DiagnosticReport-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "DiagnosticReport", + "id": "denom-EXM125-FHIR3-2", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/FHIR3/StructureDefinition-us-core-diagnosticreport-note" ] + }, + "status": "final", + "code": { + "coding": [ { + "system": "http://loinc.org", + "code": "24604-1", + "display": "MG Breast Diagnostic Limited Views" + } ] + }, + "subject": { + "reference": "Patient/denom-EXM125-FHIR3" + }, + "effectivePeriod": { + "start": "2016-11-01T00:00:00", + "end": "2016-11-01T00:00:00" + } + }, + "request": { + "method": "PUT", + "url": "DiagnosticReport/denom-EXM125-FHIR3-2" + } + } ] + }, + "request": { + "method": "PUT", + "url": "tests-DiagnosticReport-bundle" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1" + } ], + "version": "20150331", + "name": "ONCAdministrativeSex", + "title": "ONC Administrative Sex", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + }, { + "code": "M", + "display": "Male" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1025", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1025" + } ], + "version": "20170504", + "name": "PreventiveCareServices-EstablishedOfficeVisit,18andUp", + "title": "Preventive Care Services - Established Office Visit, 18 and Up", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99395", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 18-39 years" + }, { + "code": "99396", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 40-64 years" + }, { + "code": "99397", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 65 years and older" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1069", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1069", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1069" + } ], + "version": "20171216", + "name": "StatusPostLeftMastectomy", + "title": "Status Post Left Mastectomy", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2019", + "concept": [ { + "code": "Z90.12", + "display": "Acquired absence of left breast and nipple" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "137671000119105", + "display": "History of prophylactic mastectomy of left breast (situation)" + }, { + "code": "429009003", + "display": "History of left mastectomy (situation)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1069" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.837", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.837" + } ], + "version": "20121025", + "name": "Ethnicity", + "title": "Ethnicity", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "2135-2", + "display": "Hispanic or Latino" + }, { + "code": "2186-5", + "display": "Not Hispanic or Latino" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.3591", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.3591" + } ], + "version": "20180718", + "name": "Payer", + "title": "Payer", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.phdsc.org/standards/pdfs/SourceofPaymentTypologyVersion6FINALSeptember2015.pdf", + "version": "8.0", + "concept": [ { + "code": "1", + "display": "MEDICARE" + }, { + "code": "11", + "display": "Medicare (Managed Care)" + }, { + "code": "111", + "display": "Medicare HMO" + }, { + "code": "112", + "display": "Medicare PPO" + }, { + "code": "113", + "display": "Medicare POS" + }, { + "code": "119", + "display": "Medicare Managed Care Other" + }, { + "code": "12", + "display": "Medicare (Non-managed Care)" + }, { + "code": "121", + "display": "Medicare FFS" + }, { + "code": "122", + "display": "Medicare Drug Benefit" + }, { + "code": "123", + "display": "Medicare Medical Savings Account (MSA)" + }, { + "code": "129", + "display": "Medicare Non-managed Care Other" + }, { + "code": "13", + "display": "Medicare Hospice" + }, { + "code": "14", + "display": "Dual Eligibility Medicare/Medicaid Organization" + }, { + "code": "19", + "display": "Medicare Other" + }, { + "code": "191", + "display": "Medicare Pharmacy Benefit Manager" + }, { + "code": "2", + "display": "MEDICAID" + }, { + "code": "21", + "display": "Medicaid (Managed Care)" + }, { + "code": "211", + "display": "Medicaid HMO" + }, { + "code": "212", + "display": "Medicaid PPO" + }, { + "code": "213", + "display": "Medicaid PCCM (Primary Care Case Management)" + }, { + "code": "219", + "display": "Medicaid Managed Care Other" + }, { + "code": "22", + "display": "Medicaid (Non-managed Care Plan)" + }, { + "code": "23", + "display": "Medicaid/SCHIP" + }, { + "code": "25", + "display": "Medicaid - Out of State" + }, { + "code": "26", + "display": "Medicaid -- Long Term Care" + }, { + "code": "29", + "display": "Medicaid Other" + }, { + "code": "291", + "display": "Medicaid Pharmacy Benefit Manager" + }, { + "code": "299", + "display": "Medicaid - Dental" + }, { + "code": "3", + "display": "OTHER GOVERNMENT (Federal/State/Local) (excluding Department of Corrections)" + }, { + "code": "31", + "display": "Department of Defense" + }, { + "code": "311", + "display": "TRICARE (CHAMPUS)" + }, { + "code": "3111", + "display": "TRICARE Prime--HMO" + }, { + "code": "3112", + "display": "TRICARE Extra--PPO" + }, { + "code": "3113", + "display": "TRICARE Standard - Fee For Service" + }, { + "code": "3114", + "display": "TRICARE For Life--Medicare Supplement" + }, { + "code": "3115", + "display": "TRICARE Reserve Select" + }, { + "code": "3116", + "display": "Uniformed Services Family Health Plan (USFHP) -- HMO" + }, { + "code": "3119", + "display": "Department of Defense - (other)" + }, { + "code": "312", + "display": "Military Treatment Facility" + }, { + "code": "3121", + "display": "Enrolled Prime--HMO" + }, { + "code": "3122", + "display": "Non-enrolled Space Available" + }, { + "code": "3123", + "display": "TRICARE For Life (TFL)" + }, { + "code": "313", + "display": "Dental --Stand Alone" + }, { + "code": "32", + "display": "Department of Veterans Affairs" + }, { + "code": "321", + "display": "Veteran care--Care provided to Veterans" + }, { + "code": "3211", + "display": "Direct Care--Care provided in VA facilities" + }, { + "code": "3212", + "display": "Indirect Care--Care provided outside VA facilities" + }, { + "code": "32121", + "display": "Fee Basis" + }, { + "code": "32122", + "display": "Foreign Fee/Foreign Medical Program (FMP)" + }, { + "code": "32123", + "display": "Contract Nursing Home/Community Nursing Home" + }, { + "code": "32124", + "display": "State Veterans Home" + }, { + "code": "32125", + "display": "Sharing Agreements" + }, { + "code": "32126", + "display": "Other Federal Agency" + }, { + "code": "32127", + "display": "Dental Care" + }, { + "code": "32128", + "display": "Vision Care" + }, { + "code": "322", + "display": "Non-veteran care" + }, { + "code": "3221", + "display": "Civilian Health and Medical Program for the VA (CHAMPVA)" + }, { + "code": "3222", + "display": "Spina Bifida Health Care Program (SB)" + }, { + "code": "3223", + "display": "Children of Women Vietnam Veterans (CWVV)" + }, { + "code": "3229", + "display": "Other non-veteran care" + }, { + "code": "33", + "display": "Indian Health Service or Tribe" + }, { + "code": "331", + "display": "Indian Health Service -- Regular" + }, { + "code": "332", + "display": "Indian Health Service -- Contract" + }, { + "code": "333", + "display": "Indian Health Service - Managed Care" + }, { + "code": "334", + "display": "Indian Tribe - Sponsored Coverage" + }, { + "code": "34", + "display": "HRSA Program" + }, { + "code": "341", + "display": "Title V (MCH Block Grant)" + }, { + "code": "342", + "display": "Migrant Health Program" + }, { + "code": "343", + "display": "Ryan White Act" + }, { + "code": "349", + "display": "Other" + }, { + "code": "35", + "display": "Black Lung" + }, { + "code": "36", + "display": "State Government" + }, { + "code": "361", + "display": "State SCHIP program (codes for individual states)" + }, { + "code": "362", + "display": "Specific state programs (list/ local code)" + }, { + "code": "369", + "display": "State, not otherwise specified (other state)" + }, { + "code": "37", + "display": "Local Government" + }, { + "code": "371", + "display": "Local - Managed care" + }, { + "code": "3711", + "display": "HMO" + }, { + "code": "3712", + "display": "PPO" + }, { + "code": "3713", + "display": "POS" + }, { + "code": "372", + "display": "FFS/Indemnity" + }, { + "code": "379", + "display": "Local, not otherwise specified (other local, county)" + }, { + "code": "38", + "display": "Other Government (Federal, State, Local not specified)" + }, { + "code": "381", + "display": "Federal, State, Local not specified managed care" + }, { + "code": "3811", + "display": "Federal, State, Local not specified - HMO" + }, { + "code": "3812", + "display": "Federal, State, Local not specified - PPO" + }, { + "code": "3813", + "display": "Federal, State, Local not specified - POS" + }, { + "code": "3819", + "display": "Federal, State, Local not specified - not specified managed care" + }, { + "code": "382", + "display": "Federal, State, Local not specified - FFS" + }, { + "code": "389", + "display": "Federal, State, Local not specified - Other" + }, { + "code": "39", + "display": "Other Federal" + }, { + "code": "391", + "display": "Federal Employee Health Plan - Use when known" + }, { + "code": "4", + "display": "DEPARTMENTS OF CORRECTIONS" + }, { + "code": "41", + "display": "Corrections Federal" + }, { + "code": "42", + "display": "Corrections State" + }, { + "code": "43", + "display": "Corrections Local" + }, { + "code": "44", + "display": "Corrections Unknown Level" + }, { + "code": "5", + "display": "PRIVATE HEALTH INSURANCE" + }, { + "code": "51", + "display": "Managed Care (Private)" + }, { + "code": "511", + "display": "Commercial Managed Care - HMO" + }, { + "code": "512", + "display": "Commercial Managed Care - PPO" + }, { + "code": "513", + "display": "Commercial Managed Care - POS" + }, { + "code": "514", + "display": "Exclusive Provider Organization" + }, { + "code": "515", + "display": "Gatekeeper PPO (GPPO)" + }, { + "code": "516", + "display": "Commercial Managed Care - Pharmacy Benefit Manager" + }, { + "code": "517", + "display": "Commercial Managed Care - Dental" + }, { + "code": "519", + "display": "Managed Care, Other (non HMO)" + }, { + "code": "52", + "display": "Private Health Insurance - Indemnity" + }, { + "code": "521", + "display": "Commercial Indemnity" + }, { + "code": "522", + "display": "Self-insured (ERISA) Administrative Services Only (ASO) plan" + }, { + "code": "523", + "display": "Medicare supplemental policy (as second payer)" + }, { + "code": "524", + "display": "Indemnity Insurance - Dental" + }, { + "code": "529", + "display": "Private health insurance--other commercial Indemnity" + }, { + "code": "53", + "display": "Managed Care (private) or private health insurance (indemnity), not otherwise specified" + }, { + "code": "54", + "display": "Organized Delivery System" + }, { + "code": "55", + "display": "Small Employer Purchasing Group" + }, { + "code": "56", + "display": "Specialized Stand Alone Plan" + }, { + "code": "561", + "display": "Dental" + }, { + "code": "562", + "display": "Vision" + }, { + "code": "59", + "display": "Other Private Insurance" + }, { + "code": "6", + "display": "BLUE CROSS/BLUE SHIELD" + }, { + "code": "61", + "display": "BC Managed Care" + }, { + "code": "611", + "display": "BC Managed Care -- HMO" + }, { + "code": "612", + "display": "BC Managed Care -- PPO" + }, { + "code": "613", + "display": "BC Managed Care -- POS" + }, { + "code": "614", + "display": "BC Managed Care - Dental" + }, { + "code": "619", + "display": "BC Managed Care -- Other" + }, { + "code": "62", + "display": "BC Insurance Indemnity" + }, { + "code": "621", + "display": "BC Indemnity" + }, { + "code": "622", + "display": "BC Self-insured (ERISA) Administrative Services Only (ASO)Plan" + }, { + "code": "623", + "display": "BC Medicare Supplemental Plan" + }, { + "code": "629", + "display": "BC Indemnity - Dental" + }, { + "code": "7", + "display": "MANAGED CARE, UNSPECIFIED (to be used only if one can't distinguish public from private)" + }, { + "code": "71", + "display": "HMO" + }, { + "code": "72", + "display": "PPO" + }, { + "code": "73", + "display": "POS" + }, { + "code": "79", + "display": "Other Managed Care" + }, { + "code": "8", + "display": "NO PAYMENT from an Organization/Agency/Program/Private Payer Listed" + }, { + "code": "81", + "display": "Self-pay (Includes applicants for insurance and Medicaid applicants)" + }, { + "code": "82", + "display": "No Charge" + }, { + "code": "821", + "display": "Charity" + }, { + "code": "822", + "display": "Professional Courtesy" + }, { + "code": "823", + "display": "Research/Clinical Trial" + }, { + "code": "83", + "display": "Refusal to Pay/Bad Debt" + }, { + "code": "84", + "display": "Hill Burton Free Care" + }, { + "code": "85", + "display": "Research/Donor" + }, { + "code": "89", + "display": "No Payment, Other" + }, { + "code": "9", + "display": "MISCELLANEOUS/OTHER" + }, { + "code": "91", + "display": "Foreign National" + }, { + "code": "92", + "display": "Other (Non-government)" + }, { + "code": "93", + "display": "Disability Insurance" + }, { + "code": "94", + "display": "Long-term Care Insurance" + }, { + "code": "95", + "display": "Worker's Compensation" + }, { + "code": "951", + "display": "Worker's Comp HMO" + }, { + "code": "953", + "display": "Worker's Comp Fee-for-Service" + }, { + "code": "954", + "display": "Worker's Comp Other Managed Care" + }, { + "code": "959", + "display": "Worker's Comp, Other unspecified" + }, { + "code": "96", + "display": "Auto Insurance (includes no fault)" + }, { + "code": "97", + "display": "Legal Liability / Liability Insurance" + }, { + "code": "98", + "display": "Other specified but not otherwise classifiable (includes Hospice - Unspecified plan)" + }, { + "code": "99", + "display": "No Typology Code available for payment source" + }, { + "code": "9999", + "display": "Unavailable / No Payer Specified / Blank" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { "resource": { "resourceType": "MeasureReport", "id": "measurereport-numer-EXM125-FHIR3", @@ -206,13 +1809,316 @@ } ], "measureScore": 1.0 } ], - "evaluatedResources": { - "reference": "#7dc4989e-5d2a-48ff-9bb7-df0efc130deb" + "evaluatedResources": { + "reference": "#7dc4989e-5d2a-48ff-9bb7-df0efc130deb" + } + }, + "request": { + "method": "PUT", + "url": "MeasureReport/measurereport-numer-EXM125-FHIR3" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1068", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1068", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1068" + } ], + "version": "20171219", + "name": "Historyofbilateralmastectomy", + "title": "History of bilateral mastectomy", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2019", + "concept": [ { + "code": "Z90.13", + "display": "Acquired absence of bilateral breasts and nipples" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "136071000119101", + "display": "History of bilateral prophylactic mastectomy (situation)" + }, { + "code": "428529004", + "display": "History of bilateral mastectomy (situation)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1068" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1020", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1020", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1020" + } ], + "version": "20171216", + "name": "UnilateralMastectomy", + "title": "Unilateral Mastectomy", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2006", + "concept": [ { + "code": "19180", + "display": "Mastectomy, simple, complete" + }, { + "code": "19200", + "display": "Mastectomy, radical, including pectoral muscles, axillary lymph nodes" + }, { + "code": "19220", + "display": "Mastectomy, radical, including pectoral muscles, axillary and internal mammary lymph nodes (Urban type operation)" + }, { + "code": "19240", + "display": "Mastectomy, modified radical, including axillary lymph nodes, with or without pectoralis minor muscle, but excluding pectoralis major muscle" + } ] + }, { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "19303", + "display": "Mastectomy, simple, complete" + }, { + "code": "19304", + "display": "Mastectomy, subcutaneous" + }, { + "code": "19305", + "display": "Mastectomy, radical, including pectoral muscles, axillary lymph nodes" + }, { + "code": "19306", + "display": "Mastectomy, radical, including pectoral muscles, axillary and internal mammary lymph nodes (Urban type operation)" + }, { + "code": "19307", + "display": "Mastectomy, modified radical, including axillary lymph nodes, with or without pectoralis minor muscle, but excluding pectoralis major muscle" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2017-09", + "concept": [ { + "code": "287654001", + "display": "Extended simple mastectomy (procedure)" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "12275171000119105", + "display": "Postmastectomy lymphedema syndrome of right upper limb (disorder)" + }, { + "code": "12275221000119100", + "display": "Postmastectomy lymphedema syndrome of left upper limb (disorder)" + }, { + "code": "172043006", + "display": "Simple mastectomy (procedure)" + }, { + "code": "237367009", + "display": "Total mastectomy and division of pectoralis minor muscle (procedure)" + }, { + "code": "237368004", + "display": "Total mastectomy and excision of part of pectoral muscles and chest wall (procedure)" + }, { + "code": "237385002", + "display": "Excision of mastectomy scar (procedure)" + }, { + "code": "237388000", + "display": "Biopsy of mastectomy scar (procedure)" + }, { + "code": "274957008", + "display": "Radical mastectomy including axillary lymph nodes (procedure)" + }, { + "code": "287653007", + "display": "Subcutaneous mastectomy and prosthetic implant (procedure)" + }, { + "code": "303690008", + "display": "Excisional biopsy of mastectomy scar (procedure)" + }, { + "code": "307995002", + "display": "Excision of lesion of mastectomy scar (procedure)" + }, { + "code": "318190001", + "display": "Mastectomy with preservation of skin and nipple with synchronous implant (procedure)" + }, { + "code": "33129002", + "display": "Postmastectomy lymphedema syndrome (disorder)" + }, { + "code": "359728003", + "display": "Radical mastectomy including pectoral muscles and axillary lymph nodes (procedure)" + }, { + "code": "359731002", + "display": "Urban operation, extended radical mastectomy (procedure)" + }, { + "code": "359734005", + "display": "Halsted mastectomy (procedure)" + }, { + "code": "359740003", + "display": "Extended radical mastectomy (procedure)" + }, { + "code": "384723003", + "display": "Radical mastectomy (procedure)" + }, { + "code": "395702000", + "display": "Patey total mastectomy (procedure)" + }, { + "code": "406505007", + "display": "Modified radical mastectomy (procedure)" + }, { + "code": "428564008", + "display": "Skin sparing mastectomy (procedure)" + }, { + "code": "428571003", + "display": "Mastectomy of left breast (procedure)" + }, { + "code": "429400009", + "display": "Mastectomy of right breast (procedure)" + }, { + "code": "446109005", + "display": "Simple mastectomy with excision of axillary lymph nodes (procedure)" + }, { + "code": "446420001", + "display": "Simple mastectomy with complete axillary lymphadenectomy (procedure)" + }, { + "code": "447135002", + "display": "Simple mastectomy with axillary lymph node sampling (procedure)" + }, { + "code": "447421006", + "display": "Prophylactic mastectomy (procedure)" + }, { + "code": "451201000124106", + "display": "Prophylactic mastectomy of right breast (procedure)" + }, { + "code": "451211000124109", + "display": "Prophylactic mastectomy of left breast (procedure)" + }, { + "code": "66398006", + "display": "Mastectomy with excision of regional lymph nodes (procedure)" + }, { + "code": "70183006", + "display": "Subcutaneous mastectomy (procedure)" + }, { + "code": "714111001", + "display": "Post-mastectomy breast deformity (disorder)" + }, { + "code": "714252004", + "display": "Post-mastectomy chronic pain syndrome (disorder)" + }, { + "code": "726429001", + "display": "Radical mastectomy of left breast (procedure)" + }, { + "code": "726430006", + "display": "Radical mastectomy of right breast (procedure)" + }, { + "code": "726434002", + "display": "Subcutaneous mastectomy of right breast (procedure)" + }, { + "code": "726435001", + "display": "Subcutaneous mastectomy of left breast (procedure)" + }, { + "code": "726436000", + "display": "Modified radical mastectomy of right breast (procedure)" + }, { + "code": "726437009", + "display": "Modified radical mastectomy of left breast (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1020" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.836", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.836" + } ], + "version": "20121025", + "name": "Race", + "title": "Race", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "1002-5", + "display": "American Indian or Alaska Native" + }, { + "code": "2028-9", + "display": "Asian" + }, { + "code": "2054-5", + "display": "Black or African American" + }, { + "code": "2076-8", + "display": "Native Hawaiian or Other Pacific Islander" + }, { + "code": "2106-3", + "display": "White" + }, { + "code": "2131-1", + "display": "Other Race" + } ] + } ] } }, "request": { "method": "PUT", - "url": "MeasureReport/measurereport-numer-EXM125-FHIR3" + "url": "ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.666.5.307", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.666.5.307" + } ], + "version": "20170504", + "name": "EncounterInpatient", + "title": "Encounter Inpatient", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + }, { + "code": "8715000", + "display": "Hospital admission, elective (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.666.5.307" } }, { "resource": { @@ -230,11 +2136,6 @@ "extension": [ { "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", "valueCode": "boolean" - }, { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-exm125-FHIR3", "identifier": [ { @@ -405,275 +2306,284 @@ } ] } ], "criteria": "SDE Payer" - }, { - "identifier": { - "value": "sde-race" - }, - "usage": [ { - "coding": [ { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } ] - } ], - "criteria": "SDE Race" - }, { - "identifier": { - "value": "sde-sex" - }, - "usage": [ { - "coding": [ { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } ] - } ], - "criteria": "SDE Sex" - } ] - }, - "request": { - "method": "PUT", - "url": "Measure/measure-EXM125-FHIR3-7.2.000/_history/4" - } - }, { - "resource": { - "resourceType": "Patient", - "id": "numer-EXM125-FHIR3", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2028-9", - "display": "Asian" - } - } ] - }, { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2135-2", - "display": "Hispanic or Latino" - } - } ] - } ], - "identifier": [ { - "use": "usual", - "type": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "MR", - "display": "Medical Record Number" - } ] - }, - "system": "http://hospital.smarthealthit.org", - "value": "999999992" - } ], - "name": [ { - "family": "Snuffy", - "given": [ "Moe" ] - } ], - "gender": "female", - "birthDate": "1965-01-01" - }, - "request": { - "method": "PUT", - "url": "Patient/numer-EXM125-FHIR3" - } - }, { - "resource": { - "resourceType": "Bundle", - "id": "tests-Encounter-bundle", - "type": "transaction", - "entry": [ { - "resource": { - "resourceType": "Encounter", - "id": "denom-EXM125-FHIR3-1", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] - }, - "status": "finished", - "class": { - "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", - "code": "AMB", - "display": "ambulatory" - }, - "type": [ { - "coding": [ { - "system": "http://www.ama-assn.org/go/cpt", - "code": "99201", - "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." - } ] - } ], - "subject": { - "reference": "Patient/denom-EXM125-FHIR3" - }, - "period": { - "start": "2019-05-30T00:00:00-00:00", - "end": "2019-05-31T00:00:00-00:00" - } - }, - "request": { - "method": "PUT", - "url": "Encounter/denom-EXM125-FHIR3-1" - } - } ] - }, - "request": { - "method": "PUT", - "url": "tests-Encounter-bundle" - } - }, { - "resource": { - "resourceType": "DiagnosticReport", - "id": "denom-EXM125-FHIR3-2", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/FHIR3/StructureDefinition-us-core-diagnosticreport-note" ] - }, - "status": "final", - "code": { - "coding": [ { - "system": "http://loinc.org", - "code": "24604-1", - "display": "MG Breast Diagnostic Limited Views" - } ] - }, - "subject": { - "reference": "Patient/denom-EXM125-FHIR3" - }, - "effectivePeriod": { - "start": "2016-11-01T00:00:00", - "end": "2016-11-01T00:00:00" - } - }, - "request": { - "method": "PUT", - "url": "DiagnosticReport/denom-EXM125-FHIR3-2" - } - }, { - "resource": { - "resourceType": "Encounter", - "id": "denom-EXM125-FHIR3-1", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] - }, - "status": "finished", - "class": { - "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", - "code": "AMB", - "display": "ambulatory" - }, - "type": [ { - "coding": [ { - "system": "http://www.ama-assn.org/go/cpt", - "code": "99201", - "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." - } ] - } ], - "subject": { - "reference": "Patient/denom-EXM125-FHIR3" - }, - "period": { - "start": "2019-05-30T00:00:00-00:00", - "end": "2019-05-31T00:00:00-00:00" - } - }, - "request": { - "method": "PUT", - "url": "Encounter/denom-EXM125-FHIR3-1" - } - }, { - "resource": { - "resourceType": "Patient", - "id": "denom-EXM125-FHIR3", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2106-3", - "display": "White" - } - } ] - }, { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2186-5", - "display": "Not Hispanic or Latino" - } - } ] - } ], - "identifier": [ { - "use": "usual", - "type": { + }, { + "identifier": { + "value": "sde-race" + }, + "usage": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "MR", - "display": "Medical Record Number" + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" } ] + } ], + "criteria": "SDE Race" + }, { + "identifier": { + "value": "sde-sex" }, - "system": "http://hospital.smarthealthit.org", - "value": "999999993" - } ], - "name": [ { - "family": "Nomer", - "given": [ "Miss" ] - } ], - "gender": "female", - "birthDate": "1965-01-01" + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Sex" + } ] }, "request": { "method": "PUT", - "url": "Patient/denom-EXM125-FHIR3" + "url": "Measure/measure-EXM125-FHIR3-7.2.000/_history/4" } }, { "resource": { "resourceType": "Bundle", - "id": "tests-DiagnosticReport-bundle", + "id": "tests-Encounter-bundle", "type": "transaction", "entry": [ { "resource": { - "resourceType": "DiagnosticReport", - "id": "denom-EXM125-FHIR3-2", + "resourceType": "Encounter", + "id": "denom-EXM125-FHIR3-1", "meta": { - "profile": [ "http://hl7.org/fhir/us/core/FHIR3/StructureDefinition-us-core-diagnosticreport-note" ] + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] }, - "status": "final", - "code": { + "status": "finished", + "class": { + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", + "code": "AMB", + "display": "ambulatory" + }, + "type": [ { "coding": [ { - "system": "http://loinc.org", - "code": "24604-1", - "display": "MG Breast Diagnostic Limited Views" + "system": "http://www.ama-assn.org/go/cpt", + "code": "99201", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." } ] - }, + } ], "subject": { "reference": "Patient/denom-EXM125-FHIR3" }, - "effectivePeriod": { - "start": "2016-11-01T00:00:00", - "end": "2016-11-01T00:00:00" + "period": { + "start": "2019-05-30T00:00:00-00:00", + "end": "2019-05-31T00:00:00-00:00" } }, "request": { "method": "PUT", - "url": "DiagnosticReport/denom-EXM125-FHIR3-2" + "url": "Encounter/denom-EXM125-FHIR3-1" } } ] }, "request": { "method": "PUT", - "url": "tests-DiagnosticReport-bundle" + "url": "tests-Encounter-bundle" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1005", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1005", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1005" + } ], + "version": "20171219", + "name": "BilateralMastectomy", + "title": "Bilateral Mastectomy", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "14693006", + "display": "Bilateral subcutaneous mammectomy (procedure)" + }, { + "code": "14714006", + "display": "Bilateral mastectomy with excision of bilateral regional lymph nodes (procedure)" + }, { + "code": "17086001", + "display": "Modified radical mastectomy, bilateral (procedure)" + }, { + "code": "22418005", + "display": "Bilateral simple mastectomy (procedure)" + }, { + "code": "27865001", + "display": "Bilateral mastectomy (procedure)" + }, { + "code": "456903003", + "display": "Bilateral extended radical mastectomy (procedure)" + }, { + "code": "52314009", + "display": "Bilateral mastectomy extended simple (procedure)" + }, { + "code": "60633004", + "display": "Bilateral subcutaneous mammectomy with synchronous implant (procedure)" + }, { + "code": "726636007", + "display": "Prophylactic bilateral mastectomy (procedure)" + }, { + "code": "76468001", + "display": "Bilateral radical mastectomy (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1005" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.526.3.1240", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.526.3.1240" + } ], + "version": "20170504", + "name": "AnnualWellnessVisit", + "title": "Annual Wellness Visit", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/index.html", + "version": "2018", + "concept": [ { + "code": "G0438", + "display": "Annual wellness visit; includes a personalized prevention plan of service (pps), initial visit" + }, { + "code": "G0439", + "display": "Annual wellness visit, includes a personalized prevention plan of service (pps), subsequent visit" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.526.3.1240" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" + }, + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1016", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1016" + } ], + "version": "20180310", + "name": "HomeHealthcareServices", + "title": "Home Healthcare Services", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99341", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; and Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low severity. Typically, 20 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99342", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: An expanded problem focused history; An expanded problem focused examination; and Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate severity. Typically, 30 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99343", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A detailed history; A detailed examination; and Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 45 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99344", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; and Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of high severity. Typically, 60 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99345", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; and Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the patient is unstable or has developed a significant new problem requiring immediate physician attention. Typically, 75 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99347", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A problem focused interval history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 15 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99348", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: An expanded problem focused interval history; An expanded problem focused examination; Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 25 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99349", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A detailed interval history; A detailed examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are moderate to high severity. Typically, 40 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99350", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A comprehensive interval history; A comprehensive examination; Medical decision making of moderate to high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. The patient may be unstable or may have developed a significant new problem requiring immediate physician attention. Typically, 60 minutes are spent face-to-face with the patient and/or family." + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "185460008", + "display": "Home visit request by patient (procedure)" + }, { + "code": "185462000", + "display": "Home visit request by relative (procedure)" + }, { + "code": "185466002", + "display": "Home visit for urgent condition (procedure)" + }, { + "code": "185467006", + "display": "Home visit for acute condition (procedure)" + }, { + "code": "185468001", + "display": "Home visit for chronic condition (procedure)" + }, { + "code": "185470005", + "display": "Home visit elderly assessment (procedure)" + }, { + "code": "225929007", + "display": "Joint home visit (procedure)" + }, { + "code": "315205008", + "display": "Bank holiday home visit (procedure)" + }, { + "code": "439708006", + "display": "Home visit (procedure)" + }, { + "code": "698704008", + "display": "Home visit for rheumatology service (procedure)" + }, { + "code": "704126008", + "display": "Home visit for anticoagulant drug monitoring (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" } }, { "resource": { @@ -683,12 +2593,6 @@ "status": "generated", "div": "
\n \n \n
Id: library-EXM125-FHIR3-7.2.000
Type: Logic Library
Version: 7.2.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

type: depends-on

Resource:
reference: Library/library-AdultOutpatientEncounters-FHIR3-1.1.000

type: depends-on

Resource:
reference: Library/library-Hospice-FHIR3-1.0.000

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

Data Requirements:

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1020

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1070

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1069

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1068

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1005

type: DiagnosticReport

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1018

Content: type: text/cql
library EXM125_FHIR3 version '7.2.000'\n\n/*\nBased on CMS125v7 - Breast Cancer Screening\n*/\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude AdultOutpatientEncounters_FHIR3 version '1.1.000' called AdultOutpatientEncounters\ninclude Hospice_FHIR3 version '1.0.000' called Hospice\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Bilateral Mastectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1005'\nvalueset "Female": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.560.100.2'\nvalueset "Mammography": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1018'\nvalueset "Unilateral Mastectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1020'\nvalueset "History of bilateral mastectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1068'\nvalueset "Status Post Left Mastectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1069'\nvalueset "Status Post Right Mastectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1070'\nvalueset "Left": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.122.12.1036'\nvalueset "Right": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.122.12.1035'\nvalueset "Unilateral Mastectomy, Unspecified Laterality": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071'\n\nparameter "Measurement Period" Interval<DateTime>\n    default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n  SDE."SDE Payer"\n\ndefine "SDE Race":\n  SDE."SDE Race"\n\ndefine "SDE Sex":\n  SDE."SDE Sex"\n\ndefine "Denominator":\n\t\t"Initial Population"\n\ndefine "Unilateral Mastectomy Procedure":\n\t\t[Procedure: "Unilateral Mastectomy"] UnilateralMastectomyProcedure\n\t\t\t\twhere Global."Normalize Interval"(UnilateralMastectomyProcedure.performed) ends before day of end of "Measurement Period"\n\t\t\t\t\t\tand UnilateralMastectomyProcedure.status = 'completed'\n\ndefine "Right Mastectomy":\n\t\t(\n\t\t\t\t( [Condition: "Status Post Right Mastectomy"] C where C.clinicalStatus = 'active' )\n\t\t\t\tunion (\n\t\t\t\t\t\t[Condition: "Unilateral Mastectomy, Unspecified Laterality"] UnilateralMastectomyDiagnosis\n\t\t\t\t\t\t\t\twhere UnilateralMastectomyDiagnosis.bodySite in "Right"\n\t\t\t\t\t\t\t\t\t\tand UnilateralMastectomyDiagnosis.clinicalStatus = 'active'\n\t\t\t\t)\n\t\t) RightMastectomy\n\t\t\t\twhere Global."Normalize Onset"(RightMastectomy.onset) starts before day of end of "Measurement Period"\n\ndefine "Left Mastectomy":\n\t\t(\n\t\t    ( [Condition: "Status Post Left Mastectomy"] C where C.clinicalStatus = 'active' )\n\t\t\t\tunion (\n\t\t\t\t\t\t[Condition: "Unilateral Mastectomy, Unspecified Laterality"] UnilateralMastectomyDiagnosis\n\t\t\t\t\t\t\t\twhere UnilateralMastectomyDiagnosis.bodySite in "Left"\n\t\t\t\t\t\t\t\t\t\tand UnilateralMastectomyDiagnosis.clinicalStatus = 'active'\n\t\t\t\t)\n\t\t) LeftMastectomy\n\t\t\t\twhere Global."Normalize Onset"(LeftMastectomy.onset) starts before day of end of "Measurement Period"\n\ndefine "History Bilateral Mastectomy":\n\t\t[Condition: "History of bilateral mastectomy"] BilateralMastectomyHistory\n\t\t\t\twhere Global."Normalize Onset"(BilateralMastectomyHistory.onset) starts before day of end of "Measurement Period"\n\t\t\t\t\t\tand BilateralMastectomyHistory.clinicalStatus = 'active'\n\ndefine "Bilateral Mastectomy Procedure":\n\t\t[Procedure: "Bilateral Mastectomy"] BilateralMastectomyPerformed\n\t\t\t\twhere Global."Normalize Interval"(BilateralMastectomyPerformed.performed) ends before day of end of "Measurement Period"\n\t\t\t\t\t\tand BilateralMastectomyPerformed.status = 'completed'\n\ndefine "Numerator":\n\t\texists (\n\t\t\t\t[DiagnosticReport: "Mammography"] Mammogram\n\t\t\t\t\t\twhere ( Global."Normalize Interval"(Mammogram.effective) ends 27 months or less before day of end of "Measurement Period" )\n\t\t\t\t\t\t\t\tand Mammogram.status in { 'final', 'amended', 'corrected', 'appended' }\n\t\t)\n\ndefine "Denominator Exclusion":\n\t\tHospice."Has Hospice"("Measurement Period")\n\t\t\t\tor ( Count("Unilateral Mastectomy Procedure") = 2 )\n\t\t\t\tor ( exists "Right Mastectomy" and exists "Left Mastectomy" )\n\t\t\t\tor exists "History Bilateral Mastectomy"\n\t\t\t\tor exists "Bilateral Mastectomy Procedure"\n\ndefine "Initial Population":\n\t\tPatient.gender = 'female'\n\t\t\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period") in Interval[51, 74]\n\t\t\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")\n
\n \n \n
\n
" }, - "extension": [ { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } - } ], "version": "7.2.000", "name": "EXM125_FHIR3", "status": "active", @@ -699,7 +2603,85 @@ "code": "logic-library" } ] }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-Hospice-FHIR3-1.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + } ], + "dataRequirement": [ { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1020" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1070" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1069" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1068" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1005" + } ] + }, { + "type": "DiagnosticReport", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1018" + } ] + } ], "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTEyNV9GSElSMyIgdmVyc2lvbj0iNy4yLjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9Ikdsb2JhbCIgcGF0aD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iQWR1bHRPdXRwYXRpZW50RW5jb3VudGVycyIgcGF0aD0iQWR1bHRPdXRwYXRpZW50RW5jb3VudGVyc19GSElSMyIgdmVyc2lvbj0iMS4xLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9Ikhvc3BpY2UiIHBhdGg9Ikhvc3BpY2VfRkhJUjMiIHZlcnNpb249IjEuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU0RFIiBwYXRoPSJTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMiIHZlcnNpb249IjEuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHBhcmFtZXRlcnM+DQogICAgICA8ZGVmIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZGVmYXVsdCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDE5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICAgICA8eWVhciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIwMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZGVmYXVsdD4NCiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L3BhcmFtZXRlclR5cGVTcGVjaWZpZXI+DQogICAgICA8L2RlZj4NCiAgIDwvcGFyYW1ldGVycz4NCiAgIDx2YWx1ZVNldHM+DQogICAgICA8ZGVmIG5hbWU9Ik9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFdGhuaWNpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUGF5ZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkJpbGF0ZXJhbCBNYXN0ZWN0b215IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwMDUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRmVtYWxlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTYwLjEwMC4yIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik1hbW1vZ3JhcGh5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA4LjEyLjEwMTgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iVW5pbGF0ZXJhbCBNYXN0ZWN0b215IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwMjAiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSGlzdG9yeSBvZiBiaWxhdGVyYWwgbWFzdGVjdG9teSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDY4IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlN0YXR1cyBQb3N0IExlZnQgTWFzdGVjdG9teSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDY5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlN0YXR1cyBQb3N0IFJpZ2h0IE1hc3RlY3RvbXkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTA3MCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMZWZ0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTIyLjEyLjEwMzYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUmlnaHQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMjIuMTIuMTAzNSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJVbmlsYXRlcmFsIE1hc3RlY3RvbXksIFVuc3BlY2lmaWVkIExhdGVyYWxpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTA3MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC92YWx1ZVNldHM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgRXRobmljaXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBFdGhuaWNpdHkiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFBheWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBQYXllciIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgUmFjZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgUmFjZSIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgU2V4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBTZXgiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI1MSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNzQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlF1YWxpZnlpbmcgRW5jb3VudGVycyIgbGlicmFyeU5hbWU9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZW5vbWluYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbml0aWFsIFBvcHVsYXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVW5pbGF0ZXJhbCBNYXN0ZWN0b215IFByb2NlZHVyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVW5pbGF0ZXJhbE1hc3RlY3RvbXlQcm9jZWR1cmUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iVW5pbGF0ZXJhbCBNYXN0ZWN0b215IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJVbmlsYXRlcmFsTWFzdGVjdG9teVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJVbmlsYXRlcmFsTWFzdGVjdG9teVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJSaWdodCBNYXN0ZWN0b215IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJSaWdodE1hc3RlY3RvbXkiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlN0YXR1cyBQb3N0IFJpZ2h0IE1hc3RlY3RvbXkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjbGluaWNhbFN0YXR1cyIgc2NvcGU9IkMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVW5pbGF0ZXJhbE1hc3RlY3RvbXlEaWFnbm9zaXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iVW5pbGF0ZXJhbCBNYXN0ZWN0b215LCBVbnNwZWNpZmllZCBMYXRlcmFsaXR5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImJvZHlTaXRlIiBzY29wZT0iVW5pbGF0ZXJhbE1hc3RlY3RvbXlEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IlJpZ2h0Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNsaW5pY2FsU3RhdHVzIiBzY29wZT0iVW5pbGF0ZXJhbE1hc3RlY3RvbXlEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkJlZm9yZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJSaWdodE1hc3RlY3RvbXkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTGVmdCBNYXN0ZWN0b215IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJMZWZ0TWFzdGVjdG9teSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iU3RhdHVzIFBvc3QgTGVmdCBNYXN0ZWN0b215IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlVuaWxhdGVyYWwgTWFzdGVjdG9teSwgVW5zcGVjaWZpZWQgTGF0ZXJhbGl0eSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJib2R5U2l0ZSIgc2NvcGU9IlVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJMZWZ0Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNsaW5pY2FsU3RhdHVzIiBzY29wZT0iVW5pbGF0ZXJhbE1hc3RlY3RvbXlEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkJlZm9yZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJMZWZ0TWFzdGVjdG9teSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIaXN0b3J5IEJpbGF0ZXJhbCBNYXN0ZWN0b215IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJCaWxhdGVyYWxNYXN0ZWN0b215SGlzdG9yeSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIaXN0b3J5IG9mIGJpbGF0ZXJhbCBtYXN0ZWN0b215IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiBzY29wZT0iQmlsYXRlcmFsTWFzdGVjdG9teUhpc3RvcnkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJCaWxhdGVyYWxNYXN0ZWN0b215SGlzdG9yeSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYWN0aXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJCaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkJpbGF0ZXJhbE1hc3RlY3RvbXlQZXJmb3JtZWQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQmlsYXRlcmFsIE1hc3RlY3RvbXkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkJlZm9yZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkJpbGF0ZXJhbE1hc3RlY3RvbXlQZXJmb3JtZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iQmlsYXRlcmFsTWFzdGVjdG9teVBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOdW1lcmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTWFtbW9ncmFtIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkRpYWdub3N0aWNSZXBvcnQiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJNYW1tb2dyYXBoeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJNYW1tb2dyYW0iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMjciIHVuaXQ9Im1vbnRocyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9Ik1hbW1vZ3JhbSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluYWwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYW1lbmRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb3JyZWN0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYXBwZW5kZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2x1c2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSGFzIEhvc3BpY2UiIGxpYnJhcnlOYW1lPSJIb3NwaWNlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvdW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVW5pbGF0ZXJhbCBNYXN0ZWN0b215IFByb2NlZHVyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJSaWdodCBNYXN0ZWN0b215IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZWZ0IE1hc3RlY3RvbXkiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikhpc3RvcnkgQmlsYXRlcmFsIE1hc3RlY3RvbXkiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpbGF0ZXJhbCBNYXN0ZWN0b215IFByb2NlZHVyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" + }, { "contentType": "text/cql", "data": "bGlicmFyeSBFWE0xMjVfRkhJUjMgdmVyc2lvbiAnNy4yLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEyNXY3IC0gQnJlYXN0IENhbmNlciBTY3JlZW5pbmcKKi8KCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIHZlcnNpb24gJzEuMS4wMDAnIGNhbGxlZCBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzCmluY2x1ZGUgSG9zcGljZV9GSElSMyB2ZXJzaW9uICcxLjAuMDAwJyBjYWxsZWQgSG9zcGljZQppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIlBheWVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnCnZhbHVlc2V0ICJCaWxhdGVyYWwgTWFzdGVjdG9teSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTAwNScKdmFsdWVzZXQgIkZlbWFsZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41NjAuMTAwLjInCnZhbHVlc2V0ICJNYW1tb2dyYXBoeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAxOCcKdmFsdWVzZXQgIlVuaWxhdGVyYWwgTWFzdGVjdG9teSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTAyMCcKdmFsdWVzZXQgIkhpc3Rvcnkgb2YgYmlsYXRlcmFsIG1hc3RlY3RvbXkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjgnCnZhbHVlc2V0ICJTdGF0dXMgUG9zdCBMZWZ0IE1hc3RlY3RvbXkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjknCnZhbHVlc2V0ICJTdGF0dXMgUG9zdCBSaWdodCBNYXN0ZWN0b215IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDcwJwp2YWx1ZXNldCAiTGVmdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMjIuMTIuMTAzNicKdmFsdWVzZXQgIlJpZ2h0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEyMi4xMi4xMDM1Jwp2YWx1ZXNldCAiVW5pbGF0ZXJhbCBNYXN0ZWN0b215LCBVbnNwZWNpZmllZCBMYXRlcmFsaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDcxJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgogICAgZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKICBTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgogIFNERS4iU0RFIFNleCIKCmRlZmluZSAiRGVub21pbmF0b3IiOgoJCSJJbml0aWFsIFBvcHVsYXRpb24iCgpkZWZpbmUgIlVuaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiOgoJCVtQcm9jZWR1cmU6ICJVbmlsYXRlcmFsIE1hc3RlY3RvbXkiXSBVbmlsYXRlcmFsTWFzdGVjdG9teVByb2NlZHVyZQoJCQkJd2hlcmUgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKFVuaWxhdGVyYWxNYXN0ZWN0b215UHJvY2VkdXJlLnBlcmZvcm1lZCkgZW5kcyBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCQlhbmQgVW5pbGF0ZXJhbE1hc3RlY3RvbXlQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCmRlZmluZSAiUmlnaHQgTWFzdGVjdG9teSI6CgkJKAoJCQkJKCBbQ29uZGl0aW9uOiAiU3RhdHVzIFBvc3QgUmlnaHQgTWFzdGVjdG9teSJdIEMgd2hlcmUgQy5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnICkKCQkJCXVuaW9uICgKCQkJCQkJW0NvbmRpdGlvbjogIlVuaWxhdGVyYWwgTWFzdGVjdG9teSwgVW5zcGVjaWZpZWQgTGF0ZXJhbGl0eSJdIFVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzCgkJCQkJCQkJd2hlcmUgVW5pbGF0ZXJhbE1hc3RlY3RvbXlEaWFnbm9zaXMuYm9keVNpdGUgaW4gIlJpZ2h0IgoJCQkJCQkJCQkJYW5kIFVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKCQkJCSkKCQkpIFJpZ2h0TWFzdGVjdG9teQoJCQkJd2hlcmUgR2xvYmFsLiJOb3JtYWxpemUgT25zZXQiKFJpZ2h0TWFzdGVjdG9teS5vbnNldCkgc3RhcnRzIGJlZm9yZSBkYXkgb2YgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkxlZnQgTWFzdGVjdG9teSI6CgkJKAoJCSAgICAoIFtDb25kaXRpb246ICJTdGF0dXMgUG9zdCBMZWZ0IE1hc3RlY3RvbXkiXSBDIHdoZXJlIEMuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJyApCgkJCQl1bmlvbiAoCgkJCQkJCVtDb25kaXRpb246ICJVbmlsYXRlcmFsIE1hc3RlY3RvbXksIFVuc3BlY2lmaWVkIExhdGVyYWxpdHkiXSBVbmlsYXRlcmFsTWFzdGVjdG9teURpYWdub3NpcwoJCQkJCQkJCXdoZXJlIFVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzLmJvZHlTaXRlIGluICJMZWZ0IgoJCQkJCQkJCQkJYW5kIFVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKCQkJCSkKCQkpIExlZnRNYXN0ZWN0b215CgkJCQl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoTGVmdE1hc3RlY3RvbXkub25zZXQpIHN0YXJ0cyBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJIaXN0b3J5IEJpbGF0ZXJhbCBNYXN0ZWN0b215IjoKCQlbQ29uZGl0aW9uOiAiSGlzdG9yeSBvZiBiaWxhdGVyYWwgbWFzdGVjdG9teSJdIEJpbGF0ZXJhbE1hc3RlY3RvbXlIaXN0b3J5CgkJCQl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoQmlsYXRlcmFsTWFzdGVjdG9teUhpc3Rvcnkub25zZXQpIHN0YXJ0cyBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCQlhbmQgQmlsYXRlcmFsTWFzdGVjdG9teUhpc3RvcnkuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJwoKZGVmaW5lICJCaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiOgoJCVtQcm9jZWR1cmU6ICJCaWxhdGVyYWwgTWFzdGVjdG9teSJdIEJpbGF0ZXJhbE1hc3RlY3RvbXlQZXJmb3JtZWQKCQkJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihCaWxhdGVyYWxNYXN0ZWN0b215UGVyZm9ybWVkLnBlcmZvcm1lZCkgZW5kcyBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCQlhbmQgQmlsYXRlcmFsTWFzdGVjdG9teVBlcmZvcm1lZC5zdGF0dXMgPSAnY29tcGxldGVkJwoKZGVmaW5lICJOdW1lcmF0b3IiOgoJCWV4aXN0cyAoCgkJCQlbRGlhZ25vc3RpY1JlcG9ydDogIk1hbW1vZ3JhcGh5Il0gTWFtbW9ncmFtCgkJCQkJCXdoZXJlICggR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKE1hbW1vZ3JhbS5lZmZlY3RpdmUpIGVuZHMgMjcgbW9udGhzIG9yIGxlc3MgYmVmb3JlIGRheSBvZiBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIgKQoJCQkJCQkJCWFuZCBNYW1tb2dyYW0uc3RhdHVzIGluIHsgJ2ZpbmFsJywgJ2FtZW5kZWQnLCAnY29ycmVjdGVkJywgJ2FwcGVuZGVkJyB9CgkJKQoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgoJCUhvc3BpY2UuIkhhcyBIb3NwaWNlIigiTWVhc3VyZW1lbnQgUGVyaW9kIikKCQkJCW9yICggQ291bnQoIlVuaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiKSA9IDIgKQoJCQkJb3IgKCBleGlzdHMgIlJpZ2h0IE1hc3RlY3RvbXkiIGFuZCBleGlzdHMgIkxlZnQgTWFzdGVjdG9teSIgKQoJCQkJb3IgZXhpc3RzICJIaXN0b3J5IEJpbGF0ZXJhbCBNYXN0ZWN0b215IgoJCQkJb3IgZXhpc3RzICJCaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CgkJUGF0aWVudC5nZW5kZXIgPSAnZmVtYWxlJwoJCQkJYW5kIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSBpbiBJbnRlcnZhbFs1MSwgNzRdCgkJCQlhbmQgZXhpc3RzIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMuIlF1YWxpZnlpbmcgRW5jb3VudGVycyIoIk1lYXN1cmVtZW50IFBlcmlvZCIpCg==" } ] @@ -708,6 +2690,107 @@ "method": "PUT", "url": "Library/library-EXM125-FHIR3-7.2.000" } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1070", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1070", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1070" + } ], + "version": "20171216", + "name": "StatusPostRightMastectomy", + "title": "Status Post Right Mastectomy", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2019", + "concept": [ { + "code": "Z90.11", + "display": "Acquired absence of right breast and nipple" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "137681000119108", + "display": "History of prophylactic mastectomy of right breast (situation)" + }, { + "code": "429242008", + "display": "History of right mastectomy (situation)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1070" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1071", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1071" + } ], + "version": "20171216", + "name": "UnilateralMastectomy,UnspecifiedLaterality", + "title": "Unilateral Mastectomy, Unspecified Laterality", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2019", + "concept": [ { + "code": "Z90.10", + "display": "Acquired absence of unspecified breast and nipple" + } ] + }, { + "system": "http://hl7.org/fhir/sid/icd-9-cm", + "version": "2013", + "concept": [ { + "code": "V45.71", + "display": "Acquired absence of breast and nipple" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2017-09", + "concept": [ { + "code": "22964006", + "display": "Unilateral simple mastectomy (situation)" + }, { + "code": "72269009", + "display": "Unilateral modified radical mastectomy (situation)" + }, { + "code": "73359007", + "display": "Unilateral mastectomy (situation)" + }, { + "code": "8115005", + "display": "Unilateral radical mastectomy (situation)" + }, { + "code": "88764002", + "display": "Unilateral extended simple mastectomy (situation)" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "248802009", + "display": "Absence of breast (finding)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071" + } }, { "resource": { "resourceType": "MeasureReport", @@ -920,6 +3003,67 @@ "method": "PUT", "url": "MeasureReport/measurereport-denom-EXM125-FHIR3" } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1108.15", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1108.15" + } ], + "version": "20170504", + "name": "Hospicecareambulatory", + "title": "Hospice care ambulatory", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "385763009", + "display": "Hospice care (regime/therapy)" + }, { + "code": "385765002", + "display": "Hospice care management (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1108.15" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.560.100.2", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.560.100.2", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.560.100.2" + } ], + "version": "20160331", + "name": "Female", + "title": "Female", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.560.100.2" + } }, { "resource": { "resourceType": "Encounter", diff --git a/fhir3/bundles/measure/EXM125_FHIR3-7.2.000/EXM125_FHIR3-7.2.000-files/library-EXM125_FHIR3-7.2.000.json b/fhir3/bundles/measure/EXM125_FHIR3-7.2.000/EXM125_FHIR3-7.2.000-files/library-EXM125_FHIR3-7.2.000.json index 5bf3f76f..d7095e2a 100644 --- a/fhir3/bundles/measure/EXM125_FHIR3-7.2.000/EXM125_FHIR3-7.2.000-files/library-EXM125_FHIR3-7.2.000.json +++ b/fhir3/bundles/measure/EXM125_FHIR3-7.2.000/EXM125_FHIR3-7.2.000-files/library-EXM125_FHIR3-7.2.000.json @@ -21,6 +21,71 @@ "code": "logic-library" } ] }, + "dataRequirement": [ { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1020" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1070" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1069" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1068" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1005" + } + } ] + }, { + "type": "DiagnosticReport", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1018" + } + } ] + } ], "content": [ { "contentType": "text/cql", "data": "bGlicmFyeSBFWE0xMjVfRkhJUjMgdmVyc2lvbiAnNy4yLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEyNXY3IC0gQnJlYXN0IENhbmNlciBTY3JlZW5pbmcKKi8KCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIHZlcnNpb24gJzEuMS4wMDAnIGNhbGxlZCBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzCmluY2x1ZGUgSG9zcGljZV9GSElSMyB2ZXJzaW9uICcxLjAuMDAwJyBjYWxsZWQgSG9zcGljZQppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIlBheWVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnCnZhbHVlc2V0ICJCaWxhdGVyYWwgTWFzdGVjdG9teSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTAwNScKdmFsdWVzZXQgIkZlbWFsZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41NjAuMTAwLjInCnZhbHVlc2V0ICJNYW1tb2dyYXBoeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAxOCcKdmFsdWVzZXQgIlVuaWxhdGVyYWwgTWFzdGVjdG9teSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTAyMCcKdmFsdWVzZXQgIkhpc3Rvcnkgb2YgYmlsYXRlcmFsIG1hc3RlY3RvbXkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjgnCnZhbHVlc2V0ICJTdGF0dXMgUG9zdCBMZWZ0IE1hc3RlY3RvbXkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjknCnZhbHVlc2V0ICJTdGF0dXMgUG9zdCBSaWdodCBNYXN0ZWN0b215IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDcwJwp2YWx1ZXNldCAiTGVmdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMjIuMTIuMTAzNicKdmFsdWVzZXQgIlJpZ2h0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEyMi4xMi4xMDM1Jwp2YWx1ZXNldCAiVW5pbGF0ZXJhbCBNYXN0ZWN0b215LCBVbnNwZWNpZmllZCBMYXRlcmFsaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDcxJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgogICAgZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKICBTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgogIFNERS4iU0RFIFNleCIKCmRlZmluZSAiRGVub21pbmF0b3IiOgoJCSJJbml0aWFsIFBvcHVsYXRpb24iCgpkZWZpbmUgIlVuaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiOgoJCVtQcm9jZWR1cmU6ICJVbmlsYXRlcmFsIE1hc3RlY3RvbXkiXSBVbmlsYXRlcmFsTWFzdGVjdG9teVByb2NlZHVyZQoJCQkJd2hlcmUgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKFVuaWxhdGVyYWxNYXN0ZWN0b215UHJvY2VkdXJlLnBlcmZvcm1lZCkgZW5kcyBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCQlhbmQgVW5pbGF0ZXJhbE1hc3RlY3RvbXlQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCmRlZmluZSAiUmlnaHQgTWFzdGVjdG9teSI6CgkJKAoJCQkJKCBbQ29uZGl0aW9uOiAiU3RhdHVzIFBvc3QgUmlnaHQgTWFzdGVjdG9teSJdIEMgd2hlcmUgQy5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnICkKCQkJCXVuaW9uICgKCQkJCQkJW0NvbmRpdGlvbjogIlVuaWxhdGVyYWwgTWFzdGVjdG9teSwgVW5zcGVjaWZpZWQgTGF0ZXJhbGl0eSJdIFVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzCgkJCQkJCQkJd2hlcmUgVW5pbGF0ZXJhbE1hc3RlY3RvbXlEaWFnbm9zaXMuYm9keVNpdGUgaW4gIlJpZ2h0IgoJCQkJCQkJCQkJYW5kIFVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKCQkJCSkKCQkpIFJpZ2h0TWFzdGVjdG9teQoJCQkJd2hlcmUgR2xvYmFsLiJOb3JtYWxpemUgT25zZXQiKFJpZ2h0TWFzdGVjdG9teS5vbnNldCkgc3RhcnRzIGJlZm9yZSBkYXkgb2YgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkxlZnQgTWFzdGVjdG9teSI6CgkJKAoJCSAgICAoIFtDb25kaXRpb246ICJTdGF0dXMgUG9zdCBMZWZ0IE1hc3RlY3RvbXkiXSBDIHdoZXJlIEMuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJyApCgkJCQl1bmlvbiAoCgkJCQkJCVtDb25kaXRpb246ICJVbmlsYXRlcmFsIE1hc3RlY3RvbXksIFVuc3BlY2lmaWVkIExhdGVyYWxpdHkiXSBVbmlsYXRlcmFsTWFzdGVjdG9teURpYWdub3NpcwoJCQkJCQkJCXdoZXJlIFVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzLmJvZHlTaXRlIGluICJMZWZ0IgoJCQkJCQkJCQkJYW5kIFVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKCQkJCSkKCQkpIExlZnRNYXN0ZWN0b215CgkJCQl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoTGVmdE1hc3RlY3RvbXkub25zZXQpIHN0YXJ0cyBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJIaXN0b3J5IEJpbGF0ZXJhbCBNYXN0ZWN0b215IjoKCQlbQ29uZGl0aW9uOiAiSGlzdG9yeSBvZiBiaWxhdGVyYWwgbWFzdGVjdG9teSJdIEJpbGF0ZXJhbE1hc3RlY3RvbXlIaXN0b3J5CgkJCQl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoQmlsYXRlcmFsTWFzdGVjdG9teUhpc3Rvcnkub25zZXQpIHN0YXJ0cyBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCQlhbmQgQmlsYXRlcmFsTWFzdGVjdG9teUhpc3RvcnkuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJwoKZGVmaW5lICJCaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiOgoJCVtQcm9jZWR1cmU6ICJCaWxhdGVyYWwgTWFzdGVjdG9teSJdIEJpbGF0ZXJhbE1hc3RlY3RvbXlQZXJmb3JtZWQKCQkJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihCaWxhdGVyYWxNYXN0ZWN0b215UGVyZm9ybWVkLnBlcmZvcm1lZCkgZW5kcyBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCQlhbmQgQmlsYXRlcmFsTWFzdGVjdG9teVBlcmZvcm1lZC5zdGF0dXMgPSAnY29tcGxldGVkJwoKZGVmaW5lICJOdW1lcmF0b3IiOgoJCWV4aXN0cyAoCgkJCQlbRGlhZ25vc3RpY1JlcG9ydDogIk1hbW1vZ3JhcGh5Il0gTWFtbW9ncmFtCgkJCQkJCXdoZXJlICggR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKE1hbW1vZ3JhbS5lZmZlY3RpdmUpIGVuZHMgMjcgbW9udGhzIG9yIGxlc3MgYmVmb3JlIGRheSBvZiBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIgKQoJCQkJCQkJCWFuZCBNYW1tb2dyYW0uc3RhdHVzIGluIHsgJ2ZpbmFsJywgJ2FtZW5kZWQnLCAnY29ycmVjdGVkJywgJ2FwcGVuZGVkJyB9CgkJKQoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgoJCUhvc3BpY2UuIkhhcyBIb3NwaWNlIigiTWVhc3VyZW1lbnQgUGVyaW9kIikKCQkJCW9yICggQ291bnQoIlVuaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiKSA9IDIgKQoJCQkJb3IgKCBleGlzdHMgIlJpZ2h0IE1hc3RlY3RvbXkiIGFuZCBleGlzdHMgIkxlZnQgTWFzdGVjdG9teSIgKQoJCQkJb3IgZXhpc3RzICJIaXN0b3J5IEJpbGF0ZXJhbCBNYXN0ZWN0b215IgoJCQkJb3IgZXhpc3RzICJCaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CgkJUGF0aWVudC5nZW5kZXIgPSAnZmVtYWxlJwoJCQkJYW5kIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSBpbiBJbnRlcnZhbFs1MSwgNzRdCgkJCQlhbmQgZXhpc3RzIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMuIlF1YWxpZnlpbmcgRW5jb3VudGVycyIoIk1lYXN1cmVtZW50IFBlcmlvZCIpCg==" diff --git a/fhir3/bundles/measure/EXM125_FHIR3-7.2.000/EXM125_FHIR3-7.2.000-files/library-deps-EXM125_FHIR3-7.2.000-bundle.json b/fhir3/bundles/measure/EXM125_FHIR3-7.2.000/EXM125_FHIR3-7.2.000-files/library-deps-EXM125_FHIR3-7.2.000-bundle.json new file mode 100644 index 00000000..ba650fd9 --- /dev/null +++ b/fhir3/bundles/measure/EXM125_FHIR3-7.2.000/EXM125_FHIR3-7.2.000-files/library-deps-EXM125_FHIR3-7.2.000-bundle.json @@ -0,0 +1,271 @@ +{ + "resourceType": "Bundle", + "id": "library-deps-EXM125-FHIR3-7.2.000-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Library", + "id": "library-AdultOutpatientEncounters-FHIR3-1.1.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-AdultOutpatientEncounters-FHIR3-1.1.000
Type: Logic Library
Version: 1.1.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016

Content: type: text/cql
library AdultOutpatientEncounters_FHIR3 version '1.1.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "Annual Wellness Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\n\ncontext Patient\n\ndefine function "Qualifying Encounters"(MeasurementPeriod Interval<DateTime>):\n\t(\n\t    [Encounter: "Office Visit"]\n\t\tunion [Encounter: "Annual Wellness Visit"] \n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Home Healthcare Services"]\n    ) ValidEncounter\n\t\twhere ValidEncounter.period during day of MeasurementPeriod\n\t\tand ValidEncounter.status  = 'finished' \n
\n \n \n
\n
" + }, + "version": "1.1.000", + "name": "AdultOutpatientEncounters_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMiIHZlcnNpb249IjEuMS4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT2ZmaWNlIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iQW5udWFsIFdlbGxuZXNzIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgLSBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUXVhbGlmeWluZyBFbmNvdW50ZXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZhbGlkRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik9mZmljZSBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJBbm51YWwgV2VsbG5lc3MgVmlzaXQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW5jbHVkZWRJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWYWxpZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudFBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iVmFsaWRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIHZlcnNpb24gJzEuMS4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnCnZhbHVlc2V0ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCcKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMnCnZhbHVlc2V0ICJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYnCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIihNZWFzdXJlbWVudFBlcmlvZCBJbnRlcnZhbDxEYXRlVGltZT4pOgoJKAoJICAgIFtFbmNvdW50ZXI6ICJPZmZpY2UgVmlzaXQiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIl0KICAgICkgVmFsaWRFbmNvdW50ZXIKCQl3aGVyZSBWYWxpZEVuY291bnRlci5wZXJpb2QgZHVyaW5nIGRheSBvZiBNZWFzdXJlbWVudFBlcmlvZAoJCWFuZCBWYWxpZEVuY291bnRlci5zdGF0dXMgID0gJ2ZpbmlzaGVkJyAK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" + }, + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-2.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-2.0.000
Type: Logic Library
Version: 2.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '2.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t    and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] C where C.id = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t\treturn singleton from ([Condition] C where C.id = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "2.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMDUiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIwNSIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVSIiBpZD0iRVIiIGRpc3BsYXk9IkVtZXJnZW5jeSByb29tIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSUNVIiBpZD0iSUNVIiBkaXNwbGF5PSJJbnRlbnNpdmUgY2FyZSB1bml0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikxlbmd0aEluRGF5cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGlmZmVyZW5jZUJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJJbnBhdGllbnQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgIDx5ZWFyIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwveWVhcj4NCiAgICAgICAgICAgIDxtb250aCBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9tb250aD4NCiAgICAgICAgICAgIDxkYXkgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L2RheT4NCiAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHRpbWV6b25lT2Zmc2V0IHhzaTp0eXBlPSJUaW1lem9uZUZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3RpbWV6b25lT2Zmc2V0Pg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2RheSIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbk1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImhvdXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDxlbHNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlgiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFREVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFREVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgIDx0aGVuIHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTGVuZ3RoIG9mIFN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQWRtaXNzaW9uIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIERpc2NoYXJnZSBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGl0YWxMb2NhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8c29ydD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxieSBkaXJlY3Rpb249ImFzYyIgeHNpOnR5cGU9IkJ5RXhwcmVzc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvbmRpdGlvbiIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyb2xlIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpbGxpbmciIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlZ2VyIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyYW5rIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29uZGl0aW9uIiBzY29wZT0iUEQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldExvY2F0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxvY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkxvY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlZmVyZW5jZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0RXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldFByb3ZlbmFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm92ZW5hbmNlIiBjb2RlUHJvcGVydHk9InRhcmdldCIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldE1lZGljYXRpb25Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlcXVlc3QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVxdWVzdCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwoKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnCmNvZGUgIkVSIjogJ0VSJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnRW1lcmdlbmN5IHJvb20nCmNvZGUgIklDVSI6ICdJQ1UnIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdJbnRlbnNpdmUgY2FyZSB1bml0Jwpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIiOgoJW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFbmNvdW50ZXJJbnBhdGllbnQKCQl3aGVyZSBFbmNvdW50ZXJJbnBhdGllbnQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCSAgICBhbmQgIkxlbmd0aEluRGF5cyIoRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCkgPD0gMTIwCgkJCWFuZCBFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kIGVuZHMgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgZnVuY3Rpb24gIlRvRGF0ZSIoVmFsdWUgRGF0ZVRpbWUpOgoJRGF0ZVRpbWUoeWVhciBmcm9tIFZhbHVlLCBtb250aCBmcm9tIFZhbHVlLCBkYXkgZnJvbSBWYWx1ZSwgMCwgMCwgMCwgMCwgdGltZXpvbmUgZnJvbSBWYWx1ZSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbkRheXNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6CglkYXlzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5cyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluRGF5c0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6Cgltb250aHMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCXllYXJzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluWWVhcnMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJblllYXJzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiTGVuZ3RoSW5EYXlzIihWYWx1ZSBJbnRlcnZhbDxEYXRlVGltZT4pOgoJZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgVmFsdWUgYW5kIGVuZCBvZiBWYWx1ZQoKZGVmaW5lIGZ1bmN0aW9uICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKICAgIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXSBFRFZpc2l0CiAgICAgICAgICAgIHdoZXJlIEVEVmlzaXQuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgICAgICAgICAgICAgYW5kIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCkKICAgICkKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJKCAiRUQgVmlzaXQiKFRoZUVuY291bnRlcikgKSBYCiAgICByZXR1cm4KICAgICAgICBpZiBYIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgZWxzZSBJbnRlcnZhbFtzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFgucGVyaW9kKSwgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCldCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIEVERW5jb3VudGVyCiAgICByZXR1cm4KICAgICAgICBpZiBFREVuY291bnRlciBpcyBudWxsIHRoZW4gVGhlRW5jb3VudGVyLmxvY2F0aW9uCiAgICAgICAgZWxzZSBmbGF0dGVuIHsgRURFbmNvdW50ZXIubG9jYXRpb24sIFRoZUVuY291bnRlci5sb2NhdGlvbiB9CgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMZW5ndGggb2YgU3RheSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCUxlbmd0aEluRGF5cygiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIpKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWwgRGlzY2hhcmdlIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgllbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEZpcnN0KAoJICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCXNvcnQgYnkgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChwZXJpb2QpCgkpLnBlcmlvZCkKCi8vIFRPRE8gLSBmaXggdGhlc2UgKG11c3QgZmV0Y2ggTG9jYXRpb24gcmVzb3VyY2VzIGFuZCBjb21wYXJlIGlkIHRvIHJlZmVyZW5jZSkKLypkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIERlcGFydHVyZSBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoTGFzdCgKCSAgICAoICJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIihUaGVFbmNvdW50ZXIpICkgSG9zcGl0YWxMb2NhdGlvbgoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkVtZXJnZW5jeSBEZXBhcnRtZW50IEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoKAoJICAgIHNpbmdsZXRvbiBmcm9tICgKCSAgICAgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJFUiIKCQkpCgkpLnBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiRmlyc3QgSW5wYXRpZW50IEludGVuc2l2ZSBDYXJlIFVuaXQiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglGaXJzdCgKCSAgICAoIFRoZUVuY291bnRlci5sb2NhdGlvbiApIEhvc3BpdGFsTG9jYXRpb24KCQkJd2hlcmUgSG9zcGl0YWxMb2NhdGlvbi50eXBlIH4gIklDVSIKCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgVGhlRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKSovCgovKgoqCiogICAgQ1FGTWVhc3VyZXMgQ29tbW9uIExvZ2ljCioKKi8KCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgogIGlmIG9uc2V0IGlzIEZISVIuZGF0ZVRpbWUgdGhlbgoJICBJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLlBlcmlvZCB0aGVuCgkgIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwob25zZXQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIG9uc2V0IGlzIEZISVIuQWdlIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpLAoJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpICsgMSB5ZWFyKQoJZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbiBDb25kaXRpb24pOgoJaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5kYXRlVGltZSldCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5BZ2UgdGhlbgoJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLAoJCQlGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmJvb2xlYW4gdGhlbgoJICBJbnRlcnZhbFtlbmQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgY29uZGl0aW9uLmFzc2VydGVkRGF0ZSkKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJHZXRQcmV2YWxlbmNlUGVyaW9kIihjb25kaXRpb24gQ29uZGl0aW9uKToKICBJbnRlcnZhbFtzdGFydCBvZiAiTm9ybWFsaXplIE9uc2V0Iihjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbikpCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBJbnRlcnZhbCIoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZD4pOgogIGlmIGNob2ljZSBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5kYXRlVGltZSksIEZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZQoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNob2ljZSBhcyBGSElSLlBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcpOgoJTGFzdChTcGxpdCh1cmksICcvJykpCgpkZWZpbmUgZnVuY3Rpb24gIkVuY291bnRlckRpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6CiAgRW5jb3VudGVyLmRpYWdub3NpcyBECiAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKFtDb25kaXRpb25dIEMgd2hlcmUgQy5pZCA9ICJHZXRJZCIoRC5jb25kaXRpb24ucmVmZXJlbmNlKSkKCi8vIFJldHVybnMgdGhlIGNvbmRpdGlvbiB0aGF0IGlzIHNwZWNpZmllZCBhcyB0aGUgcHJpbmNpcGFsIGRpYWdub3NpcyBmb3IgdGhlIGVuY291bnRlcgpkZWZpbmUgZnVuY3Rpb24gIlByaW5jaXBhbERpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6Cgkoc2luZ2xldG9uIGZyb20gKEVuY291bnRlci5kaWFnbm9zaXMgRCB3aGVyZSBELnJvbGUgfiBUb0NvbmNlcHQoIkJpbGxpbmciKSBhbmQgRC5yYW5rID0gMSkpIFBECgkJcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDIHdoZXJlIEMuaWQgPSAiR2V0SWQiKFBELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgbG9jYXRpb24gZm9yIHRoZSBnaXZlbiBsb2NhdGlvbiByZWZlcmVuY2UKZGVmaW5lIGZ1bmN0aW9uIEdldExvY2F0aW9uKHJlZmVyZW5jZSBSZWZlcmVuY2UpOgogIHNpbmdsZXRvbiBmcm9tICgKICAgIFtMb2NhdGlvbl0gTG9jYXRpb24gd2hlcmUgTG9jYXRpb24uaWQudmFsdWUgPSBHZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKQogICkKCi8qCk5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlCkNRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nICsgdXJsKQoJCXJldHVybiBFCgpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UsIHVybCkKCi8qCk5PVEU6IFByb3ZlbmFuY2UgaXMgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIHRoaXMgaXMgcHJvdmlkZWQgb25seSBhcyBhbiBpbGx1c3RyYXRpb24KZm9yIHdoYXQgdXNpbmcgUHJvdmVuYW5jZSBjb3VsZCBsb29rIGxpa2UsIGFuZCBpcyBub3QgYSB0ZXN0ZWQgcGF0dGVybgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldFByb3ZlbmFuY2UiKHJlc291cmNlIFJlc291cmNlKToKICBzaW5nbGV0b24gZnJvbSAoW1Byb3ZlbmFuY2U6IHRhcmdldCBpbiByZXNvdXJjZS5pZF0pCgpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Db2RlIihyZXF1ZXN0IE1lZGljYXRpb25SZXF1ZXN0KToKICBpZiByZXF1ZXN0Lm1lZGljYXRpb24gaXMgQ29kZWFibGVDb25jZXB0IHRoZW4KCSAgcmVxdWVzdC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdAoJZWxzZQoJICAoc2luZ2xldG9uIGZyb20gKFtNZWRpY2F0aW9uOiBpZCBpbiBHZXRJZCgocmVxdWVzdC5tZWRpY2F0aW9uIGFzIFJlZmVyZW5jZSkucmVmZXJlbmNlKV0pKS5jb2RlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-SupplementalDataElements-FHIR3-1.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-SupplementalDataElements-FHIR3-1.0.0
Type: Logic Library
Version: 1.0.0
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Coverage

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591

Content: type: text/cql
library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Payer":\n    [Coverage: type in "Payer"] Payer\n      return {\n        code: Payer.type,\n        period: Payer.period\n      }\n\ndefine "SDE Race":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Sex":\n  case\n    when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n    when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n    else null\n  end\n
\n \n \n
\n
" + }, + "version": "1.0.0", + "name": "SupplementalDataElements_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-Hospice-FHIR3-1.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-Hospice-FHIR3-1.0.000
Type: Logic Library
Version: 1.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15

Content: type: text/cql
library Hospice_FHIR3 version '1.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "SNOMEDCT:2017-09": 'http://snomed.info/sct/731000124108' version 'http://snomed.info/sct/731000124108/version/201709'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Hospice care ambulatory": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15'\n\ncode "Discharge to healthcare facility for hospice care (procedure)": '428371000124100' from "SNOMEDCT:2017-09" display 'Discharge to healthcare facility for hospice care (procedure)'\ncode "Discharge to home for hospice care (procedure)": '428361000124107' from "SNOMEDCT:2017-09" display 'Discharge to home for hospice care (procedure)'\n\ncontext Patient\n\ndefine function "Has Hospice"(MeasurementPeriod Interval<DateTime>):\n\texists (\n\t    [Encounter: "Encounter Inpatient"] DischargeHospice\n\t\t\twhere DischargeHospice.status = 'final'\n\t\t\t    and (\n\t\t\t        FHIRHelpers.ToConcept(DischargeHospice.hospitalization.dischargeDisposition).codes[0] ~ "Discharge to home for hospice care (procedure)"\n\t\t\t\t\t    or FHIRHelpers.ToConcept(DischargeHospice.hospitalization.dischargeDisposition).codes[0] ~ "Discharge to healthcare facility for hospice care (procedure)"\n\t\t\t    )\n\t\t\t\tand DischargeHospice.period ends during day of MeasurementPeriod\n\t)\n    or exists (\n        [ProcedureRequest: "Hospice care ambulatory"] HospiceOrder\n            where HospiceOrder.intent = 'order'\n                and HospiceOrder.authoredOn in day of MeasurementPeriod\n    )\n    or exists (\n        [Procedure: "Hospice care ambulatory"] HospicePerformed\n            where HospicePerformed.status = 'completed'\n                and Global."Normalize Interval"(HospicePerformed.performed) overlaps MeasurementPeriod\n    )\n
\n \n \n
\n
" + }, + "version": "1.0.000", + "name": "Hospice_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9Ikhvc3BpY2VfRkhJUjMiIHZlcnNpb249IjEuMC4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IlNOT01FRENUOjIwMTctMDkiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgdmVyc2lvbj0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpY2UgY2FyZSBhbWJ1bGF0b3J5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTA4LjE1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgaWQ9IjQyODM3MTAwMDEyNDEwMCIgZGlzcGxheT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVDoyMDE3LTA5Ii8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgaWQ9IjQyODM2MTAwMDEyNDEwNyIgZGlzcGxheT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVDoyMDE3LTA5Ii8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIYXMgSG9zcGljZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRGlzY2hhcmdlSG9zcGljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkRpc2NoYXJnZUhvc3BpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmRleGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmRleGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikhvc3BpY2VPcmRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSG9zcGljZSBjYXJlIGFtYnVsYXRvcnkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9Ikhvc3BpY2VPcmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJIb3NwaWNlT3JkZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGljZVBlcmZvcm1lZCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iSG9zcGljZVBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik92ZXJsYXBzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9Ikhvc3BpY2VQZXJmb3JtZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBIb3NwaWNlX0ZISVIzIHZlcnNpb24gJzEuMC4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiU05PTUVEQ1Q6MjAxNy0wOSI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcgdmVyc2lvbiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDknCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMDguMTUnCgpjb2RlICJEaXNjaGFyZ2UgdG8gaGVhbHRoY2FyZSBmYWNpbGl0eSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIjogJzQyODM3MTAwMDEyNDEwMCcgZnJvbSAiU05PTUVEQ1Q6MjAxNy0wOSIgZGlzcGxheSAnRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKScKY29kZSAiRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSI6ICc0MjgzNjEwMDAxMjQxMDcnIGZyb20gIlNOT01FRENUOjIwMTctMDkiIGRpc3BsYXkgJ0Rpc2NoYXJnZSB0byBob21lIGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSknCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiSGFzIEhvc3BpY2UiKE1lYXN1cmVtZW50UGVyaW9kIEludGVydmFsPERhdGVUaW1lPik6CglleGlzdHMgKAoJICAgIFtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRGlzY2hhcmdlSG9zcGljZQoJCQl3aGVyZSBEaXNjaGFyZ2VIb3NwaWNlLnN0YXR1cyA9ICdmaW5hbCcKCQkJICAgIGFuZCAoCgkJCSAgICAgICAgRkhJUkhlbHBlcnMuVG9Db25jZXB0KERpc2NoYXJnZUhvc3BpY2UuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uKS5jb2Rlc1swXSB+ICJEaXNjaGFyZ2UgdG8gaG9tZSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIgoJCQkJCSAgICBvciBGSElSSGVscGVycy5Ub0NvbmNlcHQoRGlzY2hhcmdlSG9zcGljZS5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24pLmNvZGVzWzBdIH4gIkRpc2NoYXJnZSB0byBoZWFsdGhjYXJlIGZhY2lsaXR5IGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSkiCgkJCSAgICApCgkJCQlhbmQgRGlzY2hhcmdlSG9zcGljZS5wZXJpb2QgZW5kcyBkdXJpbmcgZGF5IG9mIE1lYXN1cmVtZW50UGVyaW9kCgkpCiAgICBvciBleGlzdHMgKAogICAgICAgIFtQcm9jZWR1cmVSZXF1ZXN0OiAiSG9zcGljZSBjYXJlIGFtYnVsYXRvcnkiXSBIb3NwaWNlT3JkZXIKICAgICAgICAgICAgd2hlcmUgSG9zcGljZU9yZGVyLmludGVudCA9ICdvcmRlcicKICAgICAgICAgICAgICAgIGFuZCBIb3NwaWNlT3JkZXIuYXV0aG9yZWRPbiBpbiBkYXkgb2YgTWVhc3VyZW1lbnRQZXJpb2QKICAgICkKICAgIG9yIGV4aXN0cyAoCiAgICAgICAgW1Byb2NlZHVyZTogIkhvc3BpY2UgY2FyZSBhbWJ1bGF0b3J5Il0gSG9zcGljZVBlcmZvcm1lZAogICAgICAgICAgICB3aGVyZSBIb3NwaWNlUGVyZm9ybWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICAgICAgICAgICAgICBhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEhvc3BpY2VQZXJmb3JtZWQucGVyZm9ybWVkKSBvdmVybGFwcyBNZWFzdXJlbWVudFBlcmlvZAogICAgKQo=" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-Hospice-FHIR3-1.0.000" + } + } ] +} \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM125_FHIR3-7.2.000/EXM125_FHIR3-7.2.000-files/valuesets-EXM125_FHIR3-7.2.000-bundle.json b/fhir3/bundles/measure/EXM125_FHIR3-7.2.000/EXM125_FHIR3-7.2.000-files/valuesets-EXM125_FHIR3-7.2.000-bundle.json new file mode 100644 index 00000000..1d6e3a1e --- /dev/null +++ b/fhir3/bundles/measure/EXM125_FHIR3-7.2.000/EXM125_FHIR3-7.2.000-files/valuesets-EXM125_FHIR3-7.2.000-bundle.json @@ -0,0 +1,1818 @@ +{ + "resourceType": "Bundle", + "id": "valuesets-EXM125-FHIR3-7.2.000-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1020", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1020", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1020" + } ], + "version": "20171216", + "name": "UnilateralMastectomy", + "title": "Unilateral Mastectomy", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2006", + "concept": [ { + "code": "19180", + "display": "Mastectomy, simple, complete" + }, { + "code": "19200", + "display": "Mastectomy, radical, including pectoral muscles, axillary lymph nodes" + }, { + "code": "19220", + "display": "Mastectomy, radical, including pectoral muscles, axillary and internal mammary lymph nodes (Urban type operation)" + }, { + "code": "19240", + "display": "Mastectomy, modified radical, including axillary lymph nodes, with or without pectoralis minor muscle, but excluding pectoralis major muscle" + } ] + }, { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "19303", + "display": "Mastectomy, simple, complete" + }, { + "code": "19304", + "display": "Mastectomy, subcutaneous" + }, { + "code": "19305", + "display": "Mastectomy, radical, including pectoral muscles, axillary lymph nodes" + }, { + "code": "19306", + "display": "Mastectomy, radical, including pectoral muscles, axillary and internal mammary lymph nodes (Urban type operation)" + }, { + "code": "19307", + "display": "Mastectomy, modified radical, including axillary lymph nodes, with or without pectoralis minor muscle, but excluding pectoralis major muscle" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2017-09", + "concept": [ { + "code": "287654001", + "display": "Extended simple mastectomy (procedure)" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "12275171000119105", + "display": "Postmastectomy lymphedema syndrome of right upper limb (disorder)" + }, { + "code": "12275221000119100", + "display": "Postmastectomy lymphedema syndrome of left upper limb (disorder)" + }, { + "code": "172043006", + "display": "Simple mastectomy (procedure)" + }, { + "code": "237367009", + "display": "Total mastectomy and division of pectoralis minor muscle (procedure)" + }, { + "code": "237368004", + "display": "Total mastectomy and excision of part of pectoral muscles and chest wall (procedure)" + }, { + "code": "237385002", + "display": "Excision of mastectomy scar (procedure)" + }, { + "code": "237388000", + "display": "Biopsy of mastectomy scar (procedure)" + }, { + "code": "274957008", + "display": "Radical mastectomy including axillary lymph nodes (procedure)" + }, { + "code": "287653007", + "display": "Subcutaneous mastectomy and prosthetic implant (procedure)" + }, { + "code": "303690008", + "display": "Excisional biopsy of mastectomy scar (procedure)" + }, { + "code": "307995002", + "display": "Excision of lesion of mastectomy scar (procedure)" + }, { + "code": "318190001", + "display": "Mastectomy with preservation of skin and nipple with synchronous implant (procedure)" + }, { + "code": "33129002", + "display": "Postmastectomy lymphedema syndrome (disorder)" + }, { + "code": "359728003", + "display": "Radical mastectomy including pectoral muscles and axillary lymph nodes (procedure)" + }, { + "code": "359731002", + "display": "Urban operation, extended radical mastectomy (procedure)" + }, { + "code": "359734005", + "display": "Halsted mastectomy (procedure)" + }, { + "code": "359740003", + "display": "Extended radical mastectomy (procedure)" + }, { + "code": "384723003", + "display": "Radical mastectomy (procedure)" + }, { + "code": "395702000", + "display": "Patey total mastectomy (procedure)" + }, { + "code": "406505007", + "display": "Modified radical mastectomy (procedure)" + }, { + "code": "428564008", + "display": "Skin sparing mastectomy (procedure)" + }, { + "code": "428571003", + "display": "Mastectomy of left breast (procedure)" + }, { + "code": "429400009", + "display": "Mastectomy of right breast (procedure)" + }, { + "code": "446109005", + "display": "Simple mastectomy with excision of axillary lymph nodes (procedure)" + }, { + "code": "446420001", + "display": "Simple mastectomy with complete axillary lymphadenectomy (procedure)" + }, { + "code": "447135002", + "display": "Simple mastectomy with axillary lymph node sampling (procedure)" + }, { + "code": "447421006", + "display": "Prophylactic mastectomy (procedure)" + }, { + "code": "451201000124106", + "display": "Prophylactic mastectomy of right breast (procedure)" + }, { + "code": "451211000124109", + "display": "Prophylactic mastectomy of left breast (procedure)" + }, { + "code": "66398006", + "display": "Mastectomy with excision of regional lymph nodes (procedure)" + }, { + "code": "70183006", + "display": "Subcutaneous mastectomy (procedure)" + }, { + "code": "714111001", + "display": "Post-mastectomy breast deformity (disorder)" + }, { + "code": "714252004", + "display": "Post-mastectomy chronic pain syndrome (disorder)" + }, { + "code": "726429001", + "display": "Radical mastectomy of left breast (procedure)" + }, { + "code": "726430006", + "display": "Radical mastectomy of right breast (procedure)" + }, { + "code": "726434002", + "display": "Subcutaneous mastectomy of right breast (procedure)" + }, { + "code": "726435001", + "display": "Subcutaneous mastectomy of left breast (procedure)" + }, { + "code": "726436000", + "display": "Modified radical mastectomy of right breast (procedure)" + }, { + "code": "726437009", + "display": "Modified radical mastectomy of left breast (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1020" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.122.12.1035", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.122.12.1035", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.122.12.1035" + } ], + "version": "20171216", + "name": "Right", + "title": "Right", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "24028007", + "display": "Right (qualifier value)" + }, { + "code": "419465000", + "display": "Unilateral right (qualifier value)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.122.12.1035" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.3591", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.3591" + } ], + "version": "20180718", + "name": "Payer", + "title": "Payer", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.phdsc.org/standards/pdfs/SourceofPaymentTypologyVersion6FINALSeptember2015.pdf", + "version": "8.0", + "concept": [ { + "code": "1", + "display": "MEDICARE" + }, { + "code": "11", + "display": "Medicare (Managed Care)" + }, { + "code": "111", + "display": "Medicare HMO" + }, { + "code": "112", + "display": "Medicare PPO" + }, { + "code": "113", + "display": "Medicare POS" + }, { + "code": "119", + "display": "Medicare Managed Care Other" + }, { + "code": "12", + "display": "Medicare (Non-managed Care)" + }, { + "code": "121", + "display": "Medicare FFS" + }, { + "code": "122", + "display": "Medicare Drug Benefit" + }, { + "code": "123", + "display": "Medicare Medical Savings Account (MSA)" + }, { + "code": "129", + "display": "Medicare Non-managed Care Other" + }, { + "code": "13", + "display": "Medicare Hospice" + }, { + "code": "14", + "display": "Dual Eligibility Medicare/Medicaid Organization" + }, { + "code": "19", + "display": "Medicare Other" + }, { + "code": "191", + "display": "Medicare Pharmacy Benefit Manager" + }, { + "code": "2", + "display": "MEDICAID" + }, { + "code": "21", + "display": "Medicaid (Managed Care)" + }, { + "code": "211", + "display": "Medicaid HMO" + }, { + "code": "212", + "display": "Medicaid PPO" + }, { + "code": "213", + "display": "Medicaid PCCM (Primary Care Case Management)" + }, { + "code": "219", + "display": "Medicaid Managed Care Other" + }, { + "code": "22", + "display": "Medicaid (Non-managed Care Plan)" + }, { + "code": "23", + "display": "Medicaid/SCHIP" + }, { + "code": "25", + "display": "Medicaid - Out of State" + }, { + "code": "26", + "display": "Medicaid -- Long Term Care" + }, { + "code": "29", + "display": "Medicaid Other" + }, { + "code": "291", + "display": "Medicaid Pharmacy Benefit Manager" + }, { + "code": "299", + "display": "Medicaid - Dental" + }, { + "code": "3", + "display": "OTHER GOVERNMENT (Federal/State/Local) (excluding Department of Corrections)" + }, { + "code": "31", + "display": "Department of Defense" + }, { + "code": "311", + "display": "TRICARE (CHAMPUS)" + }, { + "code": "3111", + "display": "TRICARE Prime--HMO" + }, { + "code": "3112", + "display": "TRICARE Extra--PPO" + }, { + "code": "3113", + "display": "TRICARE Standard - Fee For Service" + }, { + "code": "3114", + "display": "TRICARE For Life--Medicare Supplement" + }, { + "code": "3115", + "display": "TRICARE Reserve Select" + }, { + "code": "3116", + "display": "Uniformed Services Family Health Plan (USFHP) -- HMO" + }, { + "code": "3119", + "display": "Department of Defense - (other)" + }, { + "code": "312", + "display": "Military Treatment Facility" + }, { + "code": "3121", + "display": "Enrolled Prime--HMO" + }, { + "code": "3122", + "display": "Non-enrolled Space Available" + }, { + "code": "3123", + "display": "TRICARE For Life (TFL)" + }, { + "code": "313", + "display": "Dental --Stand Alone" + }, { + "code": "32", + "display": "Department of Veterans Affairs" + }, { + "code": "321", + "display": "Veteran care--Care provided to Veterans" + }, { + "code": "3211", + "display": "Direct Care--Care provided in VA facilities" + }, { + "code": "3212", + "display": "Indirect Care--Care provided outside VA facilities" + }, { + "code": "32121", + "display": "Fee Basis" + }, { + "code": "32122", + "display": "Foreign Fee/Foreign Medical Program (FMP)" + }, { + "code": "32123", + "display": "Contract Nursing Home/Community Nursing Home" + }, { + "code": "32124", + "display": "State Veterans Home" + }, { + "code": "32125", + "display": "Sharing Agreements" + }, { + "code": "32126", + "display": "Other Federal Agency" + }, { + "code": "32127", + "display": "Dental Care" + }, { + "code": "32128", + "display": "Vision Care" + }, { + "code": "322", + "display": "Non-veteran care" + }, { + "code": "3221", + "display": "Civilian Health and Medical Program for the VA (CHAMPVA)" + }, { + "code": "3222", + "display": "Spina Bifida Health Care Program (SB)" + }, { + "code": "3223", + "display": "Children of Women Vietnam Veterans (CWVV)" + }, { + "code": "3229", + "display": "Other non-veteran care" + }, { + "code": "33", + "display": "Indian Health Service or Tribe" + }, { + "code": "331", + "display": "Indian Health Service -- Regular" + }, { + "code": "332", + "display": "Indian Health Service -- Contract" + }, { + "code": "333", + "display": "Indian Health Service - Managed Care" + }, { + "code": "334", + "display": "Indian Tribe - Sponsored Coverage" + }, { + "code": "34", + "display": "HRSA Program" + }, { + "code": "341", + "display": "Title V (MCH Block Grant)" + }, { + "code": "342", + "display": "Migrant Health Program" + }, { + "code": "343", + "display": "Ryan White Act" + }, { + "code": "349", + "display": "Other" + }, { + "code": "35", + "display": "Black Lung" + }, { + "code": "36", + "display": "State Government" + }, { + "code": "361", + "display": "State SCHIP program (codes for individual states)" + }, { + "code": "362", + "display": "Specific state programs (list/ local code)" + }, { + "code": "369", + "display": "State, not otherwise specified (other state)" + }, { + "code": "37", + "display": "Local Government" + }, { + "code": "371", + "display": "Local - Managed care" + }, { + "code": "3711", + "display": "HMO" + }, { + "code": "3712", + "display": "PPO" + }, { + "code": "3713", + "display": "POS" + }, { + "code": "372", + "display": "FFS/Indemnity" + }, { + "code": "379", + "display": "Local, not otherwise specified (other local, county)" + }, { + "code": "38", + "display": "Other Government (Federal, State, Local not specified)" + }, { + "code": "381", + "display": "Federal, State, Local not specified managed care" + }, { + "code": "3811", + "display": "Federal, State, Local not specified - HMO" + }, { + "code": "3812", + "display": "Federal, State, Local not specified - PPO" + }, { + "code": "3813", + "display": "Federal, State, Local not specified - POS" + }, { + "code": "3819", + "display": "Federal, State, Local not specified - not specified managed care" + }, { + "code": "382", + "display": "Federal, State, Local not specified - FFS" + }, { + "code": "389", + "display": "Federal, State, Local not specified - Other" + }, { + "code": "39", + "display": "Other Federal" + }, { + "code": "391", + "display": "Federal Employee Health Plan - Use when known" + }, { + "code": "4", + "display": "DEPARTMENTS OF CORRECTIONS" + }, { + "code": "41", + "display": "Corrections Federal" + }, { + "code": "42", + "display": "Corrections State" + }, { + "code": "43", + "display": "Corrections Local" + }, { + "code": "44", + "display": "Corrections Unknown Level" + }, { + "code": "5", + "display": "PRIVATE HEALTH INSURANCE" + }, { + "code": "51", + "display": "Managed Care (Private)" + }, { + "code": "511", + "display": "Commercial Managed Care - HMO" + }, { + "code": "512", + "display": "Commercial Managed Care - PPO" + }, { + "code": "513", + "display": "Commercial Managed Care - POS" + }, { + "code": "514", + "display": "Exclusive Provider Organization" + }, { + "code": "515", + "display": "Gatekeeper PPO (GPPO)" + }, { + "code": "516", + "display": "Commercial Managed Care - Pharmacy Benefit Manager" + }, { + "code": "517", + "display": "Commercial Managed Care - Dental" + }, { + "code": "519", + "display": "Managed Care, Other (non HMO)" + }, { + "code": "52", + "display": "Private Health Insurance - Indemnity" + }, { + "code": "521", + "display": "Commercial Indemnity" + }, { + "code": "522", + "display": "Self-insured (ERISA) Administrative Services Only (ASO) plan" + }, { + "code": "523", + "display": "Medicare supplemental policy (as second payer)" + }, { + "code": "524", + "display": "Indemnity Insurance - Dental" + }, { + "code": "529", + "display": "Private health insurance--other commercial Indemnity" + }, { + "code": "53", + "display": "Managed Care (private) or private health insurance (indemnity), not otherwise specified" + }, { + "code": "54", + "display": "Organized Delivery System" + }, { + "code": "55", + "display": "Small Employer Purchasing Group" + }, { + "code": "56", + "display": "Specialized Stand Alone Plan" + }, { + "code": "561", + "display": "Dental" + }, { + "code": "562", + "display": "Vision" + }, { + "code": "59", + "display": "Other Private Insurance" + }, { + "code": "6", + "display": "BLUE CROSS/BLUE SHIELD" + }, { + "code": "61", + "display": "BC Managed Care" + }, { + "code": "611", + "display": "BC Managed Care -- HMO" + }, { + "code": "612", + "display": "BC Managed Care -- PPO" + }, { + "code": "613", + "display": "BC Managed Care -- POS" + }, { + "code": "614", + "display": "BC Managed Care - Dental" + }, { + "code": "619", + "display": "BC Managed Care -- Other" + }, { + "code": "62", + "display": "BC Insurance Indemnity" + }, { + "code": "621", + "display": "BC Indemnity" + }, { + "code": "622", + "display": "BC Self-insured (ERISA) Administrative Services Only (ASO)Plan" + }, { + "code": "623", + "display": "BC Medicare Supplemental Plan" + }, { + "code": "629", + "display": "BC Indemnity - Dental" + }, { + "code": "7", + "display": "MANAGED CARE, UNSPECIFIED (to be used only if one can't distinguish public from private)" + }, { + "code": "71", + "display": "HMO" + }, { + "code": "72", + "display": "PPO" + }, { + "code": "73", + "display": "POS" + }, { + "code": "79", + "display": "Other Managed Care" + }, { + "code": "8", + "display": "NO PAYMENT from an Organization/Agency/Program/Private Payer Listed" + }, { + "code": "81", + "display": "Self-pay (Includes applicants for insurance and Medicaid applicants)" + }, { + "code": "82", + "display": "No Charge" + }, { + "code": "821", + "display": "Charity" + }, { + "code": "822", + "display": "Professional Courtesy" + }, { + "code": "823", + "display": "Research/Clinical Trial" + }, { + "code": "83", + "display": "Refusal to Pay/Bad Debt" + }, { + "code": "84", + "display": "Hill Burton Free Care" + }, { + "code": "85", + "display": "Research/Donor" + }, { + "code": "89", + "display": "No Payment, Other" + }, { + "code": "9", + "display": "MISCELLANEOUS/OTHER" + }, { + "code": "91", + "display": "Foreign National" + }, { + "code": "92", + "display": "Other (Non-government)" + }, { + "code": "93", + "display": "Disability Insurance" + }, { + "code": "94", + "display": "Long-term Care Insurance" + }, { + "code": "95", + "display": "Worker's Compensation" + }, { + "code": "951", + "display": "Worker's Comp HMO" + }, { + "code": "953", + "display": "Worker's Comp Fee-for-Service" + }, { + "code": "954", + "display": "Worker's Comp Other Managed Care" + }, { + "code": "959", + "display": "Worker's Comp, Other unspecified" + }, { + "code": "96", + "display": "Auto Insurance (includes no fault)" + }, { + "code": "97", + "display": "Legal Liability / Liability Insurance" + }, { + "code": "98", + "display": "Other specified but not otherwise classifiable (includes Hospice - Unspecified plan)" + }, { + "code": "99", + "display": "No Typology Code available for payment source" + }, { + "code": "9999", + "display": "Unavailable / No Payer Specified / Blank" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1025", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1025" + } ], + "version": "20170504", + "name": "PreventiveCareServices-EstablishedOfficeVisit,18andUp", + "title": "Preventive Care Services - Established Office Visit, 18 and Up", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99395", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 18-39 years" + }, { + "code": "99396", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 40-64 years" + }, { + "code": "99397", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 65 years and older" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.560.100.2", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.560.100.2", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.560.100.2" + } ], + "version": "20160331", + "name": "Female", + "title": "Female", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.560.100.2" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1068", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1068", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1068" + } ], + "version": "20171219", + "name": "Historyofbilateralmastectomy", + "title": "History of bilateral mastectomy", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2019", + "concept": [ { + "code": "Z90.13", + "display": "Acquired absence of bilateral breasts and nipples" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "136071000119101", + "display": "History of bilateral prophylactic mastectomy (situation)" + }, { + "code": "428529004", + "display": "History of bilateral mastectomy (situation)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1068" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1069", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1069", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1069" + } ], + "version": "20171216", + "name": "StatusPostLeftMastectomy", + "title": "Status Post Left Mastectomy", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2019", + "concept": [ { + "code": "Z90.12", + "display": "Acquired absence of left breast and nipple" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "137671000119105", + "display": "History of prophylactic mastectomy of left breast (situation)" + }, { + "code": "429009003", + "display": "History of left mastectomy (situation)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1069" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1016", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1016" + } ], + "version": "20180310", + "name": "HomeHealthcareServices", + "title": "Home Healthcare Services", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99341", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; and Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low severity. Typically, 20 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99342", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: An expanded problem focused history; An expanded problem focused examination; and Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate severity. Typically, 30 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99343", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A detailed history; A detailed examination; and Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 45 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99344", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; and Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of high severity. Typically, 60 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99345", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; and Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the patient is unstable or has developed a significant new problem requiring immediate physician attention. Typically, 75 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99347", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A problem focused interval history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 15 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99348", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: An expanded problem focused interval history; An expanded problem focused examination; Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 25 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99349", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A detailed interval history; A detailed examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are moderate to high severity. Typically, 40 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99350", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A comprehensive interval history; A comprehensive examination; Medical decision making of moderate to high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. The patient may be unstable or may have developed a significant new problem requiring immediate physician attention. Typically, 60 minutes are spent face-to-face with the patient and/or family." + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "185460008", + "display": "Home visit request by patient (procedure)" + }, { + "code": "185462000", + "display": "Home visit request by relative (procedure)" + }, { + "code": "185466002", + "display": "Home visit for urgent condition (procedure)" + }, { + "code": "185467006", + "display": "Home visit for acute condition (procedure)" + }, { + "code": "185468001", + "display": "Home visit for chronic condition (procedure)" + }, { + "code": "185470005", + "display": "Home visit elderly assessment (procedure)" + }, { + "code": "225929007", + "display": "Joint home visit (procedure)" + }, { + "code": "315205008", + "display": "Bank holiday home visit (procedure)" + }, { + "code": "439708006", + "display": "Home visit (procedure)" + }, { + "code": "698704008", + "display": "Home visit for rheumatology service (procedure)" + }, { + "code": "704126008", + "display": "Home visit for anticoagulant drug monitoring (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.526.3.1240", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.526.3.1240" + } ], + "version": "20170504", + "name": "AnnualWellnessVisit", + "title": "Annual Wellness Visit", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/index.html", + "version": "2018", + "concept": [ { + "code": "G0438", + "display": "Annual wellness visit; includes a personalized prevention plan of service (pps), initial visit" + }, { + "code": "G0439", + "display": "Annual wellness visit, includes a personalized prevention plan of service (pps), subsequent visit" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.526.3.1240" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1070", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1070", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1070" + } ], + "version": "20171216", + "name": "StatusPostRightMastectomy", + "title": "Status Post Right Mastectomy", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2019", + "concept": [ { + "code": "Z90.11", + "display": "Acquired absence of right breast and nipple" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "137681000119108", + "display": "History of prophylactic mastectomy of right breast (situation)" + }, { + "code": "429242008", + "display": "History of right mastectomy (situation)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1070" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1071", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1071" + } ], + "version": "20171216", + "name": "UnilateralMastectomy,UnspecifiedLaterality", + "title": "Unilateral Mastectomy, Unspecified Laterality", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2019", + "concept": [ { + "code": "Z90.10", + "display": "Acquired absence of unspecified breast and nipple" + } ] + }, { + "system": "http://hl7.org/fhir/sid/icd-9-cm", + "version": "2013", + "concept": [ { + "code": "V45.71", + "display": "Acquired absence of breast and nipple" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2017-09", + "concept": [ { + "code": "22964006", + "display": "Unilateral simple mastectomy (situation)" + }, { + "code": "72269009", + "display": "Unilateral modified radical mastectomy (situation)" + }, { + "code": "73359007", + "display": "Unilateral mastectomy (situation)" + }, { + "code": "8115005", + "display": "Unilateral radical mastectomy (situation)" + }, { + "code": "88764002", + "display": "Unilateral extended simple mastectomy (situation)" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "248802009", + "display": "Absence of breast (finding)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.108.12.1018", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1018", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.108.12.1018" + } ], + "version": "20171222", + "name": "Mammography", + "title": "Mammography", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/index.html", + "version": "2017", + "concept": [ { + "code": "G0202", + "display": "Screening mammography, bilateral (2-view study of each breast), including computer-aided detection (cad) when performed" + }, { + "code": "G0204", + "display": "Diagnostic mammography, including computer-aided detection (cad) when performed; bilateral" + }, { + "code": "G0206", + "display": "Diagnostic mammography, including computer-aided detection (cad) when performed; unilateral" + } ] + }, { + "system": "http://loinc.org", + "version": "2.58", + "concept": [ { + "code": "38067-5", + "display": "Breast - bilateral Mammogram nipple profile" + } ] + }, { + "system": "http://loinc.org", + "version": "2.64", + "concept": [ { + "code": "24604-1", + "display": "MG Breast Diagnostic Limited Views" + }, { + "code": "24605-8", + "display": "MG Breast Diagnostic" + }, { + "code": "24606-6", + "display": "MG Breast Screening" + }, { + "code": "24610-8", + "display": "MG Breast Limited Views" + }, { + "code": "26175-0", + "display": "MG Breast - bilateral Screening" + }, { + "code": "26176-8", + "display": "MG Breast - left Screening" + }, { + "code": "26177-6", + "display": "MG Breast - right Screening" + }, { + "code": "26287-3", + "display": "MG Breast - bilateral Limited Views" + }, { + "code": "26289-9", + "display": "MG Breast - left Limited Views" + }, { + "code": "26291-5", + "display": "MG Breast - right Limited Views" + }, { + "code": "26346-7", + "display": "MG Breast - bilateral Diagnostic" + }, { + "code": "26347-5", + "display": "MG Breast - left Diagnostic" + }, { + "code": "26348-3", + "display": "MG Breast - right Diagnostic" + }, { + "code": "26349-1", + "display": "MG Breast - bilateral Diagnostic Limited Views" + }, { + "code": "26350-9", + "display": "MG Breast - left Diagnostic Limited Views" + }, { + "code": "26351-7", + "display": "MG Breast - right Diagnostic Limited Views" + }, { + "code": "36319-2", + "display": "MG Breast 4 Views" + }, { + "code": "36625-2", + "display": "MG Breast Views" + }, { + "code": "36626-0", + "display": "MG Breast - bilateral Views" + }, { + "code": "36627-8", + "display": "MG Breast - left Views" + }, { + "code": "36642-7", + "display": "MG Breast - left 2 Views" + }, { + "code": "36962-9", + "display": "MG Breast Axillary" + }, { + "code": "37005-6", + "display": "MG Breast - left Magnification" + }, { + "code": "37006-4", + "display": "MG Breast - bilateral MLO" + }, { + "code": "37016-3", + "display": "MG Breast - bilateral Rolled Views" + }, { + "code": "37017-1", + "display": "MG Breast - left Rolled Views" + }, { + "code": "37028-8", + "display": "MG Breast Tangential" + }, { + "code": "37029-6", + "display": "MG Breast - bilateral Tangential" + }, { + "code": "37030-4", + "display": "MG Breast - left Tangential" + }, { + "code": "37037-9", + "display": "MG Breast True lateral" + }, { + "code": "37038-7", + "display": "MG Breast - bilateral True lateral" + }, { + "code": "37052-8", + "display": "MG Breast - bilateral XCCL" + }, { + "code": "37053-6", + "display": "MG Breast - left XCCL" + }, { + "code": "37539-4", + "display": "MG Breast Grid Views" + }, { + "code": "37542-8", + "display": "MG Breast Magnification Views" + }, { + "code": "37543-6", + "display": "MG Breast - bilateral Magnification Views" + }, { + "code": "37551-9", + "display": "MG Breast Spot Views" + }, { + "code": "37552-7", + "display": "MG Breast - bilateral Spot Views" + }, { + "code": "37553-5", + "display": "MG Breast - left Spot Views compression" + }, { + "code": "37554-3", + "display": "MG Breast - bilateral Magnification and Spot" + }, { + "code": "37768-9", + "display": "MG Breast - right 2 Views" + }, { + "code": "37769-7", + "display": "MG Breast - right Magnification and Spot" + }, { + "code": "37770-5", + "display": "MG Breast - right Tangential" + }, { + "code": "37771-3", + "display": "MG Breast - right True lateral" + }, { + "code": "37772-1", + "display": "MG Breast - right XCCL" + }, { + "code": "37773-9", + "display": "MG Breast - right Magnification" + }, { + "code": "37774-7", + "display": "MG Breast - right Views" + }, { + "code": "37775-4", + "display": "MG Breast - right Rolled Views" + }, { + "code": "38070-9", + "display": "MG Breast Views for implant" + }, { + "code": "38071-7", + "display": "MG Breast - bilateral Views for implant" + }, { + "code": "38072-5", + "display": "MG Breast - left Views for implant" + }, { + "code": "38090-7", + "display": "MG Breast - bilateral Air gap Views" + }, { + "code": "38091-5", + "display": "MG Breast - left Air gap Views" + }, { + "code": "38807-4", + "display": "MG Breast - right Spot Views" + }, { + "code": "38820-7", + "display": "MG Breast - right Views for implant" + }, { + "code": "38854-6", + "display": "MG Breast - left Magnification and Spot" + }, { + "code": "38855-3", + "display": "MG Breast - left True lateral" + }, { + "code": "39150-8", + "display": "FFD mammogram Breast Views Post Localization" + }, { + "code": "39152-4", + "display": "FFD mammogram Breast Diagnostic" + }, { + "code": "39153-2", + "display": "FFD mammogram Breast Screening" + }, { + "code": "39154-0", + "display": "FFD mammogram Breast - bilateral Diagnostic" + }, { + "code": "42168-5", + "display": "FFD mammogram Breast - right Diagnostic" + }, { + "code": "42169-3", + "display": "FFD mammogram Breast - left Diagnostic" + }, { + "code": "42174-3", + "display": "FFD mammogram Breast - bilateral Screening" + }, { + "code": "42415-0", + "display": "MG Breast - bilateral Views Post Wire Placement" + }, { + "code": "42416-8", + "display": "MG Breast - left Views Post Wire Placement" + }, { + "code": "46335-6", + "display": "MG Breast - bilateral Single view" + }, { + "code": "46336-4", + "display": "MG Breast - left Single view" + }, { + "code": "46337-2", + "display": "MG Breast - right Single view" + }, { + "code": "46338-0", + "display": "MG Breast - unilateral Single view" + }, { + "code": "46339-8", + "display": "MG Breast - unilateral Views" + }, { + "code": "46342-2", + "display": "FFD mammogram Breast Views" + }, { + "code": "46350-5", + "display": "MG Breast - unilateral Diagnostic" + }, { + "code": "46351-3", + "display": "MG Breast - bilateral Displacement Views for Implant" + }, { + "code": "46354-7", + "display": "FFD mammogram Breast - right Screening" + }, { + "code": "46355-4", + "display": "FFD mammogram Breast - left Screening" + }, { + "code": "46356-2", + "display": "MG Breast - unilateral Screening" + }, { + "code": "46380-2", + "display": "MG Breast - unilateral Views for implant" + }, { + "code": "48475-8", + "display": "MG Breast - bilateral Diagnostic for implant" + }, { + "code": "48492-3", + "display": "MG Breast - bilateral Screening for implant" + }, { + "code": "69150-1", + "display": "MG Breast - left Diagnostic for implant" + }, { + "code": "69251-7", + "display": "MG Breast Views Post Wire Placement" + }, { + "code": "69259-0", + "display": "MG Breast - right Diagnostic for implant" + }, { + "code": "72137-3", + "display": "DBT Breast - right diagnostic" + }, { + "code": "72138-1", + "display": "DBT Breast - left diagnostic" + }, { + "code": "72139-9", + "display": "DBT Breast - bilateral diagnostic" + }, { + "code": "72140-7", + "display": "DBT Breast - right screening" + }, { + "code": "72141-5", + "display": "DBT Breast - left screening" + }, { + "code": "72142-3", + "display": "DBT Breast - bilateral screening" + }, { + "code": "86462-9", + "display": "DBT Breast - unilateral" + }, { + "code": "86463-7", + "display": "DBT Breast - bilateral" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.108.12.1018" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.292", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292", + "title": "Emergency Department Visit", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "4525004", + "display": "Emergency department patient visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.666.5.307", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.666.5.307" + } ], + "version": "20170504", + "name": "EncounterInpatient", + "title": "Encounter Inpatient", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + }, { + "code": "8715000", + "display": "Hospital admission, elective (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1108.15", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1108.15" + } ], + "version": "20170504", + "name": "Hospicecareambulatory", + "title": "Hospice care ambulatory", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "385763009", + "display": "Hospice care (regime/therapy)" + }, { + "code": "385765002", + "display": "Hospice care management (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1108.15" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1005", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1005", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1005" + } ], + "version": "20171219", + "name": "BilateralMastectomy", + "title": "Bilateral Mastectomy", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "14693006", + "display": "Bilateral subcutaneous mammectomy (procedure)" + }, { + "code": "14714006", + "display": "Bilateral mastectomy with excision of bilateral regional lymph nodes (procedure)" + }, { + "code": "17086001", + "display": "Modified radical mastectomy, bilateral (procedure)" + }, { + "code": "22418005", + "display": "Bilateral simple mastectomy (procedure)" + }, { + "code": "27865001", + "display": "Bilateral mastectomy (procedure)" + }, { + "code": "456903003", + "display": "Bilateral extended radical mastectomy (procedure)" + }, { + "code": "52314009", + "display": "Bilateral mastectomy extended simple (procedure)" + }, { + "code": "60633004", + "display": "Bilateral subcutaneous mammectomy with synchronous implant (procedure)" + }, { + "code": "726636007", + "display": "Prophylactic bilateral mastectomy (procedure)" + }, { + "code": "76468001", + "display": "Bilateral radical mastectomy (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1005" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.122.12.1036", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.122.12.1036", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.122.12.1036" + } ], + "version": "20171216", + "name": "Left", + "title": "Left", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "419161000", + "display": "Unilateral left (qualifier value)" + }, { + "code": "7771000", + "display": "Left (qualifier value)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.122.12.1036" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1001", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1001" + } ], + "version": "20180310", + "name": "OfficeVisit", + "title": "Office Visit", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99201", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99202", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: An expanded problem focused history; An expanded problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 20 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99203", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A detailed history; A detailed examination; Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate severity. Typically, 30 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99204", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 45 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99205", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 60 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99212", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99213", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: An expanded problem focused history; An expanded problem focused examination; Medical decision making of low complexity. Counseling and coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 15 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99214", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A detailed history; A detailed examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 25 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99215", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 40 minutes are spent face-to-face with the patient and/or family." + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "185463005", + "display": "Visit out of hours (procedure)" + }, { + "code": "185464004", + "display": "Out of hours visit - not night visit (procedure)" + }, { + "code": "185465003", + "display": "Weekend visit (procedure)" + }, { + "code": "30346009", + "display": "Evaluation and management of established outpatient in office or other outpatient facility (procedure)" + }, { + "code": "3391000175108", + "display": "Office visit for pediatric care and assessment (procedure)" + }, { + "code": "37894004", + "display": "Evaluation and management of new outpatient in office or other outpatient facility (procedure)" + }, { + "code": "439740005", + "display": "Postoperative follow-up visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1023", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1023" + } ], + "version": "20170504", + "name": "PreventiveCareServices-InitialOfficeVisit,18andUp", + "title": "Preventive Care Services-Initial Office Visit, 18 and Up", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99385", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 18-39 years" + }, { + "code": "99386", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 40-64 years" + }, { + "code": "99387", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 65 years and older" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.836", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.836" + } ], + "version": "20121025", + "name": "Race", + "title": "Race", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "1002-5", + "display": "American Indian or Alaska Native" + }, { + "code": "2028-9", + "display": "Asian" + }, { + "code": "2054-5", + "display": "Black or African American" + }, { + "code": "2076-8", + "display": "Native Hawaiian or Other Pacific Islander" + }, { + "code": "2106-3", + "display": "White" + }, { + "code": "2131-1", + "display": "Other Race" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1" + } ], + "version": "20150331", + "name": "ONCAdministrativeSex", + "title": "ONC Administrative Sex", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + }, { + "code": "M", + "display": "Male" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.837", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.837" + } ], + "version": "20121025", + "name": "Ethnicity", + "title": "Ethnicity", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "2135-2", + "display": "Hispanic or Latino" + }, { + "code": "2186-5", + "display": "Not Hispanic or Latino" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.837" + } + } ] +} \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM130_FHIR3-7.2.000/EXM130_FHIR3-7.2.000-bundle.json b/fhir3/bundles/measure/EXM130_FHIR3-7.2.000/EXM130_FHIR3-7.2.000-bundle.json index 5c85dd43..7ab9a7ff 100644 --- a/fhir3/bundles/measure/EXM130_FHIR3-7.2.000/EXM130_FHIR3-7.2.000-bundle.json +++ b/fhir3/bundles/measure/EXM130_FHIR3-7.2.000/EXM130_FHIR3-7.2.000-bundle.json @@ -3,6 +3,255 @@ "id": "EXM130-FHIR3-7.2.000-bundle", "type": "transaction", "entry": [ { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.108.12.1038", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.108.12.1038" + } ], + "version": "20171219", + "name": "CTColonography", + "title": "CT Colonography", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "74261", + "display": "Computed tomographic (CT) colonography, diagnostic, including image postprocessing; without contrast material" + }, { + "code": "74262", + "display": "Computed tomographic (CT) colonography, diagnostic, including image postprocessing; with contrast material(s) including non-contrast images, if performed" + }, { + "code": "74263", + "display": "Computed tomographic (CT) colonography, screening, including image postprocessing" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "418714002", + "display": "Virtual computed tomography colonoscopy (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.108.12.1039", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.108.12.1039" + } ], + "version": "20171219", + "name": "FITDNA", + "title": "FIT DNA", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://loinc.org", + "version": "2.64", + "concept": [ { + "code": "77353-1", + "display": "Noninvasive colorectal cancer DNA and occult blood screening [Interpretation] in Stool Narrative" + }, { + "code": "77354-9", + "display": "Noninvasive colorectal cancer DNA and occult blood screening [Presence] in Stool" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1010", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1010" + } ], + "version": "20171219", + "name": "FlexibleSigmoidoscopy", + "title": "Flexible Sigmoidoscopy", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2014", + "concept": [ { + "code": "45339", + "display": "Sigmoidoscopy, flexible; with ablation of tumor(s), polyp(s), or other lesion(s) not amenable to removal by hot biopsy forceps, bipolar cautery or snare technique" + }, { + "code": "45345", + "display": "Sigmoidoscopy, flexible; with transendoscopic stent placement (includes predilation)" + } ] + }, { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "45330", + "display": "Sigmoidoscopy, flexible; diagnostic, including collection of specimen(s) by brushing or washing, when performed (separate procedure)" + }, { + "code": "45331", + "display": "Sigmoidoscopy, flexible; with biopsy, single or multiple" + }, { + "code": "45332", + "display": "Sigmoidoscopy, flexible; with removal of foreign body(s)" + }, { + "code": "45333", + "display": "Sigmoidoscopy, flexible; with removal of tumor(s), polyp(s), or other lesion(s) by hot biopsy forceps" + }, { + "code": "45334", + "display": "Sigmoidoscopy, flexible; with control of bleeding, any method" + }, { + "code": "45335", + "display": "Sigmoidoscopy, flexible; with directed submucosal injection(s), any substance" + }, { + "code": "45337", + "display": "Sigmoidoscopy, flexible; with decompression (for pathologic distention) (eg, volvulus, megacolon), including placement of decompression tube, when performed" + }, { + "code": "45338", + "display": "Sigmoidoscopy, flexible; with removal of tumor(s), polyp(s), or other lesion(s) by snare technique" + }, { + "code": "45340", + "display": "Sigmoidoscopy, flexible; with transendoscopic balloon dilation" + }, { + "code": "45341", + "display": "Sigmoidoscopy, flexible; with endoscopic ultrasound examination" + }, { + "code": "45342", + "display": "Sigmoidoscopy, flexible; with transendoscopic ultrasound guided intramural or transmural fine needle aspiration/biopsy(s)" + }, { + "code": "45346", + "display": "Sigmoidoscopy, flexible; with ablation of tumor(s), polyp(s), or other lesion(s) (includes pre- and post-dilation and guide wire passage, when performed)" + }, { + "code": "45347", + "display": "Sigmoidoscopy, flexible; with placement of endoscopic stent (includes pre- and post-dilation and guide wire passage, when performed)" + }, { + "code": "45349", + "display": "Sigmoidoscopy, flexible; with endoscopic mucosal resection" + }, { + "code": "45350", + "display": "Sigmoidoscopy, flexible; with band ligation(s) (eg, hemorrhoids)" + } ] + }, { + "system": "https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/index.html", + "version": "2018", + "concept": [ { + "code": "G0104", + "display": "Colorectal cancer screening; flexible sigmoidoscopy" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "396226005", + "display": "Flexible fiberoptic sigmoidoscopy with biopsy (procedure)" + }, { + "code": "425634007", + "display": "Diagnostic endoscopic examination of lower bowel and sampling for bacterial overgrowth using fiberoptic sigmoidoscope (procedure)" + }, { + "code": "44441009", + "display": "Flexible fiberoptic sigmoidoscopy (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1011", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1011" + } ], + "version": "20171219", + "name": "FecalOccultBloodTest(FOBT)", + "title": "Fecal Occult Blood Test (FOBT)", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://loinc.org", + "version": "2.64", + "concept": [ { + "code": "12503-9", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool --4th specimen" + }, { + "code": "12504-7", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool --5th specimen" + }, { + "code": "14563-1", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool --1st specimen" + }, { + "code": "14564-9", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool --2nd specimen" + }, { + "code": "14565-6", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool --3rd specimen" + }, { + "code": "2335-8", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool" + }, { + "code": "27396-1", + "display": "Hemoglobin.gastrointestinal [Mass/mass] in Stool" + }, { + "code": "27401-9", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool --6th specimen" + }, { + "code": "27925-7", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool --7th specimen" + }, { + "code": "27926-5", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool --8th specimen" + }, { + "code": "29771-3", + "display": "Hemoglobin.gastrointestinal.lower [Presence] in Stool by Immunoassay" + }, { + "code": "56490-6", + "display": "Hemoglobin.gastrointestinal.lower [Presence] in Stool by Immunoassay --2nd specimen" + }, { + "code": "56491-4", + "display": "Hemoglobin.gastrointestinal.lower [Presence] in Stool by Immunoassay --3rd specimen" + }, { + "code": "57905-2", + "display": "Hemoglobin.gastrointestinal.lower [Presence] in Stool by Immunoassay --1st specimen" + }, { + "code": "58453-2", + "display": "Hemoglobin.gastrointestinal.lower [Mass/volume] in Stool by Immunoassay" + }, { + "code": "80372-6", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool by Rapid immunoassay" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011" + } + }, { "resource": { "resourceType": "Library", "id": "library-EXM130-FHIR3-7.2.000", @@ -10,30 +259,1359 @@ "status": "generated", "div": "
\n \n \n
Id: library-EXM130-FHIR3-7.2.000
Type: Logic Library
Version: 7.2.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-AdultOutpatientEncounters-FHIR3-1.1.000

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

type: depends-on

Resource:
reference: Library/library-Hospice-FHIR3-1.0.000

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

Data Requirements:

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001

type: Observation

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011

type: Observation

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020

Content: type: text/cql
library EXM130_FHIR3 version '7.2.000'\n\n/*\nBased on CMS130v7 - Colorectal Cancer Screening\n*/\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude AdultOutpatientEncounters_FHIR3 version '1.1.000' called AdultOutpatientEncounters\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude Hospice_FHIR3 version '1.0.000' called Hospice\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Colonoscopy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020'\nvalueset "Fecal Occult Blood Test (FOBT)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011'\nvalueset "Flexible Sigmoidoscopy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010'\nvalueset "Malignant Neoplasm of Colon": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001'\nvalueset "Total Colectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019'\nvalueset "FIT DNA": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039'\nvalueset "CT Colonography": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038'\n\nparameter "Measurement Period" Interval<DateTime>\n    default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n  SDE."SDE Payer"\n\ndefine "SDE Race":\n  SDE."SDE Race"\n\ndefine "SDE Sex":\n  SDE."SDE Sex"\n\ndefine "Denominator":\n\ttrue\n\ndefine "Flexible Sigmoidoscopy Performed":\n\t[Procedure: "Flexible Sigmoidoscopy"] FlexibleSigmoidoscopy\n\t\twhere FlexibleSigmoidoscopy.status = 'completed'\n\t\t\tand Global."Normalize Interval"(FlexibleSigmoidoscopy.performed) ends 5 years or less on or before end of "Measurement Period"\n\ndefine "CT Colonography Performed":\n\t[Procedure: "CT Colonography"] Colonography\n\t\twhere Colonography.status = 'completed'\n\t\t\tand Global."Normalize Interval"(Colonography.performed) ends 5 years or less on or before end of "Measurement Period"\n\ndefine "Total Colectomy Performed":\n\t[Procedure: "Total Colectomy"] Colectomy\n\t\twhere Colectomy.status = 'completed'\n\t\t\tand Global."Normalize Interval"(Colectomy.performed) starts on or before end of "Measurement Period"\n\ndefine "Malignant Neoplasm Ever":\n\t[Condition: "Malignant Neoplasm of Colon"] ColorectalCancer\n\t\twhere Global."Normalize Onset"(ColorectalCancer.onset) starts on or before end of "Measurement Period"\n\ndefine "Fecal Occult Blood Test Performed":\n\t[Observation: "Fecal Occult Blood Test (FOBT)"] FecalOccultResult\n\t\twhere FecalOccultResult.status in { 'final', 'amended', 'corrected', 'preliminary' }\n\t\t\tand FecalOccultResult.value is not null\n\t\t\tand Global."Normalize Interval"(FecalOccultResult.effective) during day of "Measurement Period"\n\t\t\t// and FecalOccultResult.FHIR.provenance.recorded during "Measurement Period"\n\ndefine "Fecal Immunochemical Test DNA":\n\t[Observation: "FIT DNA"] FitDNA\n\t\twhere FitDNA.status in { 'final', 'amended', 'corrected', 'preliminary' }\n\t\t\tand FitDNA.value is not null\n\t\t\tand Global."Normalize Interval"(FitDNA.effective) occurs 3 years or less on or before day of end of "Measurement Period"\n\t\t\t// and FitDNA.FHIR.provenance.recorded occurs 3 years or less on or before end of "Measurement Period"\n\ndefine "Colonoscopy Performed":\n\t[Procedure: "Colonoscopy"] Colonoscopy\n\t\twhere Colonoscopy.status = 'completed'\n\t\t \tand Global."Normalize Interval"(Colonoscopy.performed) ends 10 years or less on or before end of "Measurement Period"\n\ndefine "Numerator":\n\texists "Colonoscopy Performed"\n\t\tor exists "Fecal Occult Blood Test Performed"\n\t\tor exists "Flexible Sigmoidoscopy Performed"\n\t\tor exists "Fecal Immunochemical Test DNA"\n\t\tor exists "CT Colonography Performed"\n\ndefine "Denominator Exclusion":\n\tHospice."Has Hospice"("Measurement Period")\n\t\tor exists "Malignant Neoplasm Ever"\n\t\tor exists "Total Colectomy Performed"\n\ndefine "Initial Population":\n\tGlobal."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period") in Interval[50, 75]\n\t\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")\n
\n \n \n
\n
" }, - "extension": [ { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" + "version": "7.2.000", + "name": "EXM130_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-Hospice-FHIR3-1.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + } ], + "dataRequirement": [ { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTEzMF9GSElSMyIgdmVyc2lvbj0iNy4yLjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMiIHBhdGg9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMiIHZlcnNpb249IjEuMS4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9Ikhvc3BpY2UiIHBhdGg9Ikhvc3BpY2VfRkhJUjMiIHZlcnNpb249IjEuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU0RFIiBwYXRoPSJTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMiIHZlcnNpb249IjEuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHBhcmFtZXRlcnM+DQogICAgICA8ZGVmIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZGVmYXVsdCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDE5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICAgICA8eWVhciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIwMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZGVmYXVsdD4NCiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L3BhcmFtZXRlclR5cGVTcGVjaWZpZXI+DQogICAgICA8L2RlZj4NCiAgIDwvcGFyYW1ldGVycz4NCiAgIDx2YWx1ZVNldHM+DQogICAgICA8ZGVmIG5hbWU9Ik9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFdGhuaWNpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUGF5ZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkNvbG9ub3Njb3B5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA4LjEyLjEwMjAiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRmVjYWwgT2NjdWx0IEJsb29kIFRlc3QgKEZPQlQpIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwMTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRmxleGlibGUgU2lnbW9pZG9zY29weSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDEwIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik1hbGlnbmFudCBOZW9wbGFzbSBvZiBDb2xvbiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOC4xMi4xMDAxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlRvdGFsIENvbGVjdG9teSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDE5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkZJVCBETkEiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAzOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJDVCBDb2xvbm9ncmFwaHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAzOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC92YWx1ZVNldHM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgRXRobmljaXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBFdGhuaWNpdHkiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFBheWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBQYXllciIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgUmFjZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgUmFjZSIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgU2V4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBTZXgiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkZsZXhpYmxlIFNpZ21vaWRvc2NvcHkgUGVyZm9ybWVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJGbGV4aWJsZVNpZ21vaWRvc2NvcHkiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRmxleGlibGUgU2lnbW9pZG9zY29weSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRmxleGlibGVTaWdtb2lkb3Njb3B5IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJGbGV4aWJsZVNpZ21vaWRvc2NvcHkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSI1IiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNUIENvbG9ub2dyYXBoeSBQZXJmb3JtZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkNvbG9ub2dyYXBoeSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJDVCBDb2xvbm9ncmFwaHkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkNvbG9ub2dyYXBoeSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEludGVydmFsIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQ29sb25vZ3JhcGh5IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iNSIgdW5pdD0ieWVhcnMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb3RhbCBDb2xlY3RvbXkgUGVyZm9ybWVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb2xlY3RvbXkiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iVG90YWwgQ29sZWN0b215IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJDb2xlY3RvbXkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTYW1lT3JCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkNvbGVjdG9teSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJNYWxpZ25hbnQgTmVvcGxhc20gRXZlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQ29sb3JlY3RhbENhbmNlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJNYWxpZ25hbnQgTmVvcGxhc20gb2YgQ29sb24iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IlNhbWVPckJlZm9yZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJDb2xvcmVjdGFsQ2FuY2VyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkZlY2FsIE9jY3VsdCBCbG9vZCBUZXN0IFBlcmZvcm1lZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRmVjYWxPY2N1bHRSZXN1bHQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJGZWNhbCBPY2N1bHQgQmxvb2QgVGVzdCAoRk9CVCkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRmVjYWxPY2N1bHRSZXN1bHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFtZW5kZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29ycmVjdGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InByZWxpbWluYXJ5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiBzY29wZT0iRmVjYWxPY2N1bHRSZXN1bHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJJbmNsdWRlZEluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkZlY2FsT2NjdWx0UmVzdWx0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJGZWNhbCBJbW11bm9jaGVtaWNhbCBUZXN0IEROQSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRml0RE5BIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRklUIEROQSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJGaXRETkEiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFtZW5kZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29ycmVjdGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InByZWxpbWluYXJ5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiBzY29wZT0iRml0RE5BIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJGaXRETkEiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIzIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNvbG9ub3Njb3B5IFBlcmZvcm1lZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQ29sb25vc2NvcHkiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29sb25vc2NvcHkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkNvbG9ub3Njb3B5IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJDb2xvbm9zY29weSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEwIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik51bWVyYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDb2xvbm9zY29weSBQZXJmb3JtZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkZlY2FsIE9jY3VsdCBCbG9vZCBUZXN0IFBlcmZvcm1lZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRmxleGlibGUgU2lnbW9pZG9zY29weSBQZXJmb3JtZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkZlY2FsIEltbXVub2NoZW1pY2FsIFRlc3QgRE5BIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDVCBDb2xvbm9ncmFwaHkgUGVyZm9ybWVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2x1c2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkhhcyBIb3NwaWNlIiBsaWJyYXJ5TmFtZT0iSG9zcGljZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNYWxpZ25hbnQgTmVvcGxhc20gRXZlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG90YWwgQ29sZWN0b215IFBlcmZvcm1lZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbml0aWFsIFBvcHVsYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI1MCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxoaWdoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNzUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlF1YWxpZnlpbmcgRW5jb3VudGVycyIgbGlicmFyeU5hbWU9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE0xMzBfRkhJUjMgdmVyc2lvbiAnNy4yLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEzMHY3IC0gQ29sb3JlY3RhbCBDYW5jZXIgU2NyZWVuaW5nCiovCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMgdmVyc2lvbiAnMS4xLjAwMCcgY2FsbGVkIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMKaW5jbHVkZSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcgY2FsbGVkIEdsb2JhbAppbmNsdWRlIEhvc3BpY2VfRkhJUjMgdmVyc2lvbiAnMS4wLjAwMCcgY2FsbGVkIEhvc3BpY2UKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIHZlcnNpb24gJzEuMC4wJyBjYWxsZWQgU0RFCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiQ29sb25vc2NvcHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA4LjEyLjEwMjAnCnZhbHVlc2V0ICJGZWNhbCBPY2N1bHQgQmxvb2QgVGVzdCAoRk9CVCkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwMTEnCnZhbHVlc2V0ICJGbGV4aWJsZSBTaWdtb2lkb3Njb3B5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDEwJwp2YWx1ZXNldCAiTWFsaWduYW50IE5lb3BsYXNtIG9mIENvbG9uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOC4xMi4xMDAxJwp2YWx1ZXNldCAiVG90YWwgQ29sZWN0b215IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDE5Jwp2YWx1ZXNldCAiRklUIEROQSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAzOScKdmFsdWVzZXQgIkNUIENvbG9ub2dyYXBoeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAzOCcKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KICAgIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCkKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CiAgU0RFLiJTREUgUGF5ZXIiCgpkZWZpbmUgIlNERSBSYWNlIjoKICBTREUuIlNERSBSYWNlIgoKZGVmaW5lICJTREUgU2V4IjoKICBTREUuIlNERSBTZXgiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKCXRydWUKCmRlZmluZSAiRmxleGlibGUgU2lnbW9pZG9zY29weSBQZXJmb3JtZWQiOgoJW1Byb2NlZHVyZTogIkZsZXhpYmxlIFNpZ21vaWRvc2NvcHkiXSBGbGV4aWJsZVNpZ21vaWRvc2NvcHkKCQl3aGVyZSBGbGV4aWJsZVNpZ21vaWRvc2NvcHkuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihGbGV4aWJsZVNpZ21vaWRvc2NvcHkucGVyZm9ybWVkKSBlbmRzIDUgeWVhcnMgb3IgbGVzcyBvbiBvciBiZWZvcmUgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkNUIENvbG9ub2dyYXBoeSBQZXJmb3JtZWQiOgoJW1Byb2NlZHVyZTogIkNUIENvbG9ub2dyYXBoeSJdIENvbG9ub2dyYXBoeQoJCXdoZXJlIENvbG9ub2dyYXBoeS5zdGF0dXMgPSAnY29tcGxldGVkJwoJCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKENvbG9ub2dyYXBoeS5wZXJmb3JtZWQpIGVuZHMgNSB5ZWFycyBvciBsZXNzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiVG90YWwgQ29sZWN0b215IFBlcmZvcm1lZCI6CglbUHJvY2VkdXJlOiAiVG90YWwgQ29sZWN0b215Il0gQ29sZWN0b215CgkJd2hlcmUgQ29sZWN0b215LnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29sZWN0b215LnBlcmZvcm1lZCkgc3RhcnRzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiTWFsaWduYW50IE5lb3BsYXNtIEV2ZXIiOgoJW0NvbmRpdGlvbjogIk1hbGlnbmFudCBOZW9wbGFzbSBvZiBDb2xvbiJdIENvbG9yZWN0YWxDYW5jZXIKCQl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoQ29sb3JlY3RhbENhbmNlci5vbnNldCkgc3RhcnRzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiRmVjYWwgT2NjdWx0IEJsb29kIFRlc3QgUGVyZm9ybWVkIjoKCVtPYnNlcnZhdGlvbjogIkZlY2FsIE9jY3VsdCBCbG9vZCBUZXN0IChGT0JUKSJdIEZlY2FsT2NjdWx0UmVzdWx0CgkJd2hlcmUgRmVjYWxPY2N1bHRSZXN1bHQuc3RhdHVzIGluIHsgJ2ZpbmFsJywgJ2FtZW5kZWQnLCAnY29ycmVjdGVkJywgJ3ByZWxpbWluYXJ5JyB9CgkJCWFuZCBGZWNhbE9jY3VsdFJlc3VsdC52YWx1ZSBpcyBub3QgbnVsbAoJCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEZlY2FsT2NjdWx0UmVzdWx0LmVmZmVjdGl2ZSkgZHVyaW5nIGRheSBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkvLyBhbmQgRmVjYWxPY2N1bHRSZXN1bHQuRkhJUi5wcm92ZW5hbmNlLnJlY29yZGVkIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJGZWNhbCBJbW11bm9jaGVtaWNhbCBUZXN0IEROQSI6CglbT2JzZXJ2YXRpb246ICJGSVQgRE5BIl0gRml0RE5BCgkJd2hlcmUgRml0RE5BLnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcsICdwcmVsaW1pbmFyeScgfQoJCQlhbmQgRml0RE5BLnZhbHVlIGlzIG5vdCBudWxsCgkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoRml0RE5BLmVmZmVjdGl2ZSkgb2NjdXJzIDMgeWVhcnMgb3IgbGVzcyBvbiBvciBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkvLyBhbmQgRml0RE5BLkZISVIucHJvdmVuYW5jZS5yZWNvcmRlZCBvY2N1cnMgMyB5ZWFycyBvciBsZXNzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiQ29sb25vc2NvcHkgUGVyZm9ybWVkIjoKCVtQcm9jZWR1cmU6ICJDb2xvbm9zY29weSJdIENvbG9ub3Njb3B5CgkJd2hlcmUgQ29sb25vc2NvcHkuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkgCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29sb25vc2NvcHkucGVyZm9ybWVkKSBlbmRzIDEwIHllYXJzIG9yIGxlc3Mgb24gb3IgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJOdW1lcmF0b3IiOgoJZXhpc3RzICJDb2xvbm9zY29weSBQZXJmb3JtZWQiCgkJb3IgZXhpc3RzICJGZWNhbCBPY2N1bHQgQmxvb2QgVGVzdCBQZXJmb3JtZWQiCgkJb3IgZXhpc3RzICJGbGV4aWJsZSBTaWdtb2lkb3Njb3B5IFBlcmZvcm1lZCIKCQlvciBleGlzdHMgIkZlY2FsIEltbXVub2NoZW1pY2FsIFRlc3QgRE5BIgoJCW9yIGV4aXN0cyAiQ1QgQ29sb25vZ3JhcGh5IFBlcmZvcm1lZCIKCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9uIjoKCUhvc3BpY2UuIkhhcyBIb3NwaWNlIigiTWVhc3VyZW1lbnQgUGVyaW9kIikKCQlvciBleGlzdHMgIk1hbGlnbmFudCBOZW9wbGFzbSBFdmVyIgoJCW9yIGV4aXN0cyAiVG90YWwgQ29sZWN0b215IFBlcmZvcm1lZCIKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKCUdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSBpbiBJbnRlcnZhbFs1MCwgNzVdCgkJCWFuZCBleGlzdHMgQWR1bHRPdXRwYXRpZW50RW5jb3VudGVycy4iUXVhbGlmeWluZyBFbmNvdW50ZXJzIigiTWVhc3VyZW1lbnQgUGVyaW9kIikK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-EXM130-FHIR3-7.2.000" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.292", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292", + "title": "Emergency Department Visit", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "4525004", + "display": "Emergency department patient visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "resource": { + "resourceType": "Bundle", + "id": "tests-Procedure-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Procedure", + "id": "numer-EXM130-FHIR3-1", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-procedure" ] + }, + "status": "completed", + "code": { + "coding": [ { + "system": "http://www.ama-assn.org/go/cpt", + "code": "44393", + "display": "Colonoscopy through stoma; with ablation of tumor(s), polyp(s), or other lesion(s) not amenable to removal by hot biopsy forceps, bipolar cautery or snare technique" + } ] + }, + "subject": { + "reference": "Patient/numer-EXM130-FHIR3" + }, + "performedPeriod": { + "start": "2010-01-01T00:00:00", + "end": "2010-01-01T01:00:00" + } + }, + "request": { + "method": "PUT", + "url": "Procedure/numer-EXM130-FHIR3-1" } + } ] + }, + "request": { + "method": "PUT", + "url": "tests-Procedure-bundle" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1019", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1019" + } ], + "version": "20171222", + "name": "TotalColectomy", + "title": "Total Colectomy", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2006", + "concept": [ { + "code": "44152", + "display": "Colectomy, total, abdominal, without proctectomy; with rectal mucosectomy, ileoanal anastomosis, with or without loop ileostomy" + }, { + "code": "44153", + "display": "Colectomy, total, abdominal, without proctectomy; with rectal mucosectomy, ileoanal anastomosis, creation of ileal reservoir (S or J), with or without loop ileostomy" + } ] + }, { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "44150", + "display": "Colectomy, total, abdominal, without proctectomy; with ileostomy or ileoproctostomy" + }, { + "code": "44151", + "display": "Colectomy, total, abdominal, without proctectomy; with continent ileostomy" + }, { + "code": "44155", + "display": "Colectomy, total, abdominal, with proctectomy; with ileostomy" + }, { + "code": "44156", + "display": "Colectomy, total, abdominal, with proctectomy; with continent ileostomy" + }, { + "code": "44157", + "display": "Colectomy, total, abdominal, with proctectomy; with ileoanal anastomosis, includes loop ileostomy, and rectal mucosectomy, when performed" + }, { + "code": "44158", + "display": "Colectomy, total, abdominal, with proctectomy; with ileoanal anastomosis, creation of ileal reservoir (S or J), includes loop ileostomy, and rectal mucosectomy, when performed" + }, { + "code": "44210", + "display": "Laparoscopy, surgical; colectomy, total, abdominal, without proctectomy, with ileostomy or ileoproctostomy" + }, { + "code": "44211", + "display": "Laparoscopy, surgical; colectomy, total, abdominal, with proctectomy, with ileoanal anastomosis, creation of ileal reservoir (S or J), with loop ileostomy, includes rectal mucosectomy, when performed" + }, { + "code": "44212", + "display": "Laparoscopy, surgical; colectomy, total, abdominal, with proctectomy, with ileostomy" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "26390003", + "display": "Total colectomy (procedure)" + }, { + "code": "303401008", + "display": "Parks panproctocolectomy, anastomosis of ileum to anus and creation of pouch (procedure)" + }, { + "code": "307666008", + "display": "Total colectomy and ileostomy (procedure)" + }, { + "code": "307667004", + "display": "Total colectomy, ileostomy and rectal mucous fistula (procedure)" + }, { + "code": "307669001", + "display": "Total colectomy, ileostomy and closure of rectal stump (procedure)" + }, { + "code": "31130001", + "display": "Total abdominal colectomy with proctectomy and ileostomy (procedure)" + }, { + "code": "36192008", + "display": "Total abdominal colectomy with ileoproctostomy (procedure)" + }, { + "code": "44751009", + "display": "Total abdominal colectomy with proctectomy and continent ileostomy (procedure)" + }, { + "code": "456004", + "display": "Total abdominal colectomy with ileostomy (procedure)" + }, { + "code": "80294005", + "display": "Total abdominal colectomy with rectal mucosectomy and ileoanal anastomosis (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019" + } + }, { + "resource": { + "resourceType": "Patient", + "id": "numer-EXM130-FHIR3", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] + }, + "extension": [ { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2028-9", + "display": "Asian" + } + } ] + }, { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2135-2", + "display": "Hispanic or Latino" + } + } ] + } ], + "identifier": [ { + "use": "usual", + "type": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MR", + "display": "Medical Record Number" + } ] + }, + "system": "http://hospital.smarthealthit.org", + "value": "999999992" + } ], + "name": [ { + "family": "Blitz", + "given": [ "Don" ] + } ], + "gender": "male", + "birthDate": "1965-01-01" + }, + "request": { + "method": "PUT", + "url": "Patient/numer-EXM130-FHIR3" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-AdultOutpatientEncounters-FHIR3-1.1.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-AdultOutpatientEncounters-FHIR3-1.1.000
Type: Logic Library
Version: 1.1.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016

Content: type: text/cql
library AdultOutpatientEncounters_FHIR3 version '1.1.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "Annual Wellness Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\n\ncontext Patient\n\ndefine function "Qualifying Encounters"(MeasurementPeriod Interval<DateTime>):\n\t(\n\t    [Encounter: "Office Visit"]\n\t\tunion [Encounter: "Annual Wellness Visit"] \n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Home Healthcare Services"]\n    ) ValidEncounter\n\t\twhere ValidEncounter.period during day of MeasurementPeriod\n\t\tand ValidEncounter.status  = 'finished' \n
\n \n \n
\n
" + }, + "version": "1.1.000", + "name": "AdultOutpatientEncounters_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMiIHZlcnNpb249IjEuMS4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT2ZmaWNlIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iQW5udWFsIFdlbGxuZXNzIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgLSBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUXVhbGlmeWluZyBFbmNvdW50ZXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZhbGlkRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik9mZmljZSBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJBbm51YWwgV2VsbG5lc3MgVmlzaXQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW5jbHVkZWRJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWYWxpZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudFBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iVmFsaWRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIHZlcnNpb24gJzEuMS4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnCnZhbHVlc2V0ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCcKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMnCnZhbHVlc2V0ICJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYnCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIihNZWFzdXJlbWVudFBlcmlvZCBJbnRlcnZhbDxEYXRlVGltZT4pOgoJKAoJICAgIFtFbmNvdW50ZXI6ICJPZmZpY2UgVmlzaXQiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIl0KICAgICkgVmFsaWRFbmNvdW50ZXIKCQl3aGVyZSBWYWxpZEVuY291bnRlci5wZXJpb2QgZHVyaW5nIGRheSBvZiBNZWFzdXJlbWVudFBlcmlvZAoJCWFuZCBWYWxpZEVuY291bnRlci5zdGF0dXMgID0gJ2ZpbmlzaGVkJyAK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-Hospice-FHIR3-1.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-Hospice-FHIR3-1.0.000
Type: Logic Library
Version: 1.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15

Content: type: text/cql
library Hospice_FHIR3 version '1.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "SNOMEDCT:2017-09": 'http://snomed.info/sct/731000124108' version 'http://snomed.info/sct/731000124108/version/201709'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Hospice care ambulatory": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15'\n\ncode "Discharge to healthcare facility for hospice care (procedure)": '428371000124100' from "SNOMEDCT:2017-09" display 'Discharge to healthcare facility for hospice care (procedure)'\ncode "Discharge to home for hospice care (procedure)": '428361000124107' from "SNOMEDCT:2017-09" display 'Discharge to home for hospice care (procedure)'\n\ncontext Patient\n\ndefine function "Has Hospice"(MeasurementPeriod Interval<DateTime>):\n\texists (\n\t    [Encounter: "Encounter Inpatient"] DischargeHospice\n\t\t\twhere DischargeHospice.status = 'final'\n\t\t\t    and (\n\t\t\t        FHIRHelpers.ToConcept(DischargeHospice.hospitalization.dischargeDisposition).codes[0] ~ "Discharge to home for hospice care (procedure)"\n\t\t\t\t\t    or FHIRHelpers.ToConcept(DischargeHospice.hospitalization.dischargeDisposition).codes[0] ~ "Discharge to healthcare facility for hospice care (procedure)"\n\t\t\t    )\n\t\t\t\tand DischargeHospice.period ends during day of MeasurementPeriod\n\t)\n    or exists (\n        [ProcedureRequest: "Hospice care ambulatory"] HospiceOrder\n            where HospiceOrder.intent = 'order'\n                and HospiceOrder.authoredOn in day of MeasurementPeriod\n    )\n    or exists (\n        [Procedure: "Hospice care ambulatory"] HospicePerformed\n            where HospicePerformed.status = 'completed'\n                and Global."Normalize Interval"(HospicePerformed.performed) overlaps MeasurementPeriod\n    )\n
\n \n \n
\n
" + }, + "version": "1.0.000", + "name": "Hospice_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9Ikhvc3BpY2VfRkhJUjMiIHZlcnNpb249IjEuMC4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IlNOT01FRENUOjIwMTctMDkiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgdmVyc2lvbj0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpY2UgY2FyZSBhbWJ1bGF0b3J5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTA4LjE1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgaWQ9IjQyODM3MTAwMDEyNDEwMCIgZGlzcGxheT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVDoyMDE3LTA5Ii8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgaWQ9IjQyODM2MTAwMDEyNDEwNyIgZGlzcGxheT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVDoyMDE3LTA5Ii8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIYXMgSG9zcGljZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRGlzY2hhcmdlSG9zcGljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkRpc2NoYXJnZUhvc3BpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmRleGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmRleGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikhvc3BpY2VPcmRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSG9zcGljZSBjYXJlIGFtYnVsYXRvcnkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9Ikhvc3BpY2VPcmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJIb3NwaWNlT3JkZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGljZVBlcmZvcm1lZCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iSG9zcGljZVBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik92ZXJsYXBzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9Ikhvc3BpY2VQZXJmb3JtZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBIb3NwaWNlX0ZISVIzIHZlcnNpb24gJzEuMC4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiU05PTUVEQ1Q6MjAxNy0wOSI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcgdmVyc2lvbiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDknCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMDguMTUnCgpjb2RlICJEaXNjaGFyZ2UgdG8gaGVhbHRoY2FyZSBmYWNpbGl0eSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIjogJzQyODM3MTAwMDEyNDEwMCcgZnJvbSAiU05PTUVEQ1Q6MjAxNy0wOSIgZGlzcGxheSAnRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKScKY29kZSAiRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSI6ICc0MjgzNjEwMDAxMjQxMDcnIGZyb20gIlNOT01FRENUOjIwMTctMDkiIGRpc3BsYXkgJ0Rpc2NoYXJnZSB0byBob21lIGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSknCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiSGFzIEhvc3BpY2UiKE1lYXN1cmVtZW50UGVyaW9kIEludGVydmFsPERhdGVUaW1lPik6CglleGlzdHMgKAoJICAgIFtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRGlzY2hhcmdlSG9zcGljZQoJCQl3aGVyZSBEaXNjaGFyZ2VIb3NwaWNlLnN0YXR1cyA9ICdmaW5hbCcKCQkJICAgIGFuZCAoCgkJCSAgICAgICAgRkhJUkhlbHBlcnMuVG9Db25jZXB0KERpc2NoYXJnZUhvc3BpY2UuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uKS5jb2Rlc1swXSB+ICJEaXNjaGFyZ2UgdG8gaG9tZSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIgoJCQkJCSAgICBvciBGSElSSGVscGVycy5Ub0NvbmNlcHQoRGlzY2hhcmdlSG9zcGljZS5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24pLmNvZGVzWzBdIH4gIkRpc2NoYXJnZSB0byBoZWFsdGhjYXJlIGZhY2lsaXR5IGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSkiCgkJCSAgICApCgkJCQlhbmQgRGlzY2hhcmdlSG9zcGljZS5wZXJpb2QgZW5kcyBkdXJpbmcgZGF5IG9mIE1lYXN1cmVtZW50UGVyaW9kCgkpCiAgICBvciBleGlzdHMgKAogICAgICAgIFtQcm9jZWR1cmVSZXF1ZXN0OiAiSG9zcGljZSBjYXJlIGFtYnVsYXRvcnkiXSBIb3NwaWNlT3JkZXIKICAgICAgICAgICAgd2hlcmUgSG9zcGljZU9yZGVyLmludGVudCA9ICdvcmRlcicKICAgICAgICAgICAgICAgIGFuZCBIb3NwaWNlT3JkZXIuYXV0aG9yZWRPbiBpbiBkYXkgb2YgTWVhc3VyZW1lbnRQZXJpb2QKICAgICkKICAgIG9yIGV4aXN0cyAoCiAgICAgICAgW1Byb2NlZHVyZTogIkhvc3BpY2UgY2FyZSBhbWJ1bGF0b3J5Il0gSG9zcGljZVBlcmZvcm1lZAogICAgICAgICAgICB3aGVyZSBIb3NwaWNlUGVyZm9ybWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICAgICAgICAgICAgICBhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEhvc3BpY2VQZXJmb3JtZWQucGVyZm9ybWVkKSBvdmVybGFwcyBNZWFzdXJlbWVudFBlcmlvZAogICAgKQo=" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-Hospice-FHIR3-1.0.000" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1001", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1001" + } ], + "version": "20180310", + "name": "OfficeVisit", + "title": "Office Visit", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99201", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99202", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: An expanded problem focused history; An expanded problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 20 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99203", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A detailed history; A detailed examination; Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate severity. Typically, 30 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99204", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 45 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99205", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 60 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99212", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99213", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: An expanded problem focused history; An expanded problem focused examination; Medical decision making of low complexity. Counseling and coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 15 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99214", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A detailed history; A detailed examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 25 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99215", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 40 minutes are spent face-to-face with the patient and/or family." + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "185463005", + "display": "Visit out of hours (procedure)" + }, { + "code": "185464004", + "display": "Out of hours visit - not night visit (procedure)" + }, { + "code": "185465003", + "display": "Weekend visit (procedure)" + }, { + "code": "30346009", + "display": "Evaluation and management of established outpatient in office or other outpatient facility (procedure)" + }, { + "code": "3391000175108", + "display": "Office visit for pediatric care and assessment (procedure)" + }, { + "code": "37894004", + "display": "Evaluation and management of new outpatient in office or other outpatient facility (procedure)" + }, { + "code": "439740005", + "display": "Postoperative follow-up visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1023", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1023" + } ], + "version": "20170504", + "name": "PreventiveCareServices-InitialOfficeVisit,18andUp", + "title": "Preventive Care Services-Initial Office Visit, 18 and Up", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99385", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 18-39 years" + }, { + "code": "99386", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 40-64 years" + }, { + "code": "99387", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 65 years and older" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } + }, { + "resource": { + "resourceType": "Patient", + "id": "denom-EXM130-FHIR3", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] + }, + "extension": [ { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2028-9", + "display": "Asian" + } + } ] + }, { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2135-2", + "display": "Hispanic or Latino" + } + } ] + } ], + "identifier": [ { + "use": "usual", + "type": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MR", + "display": "Medical Record Number" + } ] + }, + "system": "http://hospital.smarthealthit.org", + "value": "999999992" + } ], + "name": [ { + "family": "Dere", + "given": [ "Ben" ] + } ], + "gender": "male", + "birthDate": "1965-01-01" + }, + "request": { + "method": "PUT", + "url": "Patient/denom-EXM130-FHIR3" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-2.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-2.0.000
Type: Logic Library
Version: 2.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '2.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t    and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] C where C.id = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t\treturn singleton from ([Condition] C where C.id = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "2.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMDUiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIwNSIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVSIiBpZD0iRVIiIGRpc3BsYXk9IkVtZXJnZW5jeSByb29tIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSUNVIiBpZD0iSUNVIiBkaXNwbGF5PSJJbnRlbnNpdmUgY2FyZSB1bml0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikxlbmd0aEluRGF5cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGlmZmVyZW5jZUJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJJbnBhdGllbnQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgIDx5ZWFyIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwveWVhcj4NCiAgICAgICAgICAgIDxtb250aCBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9tb250aD4NCiAgICAgICAgICAgIDxkYXkgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L2RheT4NCiAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHRpbWV6b25lT2Zmc2V0IHhzaTp0eXBlPSJUaW1lem9uZUZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3RpbWV6b25lT2Zmc2V0Pg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2RheSIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbk1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImhvdXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDxlbHNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlgiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFREVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFREVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgIDx0aGVuIHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTGVuZ3RoIG9mIFN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQWRtaXNzaW9uIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIERpc2NoYXJnZSBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGl0YWxMb2NhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8c29ydD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxieSBkaXJlY3Rpb249ImFzYyIgeHNpOnR5cGU9IkJ5RXhwcmVzc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvbmRpdGlvbiIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyb2xlIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpbGxpbmciIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlZ2VyIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyYW5rIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29uZGl0aW9uIiBzY29wZT0iUEQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldExvY2F0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxvY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkxvY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlZmVyZW5jZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0RXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldFByb3ZlbmFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm92ZW5hbmNlIiBjb2RlUHJvcGVydHk9InRhcmdldCIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldE1lZGljYXRpb25Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlcXVlc3QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVxdWVzdCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwoKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnCmNvZGUgIkVSIjogJ0VSJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnRW1lcmdlbmN5IHJvb20nCmNvZGUgIklDVSI6ICdJQ1UnIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdJbnRlbnNpdmUgY2FyZSB1bml0Jwpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIiOgoJW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFbmNvdW50ZXJJbnBhdGllbnQKCQl3aGVyZSBFbmNvdW50ZXJJbnBhdGllbnQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCSAgICBhbmQgIkxlbmd0aEluRGF5cyIoRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCkgPD0gMTIwCgkJCWFuZCBFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kIGVuZHMgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgZnVuY3Rpb24gIlRvRGF0ZSIoVmFsdWUgRGF0ZVRpbWUpOgoJRGF0ZVRpbWUoeWVhciBmcm9tIFZhbHVlLCBtb250aCBmcm9tIFZhbHVlLCBkYXkgZnJvbSBWYWx1ZSwgMCwgMCwgMCwgMCwgdGltZXpvbmUgZnJvbSBWYWx1ZSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbkRheXNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6CglkYXlzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5cyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluRGF5c0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6Cgltb250aHMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCXllYXJzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluWWVhcnMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJblllYXJzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiTGVuZ3RoSW5EYXlzIihWYWx1ZSBJbnRlcnZhbDxEYXRlVGltZT4pOgoJZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgVmFsdWUgYW5kIGVuZCBvZiBWYWx1ZQoKZGVmaW5lIGZ1bmN0aW9uICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKICAgIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXSBFRFZpc2l0CiAgICAgICAgICAgIHdoZXJlIEVEVmlzaXQuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgICAgICAgICAgICAgYW5kIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCkKICAgICkKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJKCAiRUQgVmlzaXQiKFRoZUVuY291bnRlcikgKSBYCiAgICByZXR1cm4KICAgICAgICBpZiBYIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgZWxzZSBJbnRlcnZhbFtzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFgucGVyaW9kKSwgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCldCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIEVERW5jb3VudGVyCiAgICByZXR1cm4KICAgICAgICBpZiBFREVuY291bnRlciBpcyBudWxsIHRoZW4gVGhlRW5jb3VudGVyLmxvY2F0aW9uCiAgICAgICAgZWxzZSBmbGF0dGVuIHsgRURFbmNvdW50ZXIubG9jYXRpb24sIFRoZUVuY291bnRlci5sb2NhdGlvbiB9CgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMZW5ndGggb2YgU3RheSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCUxlbmd0aEluRGF5cygiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIpKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWwgRGlzY2hhcmdlIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgllbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEZpcnN0KAoJICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCXNvcnQgYnkgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChwZXJpb2QpCgkpLnBlcmlvZCkKCi8vIFRPRE8gLSBmaXggdGhlc2UgKG11c3QgZmV0Y2ggTG9jYXRpb24gcmVzb3VyY2VzIGFuZCBjb21wYXJlIGlkIHRvIHJlZmVyZW5jZSkKLypkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIERlcGFydHVyZSBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoTGFzdCgKCSAgICAoICJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIihUaGVFbmNvdW50ZXIpICkgSG9zcGl0YWxMb2NhdGlvbgoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkVtZXJnZW5jeSBEZXBhcnRtZW50IEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoKAoJICAgIHNpbmdsZXRvbiBmcm9tICgKCSAgICAgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJFUiIKCQkpCgkpLnBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiRmlyc3QgSW5wYXRpZW50IEludGVuc2l2ZSBDYXJlIFVuaXQiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglGaXJzdCgKCSAgICAoIFRoZUVuY291bnRlci5sb2NhdGlvbiApIEhvc3BpdGFsTG9jYXRpb24KCQkJd2hlcmUgSG9zcGl0YWxMb2NhdGlvbi50eXBlIH4gIklDVSIKCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgVGhlRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKSovCgovKgoqCiogICAgQ1FGTWVhc3VyZXMgQ29tbW9uIExvZ2ljCioKKi8KCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgogIGlmIG9uc2V0IGlzIEZISVIuZGF0ZVRpbWUgdGhlbgoJICBJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLlBlcmlvZCB0aGVuCgkgIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwob25zZXQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIG9uc2V0IGlzIEZISVIuQWdlIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpLAoJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpICsgMSB5ZWFyKQoJZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbiBDb25kaXRpb24pOgoJaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5kYXRlVGltZSldCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5BZ2UgdGhlbgoJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLAoJCQlGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmJvb2xlYW4gdGhlbgoJICBJbnRlcnZhbFtlbmQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgY29uZGl0aW9uLmFzc2VydGVkRGF0ZSkKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJHZXRQcmV2YWxlbmNlUGVyaW9kIihjb25kaXRpb24gQ29uZGl0aW9uKToKICBJbnRlcnZhbFtzdGFydCBvZiAiTm9ybWFsaXplIE9uc2V0Iihjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbikpCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBJbnRlcnZhbCIoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZD4pOgogIGlmIGNob2ljZSBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5kYXRlVGltZSksIEZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZQoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNob2ljZSBhcyBGSElSLlBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcpOgoJTGFzdChTcGxpdCh1cmksICcvJykpCgpkZWZpbmUgZnVuY3Rpb24gIkVuY291bnRlckRpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6CiAgRW5jb3VudGVyLmRpYWdub3NpcyBECiAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKFtDb25kaXRpb25dIEMgd2hlcmUgQy5pZCA9ICJHZXRJZCIoRC5jb25kaXRpb24ucmVmZXJlbmNlKSkKCi8vIFJldHVybnMgdGhlIGNvbmRpdGlvbiB0aGF0IGlzIHNwZWNpZmllZCBhcyB0aGUgcHJpbmNpcGFsIGRpYWdub3NpcyBmb3IgdGhlIGVuY291bnRlcgpkZWZpbmUgZnVuY3Rpb24gIlByaW5jaXBhbERpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6Cgkoc2luZ2xldG9uIGZyb20gKEVuY291bnRlci5kaWFnbm9zaXMgRCB3aGVyZSBELnJvbGUgfiBUb0NvbmNlcHQoIkJpbGxpbmciKSBhbmQgRC5yYW5rID0gMSkpIFBECgkJcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDIHdoZXJlIEMuaWQgPSAiR2V0SWQiKFBELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgbG9jYXRpb24gZm9yIHRoZSBnaXZlbiBsb2NhdGlvbiByZWZlcmVuY2UKZGVmaW5lIGZ1bmN0aW9uIEdldExvY2F0aW9uKHJlZmVyZW5jZSBSZWZlcmVuY2UpOgogIHNpbmdsZXRvbiBmcm9tICgKICAgIFtMb2NhdGlvbl0gTG9jYXRpb24gd2hlcmUgTG9jYXRpb24uaWQudmFsdWUgPSBHZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKQogICkKCi8qCk5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlCkNRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nICsgdXJsKQoJCXJldHVybiBFCgpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UsIHVybCkKCi8qCk5PVEU6IFByb3ZlbmFuY2UgaXMgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIHRoaXMgaXMgcHJvdmlkZWQgb25seSBhcyBhbiBpbGx1c3RyYXRpb24KZm9yIHdoYXQgdXNpbmcgUHJvdmVuYW5jZSBjb3VsZCBsb29rIGxpa2UsIGFuZCBpcyBub3QgYSB0ZXN0ZWQgcGF0dGVybgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldFByb3ZlbmFuY2UiKHJlc291cmNlIFJlc291cmNlKToKICBzaW5nbGV0b24gZnJvbSAoW1Byb3ZlbmFuY2U6IHRhcmdldCBpbiByZXNvdXJjZS5pZF0pCgpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Db2RlIihyZXF1ZXN0IE1lZGljYXRpb25SZXF1ZXN0KToKICBpZiByZXF1ZXN0Lm1lZGljYXRpb24gaXMgQ29kZWFibGVDb25jZXB0IHRoZW4KCSAgcmVxdWVzdC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdAoJZWxzZQoJICAoc2luZ2xldG9uIGZyb20gKFtNZWRpY2F0aW9uOiBpZCBpbiBHZXRJZCgocmVxdWVzdC5tZWRpY2F0aW9uIGFzIFJlZmVyZW5jZSkucmVmZXJlbmNlKV0pKS5jb2RlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-SupplementalDataElements-FHIR3-1.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-SupplementalDataElements-FHIR3-1.0.0
Type: Logic Library
Version: 1.0.0
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Coverage

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591

Content: type: text/cql
library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Payer":\n    [Coverage: type in "Payer"] Payer\n      return {\n        code: Payer.type,\n        period: Payer.period\n      }\n\ndefine "SDE Race":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Sex":\n  case\n    when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n    when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n    else null\n  end\n
\n \n \n
\n
" + }, + "version": "1.0.0", + "name": "SupplementalDataElements_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1" + } ], + "version": "20150331", + "name": "ONCAdministrativeSex", + "title": "ONC Administrative Sex", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + }, { + "code": "M", + "display": "Male" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1025", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1025" + } ], + "version": "20170504", + "name": "PreventiveCareServices-EstablishedOfficeVisit,18andUp", + "title": "Preventive Care Services - Established Office Visit, 18 and Up", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99395", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 18-39 years" + }, { + "code": "99396", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 40-64 years" + }, { + "code": "99397", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 65 years and older" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.837", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.837" + } ], + "version": "20121025", + "name": "Ethnicity", + "title": "Ethnicity", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "2135-2", + "display": "Hispanic or Latino" + }, { + "code": "2186-5", + "display": "Not Hispanic or Latino" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.3591", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.3591" + } ], + "version": "20180718", + "name": "Payer", + "title": "Payer", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.phdsc.org/standards/pdfs/SourceofPaymentTypologyVersion6FINALSeptember2015.pdf", + "version": "8.0", + "concept": [ { + "code": "1", + "display": "MEDICARE" + }, { + "code": "11", + "display": "Medicare (Managed Care)" + }, { + "code": "111", + "display": "Medicare HMO" + }, { + "code": "112", + "display": "Medicare PPO" + }, { + "code": "113", + "display": "Medicare POS" + }, { + "code": "119", + "display": "Medicare Managed Care Other" + }, { + "code": "12", + "display": "Medicare (Non-managed Care)" + }, { + "code": "121", + "display": "Medicare FFS" + }, { + "code": "122", + "display": "Medicare Drug Benefit" + }, { + "code": "123", + "display": "Medicare Medical Savings Account (MSA)" + }, { + "code": "129", + "display": "Medicare Non-managed Care Other" + }, { + "code": "13", + "display": "Medicare Hospice" + }, { + "code": "14", + "display": "Dual Eligibility Medicare/Medicaid Organization" + }, { + "code": "19", + "display": "Medicare Other" + }, { + "code": "191", + "display": "Medicare Pharmacy Benefit Manager" + }, { + "code": "2", + "display": "MEDICAID" + }, { + "code": "21", + "display": "Medicaid (Managed Care)" + }, { + "code": "211", + "display": "Medicaid HMO" + }, { + "code": "212", + "display": "Medicaid PPO" + }, { + "code": "213", + "display": "Medicaid PCCM (Primary Care Case Management)" + }, { + "code": "219", + "display": "Medicaid Managed Care Other" + }, { + "code": "22", + "display": "Medicaid (Non-managed Care Plan)" + }, { + "code": "23", + "display": "Medicaid/SCHIP" + }, { + "code": "25", + "display": "Medicaid - Out of State" + }, { + "code": "26", + "display": "Medicaid -- Long Term Care" + }, { + "code": "29", + "display": "Medicaid Other" + }, { + "code": "291", + "display": "Medicaid Pharmacy Benefit Manager" + }, { + "code": "299", + "display": "Medicaid - Dental" + }, { + "code": "3", + "display": "OTHER GOVERNMENT (Federal/State/Local) (excluding Department of Corrections)" + }, { + "code": "31", + "display": "Department of Defense" + }, { + "code": "311", + "display": "TRICARE (CHAMPUS)" + }, { + "code": "3111", + "display": "TRICARE Prime--HMO" + }, { + "code": "3112", + "display": "TRICARE Extra--PPO" + }, { + "code": "3113", + "display": "TRICARE Standard - Fee For Service" + }, { + "code": "3114", + "display": "TRICARE For Life--Medicare Supplement" + }, { + "code": "3115", + "display": "TRICARE Reserve Select" + }, { + "code": "3116", + "display": "Uniformed Services Family Health Plan (USFHP) -- HMO" + }, { + "code": "3119", + "display": "Department of Defense - (other)" + }, { + "code": "312", + "display": "Military Treatment Facility" + }, { + "code": "3121", + "display": "Enrolled Prime--HMO" + }, { + "code": "3122", + "display": "Non-enrolled Space Available" + }, { + "code": "3123", + "display": "TRICARE For Life (TFL)" + }, { + "code": "313", + "display": "Dental --Stand Alone" + }, { + "code": "32", + "display": "Department of Veterans Affairs" + }, { + "code": "321", + "display": "Veteran care--Care provided to Veterans" + }, { + "code": "3211", + "display": "Direct Care--Care provided in VA facilities" + }, { + "code": "3212", + "display": "Indirect Care--Care provided outside VA facilities" + }, { + "code": "32121", + "display": "Fee Basis" + }, { + "code": "32122", + "display": "Foreign Fee/Foreign Medical Program (FMP)" + }, { + "code": "32123", + "display": "Contract Nursing Home/Community Nursing Home" + }, { + "code": "32124", + "display": "State Veterans Home" + }, { + "code": "32125", + "display": "Sharing Agreements" + }, { + "code": "32126", + "display": "Other Federal Agency" + }, { + "code": "32127", + "display": "Dental Care" + }, { + "code": "32128", + "display": "Vision Care" + }, { + "code": "322", + "display": "Non-veteran care" + }, { + "code": "3221", + "display": "Civilian Health and Medical Program for the VA (CHAMPVA)" + }, { + "code": "3222", + "display": "Spina Bifida Health Care Program (SB)" + }, { + "code": "3223", + "display": "Children of Women Vietnam Veterans (CWVV)" + }, { + "code": "3229", + "display": "Other non-veteran care" + }, { + "code": "33", + "display": "Indian Health Service or Tribe" + }, { + "code": "331", + "display": "Indian Health Service -- Regular" + }, { + "code": "332", + "display": "Indian Health Service -- Contract" + }, { + "code": "333", + "display": "Indian Health Service - Managed Care" + }, { + "code": "334", + "display": "Indian Tribe - Sponsored Coverage" + }, { + "code": "34", + "display": "HRSA Program" + }, { + "code": "341", + "display": "Title V (MCH Block Grant)" + }, { + "code": "342", + "display": "Migrant Health Program" + }, { + "code": "343", + "display": "Ryan White Act" + }, { + "code": "349", + "display": "Other" + }, { + "code": "35", + "display": "Black Lung" + }, { + "code": "36", + "display": "State Government" + }, { + "code": "361", + "display": "State SCHIP program (codes for individual states)" + }, { + "code": "362", + "display": "Specific state programs (list/ local code)" + }, { + "code": "369", + "display": "State, not otherwise specified (other state)" + }, { + "code": "37", + "display": "Local Government" + }, { + "code": "371", + "display": "Local - Managed care" + }, { + "code": "3711", + "display": "HMO" + }, { + "code": "3712", + "display": "PPO" + }, { + "code": "3713", + "display": "POS" + }, { + "code": "372", + "display": "FFS/Indemnity" + }, { + "code": "379", + "display": "Local, not otherwise specified (other local, county)" + }, { + "code": "38", + "display": "Other Government (Federal, State, Local not specified)" + }, { + "code": "381", + "display": "Federal, State, Local not specified managed care" + }, { + "code": "3811", + "display": "Federal, State, Local not specified - HMO" + }, { + "code": "3812", + "display": "Federal, State, Local not specified - PPO" + }, { + "code": "3813", + "display": "Federal, State, Local not specified - POS" + }, { + "code": "3819", + "display": "Federal, State, Local not specified - not specified managed care" + }, { + "code": "382", + "display": "Federal, State, Local not specified - FFS" + }, { + "code": "389", + "display": "Federal, State, Local not specified - Other" + }, { + "code": "39", + "display": "Other Federal" + }, { + "code": "391", + "display": "Federal Employee Health Plan - Use when known" + }, { + "code": "4", + "display": "DEPARTMENTS OF CORRECTIONS" + }, { + "code": "41", + "display": "Corrections Federal" + }, { + "code": "42", + "display": "Corrections State" + }, { + "code": "43", + "display": "Corrections Local" + }, { + "code": "44", + "display": "Corrections Unknown Level" + }, { + "code": "5", + "display": "PRIVATE HEALTH INSURANCE" + }, { + "code": "51", + "display": "Managed Care (Private)" + }, { + "code": "511", + "display": "Commercial Managed Care - HMO" + }, { + "code": "512", + "display": "Commercial Managed Care - PPO" + }, { + "code": "513", + "display": "Commercial Managed Care - POS" + }, { + "code": "514", + "display": "Exclusive Provider Organization" + }, { + "code": "515", + "display": "Gatekeeper PPO (GPPO)" + }, { + "code": "516", + "display": "Commercial Managed Care - Pharmacy Benefit Manager" + }, { + "code": "517", + "display": "Commercial Managed Care - Dental" + }, { + "code": "519", + "display": "Managed Care, Other (non HMO)" + }, { + "code": "52", + "display": "Private Health Insurance - Indemnity" + }, { + "code": "521", + "display": "Commercial Indemnity" + }, { + "code": "522", + "display": "Self-insured (ERISA) Administrative Services Only (ASO) plan" + }, { + "code": "523", + "display": "Medicare supplemental policy (as second payer)" + }, { + "code": "524", + "display": "Indemnity Insurance - Dental" + }, { + "code": "529", + "display": "Private health insurance--other commercial Indemnity" + }, { + "code": "53", + "display": "Managed Care (private) or private health insurance (indemnity), not otherwise specified" + }, { + "code": "54", + "display": "Organized Delivery System" + }, { + "code": "55", + "display": "Small Employer Purchasing Group" + }, { + "code": "56", + "display": "Specialized Stand Alone Plan" + }, { + "code": "561", + "display": "Dental" + }, { + "code": "562", + "display": "Vision" + }, { + "code": "59", + "display": "Other Private Insurance" + }, { + "code": "6", + "display": "BLUE CROSS/BLUE SHIELD" + }, { + "code": "61", + "display": "BC Managed Care" + }, { + "code": "611", + "display": "BC Managed Care -- HMO" + }, { + "code": "612", + "display": "BC Managed Care -- PPO" + }, { + "code": "613", + "display": "BC Managed Care -- POS" + }, { + "code": "614", + "display": "BC Managed Care - Dental" + }, { + "code": "619", + "display": "BC Managed Care -- Other" + }, { + "code": "62", + "display": "BC Insurance Indemnity" + }, { + "code": "621", + "display": "BC Indemnity" + }, { + "code": "622", + "display": "BC Self-insured (ERISA) Administrative Services Only (ASO)Plan" + }, { + "code": "623", + "display": "BC Medicare Supplemental Plan" + }, { + "code": "629", + "display": "BC Indemnity - Dental" + }, { + "code": "7", + "display": "MANAGED CARE, UNSPECIFIED (to be used only if one can't distinguish public from private)" + }, { + "code": "71", + "display": "HMO" + }, { + "code": "72", + "display": "PPO" + }, { + "code": "73", + "display": "POS" + }, { + "code": "79", + "display": "Other Managed Care" + }, { + "code": "8", + "display": "NO PAYMENT from an Organization/Agency/Program/Private Payer Listed" + }, { + "code": "81", + "display": "Self-pay (Includes applicants for insurance and Medicaid applicants)" + }, { + "code": "82", + "display": "No Charge" + }, { + "code": "821", + "display": "Charity" + }, { + "code": "822", + "display": "Professional Courtesy" + }, { + "code": "823", + "display": "Research/Clinical Trial" + }, { + "code": "83", + "display": "Refusal to Pay/Bad Debt" + }, { + "code": "84", + "display": "Hill Burton Free Care" + }, { + "code": "85", + "display": "Research/Donor" + }, { + "code": "89", + "display": "No Payment, Other" + }, { + "code": "9", + "display": "MISCELLANEOUS/OTHER" + }, { + "code": "91", + "display": "Foreign National" + }, { + "code": "92", + "display": "Other (Non-government)" + }, { + "code": "93", + "display": "Disability Insurance" + }, { + "code": "94", + "display": "Long-term Care Insurance" + }, { + "code": "95", + "display": "Worker's Compensation" + }, { + "code": "951", + "display": "Worker's Comp HMO" + }, { + "code": "953", + "display": "Worker's Comp Fee-for-Service" + }, { + "code": "954", + "display": "Worker's Comp Other Managed Care" + }, { + "code": "959", + "display": "Worker's Comp, Other unspecified" + }, { + "code": "96", + "display": "Auto Insurance (includes no fault)" + }, { + "code": "97", + "display": "Legal Liability / Liability Insurance" + }, { + "code": "98", + "display": "Other specified but not otherwise classifiable (includes Hospice - Unspecified plan)" + }, { + "code": "99", + "display": "No Typology Code available for payment source" + }, { + "code": "9999", + "display": "Unavailable / No Payer Specified / Blank" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.836", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.836" } ], - "version": "7.2.000", - "name": "EXM130_FHIR3", + "version": "20121025", + "name": "Race", + "title": "Race", "status": "active", - "experimental": true, - "type": { - "coding": [ { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "1002-5", + "display": "American Indian or Alaska Native" + }, { + "code": "2028-9", + "display": "Asian" + }, { + "code": "2054-5", + "display": "Black or African American" + }, { + "code": "2076-8", + "display": "Native Hawaiian or Other Pacific Islander" + }, { + "code": "2106-3", + "display": "White" + }, { + "code": "2131-1", + "display": "Other Race" + } ] } ] - }, - "content": [ { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE0xMzBfRkhJUjMgdmVyc2lvbiAnNy4yLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEzMHY3IC0gQ29sb3JlY3RhbCBDYW5jZXIgU2NyZWVuaW5nCiovCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMgdmVyc2lvbiAnMS4xLjAwMCcgY2FsbGVkIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMKaW5jbHVkZSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcgY2FsbGVkIEdsb2JhbAppbmNsdWRlIEhvc3BpY2VfRkhJUjMgdmVyc2lvbiAnMS4wLjAwMCcgY2FsbGVkIEhvc3BpY2UKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIHZlcnNpb24gJzEuMC4wJyBjYWxsZWQgU0RFCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiQ29sb25vc2NvcHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA4LjEyLjEwMjAnCnZhbHVlc2V0ICJGZWNhbCBPY2N1bHQgQmxvb2QgVGVzdCAoRk9CVCkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwMTEnCnZhbHVlc2V0ICJGbGV4aWJsZSBTaWdtb2lkb3Njb3B5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDEwJwp2YWx1ZXNldCAiTWFsaWduYW50IE5lb3BsYXNtIG9mIENvbG9uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOC4xMi4xMDAxJwp2YWx1ZXNldCAiVG90YWwgQ29sZWN0b215IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDE5Jwp2YWx1ZXNldCAiRklUIEROQSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAzOScKdmFsdWVzZXQgIkNUIENvbG9ub2dyYXBoeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAzOCcKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KICAgIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCkKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CiAgU0RFLiJTREUgUGF5ZXIiCgpkZWZpbmUgIlNERSBSYWNlIjoKICBTREUuIlNERSBSYWNlIgoKZGVmaW5lICJTREUgU2V4IjoKICBTREUuIlNERSBTZXgiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKCXRydWUKCmRlZmluZSAiRmxleGlibGUgU2lnbW9pZG9zY29weSBQZXJmb3JtZWQiOgoJW1Byb2NlZHVyZTogIkZsZXhpYmxlIFNpZ21vaWRvc2NvcHkiXSBGbGV4aWJsZVNpZ21vaWRvc2NvcHkKCQl3aGVyZSBGbGV4aWJsZVNpZ21vaWRvc2NvcHkuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihGbGV4aWJsZVNpZ21vaWRvc2NvcHkucGVyZm9ybWVkKSBlbmRzIDUgeWVhcnMgb3IgbGVzcyBvbiBvciBiZWZvcmUgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkNUIENvbG9ub2dyYXBoeSBQZXJmb3JtZWQiOgoJW1Byb2NlZHVyZTogIkNUIENvbG9ub2dyYXBoeSJdIENvbG9ub2dyYXBoeQoJCXdoZXJlIENvbG9ub2dyYXBoeS5zdGF0dXMgPSAnY29tcGxldGVkJwoJCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKENvbG9ub2dyYXBoeS5wZXJmb3JtZWQpIGVuZHMgNSB5ZWFycyBvciBsZXNzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiVG90YWwgQ29sZWN0b215IFBlcmZvcm1lZCI6CglbUHJvY2VkdXJlOiAiVG90YWwgQ29sZWN0b215Il0gQ29sZWN0b215CgkJd2hlcmUgQ29sZWN0b215LnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29sZWN0b215LnBlcmZvcm1lZCkgc3RhcnRzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiTWFsaWduYW50IE5lb3BsYXNtIEV2ZXIiOgoJW0NvbmRpdGlvbjogIk1hbGlnbmFudCBOZW9wbGFzbSBvZiBDb2xvbiJdIENvbG9yZWN0YWxDYW5jZXIKCQl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoQ29sb3JlY3RhbENhbmNlci5vbnNldCkgc3RhcnRzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiRmVjYWwgT2NjdWx0IEJsb29kIFRlc3QgUGVyZm9ybWVkIjoKCVtPYnNlcnZhdGlvbjogIkZlY2FsIE9jY3VsdCBCbG9vZCBUZXN0IChGT0JUKSJdIEZlY2FsT2NjdWx0UmVzdWx0CgkJd2hlcmUgRmVjYWxPY2N1bHRSZXN1bHQuc3RhdHVzIGluIHsgJ2ZpbmFsJywgJ2FtZW5kZWQnLCAnY29ycmVjdGVkJywgJ3ByZWxpbWluYXJ5JyB9CgkJCWFuZCBGZWNhbE9jY3VsdFJlc3VsdC52YWx1ZSBpcyBub3QgbnVsbAoJCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEZlY2FsT2NjdWx0UmVzdWx0LmVmZmVjdGl2ZSkgZHVyaW5nIGRheSBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkvLyBhbmQgRmVjYWxPY2N1bHRSZXN1bHQuRkhJUi5wcm92ZW5hbmNlLnJlY29yZGVkIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJGZWNhbCBJbW11bm9jaGVtaWNhbCBUZXN0IEROQSI6CglbT2JzZXJ2YXRpb246ICJGSVQgRE5BIl0gRml0RE5BCgkJd2hlcmUgRml0RE5BLnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcsICdwcmVsaW1pbmFyeScgfQoJCQlhbmQgRml0RE5BLnZhbHVlIGlzIG5vdCBudWxsCgkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoRml0RE5BLmVmZmVjdGl2ZSkgb2NjdXJzIDMgeWVhcnMgb3IgbGVzcyBvbiBvciBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkvLyBhbmQgRml0RE5BLkZISVIucHJvdmVuYW5jZS5yZWNvcmRlZCBvY2N1cnMgMyB5ZWFycyBvciBsZXNzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiQ29sb25vc2NvcHkgUGVyZm9ybWVkIjoKCVtQcm9jZWR1cmU6ICJDb2xvbm9zY29weSJdIENvbG9ub3Njb3B5CgkJd2hlcmUgQ29sb25vc2NvcHkuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkgCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29sb25vc2NvcHkucGVyZm9ybWVkKSBlbmRzIDEwIHllYXJzIG9yIGxlc3Mgb24gb3IgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJOdW1lcmF0b3IiOgoJZXhpc3RzICJDb2xvbm9zY29weSBQZXJmb3JtZWQiCgkJb3IgZXhpc3RzICJGZWNhbCBPY2N1bHQgQmxvb2QgVGVzdCBQZXJmb3JtZWQiCgkJb3IgZXhpc3RzICJGbGV4aWJsZSBTaWdtb2lkb3Njb3B5IFBlcmZvcm1lZCIKCQlvciBleGlzdHMgIkZlY2FsIEltbXVub2NoZW1pY2FsIFRlc3QgRE5BIgoJCW9yIGV4aXN0cyAiQ1QgQ29sb25vZ3JhcGh5IFBlcmZvcm1lZCIKCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9uIjoKCUhvc3BpY2UuIkhhcyBIb3NwaWNlIigiTWVhc3VyZW1lbnQgUGVyaW9kIikKCQlvciBleGlzdHMgIk1hbGlnbmFudCBOZW9wbGFzbSBFdmVyIgoJCW9yIGV4aXN0cyAiVG90YWwgQ29sZWN0b215IFBlcmZvcm1lZCIKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKCUdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSBpbiBJbnRlcnZhbFs1MCwgNzVdCgkJCWFuZCBleGlzdHMgQWR1bHRPdXRwYXRpZW50RW5jb3VudGVycy4iUXVhbGlmeWluZyBFbmNvdW50ZXJzIigiTWVhc3VyZW1lbnQgUGVyaW9kIikK" - } ] + } }, "request": { "method": "PUT", - "url": "Library/library-EXM130-FHIR3-7.2.000" + "url": "ValueSet/2.16.840.1.114222.4.11.836" } }, { "resource": { @@ -253,11 +1831,6 @@ "extension": [ { "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", "valueCode": "boolean" - }, { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-exm130-FHIR3", "identifier": [ { @@ -450,6 +2023,41 @@ "method": "PUT", "url": "Measure/measure-EXM130-FHIR3-7.2.000/_history/4" } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.666.5.307", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.666.5.307" + } ], + "version": "20170504", + "name": "EncounterInpatient", + "title": "Encounter Inpatient", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + }, { + "code": "8715000", + "display": "Hospital admission, elective (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.666.5.307" + } }, { "resource": { "resourceType": "MeasureReport", @@ -652,44 +2260,6 @@ "method": "PUT", "url": "MeasureReport/measurereport-numer-EXM130-FHIR3" } - }, { - "resource": { - "resourceType": "Bundle", - "id": "tests-Procedure-bundle", - "type": "transaction", - "entry": [ { - "resource": { - "resourceType": "Procedure", - "id": "numer-EXM130-FHIR3-1", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-procedure" ] - }, - "status": "completed", - "code": { - "coding": [ { - "system": "http://www.ama-assn.org/go/cpt", - "code": "44393", - "display": "Colonoscopy through stoma; with ablation of tumor(s), polyp(s), or other lesion(s) not amenable to removal by hot biopsy forceps, bipolar cautery or snare technique" - } ] - }, - "subject": { - "reference": "Patient/numer-EXM130-FHIR3" - }, - "performedPeriod": { - "start": "2010-01-01T00:00:00", - "end": "2010-01-01T01:00:00" - } - }, - "request": { - "method": "PUT", - "url": "Procedure/numer-EXM130-FHIR3-1" - } - } ] - }, - "request": { - "method": "PUT", - "url": "tests-Procedure-bundle" - } }, { "resource": { "resourceType": "Bundle", @@ -765,57 +2335,6 @@ "method": "PUT", "url": "Encounter/numer-EXM130-FHIR3-4" } - }, { - "resource": { - "resourceType": "Patient", - "id": "numer-EXM130-FHIR3", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2028-9", - "display": "Asian" - } - } ] - }, { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2135-2", - "display": "Hispanic or Latino" - } - } ] - } ], - "identifier": [ { - "use": "usual", - "type": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "MR", - "display": "Medical Record Number" - } ] - }, - "system": "http://hospital.smarthealthit.org", - "value": "999999992" - } ], - "name": [ { - "family": "Blitz", - "given": [ "Don" ] - } ], - "gender": "male", - "birthDate": "1965-01-01" - }, - "request": { - "method": "PUT", - "url": "Patient/numer-EXM130-FHIR3" - } }, { "resource": { "resourceType": "Procedure", @@ -877,54 +2396,65 @@ } }, { "resource": { - "resourceType": "Patient", - "id": "denom-EXM130-FHIR3", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2028-9", - "display": "Asian" - } + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.526.3.1240", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.526.3.1240" + } ], + "version": "20170504", + "name": "AnnualWellnessVisit", + "title": "Annual Wellness Visit", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/index.html", + "version": "2018", + "concept": [ { + "code": "G0438", + "display": "Annual wellness visit; includes a personalized prevention plan of service (pps), initial visit" + }, { + "code": "G0439", + "display": "Annual wellness visit, includes a personalized prevention plan of service (pps), subsequent visit" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.526.3.1240" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" + }, + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" } ] + }, + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" }, { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2135-2", - "display": "Hispanic or Latino" - } - } ] - } ], - "identifier": [ { - "use": "usual", - "type": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "MR", - "display": "Medical Record Number" - } ] - }, - "system": "http://hospital.smarthealthit.org", - "value": "999999992" - } ], - "name": [ { - "family": "Dere", - "given": [ "Ben" ] - } ], - "gender": "male", - "birthDate": "1965-01-01" + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] }, "request": { "method": "PUT", - "url": "Patient/denom-EXM130-FHIR3" + "url": "Library/library-FHIRHelpers-3.0.0" } }, { "resource": { @@ -953,6 +2483,624 @@ "method": "PUT", "url": "Procedure/denom-EXM130-FHIR3-2" } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1016", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1016" + } ], + "version": "20180310", + "name": "HomeHealthcareServices", + "title": "Home Healthcare Services", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99341", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; and Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low severity. Typically, 20 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99342", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: An expanded problem focused history; An expanded problem focused examination; and Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate severity. Typically, 30 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99343", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A detailed history; A detailed examination; and Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 45 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99344", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; and Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of high severity. Typically, 60 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99345", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; and Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the patient is unstable or has developed a significant new problem requiring immediate physician attention. Typically, 75 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99347", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A problem focused interval history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 15 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99348", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: An expanded problem focused interval history; An expanded problem focused examination; Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 25 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99349", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A detailed interval history; A detailed examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are moderate to high severity. Typically, 40 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99350", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A comprehensive interval history; A comprehensive examination; Medical decision making of moderate to high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. The patient may be unstable or may have developed a significant new problem requiring immediate physician attention. Typically, 60 minutes are spent face-to-face with the patient and/or family." + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "185460008", + "display": "Home visit request by patient (procedure)" + }, { + "code": "185462000", + "display": "Home visit request by relative (procedure)" + }, { + "code": "185466002", + "display": "Home visit for urgent condition (procedure)" + }, { + "code": "185467006", + "display": "Home visit for acute condition (procedure)" + }, { + "code": "185468001", + "display": "Home visit for chronic condition (procedure)" + }, { + "code": "185470005", + "display": "Home visit elderly assessment (procedure)" + }, { + "code": "225929007", + "display": "Joint home visit (procedure)" + }, { + "code": "315205008", + "display": "Bank holiday home visit (procedure)" + }, { + "code": "439708006", + "display": "Home visit (procedure)" + }, { + "code": "698704008", + "display": "Home visit for rheumatology service (procedure)" + }, { + "code": "704126008", + "display": "Home visit for anticoagulant drug monitoring (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.108.12.1020", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.108.12.1020" + } ], + "version": "20171219", + "name": "Colonoscopy", + "title": "Colonoscopy", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2014", + "concept": [ { + "code": "44393", + "display": "Colonoscopy through stoma; with ablation of tumor(s), polyp(s), or other lesion(s) not amenable to removal by hot biopsy forceps, bipolar cautery or snare technique" + }, { + "code": "44397", + "display": "Colonoscopy through stoma; with transendoscopic stent placement (includes predilation)" + }, { + "code": "45355", + "display": "Colonoscopy, rigid or flexible, transabdominal via colotomy, single or multiple" + }, { + "code": "45383", + "display": "Colonoscopy, flexible, proximal to splenic flexure; with ablation of tumor(s), polyp(s), or other lesion(s) not amenable to removal by hot biopsy forceps, bipolar cautery or snare technique" + }, { + "code": "45387", + "display": "Colonoscopy, flexible, proximal to splenic flexure; with transendoscopic stent placement (includes predilation)" + } ] + }, { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "44388", + "display": "Colonoscopy through stoma; diagnostic, including collection of specimen(s) by brushing or washing, when performed (separate procedure)" + }, { + "code": "44389", + "display": "Colonoscopy through stoma; with biopsy, single or multiple" + }, { + "code": "44390", + "display": "Colonoscopy through stoma; with removal of foreign body(s)" + }, { + "code": "44391", + "display": "Colonoscopy through stoma; with control of bleeding, any method" + }, { + "code": "44392", + "display": "Colonoscopy through stoma; with removal of tumor(s), polyp(s), or other lesion(s) by hot biopsy forceps" + }, { + "code": "44394", + "display": "Colonoscopy through stoma; with removal of tumor(s), polyp(s), or other lesion(s) by snare technique" + }, { + "code": "44401", + "display": "Colonoscopy through stoma; with ablation of tumor(s), polyp(s), or other lesion(s) (includes pre-and post-dilation and guide wire passage, when performed)" + }, { + "code": "44402", + "display": "Colonoscopy through stoma; with endoscopic stent placement (including pre- and post-dilation and guide wire passage, when performed)" + }, { + "code": "44403", + "display": "Colonoscopy through stoma; with endoscopic mucosal resection" + }, { + "code": "44404", + "display": "Colonoscopy through stoma; with directed submucosal injection(s), any substance" + }, { + "code": "44405", + "display": "Colonoscopy through stoma; with transendoscopic balloon dilation" + }, { + "code": "44406", + "display": "Colonoscopy through stoma; with endoscopic ultrasound examination, limited to the sigmoid, descending, transverse, or ascending colon and cecum and adjacent structures" + }, { + "code": "44407", + "display": "Colonoscopy through stoma; with transendoscopic ultrasound guided intramural or transmural fine needle aspiration/biopsy(s), includes endoscopic ultrasound examination limited to the sigmoid, descending, transverse, or ascending colon and cecum and adjacent structures" + }, { + "code": "44408", + "display": "Colonoscopy through stoma; with decompression (for pathologic distention) (eg, volvulus, megacolon), including placement of decompression tube, when performed" + }, { + "code": "45378", + "display": "Colonoscopy, flexible; diagnostic, including collection of specimen(s) by brushing or washing, when performed (separate procedure)" + }, { + "code": "45379", + "display": "Colonoscopy, flexible; with removal of foreign body(s)" + }, { + "code": "45380", + "display": "Colonoscopy, flexible; with biopsy, single or multiple" + }, { + "code": "45381", + "display": "Colonoscopy, flexible; with directed submucosal injection(s), any substance" + }, { + "code": "45382", + "display": "Colonoscopy, flexible; with control of bleeding, any method" + }, { + "code": "45384", + "display": "Colonoscopy, flexible; with removal of tumor(s), polyp(s), or other lesion(s) by hot biopsy forceps" + }, { + "code": "45385", + "display": "Colonoscopy, flexible; with removal of tumor(s), polyp(s), or other lesion(s) by snare technique" + }, { + "code": "45386", + "display": "Colonoscopy, flexible; with transendoscopic balloon dilation" + }, { + "code": "45388", + "display": "Colonoscopy, flexible; with ablation of tumor(s), polyp(s), or other lesion(s) (includes pre- and post-dilation and guide wire passage, when performed)" + }, { + "code": "45389", + "display": "Colonoscopy, flexible; with endoscopic stent placement (includes pre- and post-dilation and guide wire passage, when performed)" + }, { + "code": "45390", + "display": "Colonoscopy, flexible; with endoscopic mucosal resection" + }, { + "code": "45391", + "display": "Colonoscopy, flexible; with endoscopic ultrasound examination limited to the rectum, sigmoid, descending, transverse, or ascending colon and cecum, and adjacent structures" + }, { + "code": "45392", + "display": "Colonoscopy, flexible; with transendoscopic ultrasound guided intramural or transmural fine needle aspiration/biopsy(s), includes endoscopic ultrasound examination limited to the rectum, sigmoid, descending, transverse, or ascending colon and cecum, and adjacent structures" + }, { + "code": "45393", + "display": "Colonoscopy, flexible; with decompression (for pathologic distention) (eg, volvulus, megacolon), including placement of decompression tube, when performed" + }, { + "code": "45398", + "display": "Colonoscopy, flexible; with band ligation(s) (eg, hemorrhoids)" + } ] + }, { + "system": "https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/index.html", + "version": "2018", + "concept": [ { + "code": "G0105", + "display": "Colorectal cancer screening; colonoscopy on individual at high risk" + }, { + "code": "G0121", + "display": "Colorectal cancer screening; colonoscopy on individual not meeting criteria for high risk" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "12350003", + "display": "Colonoscopy with rigid sigmoidoscope through colotomy (procedure)" + }, { + "code": "174158000", + "display": "Open colonoscopy (procedure)" + }, { + "code": "235150006", + "display": "Total colonoscopy (procedure)" + }, { + "code": "235151005", + "display": "Limited colonoscopy (procedure)" + }, { + "code": "25732003", + "display": "Fiberoptic colonoscopy with biopsy (procedure)" + }, { + "code": "310634005", + "display": "Check colonoscopy (procedure)" + }, { + "code": "34264006", + "display": "Intraoperative colonoscopy (procedure)" + }, { + "code": "367535003", + "display": "Fiberoptic colonoscopy (procedure)" + }, { + "code": "425672002", + "display": "Diagnostic endoscopic examination of ileoanal pouch and biopsy of ileoanal pouch using colonoscope (procedure)" + }, { + "code": "425937002", + "display": "Diagnostic endoscopic examination of enteric pouch using colonoscope (procedure)" + }, { + "code": "427459009", + "display": "Diagnostic endoscopic examination of colonic pouch and biopsy of colonic pouch using colonoscope (procedure)" + }, { + "code": "443998000", + "display": "Colonoscopy through colostomy with endoscopic biopsy of colon (procedure)" + }, { + "code": "444783004", + "display": "Screening colonoscopy (procedure)" + }, { + "code": "446521004", + "display": "Colonoscopy and excision of mucosa of colon (procedure)" + }, { + "code": "446745002", + "display": "Colonoscopy and biopsy of colon (procedure)" + }, { + "code": "447021001", + "display": "Colonoscopy and tattooing (procedure)" + }, { + "code": "709421007", + "display": "Colonoscopy and dilatation of stricture of colon (procedure)" + }, { + "code": "710293001", + "display": "Colonoscopy using fluoroscopic guidance (procedure)" + }, { + "code": "711307001", + "display": "Colonoscopy using X-ray guidance (procedure)" + }, { + "code": "713154003", + "display": "Endoscopic submucosal dissection of rectum using colonoscope (procedure)" + }, { + "code": "73761001", + "display": "Colonoscopy (procedure)" + }, { + "code": "8180007", + "display": "Fiberoptic colonoscopy through colostomy (procedure)" + }, { + "code": "851000119109", + "display": "History of colonoscopy (situation)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.108.12.1001", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.108.12.1001" + } ], + "version": "20171222", + "name": "MalignantNeoplasmofColon", + "title": "Malignant Neoplasm of Colon", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2019", + "concept": [ { + "code": "C18.0", + "display": "Malignant neoplasm of cecum" + }, { + "code": "C18.1", + "display": "Malignant neoplasm of appendix" + }, { + "code": "C18.2", + "display": "Malignant neoplasm of ascending colon" + }, { + "code": "C18.3", + "display": "Malignant neoplasm of hepatic flexure" + }, { + "code": "C18.4", + "display": "Malignant neoplasm of transverse colon" + }, { + "code": "C18.5", + "display": "Malignant neoplasm of splenic flexure" + }, { + "code": "C18.6", + "display": "Malignant neoplasm of descending colon" + }, { + "code": "C18.7", + "display": "Malignant neoplasm of sigmoid colon" + }, { + "code": "C18.8", + "display": "Malignant neoplasm of overlapping sites of colon" + }, { + "code": "C18.9", + "display": "Malignant neoplasm of colon, unspecified" + }, { + "code": "C19", + "display": "Malignant neoplasm of rectosigmoid junction" + }, { + "code": "C20", + "display": "Malignant neoplasm of rectum" + }, { + "code": "C21.2", + "display": "Malignant neoplasm of cloacogenic zone" + }, { + "code": "C21.8", + "display": "Malignant neoplasm of overlapping sites of rectum, anus and anal canal" + }, { + "code": "C78.5", + "display": "Secondary malignant neoplasm of large intestine and rectum" + } ] + }, { + "system": "http://hl7.org/fhir/sid/icd-9-cm", + "version": "2013", + "concept": [ { + "code": "153.0", + "display": "Malignant neoplasm of hepatic flexure" + }, { + "code": "153.1", + "display": "Malignant neoplasm of transverse colon" + }, { + "code": "153.2", + "display": "Malignant neoplasm of descending colon" + }, { + "code": "153.3", + "display": "Malignant neoplasm of sigmoid colon" + }, { + "code": "153.4", + "display": "Malignant neoplasm of cecum" + }, { + "code": "153.5", + "display": "Malignant neoplasm of appendix vermiformis" + }, { + "code": "153.6", + "display": "Malignant neoplasm of ascending colon" + }, { + "code": "153.7", + "display": "Malignant neoplasm of splenic flexure" + }, { + "code": "153.8", + "display": "Malignant neoplasm of other specified sites of large intestine" + }, { + "code": "153.9", + "display": "Malignant neoplasm of colon, unspecified site" + }, { + "code": "154.0", + "display": "Malignant neoplasm of rectosigmoid junction" + }, { + "code": "154.1", + "display": "Malignant neoplasm of rectum" + }, { + "code": "197.5", + "display": "Secondary malignant neoplasm of large intestine and rectum" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2012-07", + "concept": [ { + "code": "187758006", + "display": "Malignant neoplasm of other specified sites of colon (disorder)" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "109838007", + "display": "Overlapping malignant neoplasm of colon (disorder)" + }, { + "code": "133751000119102", + "display": "Lymphoma of colon (disorder)" + }, { + "code": "1701000119104", + "display": "Primary adenocarcinoma of colon (disorder)" + }, { + "code": "184881000119106", + "display": "Primary adenocarcinoma of rectosigmoid junction (disorder)" + }, { + "code": "187757001", + "display": "Malignant neoplasm, overlapping lesion of colon (disorder)" + }, { + "code": "269533000", + "display": "Carcinoma of colon (disorder)" + }, { + "code": "269544008", + "display": "Carcinoma of the rectosigmoid junction (disorder)" + }, { + "code": "285312008", + "display": "Carcinoma of sigmoid colon (disorder)" + }, { + "code": "285611007", + "display": "Metastasis to colon of unknown primary (disorder)" + }, { + "code": "301756000", + "display": "Adenocarcinoma of sigmoid colon (disorder)" + }, { + "code": "312111009", + "display": "Carcinoma of ascending colon (disorder)" + }, { + "code": "312112002", + "display": "Carcinoma of transverse colon (disorder)" + }, { + "code": "312113007", + "display": "Carcinoma of descending colon (disorder)" + }, { + "code": "312114001", + "display": "Carcinoma of hepatic flexure (disorder)" + }, { + "code": "312115000", + "display": "Carcinoma of splenic flexure (disorder)" + }, { + "code": "314965007", + "display": "Local recurrence of malignant tumor of colon (disorder)" + }, { + "code": "315058005", + "display": "Hereditary nonpolyposis colon cancer (disorder)" + }, { + "code": "363406005", + "display": "Malignant neoplasm of colon (disorder)" + }, { + "code": "363407001", + "display": "Malignant tumor of hepatic flexure (disorder)" + }, { + "code": "363408006", + "display": "Malignant tumor of transverse colon (disorder)" + }, { + "code": "363409003", + "display": "Malignant tumor of descending colon (disorder)" + }, { + "code": "363410008", + "display": "Malignant tumor of sigmoid colon (disorder)" + }, { + "code": "363412000", + "display": "Malignant tumor of ascending colon (disorder)" + }, { + "code": "363413005", + "display": "Malignant tumor of splenic flexure (disorder)" + }, { + "code": "363414004", + "display": "Malignant tumor of rectosigmoid junction (disorder)" + }, { + "code": "363510005", + "display": "Malignant tumor of large intestine (disorder)" + }, { + "code": "425178004", + "display": "Adenocarcinoma of rectosigmoid junction (disorder)" + }, { + "code": "449218003", + "display": "Lymphoma of sigmoid colon (disorder)" + }, { + "code": "681601000119101", + "display": "Primary adenocarcinoma of ascending colon (disorder)" + }, { + "code": "716654007", + "display": "Non-polyposis Turcot syndrome (disorder)" + }, { + "code": "721695008", + "display": "Primary adenocarcinoma of ascending colon and right flexure (disorder)" + }, { + "code": "721696009", + "display": "Primary adenocarcinoma of transverse colon (disorder)" + }, { + "code": "721699002", + "display": "Primary adenocarcinoma of descending colon and splenic flexure (disorder)" + }, { + "code": "737058005", + "display": "Microsatellite instability-high colorectal cancer (disorder)" + }, { + "code": "93683002", + "display": "Primary malignant neoplasm of ascending colon (disorder)" + }, { + "code": "93761005", + "display": "Primary malignant neoplasm of colon (disorder)" + }, { + "code": "93771007", + "display": "Primary malignant neoplasm of descending colon (disorder)" + }, { + "code": "93826009", + "display": "Primary malignant neoplasm of hepatic flexure of colon (disorder)" + }, { + "code": "93980002", + "display": "Primary malignant neoplasm of rectosigmoid junction (disorder)" + }, { + "code": "94006002", + "display": "Primary malignant neoplasm of sigmoid colon (disorder)" + }, { + "code": "94072004", + "display": "Primary malignant neoplasm of splenic flexure of colon (disorder)" + }, { + "code": "94105000", + "display": "Primary malignant neoplasm of transverse colon (disorder)" + }, { + "code": "94179005", + "display": "Secondary malignant neoplasm of ascending colon (disorder)" + }, { + "code": "94260004", + "display": "Secondary malignant neoplasm of colon (disorder)" + }, { + "code": "94271003", + "display": "Secondary malignant neoplasm of descending colon (disorder)" + }, { + "code": "94328005", + "display": "Secondary malignant neoplasm of hepatic flexure of colon (disorder)" + }, { + "code": "94509004", + "display": "Secondary malignant neoplasm of rectosigmoid junction (disorder)" + }, { + "code": "94538001", + "display": "Secondary malignant neoplasm of sigmoid colon (disorder)" + }, { + "code": "94604000", + "display": "Secondary malignant neoplasm of splenic flexure of colon (disorder)" + }, { + "code": "94643001", + "display": "Secondary malignant neoplasm of transverse colon (disorder)" + }, { + "code": "96281000119107", + "display": "Overlapping malignant neoplasm of colon and rectum (disorder)" + }, { + "code": "96981000119102", + "display": "Malignant neoplasm of rectosigmoid junction metastatic to brain (disorder)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1108.15", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1108.15" + } ], + "version": "20170504", + "name": "Hospicecareambulatory", + "title": "Hospice care ambulatory", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "385763009", + "display": "Hospice care (regime/therapy)" + }, { + "code": "385765002", + "display": "Hospice care management (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1108.15" + } }, { "resource": { "resourceType": "Bundle", diff --git a/fhir3/bundles/measure/EXM130_FHIR3-7.2.000/EXM130_FHIR3-7.2.000-files/library-EXM130_FHIR3-7.2.000.json b/fhir3/bundles/measure/EXM130_FHIR3-7.2.000/EXM130_FHIR3-7.2.000-files/library-EXM130_FHIR3-7.2.000.json index b97799b9..2669cdde 100644 --- a/fhir3/bundles/measure/EXM130_FHIR3-7.2.000/EXM130_FHIR3-7.2.000-files/library-EXM130_FHIR3-7.2.000.json +++ b/fhir3/bundles/measure/EXM130_FHIR3-7.2.000/EXM130_FHIR3-7.2.000-files/library-EXM130_FHIR3-7.2.000.json @@ -21,6 +21,63 @@ "code": "logic-library" } ] }, + "dataRequirement": [ { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020" + } + } ] + } ], "content": [ { "contentType": "text/cql", "data": "bGlicmFyeSBFWE0xMzBfRkhJUjMgdmVyc2lvbiAnNy4yLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEzMHY3IC0gQ29sb3JlY3RhbCBDYW5jZXIgU2NyZWVuaW5nCiovCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMgdmVyc2lvbiAnMS4xLjAwMCcgY2FsbGVkIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMKaW5jbHVkZSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcgY2FsbGVkIEdsb2JhbAppbmNsdWRlIEhvc3BpY2VfRkhJUjMgdmVyc2lvbiAnMS4wLjAwMCcgY2FsbGVkIEhvc3BpY2UKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIHZlcnNpb24gJzEuMC4wJyBjYWxsZWQgU0RFCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiQ29sb25vc2NvcHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA4LjEyLjEwMjAnCnZhbHVlc2V0ICJGZWNhbCBPY2N1bHQgQmxvb2QgVGVzdCAoRk9CVCkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwMTEnCnZhbHVlc2V0ICJGbGV4aWJsZSBTaWdtb2lkb3Njb3B5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDEwJwp2YWx1ZXNldCAiTWFsaWduYW50IE5lb3BsYXNtIG9mIENvbG9uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOC4xMi4xMDAxJwp2YWx1ZXNldCAiVG90YWwgQ29sZWN0b215IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDE5Jwp2YWx1ZXNldCAiRklUIEROQSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAzOScKdmFsdWVzZXQgIkNUIENvbG9ub2dyYXBoeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAzOCcKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KICAgIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCkKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CiAgU0RFLiJTREUgUGF5ZXIiCgpkZWZpbmUgIlNERSBSYWNlIjoKICBTREUuIlNERSBSYWNlIgoKZGVmaW5lICJTREUgU2V4IjoKICBTREUuIlNERSBTZXgiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKCXRydWUKCmRlZmluZSAiRmxleGlibGUgU2lnbW9pZG9zY29weSBQZXJmb3JtZWQiOgoJW1Byb2NlZHVyZTogIkZsZXhpYmxlIFNpZ21vaWRvc2NvcHkiXSBGbGV4aWJsZVNpZ21vaWRvc2NvcHkKCQl3aGVyZSBGbGV4aWJsZVNpZ21vaWRvc2NvcHkuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihGbGV4aWJsZVNpZ21vaWRvc2NvcHkucGVyZm9ybWVkKSBlbmRzIDUgeWVhcnMgb3IgbGVzcyBvbiBvciBiZWZvcmUgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkNUIENvbG9ub2dyYXBoeSBQZXJmb3JtZWQiOgoJW1Byb2NlZHVyZTogIkNUIENvbG9ub2dyYXBoeSJdIENvbG9ub2dyYXBoeQoJCXdoZXJlIENvbG9ub2dyYXBoeS5zdGF0dXMgPSAnY29tcGxldGVkJwoJCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKENvbG9ub2dyYXBoeS5wZXJmb3JtZWQpIGVuZHMgNSB5ZWFycyBvciBsZXNzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiVG90YWwgQ29sZWN0b215IFBlcmZvcm1lZCI6CglbUHJvY2VkdXJlOiAiVG90YWwgQ29sZWN0b215Il0gQ29sZWN0b215CgkJd2hlcmUgQ29sZWN0b215LnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29sZWN0b215LnBlcmZvcm1lZCkgc3RhcnRzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiTWFsaWduYW50IE5lb3BsYXNtIEV2ZXIiOgoJW0NvbmRpdGlvbjogIk1hbGlnbmFudCBOZW9wbGFzbSBvZiBDb2xvbiJdIENvbG9yZWN0YWxDYW5jZXIKCQl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoQ29sb3JlY3RhbENhbmNlci5vbnNldCkgc3RhcnRzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiRmVjYWwgT2NjdWx0IEJsb29kIFRlc3QgUGVyZm9ybWVkIjoKCVtPYnNlcnZhdGlvbjogIkZlY2FsIE9jY3VsdCBCbG9vZCBUZXN0IChGT0JUKSJdIEZlY2FsT2NjdWx0UmVzdWx0CgkJd2hlcmUgRmVjYWxPY2N1bHRSZXN1bHQuc3RhdHVzIGluIHsgJ2ZpbmFsJywgJ2FtZW5kZWQnLCAnY29ycmVjdGVkJywgJ3ByZWxpbWluYXJ5JyB9CgkJCWFuZCBGZWNhbE9jY3VsdFJlc3VsdC52YWx1ZSBpcyBub3QgbnVsbAoJCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEZlY2FsT2NjdWx0UmVzdWx0LmVmZmVjdGl2ZSkgZHVyaW5nIGRheSBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkvLyBhbmQgRmVjYWxPY2N1bHRSZXN1bHQuRkhJUi5wcm92ZW5hbmNlLnJlY29yZGVkIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJGZWNhbCBJbW11bm9jaGVtaWNhbCBUZXN0IEROQSI6CglbT2JzZXJ2YXRpb246ICJGSVQgRE5BIl0gRml0RE5BCgkJd2hlcmUgRml0RE5BLnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcsICdwcmVsaW1pbmFyeScgfQoJCQlhbmQgRml0RE5BLnZhbHVlIGlzIG5vdCBudWxsCgkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoRml0RE5BLmVmZmVjdGl2ZSkgb2NjdXJzIDMgeWVhcnMgb3IgbGVzcyBvbiBvciBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkvLyBhbmQgRml0RE5BLkZISVIucHJvdmVuYW5jZS5yZWNvcmRlZCBvY2N1cnMgMyB5ZWFycyBvciBsZXNzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiQ29sb25vc2NvcHkgUGVyZm9ybWVkIjoKCVtQcm9jZWR1cmU6ICJDb2xvbm9zY29weSJdIENvbG9ub3Njb3B5CgkJd2hlcmUgQ29sb25vc2NvcHkuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkgCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29sb25vc2NvcHkucGVyZm9ybWVkKSBlbmRzIDEwIHllYXJzIG9yIGxlc3Mgb24gb3IgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJOdW1lcmF0b3IiOgoJZXhpc3RzICJDb2xvbm9zY29weSBQZXJmb3JtZWQiCgkJb3IgZXhpc3RzICJGZWNhbCBPY2N1bHQgQmxvb2QgVGVzdCBQZXJmb3JtZWQiCgkJb3IgZXhpc3RzICJGbGV4aWJsZSBTaWdtb2lkb3Njb3B5IFBlcmZvcm1lZCIKCQlvciBleGlzdHMgIkZlY2FsIEltbXVub2NoZW1pY2FsIFRlc3QgRE5BIgoJCW9yIGV4aXN0cyAiQ1QgQ29sb25vZ3JhcGh5IFBlcmZvcm1lZCIKCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9uIjoKCUhvc3BpY2UuIkhhcyBIb3NwaWNlIigiTWVhc3VyZW1lbnQgUGVyaW9kIikKCQlvciBleGlzdHMgIk1hbGlnbmFudCBOZW9wbGFzbSBFdmVyIgoJCW9yIGV4aXN0cyAiVG90YWwgQ29sZWN0b215IFBlcmZvcm1lZCIKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKCUdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSBpbiBJbnRlcnZhbFs1MCwgNzVdCgkJCWFuZCBleGlzdHMgQWR1bHRPdXRwYXRpZW50RW5jb3VudGVycy4iUXVhbGlmeWluZyBFbmNvdW50ZXJzIigiTWVhc3VyZW1lbnQgUGVyaW9kIikK" diff --git a/fhir3/bundles/measure/EXM130_FHIR3-7.2.000/EXM130_FHIR3-7.2.000-files/library-deps-EXM130_FHIR3-7.2.000-bundle.json b/fhir3/bundles/measure/EXM130_FHIR3-7.2.000/EXM130_FHIR3-7.2.000-files/library-deps-EXM130_FHIR3-7.2.000-bundle.json new file mode 100644 index 00000000..562a77e9 --- /dev/null +++ b/fhir3/bundles/measure/EXM130_FHIR3-7.2.000/EXM130_FHIR3-7.2.000-files/library-deps-EXM130_FHIR3-7.2.000-bundle.json @@ -0,0 +1,271 @@ +{ + "resourceType": "Bundle", + "id": "library-deps-EXM130-FHIR3-7.2.000-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Library", + "id": "library-AdultOutpatientEncounters-FHIR3-1.1.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-AdultOutpatientEncounters-FHIR3-1.1.000
Type: Logic Library
Version: 1.1.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016

Content: type: text/cql
library AdultOutpatientEncounters_FHIR3 version '1.1.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "Annual Wellness Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\n\ncontext Patient\n\ndefine function "Qualifying Encounters"(MeasurementPeriod Interval<DateTime>):\n\t(\n\t    [Encounter: "Office Visit"]\n\t\tunion [Encounter: "Annual Wellness Visit"] \n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Home Healthcare Services"]\n    ) ValidEncounter\n\t\twhere ValidEncounter.period during day of MeasurementPeriod\n\t\tand ValidEncounter.status  = 'finished' \n
\n \n \n
\n
" + }, + "version": "1.1.000", + "name": "AdultOutpatientEncounters_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMiIHZlcnNpb249IjEuMS4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT2ZmaWNlIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iQW5udWFsIFdlbGxuZXNzIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgLSBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUXVhbGlmeWluZyBFbmNvdW50ZXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZhbGlkRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik9mZmljZSBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJBbm51YWwgV2VsbG5lc3MgVmlzaXQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW5jbHVkZWRJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWYWxpZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudFBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iVmFsaWRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIHZlcnNpb24gJzEuMS4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnCnZhbHVlc2V0ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCcKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMnCnZhbHVlc2V0ICJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYnCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIihNZWFzdXJlbWVudFBlcmlvZCBJbnRlcnZhbDxEYXRlVGltZT4pOgoJKAoJICAgIFtFbmNvdW50ZXI6ICJPZmZpY2UgVmlzaXQiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIl0KICAgICkgVmFsaWRFbmNvdW50ZXIKCQl3aGVyZSBWYWxpZEVuY291bnRlci5wZXJpb2QgZHVyaW5nIGRheSBvZiBNZWFzdXJlbWVudFBlcmlvZAoJCWFuZCBWYWxpZEVuY291bnRlci5zdGF0dXMgID0gJ2ZpbmlzaGVkJyAK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" + }, + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-2.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-2.0.000
Type: Logic Library
Version: 2.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '2.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t    and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] C where C.id = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t\treturn singleton from ([Condition] C where C.id = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "2.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMDUiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIwNSIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVSIiBpZD0iRVIiIGRpc3BsYXk9IkVtZXJnZW5jeSByb29tIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSUNVIiBpZD0iSUNVIiBkaXNwbGF5PSJJbnRlbnNpdmUgY2FyZSB1bml0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikxlbmd0aEluRGF5cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGlmZmVyZW5jZUJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJJbnBhdGllbnQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgIDx5ZWFyIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwveWVhcj4NCiAgICAgICAgICAgIDxtb250aCBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9tb250aD4NCiAgICAgICAgICAgIDxkYXkgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L2RheT4NCiAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHRpbWV6b25lT2Zmc2V0IHhzaTp0eXBlPSJUaW1lem9uZUZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3RpbWV6b25lT2Zmc2V0Pg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2RheSIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbk1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImhvdXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDxlbHNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlgiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFREVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFREVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgIDx0aGVuIHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTGVuZ3RoIG9mIFN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQWRtaXNzaW9uIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIERpc2NoYXJnZSBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGl0YWxMb2NhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8c29ydD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxieSBkaXJlY3Rpb249ImFzYyIgeHNpOnR5cGU9IkJ5RXhwcmVzc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvbmRpdGlvbiIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyb2xlIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpbGxpbmciIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlZ2VyIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyYW5rIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29uZGl0aW9uIiBzY29wZT0iUEQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldExvY2F0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxvY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkxvY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlZmVyZW5jZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0RXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldFByb3ZlbmFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm92ZW5hbmNlIiBjb2RlUHJvcGVydHk9InRhcmdldCIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldE1lZGljYXRpb25Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlcXVlc3QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVxdWVzdCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwoKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnCmNvZGUgIkVSIjogJ0VSJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnRW1lcmdlbmN5IHJvb20nCmNvZGUgIklDVSI6ICdJQ1UnIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdJbnRlbnNpdmUgY2FyZSB1bml0Jwpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIiOgoJW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFbmNvdW50ZXJJbnBhdGllbnQKCQl3aGVyZSBFbmNvdW50ZXJJbnBhdGllbnQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCSAgICBhbmQgIkxlbmd0aEluRGF5cyIoRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCkgPD0gMTIwCgkJCWFuZCBFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kIGVuZHMgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgZnVuY3Rpb24gIlRvRGF0ZSIoVmFsdWUgRGF0ZVRpbWUpOgoJRGF0ZVRpbWUoeWVhciBmcm9tIFZhbHVlLCBtb250aCBmcm9tIFZhbHVlLCBkYXkgZnJvbSBWYWx1ZSwgMCwgMCwgMCwgMCwgdGltZXpvbmUgZnJvbSBWYWx1ZSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbkRheXNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6CglkYXlzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5cyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluRGF5c0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6Cgltb250aHMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCXllYXJzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluWWVhcnMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJblllYXJzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiTGVuZ3RoSW5EYXlzIihWYWx1ZSBJbnRlcnZhbDxEYXRlVGltZT4pOgoJZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgVmFsdWUgYW5kIGVuZCBvZiBWYWx1ZQoKZGVmaW5lIGZ1bmN0aW9uICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKICAgIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXSBFRFZpc2l0CiAgICAgICAgICAgIHdoZXJlIEVEVmlzaXQuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgICAgICAgICAgICAgYW5kIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCkKICAgICkKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJKCAiRUQgVmlzaXQiKFRoZUVuY291bnRlcikgKSBYCiAgICByZXR1cm4KICAgICAgICBpZiBYIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgZWxzZSBJbnRlcnZhbFtzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFgucGVyaW9kKSwgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCldCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIEVERW5jb3VudGVyCiAgICByZXR1cm4KICAgICAgICBpZiBFREVuY291bnRlciBpcyBudWxsIHRoZW4gVGhlRW5jb3VudGVyLmxvY2F0aW9uCiAgICAgICAgZWxzZSBmbGF0dGVuIHsgRURFbmNvdW50ZXIubG9jYXRpb24sIFRoZUVuY291bnRlci5sb2NhdGlvbiB9CgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMZW5ndGggb2YgU3RheSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCUxlbmd0aEluRGF5cygiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIpKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWwgRGlzY2hhcmdlIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgllbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEZpcnN0KAoJICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCXNvcnQgYnkgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChwZXJpb2QpCgkpLnBlcmlvZCkKCi8vIFRPRE8gLSBmaXggdGhlc2UgKG11c3QgZmV0Y2ggTG9jYXRpb24gcmVzb3VyY2VzIGFuZCBjb21wYXJlIGlkIHRvIHJlZmVyZW5jZSkKLypkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIERlcGFydHVyZSBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoTGFzdCgKCSAgICAoICJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIihUaGVFbmNvdW50ZXIpICkgSG9zcGl0YWxMb2NhdGlvbgoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkVtZXJnZW5jeSBEZXBhcnRtZW50IEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoKAoJICAgIHNpbmdsZXRvbiBmcm9tICgKCSAgICAgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJFUiIKCQkpCgkpLnBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiRmlyc3QgSW5wYXRpZW50IEludGVuc2l2ZSBDYXJlIFVuaXQiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglGaXJzdCgKCSAgICAoIFRoZUVuY291bnRlci5sb2NhdGlvbiApIEhvc3BpdGFsTG9jYXRpb24KCQkJd2hlcmUgSG9zcGl0YWxMb2NhdGlvbi50eXBlIH4gIklDVSIKCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgVGhlRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKSovCgovKgoqCiogICAgQ1FGTWVhc3VyZXMgQ29tbW9uIExvZ2ljCioKKi8KCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgogIGlmIG9uc2V0IGlzIEZISVIuZGF0ZVRpbWUgdGhlbgoJICBJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLlBlcmlvZCB0aGVuCgkgIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwob25zZXQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIG9uc2V0IGlzIEZISVIuQWdlIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpLAoJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpICsgMSB5ZWFyKQoJZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbiBDb25kaXRpb24pOgoJaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5kYXRlVGltZSldCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5BZ2UgdGhlbgoJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLAoJCQlGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmJvb2xlYW4gdGhlbgoJICBJbnRlcnZhbFtlbmQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgY29uZGl0aW9uLmFzc2VydGVkRGF0ZSkKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJHZXRQcmV2YWxlbmNlUGVyaW9kIihjb25kaXRpb24gQ29uZGl0aW9uKToKICBJbnRlcnZhbFtzdGFydCBvZiAiTm9ybWFsaXplIE9uc2V0Iihjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbikpCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBJbnRlcnZhbCIoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZD4pOgogIGlmIGNob2ljZSBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5kYXRlVGltZSksIEZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZQoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNob2ljZSBhcyBGSElSLlBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcpOgoJTGFzdChTcGxpdCh1cmksICcvJykpCgpkZWZpbmUgZnVuY3Rpb24gIkVuY291bnRlckRpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6CiAgRW5jb3VudGVyLmRpYWdub3NpcyBECiAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKFtDb25kaXRpb25dIEMgd2hlcmUgQy5pZCA9ICJHZXRJZCIoRC5jb25kaXRpb24ucmVmZXJlbmNlKSkKCi8vIFJldHVybnMgdGhlIGNvbmRpdGlvbiB0aGF0IGlzIHNwZWNpZmllZCBhcyB0aGUgcHJpbmNpcGFsIGRpYWdub3NpcyBmb3IgdGhlIGVuY291bnRlcgpkZWZpbmUgZnVuY3Rpb24gIlByaW5jaXBhbERpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6Cgkoc2luZ2xldG9uIGZyb20gKEVuY291bnRlci5kaWFnbm9zaXMgRCB3aGVyZSBELnJvbGUgfiBUb0NvbmNlcHQoIkJpbGxpbmciKSBhbmQgRC5yYW5rID0gMSkpIFBECgkJcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDIHdoZXJlIEMuaWQgPSAiR2V0SWQiKFBELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgbG9jYXRpb24gZm9yIHRoZSBnaXZlbiBsb2NhdGlvbiByZWZlcmVuY2UKZGVmaW5lIGZ1bmN0aW9uIEdldExvY2F0aW9uKHJlZmVyZW5jZSBSZWZlcmVuY2UpOgogIHNpbmdsZXRvbiBmcm9tICgKICAgIFtMb2NhdGlvbl0gTG9jYXRpb24gd2hlcmUgTG9jYXRpb24uaWQudmFsdWUgPSBHZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKQogICkKCi8qCk5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlCkNRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nICsgdXJsKQoJCXJldHVybiBFCgpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UsIHVybCkKCi8qCk5PVEU6IFByb3ZlbmFuY2UgaXMgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIHRoaXMgaXMgcHJvdmlkZWQgb25seSBhcyBhbiBpbGx1c3RyYXRpb24KZm9yIHdoYXQgdXNpbmcgUHJvdmVuYW5jZSBjb3VsZCBsb29rIGxpa2UsIGFuZCBpcyBub3QgYSB0ZXN0ZWQgcGF0dGVybgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldFByb3ZlbmFuY2UiKHJlc291cmNlIFJlc291cmNlKToKICBzaW5nbGV0b24gZnJvbSAoW1Byb3ZlbmFuY2U6IHRhcmdldCBpbiByZXNvdXJjZS5pZF0pCgpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Db2RlIihyZXF1ZXN0IE1lZGljYXRpb25SZXF1ZXN0KToKICBpZiByZXF1ZXN0Lm1lZGljYXRpb24gaXMgQ29kZWFibGVDb25jZXB0IHRoZW4KCSAgcmVxdWVzdC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdAoJZWxzZQoJICAoc2luZ2xldG9uIGZyb20gKFtNZWRpY2F0aW9uOiBpZCBpbiBHZXRJZCgocmVxdWVzdC5tZWRpY2F0aW9uIGFzIFJlZmVyZW5jZSkucmVmZXJlbmNlKV0pKS5jb2RlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-SupplementalDataElements-FHIR3-1.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-SupplementalDataElements-FHIR3-1.0.0
Type: Logic Library
Version: 1.0.0
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Coverage

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591

Content: type: text/cql
library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Payer":\n    [Coverage: type in "Payer"] Payer\n      return {\n        code: Payer.type,\n        period: Payer.period\n      }\n\ndefine "SDE Race":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Sex":\n  case\n    when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n    when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n    else null\n  end\n
\n \n \n
\n
" + }, + "version": "1.0.0", + "name": "SupplementalDataElements_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-Hospice-FHIR3-1.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-Hospice-FHIR3-1.0.000
Type: Logic Library
Version: 1.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15

Content: type: text/cql
library Hospice_FHIR3 version '1.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "SNOMEDCT:2017-09": 'http://snomed.info/sct/731000124108' version 'http://snomed.info/sct/731000124108/version/201709'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Hospice care ambulatory": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15'\n\ncode "Discharge to healthcare facility for hospice care (procedure)": '428371000124100' from "SNOMEDCT:2017-09" display 'Discharge to healthcare facility for hospice care (procedure)'\ncode "Discharge to home for hospice care (procedure)": '428361000124107' from "SNOMEDCT:2017-09" display 'Discharge to home for hospice care (procedure)'\n\ncontext Patient\n\ndefine function "Has Hospice"(MeasurementPeriod Interval<DateTime>):\n\texists (\n\t    [Encounter: "Encounter Inpatient"] DischargeHospice\n\t\t\twhere DischargeHospice.status = 'final'\n\t\t\t    and (\n\t\t\t        FHIRHelpers.ToConcept(DischargeHospice.hospitalization.dischargeDisposition).codes[0] ~ "Discharge to home for hospice care (procedure)"\n\t\t\t\t\t    or FHIRHelpers.ToConcept(DischargeHospice.hospitalization.dischargeDisposition).codes[0] ~ "Discharge to healthcare facility for hospice care (procedure)"\n\t\t\t    )\n\t\t\t\tand DischargeHospice.period ends during day of MeasurementPeriod\n\t)\n    or exists (\n        [ProcedureRequest: "Hospice care ambulatory"] HospiceOrder\n            where HospiceOrder.intent = 'order'\n                and HospiceOrder.authoredOn in day of MeasurementPeriod\n    )\n    or exists (\n        [Procedure: "Hospice care ambulatory"] HospicePerformed\n            where HospicePerformed.status = 'completed'\n                and Global."Normalize Interval"(HospicePerformed.performed) overlaps MeasurementPeriod\n    )\n
\n \n \n
\n
" + }, + "version": "1.0.000", + "name": "Hospice_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9Ikhvc3BpY2VfRkhJUjMiIHZlcnNpb249IjEuMC4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IlNOT01FRENUOjIwMTctMDkiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgdmVyc2lvbj0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpY2UgY2FyZSBhbWJ1bGF0b3J5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTA4LjE1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgaWQ9IjQyODM3MTAwMDEyNDEwMCIgZGlzcGxheT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVDoyMDE3LTA5Ii8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgaWQ9IjQyODM2MTAwMDEyNDEwNyIgZGlzcGxheT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVDoyMDE3LTA5Ii8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIYXMgSG9zcGljZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRGlzY2hhcmdlSG9zcGljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkRpc2NoYXJnZUhvc3BpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmRleGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmRleGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikhvc3BpY2VPcmRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSG9zcGljZSBjYXJlIGFtYnVsYXRvcnkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9Ikhvc3BpY2VPcmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJIb3NwaWNlT3JkZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGljZVBlcmZvcm1lZCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iSG9zcGljZVBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik92ZXJsYXBzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9Ikhvc3BpY2VQZXJmb3JtZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBIb3NwaWNlX0ZISVIzIHZlcnNpb24gJzEuMC4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiU05PTUVEQ1Q6MjAxNy0wOSI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcgdmVyc2lvbiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDknCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMDguMTUnCgpjb2RlICJEaXNjaGFyZ2UgdG8gaGVhbHRoY2FyZSBmYWNpbGl0eSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIjogJzQyODM3MTAwMDEyNDEwMCcgZnJvbSAiU05PTUVEQ1Q6MjAxNy0wOSIgZGlzcGxheSAnRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKScKY29kZSAiRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSI6ICc0MjgzNjEwMDAxMjQxMDcnIGZyb20gIlNOT01FRENUOjIwMTctMDkiIGRpc3BsYXkgJ0Rpc2NoYXJnZSB0byBob21lIGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSknCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiSGFzIEhvc3BpY2UiKE1lYXN1cmVtZW50UGVyaW9kIEludGVydmFsPERhdGVUaW1lPik6CglleGlzdHMgKAoJICAgIFtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRGlzY2hhcmdlSG9zcGljZQoJCQl3aGVyZSBEaXNjaGFyZ2VIb3NwaWNlLnN0YXR1cyA9ICdmaW5hbCcKCQkJICAgIGFuZCAoCgkJCSAgICAgICAgRkhJUkhlbHBlcnMuVG9Db25jZXB0KERpc2NoYXJnZUhvc3BpY2UuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uKS5jb2Rlc1swXSB+ICJEaXNjaGFyZ2UgdG8gaG9tZSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIgoJCQkJCSAgICBvciBGSElSSGVscGVycy5Ub0NvbmNlcHQoRGlzY2hhcmdlSG9zcGljZS5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24pLmNvZGVzWzBdIH4gIkRpc2NoYXJnZSB0byBoZWFsdGhjYXJlIGZhY2lsaXR5IGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSkiCgkJCSAgICApCgkJCQlhbmQgRGlzY2hhcmdlSG9zcGljZS5wZXJpb2QgZW5kcyBkdXJpbmcgZGF5IG9mIE1lYXN1cmVtZW50UGVyaW9kCgkpCiAgICBvciBleGlzdHMgKAogICAgICAgIFtQcm9jZWR1cmVSZXF1ZXN0OiAiSG9zcGljZSBjYXJlIGFtYnVsYXRvcnkiXSBIb3NwaWNlT3JkZXIKICAgICAgICAgICAgd2hlcmUgSG9zcGljZU9yZGVyLmludGVudCA9ICdvcmRlcicKICAgICAgICAgICAgICAgIGFuZCBIb3NwaWNlT3JkZXIuYXV0aG9yZWRPbiBpbiBkYXkgb2YgTWVhc3VyZW1lbnRQZXJpb2QKICAgICkKICAgIG9yIGV4aXN0cyAoCiAgICAgICAgW1Byb2NlZHVyZTogIkhvc3BpY2UgY2FyZSBhbWJ1bGF0b3J5Il0gSG9zcGljZVBlcmZvcm1lZAogICAgICAgICAgICB3aGVyZSBIb3NwaWNlUGVyZm9ybWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICAgICAgICAgICAgICBhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEhvc3BpY2VQZXJmb3JtZWQucGVyZm9ybWVkKSBvdmVybGFwcyBNZWFzdXJlbWVudFBlcmlvZAogICAgKQo=" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-Hospice-FHIR3-1.0.000" + } + } ] +} \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM130_FHIR3-7.2.000/EXM130_FHIR3-7.2.000-files/valuesets-EXM130_FHIR3-7.2.000-bundle.json b/fhir3/bundles/measure/EXM130_FHIR3-7.2.000/EXM130_FHIR3-7.2.000-files/valuesets-EXM130_FHIR3-7.2.000-bundle.json new file mode 100644 index 00000000..69e04023 --- /dev/null +++ b/fhir3/bundles/measure/EXM130_FHIR3-7.2.000/EXM130_FHIR3-7.2.000-files/valuesets-EXM130_FHIR3-7.2.000-bundle.json @@ -0,0 +1,1828 @@ +{ + "resourceType": "Bundle", + "id": "valuesets-EXM130-FHIR3-7.2.000-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.108.12.1020", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.108.12.1020" + } ], + "version": "20171219", + "name": "Colonoscopy", + "title": "Colonoscopy", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2014", + "concept": [ { + "code": "44393", + "display": "Colonoscopy through stoma; with ablation of tumor(s), polyp(s), or other lesion(s) not amenable to removal by hot biopsy forceps, bipolar cautery or snare technique" + }, { + "code": "44397", + "display": "Colonoscopy through stoma; with transendoscopic stent placement (includes predilation)" + }, { + "code": "45355", + "display": "Colonoscopy, rigid or flexible, transabdominal via colotomy, single or multiple" + }, { + "code": "45383", + "display": "Colonoscopy, flexible, proximal to splenic flexure; with ablation of tumor(s), polyp(s), or other lesion(s) not amenable to removal by hot biopsy forceps, bipolar cautery or snare technique" + }, { + "code": "45387", + "display": "Colonoscopy, flexible, proximal to splenic flexure; with transendoscopic stent placement (includes predilation)" + } ] + }, { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "44388", + "display": "Colonoscopy through stoma; diagnostic, including collection of specimen(s) by brushing or washing, when performed (separate procedure)" + }, { + "code": "44389", + "display": "Colonoscopy through stoma; with biopsy, single or multiple" + }, { + "code": "44390", + "display": "Colonoscopy through stoma; with removal of foreign body(s)" + }, { + "code": "44391", + "display": "Colonoscopy through stoma; with control of bleeding, any method" + }, { + "code": "44392", + "display": "Colonoscopy through stoma; with removal of tumor(s), polyp(s), or other lesion(s) by hot biopsy forceps" + }, { + "code": "44394", + "display": "Colonoscopy through stoma; with removal of tumor(s), polyp(s), or other lesion(s) by snare technique" + }, { + "code": "44401", + "display": "Colonoscopy through stoma; with ablation of tumor(s), polyp(s), or other lesion(s) (includes pre-and post-dilation and guide wire passage, when performed)" + }, { + "code": "44402", + "display": "Colonoscopy through stoma; with endoscopic stent placement (including pre- and post-dilation and guide wire passage, when performed)" + }, { + "code": "44403", + "display": "Colonoscopy through stoma; with endoscopic mucosal resection" + }, { + "code": "44404", + "display": "Colonoscopy through stoma; with directed submucosal injection(s), any substance" + }, { + "code": "44405", + "display": "Colonoscopy through stoma; with transendoscopic balloon dilation" + }, { + "code": "44406", + "display": "Colonoscopy through stoma; with endoscopic ultrasound examination, limited to the sigmoid, descending, transverse, or ascending colon and cecum and adjacent structures" + }, { + "code": "44407", + "display": "Colonoscopy through stoma; with transendoscopic ultrasound guided intramural or transmural fine needle aspiration/biopsy(s), includes endoscopic ultrasound examination limited to the sigmoid, descending, transverse, or ascending colon and cecum and adjacent structures" + }, { + "code": "44408", + "display": "Colonoscopy through stoma; with decompression (for pathologic distention) (eg, volvulus, megacolon), including placement of decompression tube, when performed" + }, { + "code": "45378", + "display": "Colonoscopy, flexible; diagnostic, including collection of specimen(s) by brushing or washing, when performed (separate procedure)" + }, { + "code": "45379", + "display": "Colonoscopy, flexible; with removal of foreign body(s)" + }, { + "code": "45380", + "display": "Colonoscopy, flexible; with biopsy, single or multiple" + }, { + "code": "45381", + "display": "Colonoscopy, flexible; with directed submucosal injection(s), any substance" + }, { + "code": "45382", + "display": "Colonoscopy, flexible; with control of bleeding, any method" + }, { + "code": "45384", + "display": "Colonoscopy, flexible; with removal of tumor(s), polyp(s), or other lesion(s) by hot biopsy forceps" + }, { + "code": "45385", + "display": "Colonoscopy, flexible; with removal of tumor(s), polyp(s), or other lesion(s) by snare technique" + }, { + "code": "45386", + "display": "Colonoscopy, flexible; with transendoscopic balloon dilation" + }, { + "code": "45388", + "display": "Colonoscopy, flexible; with ablation of tumor(s), polyp(s), or other lesion(s) (includes pre- and post-dilation and guide wire passage, when performed)" + }, { + "code": "45389", + "display": "Colonoscopy, flexible; with endoscopic stent placement (includes pre- and post-dilation and guide wire passage, when performed)" + }, { + "code": "45390", + "display": "Colonoscopy, flexible; with endoscopic mucosal resection" + }, { + "code": "45391", + "display": "Colonoscopy, flexible; with endoscopic ultrasound examination limited to the rectum, sigmoid, descending, transverse, or ascending colon and cecum, and adjacent structures" + }, { + "code": "45392", + "display": "Colonoscopy, flexible; with transendoscopic ultrasound guided intramural or transmural fine needle aspiration/biopsy(s), includes endoscopic ultrasound examination limited to the rectum, sigmoid, descending, transverse, or ascending colon and cecum, and adjacent structures" + }, { + "code": "45393", + "display": "Colonoscopy, flexible; with decompression (for pathologic distention) (eg, volvulus, megacolon), including placement of decompression tube, when performed" + }, { + "code": "45398", + "display": "Colonoscopy, flexible; with band ligation(s) (eg, hemorrhoids)" + } ] + }, { + "system": "https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/index.html", + "version": "2018", + "concept": [ { + "code": "G0105", + "display": "Colorectal cancer screening; colonoscopy on individual at high risk" + }, { + "code": "G0121", + "display": "Colorectal cancer screening; colonoscopy on individual not meeting criteria for high risk" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "12350003", + "display": "Colonoscopy with rigid sigmoidoscope through colotomy (procedure)" + }, { + "code": "174158000", + "display": "Open colonoscopy (procedure)" + }, { + "code": "235150006", + "display": "Total colonoscopy (procedure)" + }, { + "code": "235151005", + "display": "Limited colonoscopy (procedure)" + }, { + "code": "25732003", + "display": "Fiberoptic colonoscopy with biopsy (procedure)" + }, { + "code": "310634005", + "display": "Check colonoscopy (procedure)" + }, { + "code": "34264006", + "display": "Intraoperative colonoscopy (procedure)" + }, { + "code": "367535003", + "display": "Fiberoptic colonoscopy (procedure)" + }, { + "code": "425672002", + "display": "Diagnostic endoscopic examination of ileoanal pouch and biopsy of ileoanal pouch using colonoscope (procedure)" + }, { + "code": "425937002", + "display": "Diagnostic endoscopic examination of enteric pouch using colonoscope (procedure)" + }, { + "code": "427459009", + "display": "Diagnostic endoscopic examination of colonic pouch and biopsy of colonic pouch using colonoscope (procedure)" + }, { + "code": "443998000", + "display": "Colonoscopy through colostomy with endoscopic biopsy of colon (procedure)" + }, { + "code": "444783004", + "display": "Screening colonoscopy (procedure)" + }, { + "code": "446521004", + "display": "Colonoscopy and excision of mucosa of colon (procedure)" + }, { + "code": "446745002", + "display": "Colonoscopy and biopsy of colon (procedure)" + }, { + "code": "447021001", + "display": "Colonoscopy and tattooing (procedure)" + }, { + "code": "709421007", + "display": "Colonoscopy and dilatation of stricture of colon (procedure)" + }, { + "code": "710293001", + "display": "Colonoscopy using fluoroscopic guidance (procedure)" + }, { + "code": "711307001", + "display": "Colonoscopy using X-ray guidance (procedure)" + }, { + "code": "713154003", + "display": "Endoscopic submucosal dissection of rectum using colonoscope (procedure)" + }, { + "code": "73761001", + "display": "Colonoscopy (procedure)" + }, { + "code": "8180007", + "display": "Fiberoptic colonoscopy through colostomy (procedure)" + }, { + "code": "851000119109", + "display": "History of colonoscopy (situation)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1010", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1010" + } ], + "version": "20171219", + "name": "FlexibleSigmoidoscopy", + "title": "Flexible Sigmoidoscopy", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2014", + "concept": [ { + "code": "45339", + "display": "Sigmoidoscopy, flexible; with ablation of tumor(s), polyp(s), or other lesion(s) not amenable to removal by hot biopsy forceps, bipolar cautery or snare technique" + }, { + "code": "45345", + "display": "Sigmoidoscopy, flexible; with transendoscopic stent placement (includes predilation)" + } ] + }, { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "45330", + "display": "Sigmoidoscopy, flexible; diagnostic, including collection of specimen(s) by brushing or washing, when performed (separate procedure)" + }, { + "code": "45331", + "display": "Sigmoidoscopy, flexible; with biopsy, single or multiple" + }, { + "code": "45332", + "display": "Sigmoidoscopy, flexible; with removal of foreign body(s)" + }, { + "code": "45333", + "display": "Sigmoidoscopy, flexible; with removal of tumor(s), polyp(s), or other lesion(s) by hot biopsy forceps" + }, { + "code": "45334", + "display": "Sigmoidoscopy, flexible; with control of bleeding, any method" + }, { + "code": "45335", + "display": "Sigmoidoscopy, flexible; with directed submucosal injection(s), any substance" + }, { + "code": "45337", + "display": "Sigmoidoscopy, flexible; with decompression (for pathologic distention) (eg, volvulus, megacolon), including placement of decompression tube, when performed" + }, { + "code": "45338", + "display": "Sigmoidoscopy, flexible; with removal of tumor(s), polyp(s), or other lesion(s) by snare technique" + }, { + "code": "45340", + "display": "Sigmoidoscopy, flexible; with transendoscopic balloon dilation" + }, { + "code": "45341", + "display": "Sigmoidoscopy, flexible; with endoscopic ultrasound examination" + }, { + "code": "45342", + "display": "Sigmoidoscopy, flexible; with transendoscopic ultrasound guided intramural or transmural fine needle aspiration/biopsy(s)" + }, { + "code": "45346", + "display": "Sigmoidoscopy, flexible; with ablation of tumor(s), polyp(s), or other lesion(s) (includes pre- and post-dilation and guide wire passage, when performed)" + }, { + "code": "45347", + "display": "Sigmoidoscopy, flexible; with placement of endoscopic stent (includes pre- and post-dilation and guide wire passage, when performed)" + }, { + "code": "45349", + "display": "Sigmoidoscopy, flexible; with endoscopic mucosal resection" + }, { + "code": "45350", + "display": "Sigmoidoscopy, flexible; with band ligation(s) (eg, hemorrhoids)" + } ] + }, { + "system": "https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/index.html", + "version": "2018", + "concept": [ { + "code": "G0104", + "display": "Colorectal cancer screening; flexible sigmoidoscopy" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "396226005", + "display": "Flexible fiberoptic sigmoidoscopy with biopsy (procedure)" + }, { + "code": "425634007", + "display": "Diagnostic endoscopic examination of lower bowel and sampling for bacterial overgrowth using fiberoptic sigmoidoscope (procedure)" + }, { + "code": "44441009", + "display": "Flexible fiberoptic sigmoidoscopy (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1011", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1011" + } ], + "version": "20171219", + "name": "FecalOccultBloodTest(FOBT)", + "title": "Fecal Occult Blood Test (FOBT)", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://loinc.org", + "version": "2.64", + "concept": [ { + "code": "12503-9", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool --4th specimen" + }, { + "code": "12504-7", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool --5th specimen" + }, { + "code": "14563-1", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool --1st specimen" + }, { + "code": "14564-9", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool --2nd specimen" + }, { + "code": "14565-6", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool --3rd specimen" + }, { + "code": "2335-8", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool" + }, { + "code": "27396-1", + "display": "Hemoglobin.gastrointestinal [Mass/mass] in Stool" + }, { + "code": "27401-9", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool --6th specimen" + }, { + "code": "27925-7", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool --7th specimen" + }, { + "code": "27926-5", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool --8th specimen" + }, { + "code": "29771-3", + "display": "Hemoglobin.gastrointestinal.lower [Presence] in Stool by Immunoassay" + }, { + "code": "56490-6", + "display": "Hemoglobin.gastrointestinal.lower [Presence] in Stool by Immunoassay --2nd specimen" + }, { + "code": "56491-4", + "display": "Hemoglobin.gastrointestinal.lower [Presence] in Stool by Immunoassay --3rd specimen" + }, { + "code": "57905-2", + "display": "Hemoglobin.gastrointestinal.lower [Presence] in Stool by Immunoassay --1st specimen" + }, { + "code": "58453-2", + "display": "Hemoglobin.gastrointestinal.lower [Mass/volume] in Stool by Immunoassay" + }, { + "code": "80372-6", + "display": "Hemoglobin.gastrointestinal [Presence] in Stool by Rapid immunoassay" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.3591", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.3591" + } ], + "version": "20180718", + "name": "Payer", + "title": "Payer", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.phdsc.org/standards/pdfs/SourceofPaymentTypologyVersion6FINALSeptember2015.pdf", + "version": "8.0", + "concept": [ { + "code": "1", + "display": "MEDICARE" + }, { + "code": "11", + "display": "Medicare (Managed Care)" + }, { + "code": "111", + "display": "Medicare HMO" + }, { + "code": "112", + "display": "Medicare PPO" + }, { + "code": "113", + "display": "Medicare POS" + }, { + "code": "119", + "display": "Medicare Managed Care Other" + }, { + "code": "12", + "display": "Medicare (Non-managed Care)" + }, { + "code": "121", + "display": "Medicare FFS" + }, { + "code": "122", + "display": "Medicare Drug Benefit" + }, { + "code": "123", + "display": "Medicare Medical Savings Account (MSA)" + }, { + "code": "129", + "display": "Medicare Non-managed Care Other" + }, { + "code": "13", + "display": "Medicare Hospice" + }, { + "code": "14", + "display": "Dual Eligibility Medicare/Medicaid Organization" + }, { + "code": "19", + "display": "Medicare Other" + }, { + "code": "191", + "display": "Medicare Pharmacy Benefit Manager" + }, { + "code": "2", + "display": "MEDICAID" + }, { + "code": "21", + "display": "Medicaid (Managed Care)" + }, { + "code": "211", + "display": "Medicaid HMO" + }, { + "code": "212", + "display": "Medicaid PPO" + }, { + "code": "213", + "display": "Medicaid PCCM (Primary Care Case Management)" + }, { + "code": "219", + "display": "Medicaid Managed Care Other" + }, { + "code": "22", + "display": "Medicaid (Non-managed Care Plan)" + }, { + "code": "23", + "display": "Medicaid/SCHIP" + }, { + "code": "25", + "display": "Medicaid - Out of State" + }, { + "code": "26", + "display": "Medicaid -- Long Term Care" + }, { + "code": "29", + "display": "Medicaid Other" + }, { + "code": "291", + "display": "Medicaid Pharmacy Benefit Manager" + }, { + "code": "299", + "display": "Medicaid - Dental" + }, { + "code": "3", + "display": "OTHER GOVERNMENT (Federal/State/Local) (excluding Department of Corrections)" + }, { + "code": "31", + "display": "Department of Defense" + }, { + "code": "311", + "display": "TRICARE (CHAMPUS)" + }, { + "code": "3111", + "display": "TRICARE Prime--HMO" + }, { + "code": "3112", + "display": "TRICARE Extra--PPO" + }, { + "code": "3113", + "display": "TRICARE Standard - Fee For Service" + }, { + "code": "3114", + "display": "TRICARE For Life--Medicare Supplement" + }, { + "code": "3115", + "display": "TRICARE Reserve Select" + }, { + "code": "3116", + "display": "Uniformed Services Family Health Plan (USFHP) -- HMO" + }, { + "code": "3119", + "display": "Department of Defense - (other)" + }, { + "code": "312", + "display": "Military Treatment Facility" + }, { + "code": "3121", + "display": "Enrolled Prime--HMO" + }, { + "code": "3122", + "display": "Non-enrolled Space Available" + }, { + "code": "3123", + "display": "TRICARE For Life (TFL)" + }, { + "code": "313", + "display": "Dental --Stand Alone" + }, { + "code": "32", + "display": "Department of Veterans Affairs" + }, { + "code": "321", + "display": "Veteran care--Care provided to Veterans" + }, { + "code": "3211", + "display": "Direct Care--Care provided in VA facilities" + }, { + "code": "3212", + "display": "Indirect Care--Care provided outside VA facilities" + }, { + "code": "32121", + "display": "Fee Basis" + }, { + "code": "32122", + "display": "Foreign Fee/Foreign Medical Program (FMP)" + }, { + "code": "32123", + "display": "Contract Nursing Home/Community Nursing Home" + }, { + "code": "32124", + "display": "State Veterans Home" + }, { + "code": "32125", + "display": "Sharing Agreements" + }, { + "code": "32126", + "display": "Other Federal Agency" + }, { + "code": "32127", + "display": "Dental Care" + }, { + "code": "32128", + "display": "Vision Care" + }, { + "code": "322", + "display": "Non-veteran care" + }, { + "code": "3221", + "display": "Civilian Health and Medical Program for the VA (CHAMPVA)" + }, { + "code": "3222", + "display": "Spina Bifida Health Care Program (SB)" + }, { + "code": "3223", + "display": "Children of Women Vietnam Veterans (CWVV)" + }, { + "code": "3229", + "display": "Other non-veteran care" + }, { + "code": "33", + "display": "Indian Health Service or Tribe" + }, { + "code": "331", + "display": "Indian Health Service -- Regular" + }, { + "code": "332", + "display": "Indian Health Service -- Contract" + }, { + "code": "333", + "display": "Indian Health Service - Managed Care" + }, { + "code": "334", + "display": "Indian Tribe - Sponsored Coverage" + }, { + "code": "34", + "display": "HRSA Program" + }, { + "code": "341", + "display": "Title V (MCH Block Grant)" + }, { + "code": "342", + "display": "Migrant Health Program" + }, { + "code": "343", + "display": "Ryan White Act" + }, { + "code": "349", + "display": "Other" + }, { + "code": "35", + "display": "Black Lung" + }, { + "code": "36", + "display": "State Government" + }, { + "code": "361", + "display": "State SCHIP program (codes for individual states)" + }, { + "code": "362", + "display": "Specific state programs (list/ local code)" + }, { + "code": "369", + "display": "State, not otherwise specified (other state)" + }, { + "code": "37", + "display": "Local Government" + }, { + "code": "371", + "display": "Local - Managed care" + }, { + "code": "3711", + "display": "HMO" + }, { + "code": "3712", + "display": "PPO" + }, { + "code": "3713", + "display": "POS" + }, { + "code": "372", + "display": "FFS/Indemnity" + }, { + "code": "379", + "display": "Local, not otherwise specified (other local, county)" + }, { + "code": "38", + "display": "Other Government (Federal, State, Local not specified)" + }, { + "code": "381", + "display": "Federal, State, Local not specified managed care" + }, { + "code": "3811", + "display": "Federal, State, Local not specified - HMO" + }, { + "code": "3812", + "display": "Federal, State, Local not specified - PPO" + }, { + "code": "3813", + "display": "Federal, State, Local not specified - POS" + }, { + "code": "3819", + "display": "Federal, State, Local not specified - not specified managed care" + }, { + "code": "382", + "display": "Federal, State, Local not specified - FFS" + }, { + "code": "389", + "display": "Federal, State, Local not specified - Other" + }, { + "code": "39", + "display": "Other Federal" + }, { + "code": "391", + "display": "Federal Employee Health Plan - Use when known" + }, { + "code": "4", + "display": "DEPARTMENTS OF CORRECTIONS" + }, { + "code": "41", + "display": "Corrections Federal" + }, { + "code": "42", + "display": "Corrections State" + }, { + "code": "43", + "display": "Corrections Local" + }, { + "code": "44", + "display": "Corrections Unknown Level" + }, { + "code": "5", + "display": "PRIVATE HEALTH INSURANCE" + }, { + "code": "51", + "display": "Managed Care (Private)" + }, { + "code": "511", + "display": "Commercial Managed Care - HMO" + }, { + "code": "512", + "display": "Commercial Managed Care - PPO" + }, { + "code": "513", + "display": "Commercial Managed Care - POS" + }, { + "code": "514", + "display": "Exclusive Provider Organization" + }, { + "code": "515", + "display": "Gatekeeper PPO (GPPO)" + }, { + "code": "516", + "display": "Commercial Managed Care - Pharmacy Benefit Manager" + }, { + "code": "517", + "display": "Commercial Managed Care - Dental" + }, { + "code": "519", + "display": "Managed Care, Other (non HMO)" + }, { + "code": "52", + "display": "Private Health Insurance - Indemnity" + }, { + "code": "521", + "display": "Commercial Indemnity" + }, { + "code": "522", + "display": "Self-insured (ERISA) Administrative Services Only (ASO) plan" + }, { + "code": "523", + "display": "Medicare supplemental policy (as second payer)" + }, { + "code": "524", + "display": "Indemnity Insurance - Dental" + }, { + "code": "529", + "display": "Private health insurance--other commercial Indemnity" + }, { + "code": "53", + "display": "Managed Care (private) or private health insurance (indemnity), not otherwise specified" + }, { + "code": "54", + "display": "Organized Delivery System" + }, { + "code": "55", + "display": "Small Employer Purchasing Group" + }, { + "code": "56", + "display": "Specialized Stand Alone Plan" + }, { + "code": "561", + "display": "Dental" + }, { + "code": "562", + "display": "Vision" + }, { + "code": "59", + "display": "Other Private Insurance" + }, { + "code": "6", + "display": "BLUE CROSS/BLUE SHIELD" + }, { + "code": "61", + "display": "BC Managed Care" + }, { + "code": "611", + "display": "BC Managed Care -- HMO" + }, { + "code": "612", + "display": "BC Managed Care -- PPO" + }, { + "code": "613", + "display": "BC Managed Care -- POS" + }, { + "code": "614", + "display": "BC Managed Care - Dental" + }, { + "code": "619", + "display": "BC Managed Care -- Other" + }, { + "code": "62", + "display": "BC Insurance Indemnity" + }, { + "code": "621", + "display": "BC Indemnity" + }, { + "code": "622", + "display": "BC Self-insured (ERISA) Administrative Services Only (ASO)Plan" + }, { + "code": "623", + "display": "BC Medicare Supplemental Plan" + }, { + "code": "629", + "display": "BC Indemnity - Dental" + }, { + "code": "7", + "display": "MANAGED CARE, UNSPECIFIED (to be used only if one can't distinguish public from private)" + }, { + "code": "71", + "display": "HMO" + }, { + "code": "72", + "display": "PPO" + }, { + "code": "73", + "display": "POS" + }, { + "code": "79", + "display": "Other Managed Care" + }, { + "code": "8", + "display": "NO PAYMENT from an Organization/Agency/Program/Private Payer Listed" + }, { + "code": "81", + "display": "Self-pay (Includes applicants for insurance and Medicaid applicants)" + }, { + "code": "82", + "display": "No Charge" + }, { + "code": "821", + "display": "Charity" + }, { + "code": "822", + "display": "Professional Courtesy" + }, { + "code": "823", + "display": "Research/Clinical Trial" + }, { + "code": "83", + "display": "Refusal to Pay/Bad Debt" + }, { + "code": "84", + "display": "Hill Burton Free Care" + }, { + "code": "85", + "display": "Research/Donor" + }, { + "code": "89", + "display": "No Payment, Other" + }, { + "code": "9", + "display": "MISCELLANEOUS/OTHER" + }, { + "code": "91", + "display": "Foreign National" + }, { + "code": "92", + "display": "Other (Non-government)" + }, { + "code": "93", + "display": "Disability Insurance" + }, { + "code": "94", + "display": "Long-term Care Insurance" + }, { + "code": "95", + "display": "Worker's Compensation" + }, { + "code": "951", + "display": "Worker's Comp HMO" + }, { + "code": "953", + "display": "Worker's Comp Fee-for-Service" + }, { + "code": "954", + "display": "Worker's Comp Other Managed Care" + }, { + "code": "959", + "display": "Worker's Comp, Other unspecified" + }, { + "code": "96", + "display": "Auto Insurance (includes no fault)" + }, { + "code": "97", + "display": "Legal Liability / Liability Insurance" + }, { + "code": "98", + "display": "Other specified but not otherwise classifiable (includes Hospice - Unspecified plan)" + }, { + "code": "99", + "display": "No Typology Code available for payment source" + }, { + "code": "9999", + "display": "Unavailable / No Payer Specified / Blank" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.108.12.1001", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.108.12.1001" + } ], + "version": "20171222", + "name": "MalignantNeoplasmofColon", + "title": "Malignant Neoplasm of Colon", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2019", + "concept": [ { + "code": "C18.0", + "display": "Malignant neoplasm of cecum" + }, { + "code": "C18.1", + "display": "Malignant neoplasm of appendix" + }, { + "code": "C18.2", + "display": "Malignant neoplasm of ascending colon" + }, { + "code": "C18.3", + "display": "Malignant neoplasm of hepatic flexure" + }, { + "code": "C18.4", + "display": "Malignant neoplasm of transverse colon" + }, { + "code": "C18.5", + "display": "Malignant neoplasm of splenic flexure" + }, { + "code": "C18.6", + "display": "Malignant neoplasm of descending colon" + }, { + "code": "C18.7", + "display": "Malignant neoplasm of sigmoid colon" + }, { + "code": "C18.8", + "display": "Malignant neoplasm of overlapping sites of colon" + }, { + "code": "C18.9", + "display": "Malignant neoplasm of colon, unspecified" + }, { + "code": "C19", + "display": "Malignant neoplasm of rectosigmoid junction" + }, { + "code": "C20", + "display": "Malignant neoplasm of rectum" + }, { + "code": "C21.2", + "display": "Malignant neoplasm of cloacogenic zone" + }, { + "code": "C21.8", + "display": "Malignant neoplasm of overlapping sites of rectum, anus and anal canal" + }, { + "code": "C78.5", + "display": "Secondary malignant neoplasm of large intestine and rectum" + } ] + }, { + "system": "http://hl7.org/fhir/sid/icd-9-cm", + "version": "2013", + "concept": [ { + "code": "153.0", + "display": "Malignant neoplasm of hepatic flexure" + }, { + "code": "153.1", + "display": "Malignant neoplasm of transverse colon" + }, { + "code": "153.2", + "display": "Malignant neoplasm of descending colon" + }, { + "code": "153.3", + "display": "Malignant neoplasm of sigmoid colon" + }, { + "code": "153.4", + "display": "Malignant neoplasm of cecum" + }, { + "code": "153.5", + "display": "Malignant neoplasm of appendix vermiformis" + }, { + "code": "153.6", + "display": "Malignant neoplasm of ascending colon" + }, { + "code": "153.7", + "display": "Malignant neoplasm of splenic flexure" + }, { + "code": "153.8", + "display": "Malignant neoplasm of other specified sites of large intestine" + }, { + "code": "153.9", + "display": "Malignant neoplasm of colon, unspecified site" + }, { + "code": "154.0", + "display": "Malignant neoplasm of rectosigmoid junction" + }, { + "code": "154.1", + "display": "Malignant neoplasm of rectum" + }, { + "code": "197.5", + "display": "Secondary malignant neoplasm of large intestine and rectum" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2012-07", + "concept": [ { + "code": "187758006", + "display": "Malignant neoplasm of other specified sites of colon (disorder)" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "109838007", + "display": "Overlapping malignant neoplasm of colon (disorder)" + }, { + "code": "133751000119102", + "display": "Lymphoma of colon (disorder)" + }, { + "code": "1701000119104", + "display": "Primary adenocarcinoma of colon (disorder)" + }, { + "code": "184881000119106", + "display": "Primary adenocarcinoma of rectosigmoid junction (disorder)" + }, { + "code": "187757001", + "display": "Malignant neoplasm, overlapping lesion of colon (disorder)" + }, { + "code": "269533000", + "display": "Carcinoma of colon (disorder)" + }, { + "code": "269544008", + "display": "Carcinoma of the rectosigmoid junction (disorder)" + }, { + "code": "285312008", + "display": "Carcinoma of sigmoid colon (disorder)" + }, { + "code": "285611007", + "display": "Metastasis to colon of unknown primary (disorder)" + }, { + "code": "301756000", + "display": "Adenocarcinoma of sigmoid colon (disorder)" + }, { + "code": "312111009", + "display": "Carcinoma of ascending colon (disorder)" + }, { + "code": "312112002", + "display": "Carcinoma of transverse colon (disorder)" + }, { + "code": "312113007", + "display": "Carcinoma of descending colon (disorder)" + }, { + "code": "312114001", + "display": "Carcinoma of hepatic flexure (disorder)" + }, { + "code": "312115000", + "display": "Carcinoma of splenic flexure (disorder)" + }, { + "code": "314965007", + "display": "Local recurrence of malignant tumor of colon (disorder)" + }, { + "code": "315058005", + "display": "Hereditary nonpolyposis colon cancer (disorder)" + }, { + "code": "363406005", + "display": "Malignant neoplasm of colon (disorder)" + }, { + "code": "363407001", + "display": "Malignant tumor of hepatic flexure (disorder)" + }, { + "code": "363408006", + "display": "Malignant tumor of transverse colon (disorder)" + }, { + "code": "363409003", + "display": "Malignant tumor of descending colon (disorder)" + }, { + "code": "363410008", + "display": "Malignant tumor of sigmoid colon (disorder)" + }, { + "code": "363412000", + "display": "Malignant tumor of ascending colon (disorder)" + }, { + "code": "363413005", + "display": "Malignant tumor of splenic flexure (disorder)" + }, { + "code": "363414004", + "display": "Malignant tumor of rectosigmoid junction (disorder)" + }, { + "code": "363510005", + "display": "Malignant tumor of large intestine (disorder)" + }, { + "code": "425178004", + "display": "Adenocarcinoma of rectosigmoid junction (disorder)" + }, { + "code": "449218003", + "display": "Lymphoma of sigmoid colon (disorder)" + }, { + "code": "681601000119101", + "display": "Primary adenocarcinoma of ascending colon (disorder)" + }, { + "code": "716654007", + "display": "Non-polyposis Turcot syndrome (disorder)" + }, { + "code": "721695008", + "display": "Primary adenocarcinoma of ascending colon and right flexure (disorder)" + }, { + "code": "721696009", + "display": "Primary adenocarcinoma of transverse colon (disorder)" + }, { + "code": "721699002", + "display": "Primary adenocarcinoma of descending colon and splenic flexure (disorder)" + }, { + "code": "737058005", + "display": "Microsatellite instability-high colorectal cancer (disorder)" + }, { + "code": "93683002", + "display": "Primary malignant neoplasm of ascending colon (disorder)" + }, { + "code": "93761005", + "display": "Primary malignant neoplasm of colon (disorder)" + }, { + "code": "93771007", + "display": "Primary malignant neoplasm of descending colon (disorder)" + }, { + "code": "93826009", + "display": "Primary malignant neoplasm of hepatic flexure of colon (disorder)" + }, { + "code": "93980002", + "display": "Primary malignant neoplasm of rectosigmoid junction (disorder)" + }, { + "code": "94006002", + "display": "Primary malignant neoplasm of sigmoid colon (disorder)" + }, { + "code": "94072004", + "display": "Primary malignant neoplasm of splenic flexure of colon (disorder)" + }, { + "code": "94105000", + "display": "Primary malignant neoplasm of transverse colon (disorder)" + }, { + "code": "94179005", + "display": "Secondary malignant neoplasm of ascending colon (disorder)" + }, { + "code": "94260004", + "display": "Secondary malignant neoplasm of colon (disorder)" + }, { + "code": "94271003", + "display": "Secondary malignant neoplasm of descending colon (disorder)" + }, { + "code": "94328005", + "display": "Secondary malignant neoplasm of hepatic flexure of colon (disorder)" + }, { + "code": "94509004", + "display": "Secondary malignant neoplasm of rectosigmoid junction (disorder)" + }, { + "code": "94538001", + "display": "Secondary malignant neoplasm of sigmoid colon (disorder)" + }, { + "code": "94604000", + "display": "Secondary malignant neoplasm of splenic flexure of colon (disorder)" + }, { + "code": "94643001", + "display": "Secondary malignant neoplasm of transverse colon (disorder)" + }, { + "code": "96281000119107", + "display": "Overlapping malignant neoplasm of colon and rectum (disorder)" + }, { + "code": "96981000119102", + "display": "Malignant neoplasm of rectosigmoid junction metastatic to brain (disorder)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1025", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1025" + } ], + "version": "20170504", + "name": "PreventiveCareServices-EstablishedOfficeVisit,18andUp", + "title": "Preventive Care Services - Established Office Visit, 18 and Up", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99395", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 18-39 years" + }, { + "code": "99396", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 40-64 years" + }, { + "code": "99397", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 65 years and older" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1016", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1016" + } ], + "version": "20180310", + "name": "HomeHealthcareServices", + "title": "Home Healthcare Services", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99341", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; and Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low severity. Typically, 20 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99342", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: An expanded problem focused history; An expanded problem focused examination; and Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate severity. Typically, 30 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99343", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A detailed history; A detailed examination; and Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 45 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99344", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; and Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of high severity. Typically, 60 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99345", + "display": "Home visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; and Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the patient is unstable or has developed a significant new problem requiring immediate physician attention. Typically, 75 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99347", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A problem focused interval history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 15 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99348", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: An expanded problem focused interval history; An expanded problem focused examination; Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 25 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99349", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A detailed interval history; A detailed examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are moderate to high severity. Typically, 40 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99350", + "display": "Home visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A comprehensive interval history; A comprehensive examination; Medical decision making of moderate to high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. The patient may be unstable or may have developed a significant new problem requiring immediate physician attention. Typically, 60 minutes are spent face-to-face with the patient and/or family." + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "185460008", + "display": "Home visit request by patient (procedure)" + }, { + "code": "185462000", + "display": "Home visit request by relative (procedure)" + }, { + "code": "185466002", + "display": "Home visit for urgent condition (procedure)" + }, { + "code": "185467006", + "display": "Home visit for acute condition (procedure)" + }, { + "code": "185468001", + "display": "Home visit for chronic condition (procedure)" + }, { + "code": "185470005", + "display": "Home visit elderly assessment (procedure)" + }, { + "code": "225929007", + "display": "Joint home visit (procedure)" + }, { + "code": "315205008", + "display": "Bank holiday home visit (procedure)" + }, { + "code": "439708006", + "display": "Home visit (procedure)" + }, { + "code": "698704008", + "display": "Home visit for rheumatology service (procedure)" + }, { + "code": "704126008", + "display": "Home visit for anticoagulant drug monitoring (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.108.12.1039", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.108.12.1039" + } ], + "version": "20171219", + "name": "FITDNA", + "title": "FIT DNA", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://loinc.org", + "version": "2.64", + "concept": [ { + "code": "77353-1", + "display": "Noninvasive colorectal cancer DNA and occult blood screening [Interpretation] in Stool Narrative" + }, { + "code": "77354-9", + "display": "Noninvasive colorectal cancer DNA and occult blood screening [Presence] in Stool" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.108.12.1038", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.108.12.1038" + } ], + "version": "20171219", + "name": "CTColonography", + "title": "CT Colonography", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "74261", + "display": "Computed tomographic (CT) colonography, diagnostic, including image postprocessing; without contrast material" + }, { + "code": "74262", + "display": "Computed tomographic (CT) colonography, diagnostic, including image postprocessing; with contrast material(s) including non-contrast images, if performed" + }, { + "code": "74263", + "display": "Computed tomographic (CT) colonography, screening, including image postprocessing" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "418714002", + "display": "Virtual computed tomography colonoscopy (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.526.3.1240", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.526.3.1240" + } ], + "version": "20170504", + "name": "AnnualWellnessVisit", + "title": "Annual Wellness Visit", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "https://www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/index.html", + "version": "2018", + "concept": [ { + "code": "G0438", + "display": "Annual wellness visit; includes a personalized prevention plan of service (pps), initial visit" + }, { + "code": "G0439", + "display": "Annual wellness visit, includes a personalized prevention plan of service (pps), subsequent visit" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.526.3.1240" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.292", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292", + "title": "Emergency Department Visit", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "4525004", + "display": "Emergency department patient visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.666.5.307", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.666.5.307" + } ], + "version": "20170504", + "name": "EncounterInpatient", + "title": "Encounter Inpatient", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + }, { + "code": "8715000", + "display": "Hospital admission, elective (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1108.15", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1108.15" + } ], + "version": "20170504", + "name": "Hospicecareambulatory", + "title": "Hospice care ambulatory", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "385763009", + "display": "Hospice care (regime/therapy)" + }, { + "code": "385765002", + "display": "Hospice care management (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1108.15" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1001", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1001" + } ], + "version": "20180310", + "name": "OfficeVisit", + "title": "Office Visit", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99201", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99202", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: An expanded problem focused history; An expanded problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 20 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99203", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A detailed history; A detailed examination; Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate severity. Typically, 30 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99204", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 45 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99205", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 60 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99212", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99213", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: An expanded problem focused history; An expanded problem focused examination; Medical decision making of low complexity. Counseling and coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 15 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99214", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A detailed history; A detailed examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 25 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99215", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 40 minutes are spent face-to-face with the patient and/or family." + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "185463005", + "display": "Visit out of hours (procedure)" + }, { + "code": "185464004", + "display": "Out of hours visit - not night visit (procedure)" + }, { + "code": "185465003", + "display": "Weekend visit (procedure)" + }, { + "code": "30346009", + "display": "Evaluation and management of established outpatient in office or other outpatient facility (procedure)" + }, { + "code": "3391000175108", + "display": "Office visit for pediatric care and assessment (procedure)" + }, { + "code": "37894004", + "display": "Evaluation and management of new outpatient in office or other outpatient facility (procedure)" + }, { + "code": "439740005", + "display": "Postoperative follow-up visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1023", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1023" + } ], + "version": "20170504", + "name": "PreventiveCareServices-InitialOfficeVisit,18andUp", + "title": "Preventive Care Services-Initial Office Visit, 18 and Up", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99385", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 18-39 years" + }, { + "code": "99386", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 40-64 years" + }, { + "code": "99387", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 65 years and older" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.198.12.1019", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.198.12.1019" + } ], + "version": "20171222", + "name": "TotalColectomy", + "title": "Total Colectomy", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2006", + "concept": [ { + "code": "44152", + "display": "Colectomy, total, abdominal, without proctectomy; with rectal mucosectomy, ileoanal anastomosis, with or without loop ileostomy" + }, { + "code": "44153", + "display": "Colectomy, total, abdominal, without proctectomy; with rectal mucosectomy, ileoanal anastomosis, creation of ileal reservoir (S or J), with or without loop ileostomy" + } ] + }, { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "44150", + "display": "Colectomy, total, abdominal, without proctectomy; with ileostomy or ileoproctostomy" + }, { + "code": "44151", + "display": "Colectomy, total, abdominal, without proctectomy; with continent ileostomy" + }, { + "code": "44155", + "display": "Colectomy, total, abdominal, with proctectomy; with ileostomy" + }, { + "code": "44156", + "display": "Colectomy, total, abdominal, with proctectomy; with continent ileostomy" + }, { + "code": "44157", + "display": "Colectomy, total, abdominal, with proctectomy; with ileoanal anastomosis, includes loop ileostomy, and rectal mucosectomy, when performed" + }, { + "code": "44158", + "display": "Colectomy, total, abdominal, with proctectomy; with ileoanal anastomosis, creation of ileal reservoir (S or J), includes loop ileostomy, and rectal mucosectomy, when performed" + }, { + "code": "44210", + "display": "Laparoscopy, surgical; colectomy, total, abdominal, without proctectomy, with ileostomy or ileoproctostomy" + }, { + "code": "44211", + "display": "Laparoscopy, surgical; colectomy, total, abdominal, with proctectomy, with ileoanal anastomosis, creation of ileal reservoir (S or J), with loop ileostomy, includes rectal mucosectomy, when performed" + }, { + "code": "44212", + "display": "Laparoscopy, surgical; colectomy, total, abdominal, with proctectomy, with ileostomy" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "26390003", + "display": "Total colectomy (procedure)" + }, { + "code": "303401008", + "display": "Parks panproctocolectomy, anastomosis of ileum to anus and creation of pouch (procedure)" + }, { + "code": "307666008", + "display": "Total colectomy and ileostomy (procedure)" + }, { + "code": "307667004", + "display": "Total colectomy, ileostomy and rectal mucous fistula (procedure)" + }, { + "code": "307669001", + "display": "Total colectomy, ileostomy and closure of rectal stump (procedure)" + }, { + "code": "31130001", + "display": "Total abdominal colectomy with proctectomy and ileostomy (procedure)" + }, { + "code": "36192008", + "display": "Total abdominal colectomy with ileoproctostomy (procedure)" + }, { + "code": "44751009", + "display": "Total abdominal colectomy with proctectomy and continent ileostomy (procedure)" + }, { + "code": "456004", + "display": "Total abdominal colectomy with ileostomy (procedure)" + }, { + "code": "80294005", + "display": "Total abdominal colectomy with rectal mucosectomy and ileoanal anastomosis (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.836", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.836" + } ], + "version": "20121025", + "name": "Race", + "title": "Race", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "1002-5", + "display": "American Indian or Alaska Native" + }, { + "code": "2028-9", + "display": "Asian" + }, { + "code": "2054-5", + "display": "Black or African American" + }, { + "code": "2076-8", + "display": "Native Hawaiian or Other Pacific Islander" + }, { + "code": "2106-3", + "display": "White" + }, { + "code": "2131-1", + "display": "Other Race" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1" + } ], + "version": "20150331", + "name": "ONCAdministrativeSex", + "title": "ONC Administrative Sex", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + }, { + "code": "M", + "display": "Male" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.837", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.837" + } ], + "version": "20121025", + "name": "Ethnicity", + "title": "Ethnicity", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "2135-2", + "display": "Hispanic or Latino" + }, { + "code": "2186-5", + "display": "Not Hispanic or Latino" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.837" + } + } ] +} \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM165_FHIR3-8.5.000/EXM165_FHIR3-8.5.000-bundle.json b/fhir3/bundles/measure/EXM165_FHIR3-8.5.000/EXM165_FHIR3-8.5.000-bundle.json index a6fb5bad..89ff9e33 100644 --- a/fhir3/bundles/measure/EXM165_FHIR3-8.5.000/EXM165_FHIR3-8.5.000-bundle.json +++ b/fhir3/bundles/measure/EXM165_FHIR3-8.5.000/EXM165_FHIR3-8.5.000-bundle.json @@ -427,16 +427,11 @@ }, "text": { "status": "generated", - "div": "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Measure Title

Controlling High Blood Pressure

Measure ID

EXM165

Description

Percentage of patients 18-85 years of age who had a diagnosis of hypertension overlapping the measurement period and whose most recent blood pressure was adequately controlled (<140/90mmHg) during the measurement period

\r\n
\r\n
\r\n
Measurement PeriodJanuary 1 - December 31
Copyright and Disclaimer Notice\r\n
\r\n
The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.\r\n \r\nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].
\r\n
\r\n
This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. <br> Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. <br> CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.
\r\n
\r\n
Clinical Recommendation Statement\r\n

The U.S. Preventive Services Task Force (2015) recommends screening for high blood pressure in adults age 18 years and older. This is a grade A recommendation.

\r\n

American College of Cardiology/American Heart Association (2017)
\r\n-For adults with confirmed hypertension and known CVD or 10-year ASCVD event risk of 10% or higher, a blood pressure target of less than 130/80 mmHg is recommended
\r\n-For adults with confirmed hypertension, without additional markers of increased CVD risk, a blood pressure target of less than 130/80 mmHg may be reasonable (Note: clinical trial evidence is strongest for a target blood pressure of 140/90 mmHg in this population. However observational studies suggest that these individuals often have a high lifetime risk and would benefit from blood pressure control earlier in life)

\r\n

American College of Physicians and the American Academy of Family Physicians (2017):
\r\n-Initiate intensifying pharmacologic treatment in adults aged 60 and older at high cardiovascular risk, based on individualized assessment, to achieve a target systolic blood pressure of less than 140 mmHg (Grade: weak recommendation, quality of evidence: low)
\r\n-Initiate intensifying pharmacologic treatment in adults aged 60 and older with a history of stroke or transient ischemic attack to achieve a target systolic blood pressure of less than 140 mmHg to reduce the risk of recurrent stroke (Grade: weak recommendation, quality of evidence: moderate)

\r\n

American Diabetes Association (2018):
\r\nMost patients with diabetes and hypertension should be treated to a systolic blood pressure goal of <140 mmHg and a diastolic blood pressure goal of <90 mmHg (Level of evidence: A)

\r\n

Report from the Eighth Joint National Committee (2014)
\r\n-In the general population younger than 60 years, initiate pharmacologic treatment to lower blood pressure at diastolic blood pressure (DBP) of 90 mmHg or higher and treat to a goal of DBP of lower than 90 mmHg (Grade: A (for ages 30-59), Grade: E (for ages 18-29))
\r\n-In the general population younger than 60 years, initiate pharmacologic treatment to lower blood pressure at systolic blood pressure (SBP) to 140 mmHg or higher and treat to a goal of SBP of lower than 140 mmHg (Grade: E)
\r\n-In the general population aged 60 years and older, initiate pharmacologic treatment to lower blood pressure at SBP of 150 mmHg or higher or a DBP of 90 mmHg or higher and treat to a goal of SBP lower than 150 mmHg and goal of DBP lower than 90 mmHg

\r\n
\r\n
References\r\n
\r\n
American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104.
\r\n
\r\n
\r\n
\r\n
Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485
\r\n
\r\n
\r\n
\r\n
Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html
\r\n
\r\n
\r\n
\r\n
Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. 
\r\n
\r\n
\r\n
\r\n
Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html
\r\n
\r\n
\r\n
\r\n
Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439.
\r\n
\r\n
\r\n
\r\n
James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427
\r\n
\r\n
\r\n
\r\n
Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi:  10.1056/NEJMsa1406751. [published correction appears on page 1677] \r\nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9.
\r\n
\r\n
\r\n
\r\n
Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753
\r\n
\r\n
\r\n
\r\n
Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437.
\r\n
\r\n
\r\n
\r\n
SPRINT Research Group,; Wright, J. T., Jr., Williamson,  J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116.
\r\n
\r\n
\r\n
\r\n
U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787.
\r\n
\r\n
\r\n
\r\n
Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065
\r\n
\r\n
\r\n
\r\n
Yoon, S. S., Fryar, C. D., & Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics.
\r\n
\r\n
Characteristics
ScoringProportion
TypeProcess
Improvement NotationA higher rate indicates better performance.
Guidance\r\n

In reference to the numerator element, only blood pressure readings performed by a clinician or a remote monitoring device are acceptable for numerator compliance with this measure.

\r\n

Do not include BP readings:
\r\n-Taken during an acute inpatient stay or an ED visit
\r\n-Taken on the same day as a diagnostic test or diagnostic or therapeutic procedure that requires a change in diet or change in medication on or one day before the day of the test or procedure, with the exception of fasting blood tests.
\r\n-Reported by or taken by the member

\r\n

If no blood pressure is recorded during the measurement period, the patient's blood pressure is assumed "not controlled."

\r\n

If there are multiple blood pressure readings on the same day, use the lowest systolic and the lowest diastolic reading as the most recent blood pressure reading.

\r\n
\r\n
Definitions
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n

Table of Contents

\r\n \r\n
\r\n \r\n

\r\n

Population Criteria

\r\n
\r\n
    \r\n
  • \r\n \r\n
    \r\n
      \r\n
    • \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tCommon.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period") between 18 and 85\r\n\t\tand exists "Essential Hypertension Diagnosis"\r\n\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")
          \r\n
        • \r\n
        p;\r\n
      • \r\n
    • \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
      \r\n
    • \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Has Diastolic Blood Pressure Less Than 90"\r\n\t\tand "Has Systolic Blood Pressure Less Than 140"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
    • \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
      \r\n
    • \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Initial Population"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
    • \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
  • \r\n
\r\n
\r\n\r\n

Definitions

\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t( ( "Qualifying Diastolic Blood Pressure Reading" DBPExam\r\n\t\t\t\treturn date from DBPExam.effective\r\n\t\t)\r\n\t\t\tintersect ( "Qualifying Systolic Blood Pressure Reading" SBPExam\r\n\t\t\t\t\treturn date from SBPExam.effective\r\n\t\t\t)\r\n\t)
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Initial Population"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t["Encounter": "ESRD Monthly Outpatient Services"] ESRDEncounter\r\n\t\twhere ESRDEncounter.status.value in { 'planned', 'arrived', 'triaged', 'in-progress', 'onleave', 'finished' }\r\n\t\t  and ESRDEncounter.period starts before end of "Measurement Period"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t( ["Procedure": "Vascular Access for Dialysis"]\r\n\t\tunion ["Procedure": "Kidney Transplant"]\r\n\t\tunion ["Procedure": "Dialysis Services"] ) ESRDProcedure\r\n\t\twhere ESRDProcedure.status = 'completed'\r\n      and ESRDProcedure.performed starts before end of "Measurement Period"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t["Condition": "Essential Hypertension"] Hypertension\r\n    where Hypertension.verificationStatus = 'confirmed'\r\n     and (Hypertension.assertedDate 6 months or less on or after start of "Measurement Period"\r\n      or Hypertension.assertedDate before end of "Measurement Period"\r\n    )
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Lowest Diastolic Reading on Most Recent Blood Pressure Day".value < 90
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Lowest Systolic Reading on Most Recent Blood Pressure Day".value < 140
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tCommon.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period") between 18 and 85\r\n\t\tand exists "Essential Hypertension Diagnosis"\r\n\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tFirst(\r\n    "Qualifying Diastolic Blood Pressure Reading" DBPReading\r\n\t\t  where DBPReading.effective same day as "Most Recent Blood Pressure Day"\r\n      return singleton from (\r\n        DBPReading.component C\r\n          where C.code ~ "Diastolic blood pressure"\r\n          return C.value as Quantity\r\n      )\r\n\t\t\tsort ascending\r\n\t)
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tFirst(\r\n    "Qualifying Systolic Blood Pressure Reading" SBPReading\r\n\t\t  where SBPReading.effective same day as "Most Recent Blood Pressure Day"\r\n      return singleton from (\r\n        SBPReading.component C\r\n          where C.code ~ "Systolic blood pressure"\r\n          return C.value as Quantity\r\n      )\r\n      sort ascending\r\n\t)
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tMax("Blood Pressure Days")
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Has Diastolic Blood Pressure Less Than 90"\r\n\t\tand "Has Systolic Blood Pressure Less Than 140"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t( ["Condition": "Pregnancy"]\r\n\t\tunion ["Condition": "End Stage Renal Disease"]\r\n\t\tunion ["Condition": "Kidney Transplant Recipient"]\r\n\t\tunion ["Condition": "Chronic Kidney Disease, Stage 5"] ) PregnancyESRDDiagnosis\r\n      where PregnancyESRDDiagnosis.verificationStatus = 'confirmed'\r\n        and PregnancyESRDDiagnosis.assertedDate before end of "Measurement Period"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t["Observation": "Blood pressure"] BloodPressure \r\n\t  where BloodPressure.status in {'final', 'amended'} \r\n      and BloodPressure.effective during "Measurement Period"\r\n      // TODO: Turn this into a value set\r\n\t    //and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS' })\r\n      and exists (\r\n        BloodPressure.component DiastolicBP \r\n          where FHIRHelpers.ToConcept(DiastolicBP.code) ~ "Diastolic blood pressure"\r\n            and DiastolicBP.value.unit = 'mm[Hg]'\r\n      )
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t["Observation": "Blood pressure"] BloodPressure \r\n\t  where BloodPressure.status in {'final', 'amended'} \r\n      and BloodPressure.effective during "Measurement Period"\r\n      // TODO: Turn this into a value set\r\n\t    and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS'})\r\n      and exists (\r\n        BloodPressure.component SystolicBP \r\n          where FHIRHelpers.ToConcept(SystolicBP.code) ~ "Systolic blood pressure"\r\n            and SystolicBP.value.unit = 'mm[Hg]'\r\n      )
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n

Functions

\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          define function GetEncounter(reference Reference):\r\n  singleton from ( [Encounter: id in Common.GetId(reference.reference)] )
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n

Terminology

\r\n
\r\n
    \r\n
  • codesystem "LOINC" : '2.16.840.1.113883.6.1'
  • \r\n
  • code "Birth date" : '21112-8' from "LOINC" display 'Birth date'
  • \r\n
  • code "Blood pressure" : '85354-9' from "LOINC" display 'blood pressure'
  • \r\n
  • code "Diastolic blood pressure" : '8462-4' from "LOINC" display 'Diastolic blood pressure'
  • \r\n
  • code "Systolic blood pressure" : '8480-6' from "LOINC" display 'Systolic blood pressure'
  • \r\n
  • valueset "Chronic Kidney Disease, Stage 5" : '2.16.840.1.113883.3.526.3.1002'
  • \r\n
  • valueset "Dialysis Services" : '2.16.840.1.113883.3.464.1003.109.12.1013'
  • \r\n
  • valueset "ED" : '2.16.840.1.113883.3.464.1003.101.12.1085'
  • \r\n
  • valueset "Encounter Inpatient" : '2.16.840.1.113883.3.666.5.307'
  • \r\n
  • valueset "End Stage Renal Disease" : '2.16.840.1.113883.3.526.3.353'
  • \r\n
  • valueset "ESRD Monthly Outpatient Services" : '2.16.840.1.113883.3.464.1003.109.12.1014'
  • \r\n
  • valueset "Essential Hypertension" : '2.16.840.1.113883.3.464.1003.104.12.1011'
  • \r\n
  • valueset "Ethnicity" : '2.16.840.1.114222.4.11.837'
  • \r\n
  • valueset "Kidney Transplant Recipient" : '2.16.840.1.113883.3.464.1003.109.12.1029'
  • \r\n
  • valueset "Kidney Transplant" : '2.16.840.1.113883.3.464.1003.109.12.1012'
  • \r\n
  • valueset "ONC Administrative Sex" : '2.16.840.1.113762.1.4.1'
  • \r\n
  • valueset "Payer" : '2.16.840.1.114222.4.11.3591'
  • \r\n
  • valueset "Pregnancy" : '2.16.840.1.113883.3.526.3.378'
  • \r\n
  • valueset "Race" : '2.16.840.1.114222.4.11.836'
  • \r\n
  • valueset "Vascular Access for Dialysis" : '2.16.840.1.113883.3.464.1003.109.12.1011'
  • \r\n
\r\n
\r\n

Data Criteria (QDM Data Elements)

\r\n
\r\n
    \r\n \r\n
\r\n
\r\n

Supplemental Data Elements

\r\n \r\n
\r\n
    \r\n
  • None
  • \r\n
\r\n
\r\n

Risk Adjustment Variables

\r\n
\r\n
    \r\n
  • None
  • \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
" + "div": "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Measure Title

Controlling High Blood Pressure

Measure ID

EXM165

Description

Percentage of patients 18-85 years of age who had a diagnosis of hypertension overlapping the measurement period and whose most recent blood pressure was adequately controlled (<140/90mmHg) during the measurement period

\r\n
\r\n
\r\n
Measurement PeriodJanuary 1 - December 31
Copyright and Disclaimer Notice\r\n
\r\n
The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.\r\n \r\nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].
\r\n
\r\n
This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. <br> Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. <br> CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.
\r\n
\r\n
Clinical Recommendation Statement\r\n

The U.S. Preventive Services Task Force (2015) recommends screening for high blood pressure in adults age 18 years and older. This is a grade A recommendation.

\r\n

American College of Cardiology/American Heart Association (2017)
\r\n-For adults with confirmed hypertension and known CVD or 10-year ASCVD event risk of 10% or higher, a blood pressure target of less than 130/80 mmHg is recommended
\r\n-For adults with confirmed hypertension, without additional markers of increased CVD risk, a blood pressure target of less than 130/80 mmHg may be reasonable (Note: clinical trial evidence is strongest for a target blood pressure of 140/90 mmHg in this population. However observational studies suggest that these individuals often have a high lifetime risk and would benefit from blood pressure control earlier in life)

\r\n

American College of Physicians and the American Academy of Family Physicians (2017):
\r\n-Initiate intensifying pharmacologic treatment in adults aged 60 and older at high cardiovascular risk, based on individualized assessment, to achieve a target systolic blood pressure of less than 140 mmHg (Grade: weak recommendation, quality of evidence: low)
\r\n-Initiate intensifying pharmacologic treatment in adults aged 60 and older with a history of stroke or transient ischemic attack to achieve a target systolic blood pressure of less than 140 mmHg to reduce the risk of recurrent stroke (Grade: weak recommendation, quality of evidence: moderate)

\r\n

American Diabetes Association (2018):
\r\nMost patients with diabetes and hypertension should be treated to a systolic blood pressure goal of <140 mmHg and a diastolic blood pressure goal of <90 mmHg (Level of evidence: A)

\r\n

Report from the Eighth Joint National Committee (2014)
\r\n-In the general population younger than 60 years, initiate pharmacologic treatment to lower blood pressure at diastolic blood pressure (DBP) of 90 mmHg or higher and treat to a goal of DBP of lower than 90 mmHg (Grade: A (for ages 30-59), Grade: E (for ages 18-29))
\r\n-In the general population younger than 60 years, initiate pharmacologic treatment to lower blood pressure at systolic blood pressure (SBP) to 140 mmHg or higher and treat to a goal of SBP of lower than 140 mmHg (Grade: E)
\r\n-In the general population aged 60 years and older, initiate pharmacologic treatment to lower blood pressure at SBP of 150 mmHg or higher or a DBP of 90 mmHg or higher and treat to a goal of SBP lower than 150 mmHg and goal of DBP lower than 90 mmHg

\r\n
\r\n
References\r\n
\r\n
American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104.
\r\n
\r\n
\r\n
\r\n
Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485
\r\n
\r\n
\r\n
\r\n
Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html
\r\n
\r\n
\r\n
\r\n
Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. 
\r\n
\r\n
\r\n
\r\n
Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html
\r\n
\r\n
\r\n
\r\n
Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439.
\r\n
\r\n
\r\n
\r\n
James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427
\r\n
\r\n
\r\n
\r\n
Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi:  10.1056/NEJMsa1406751. [published correction appears on page 1677] \r\nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9.
\r\n
\r\n
\r\n
\r\n
Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753
\r\n
\r\n
\r\n
\r\n
Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437.
\r\n
\r\n
\r\n
\r\n
SPRINT Research Group,; Wright, J. T., Jr., Williamson,  J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116.
\r\n
\r\n
\r\n
\r\n
U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787.
\r\n
\r\n
\r\n
\r\n
Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065
\r\n
\r\n
\r\n
\r\n
Yoon, S. S., Fryar, C. D., & Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics.
\r\n
\r\n
Characteristics
ScoringProportion
TypeProcess
Improvement NotationA higher rate indicates better performance.
Guidance\r\n

In reference to the numerator element, only blood pressure readings performed by a clinician or a remote monitoring device are acceptable for numerator compliance with this measure.

\r\n

Do not include BP readings:
\r\n-Taken during an acute inpatient stay or an ED visit
\r\n-Taken on the same day as a diagnostic test or diagnostic or therapeutic procedure that requires a change in diet or change in medication on or one day before the day of the test or procedure, with the exception of fasting blood tests.
\r\n-Reported by or taken by the member

\r\n

If no blood pressure is recorded during the measurement period, the patient's blood pressure is assumed "not controlled."

\r\n

If there are multiple blood pressure readings on the same day, use the lowest systolic and the lowest diastolic reading as the most recent blood pressure reading.

\r\n
\r\n
Definitions
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n

Table of Contents

\r\n \r\n
\r\n \r\n

\r\n

Population Criteria

\r\n
\r\n
    \r\n
  • \r\n \r\n
    \r\n
      \r\n
    • \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tCommon.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period") between 18 and 85\r\n\t\tand exists "Essential Hypertension Diagnosis"\r\n\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")
          \r\n
        • \r\n
        p;\r\n
      • \r\n
    • \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
      \r\n
    • \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Has Diastolic Blood Pressure Less Than 90"\r\n\t\tand "Has Systolic Blood Pressure Less Than 140"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
    • \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
      \r\n
    • \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Initial Population"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
    • \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
  • \r\n
\r\n
\r\n\r\n

Definitions

\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t( ( "Qualifying Diastolic Blood Pressure Reading" DBPExam\r\n\t\t\t\treturn date from DBPExam.effective\r\n\t\t)\r\n\t\t\tintersect ( "Qualifying Systolic Blood Pressure Reading" SBPExam\r\n\t\t\t\t\treturn date from SBPExam.effective\r\n\t\t\t)\r\n\t)
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Initial Population"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t["Encounter": "ESRD Monthly Outpatient Services"] ESRDEncounter\r\n\t\twhere ESRDEncounter.status.value in { 'planned', 'arrived', 'triaged', 'in-progress', 'onleave', 'finished' }\r\n\t\t  and ESRDEncounter.period starts before end of "Measurement Period"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t( ["Procedure": "Vascular Access for Dialysis"]\r\n\t\tunion ["Procedure": "Kidney Transplant"]\r\n\t\tunion ["Procedure": "Dialysis Services"] ) ESRDProcedure\r\n\t\twhere ESRDProcedure.status = 'completed'\r\n      and ESRDProcedure.performed starts before end of "Measurement Period"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t["Condition": "Essential Hypertension"] Hypertension\r\n    where Hypertension.verificationStatus = 'confirmed'\r\n     and (Hypertension.assertedDate 6 months or less on or after start of "Measurement Period"\r\n      or Hypertension.assertedDate before end of "Measurement Period"\r\n    )
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Lowest Diastolic Reading on Most Recent Blood Pressure Day".value < 90
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Lowest Systolic Reading on Most Recent Blood Pressure Day".value < 140
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tCommon.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period") between 18 and 85\r\n\t\tand exists "Essential Hypertension Diagnosis"\r\n\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tFirst(\r\n    "Qualifying Diastolic Blood Pressure Reading" DBPReading\r\n\t\t  where DBPReading.effective same day as "Most Recent Blood Pressure Day"\r\n      return singleton from (\r\n        DBPReading.component C\r\n          where C.code ~ "Diastolic blood pressure"\r\n          return C.value as Quantity\r\n      )\r\n\t\t\tsort ascending\r\n\t)
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tFirst(\r\n    "Qualifying Systolic Blood Pressure Reading" SBPReading\r\n\t\t  where SBPReading.effective same day as "Most Recent Blood Pressure Day"\r\n      return singleton from (\r\n        SBPReading.component C\r\n          where C.code ~ "Systolic blood pressure"\r\n          return C.value as Quantity\r\n      )\r\n      sort ascending\r\n\t)
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tMax("Blood Pressure Days")
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Has Diastolic Blood Pressure Less Than 90"\r\n\t\tand "Has Systolic Blood Pressure Less Than 140"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t( ["Condition": "Pregnancy"]\r\n\t\tunion ["Condition": "End Stage Renal Disease"]\r\n\t\tunion ["Condition": "Kidney Transplant Recipient"]\r\n\t\tunion ["Condition": "Chronic Kidney Disease, Stage 5"] ) PregnancyESRDDiagnosis\r\n      where PregnancyESRDDiagnosis.verificationStatus = 'confirmed'\r\n        and PregnancyESRDDiagnosis.assertedDate before end of "Measurement Period"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t["Observation": "Blood pressure"] BloodPressure \r\n\t  where BloodPressure.status in {'final', 'amended'} \r\n      and BloodPressure.effective during "Measurement Period"\r\n      // TODO: Turn this into a value set\r\n\t    //and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS' })\r\n      and exists (\r\n        BloodPressure.component DiastolicBP \r\n          where FHIRHelpers.ToConcept(DiastolicBP.code) ~ "Diastolic blood pressure"\r\n            and DiastolicBP.value.unit = 'mm[Hg]'\r\n      )
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t["Observation": "Blood pressure"] BloodPressure \r\n\t  where BloodPressure.status in {'final', 'amended'} \r\n      and BloodPressure.effective during "Measurement Period"\r\n      // TODO: Turn this into a value set\r\n\t    and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS'})\r\n      and exists (\r\n        BloodPressure.component SystolicBP \r\n          where FHIRHelpers.ToConcept(SystolicBP.code) ~ "Systolic blood pressure"\r\n            and SystolicBP.value.unit = 'mm[Hg]'\r\n      )
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n

Functions

\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          define function GetEncounter(reference Reference):\r\n  singleton from ( [Encounter: id in Common.GetId(reference.reference)] )
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n

Terminology

\r\n
\r\n
    \r\n
  • codesystem "LOINC" : '2.16.840.1.113883.6.1'
  • \r\n
  • code "Birth date" : '21112-8' from "LOINC" display 'Birth date'
  • \r\n
  • code "Blood pressure" : '85354-9' from "LOINC" display 'blood pressure'
  • \r\n
  • code "Diastolic blood pressure" : '8462-4' from "LOINC" display 'Diastolic blood pressure'
  • \r\n
  • code "Systolic blood pressure" : '8480-6' from "LOINC" display 'Systolic blood pressure'
  • \r\n
  • valueset "Chronic Kidney Disease, Stage 5" : '2.16.840.1.113883.3.526.3.1002'
  • \r\n
  • valueset "Dialysis Services" : '2.16.840.1.113883.3.464.1003.109.12.1013'
  • \r\n
  • valueset "ED" : '2.16.840.1.113883.3.464.1003.101.12.1085'
  • \r\n
  • valueset "Encounter Inpatient" : '2.16.840.1.113883.3.666.5.307'
  • \r\n
  • valueset "End Stage Renal Disease" : '2.16.840.1.113883.3.526.3.353'
  • \r\n
  • valueset "ESRD Monthly Outpatient Services" : '2.16.840.1.113883.3.464.1003.109.12.1014'
  • \r\n
  • valueset "Essential Hypertension" : '2.16.840.1.113883.3.464.1003.104.12.1011'
  • \r\n
  • valueset "Ethnicity" : '2.16.840.1.114222.4.11.837'
  • \r\n
  • valueset "Kidney Transplant Recipient" : '2.16.840.1.113883.3.464.1003.109.12.1029'
  • \r\n
  • valueset "Kidney Transplant" : '2.16.840.1.113883.3.464.1003.109.12.1012'
  • \r\n
  • valueset "ONC Administrative Sex" : '2.16.840.1.113762.1.4.1'
  • \r\n
  • valueset "Payer" : '2.16.840.1.114222.4.11.3591'
  • \r\n
  • valueset "Pregnancy" : '2.16.840.1.113883.3.526.3.378'
  • \r\n
  • valueset "Race" : '2.16.840.1.114222.4.11.836'
  • \r\n
  • valueset "Vascular Access for Dialysis" : '2.16.840.1.113883.3.464.1003.109.12.1011'
  • \r\n
\r\n
\r\n

Data Criteria (QDM Data Elements)

\r\n
\r\n
    \r\n \r\n
\r\n
\r\n

Supplemental Data Elements

\r\n \r\n
\r\n
    \r\n
  • None
  • \r\n
\r\n
\r\n

Risk Adjustment Variables

\r\n
\r\n
    \r\n
  • None
  • \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
" }, "extension": [ { "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", "valueCode": "boolean" - }, { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-EXM165-FHIR3", "version": "1.0.000", @@ -672,6 +667,128 @@ "method": "PUT", "url": "Measure/measure-EXM165-FHIR3-8.5.000/_history/2" } + }, { + "resource": { + "resourceType": "Library", + "id": "library-AdvancedIllnessandFrailtyExclusion-FHIR3-4.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-AdvancedIllnessandFrailtyExclusion-FHIR3-4.0.000
Type: Logic Library
Version: 4.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

Data Requirements:

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1087

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1086

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1085

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1084

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1014

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1012

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1083

type: MedicationDispense

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510

type: DeviceRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300

type: DeviceUseStatement

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088

type: Observation

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075

Content: type: text/cql
library AdvancedIllnessandFrailtyExclusion_FHIR3 version '4.0.000'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\n\ncodesystem "LOINC": 'urn:oid:2.16.840.1.113883.6.1'\n\nvalueset "Acute Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1083'\nvalueset "Advanced Illness": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082'\nvalueset "Care Services in Long-Term Residential Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1014'\nvalueset "Dementia Medications": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510'\nvalueset "ED": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1085'\nvalueset "Frailty Device": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300'\nvalueset "Frailty Diagnosis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074'\nvalueset "Frailty Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088'\nvalueset "Frailty Symptom": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075'\nvalueset "Nonacute Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1084'\nvalueset "Nursing Facility Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1012'\nvalueset "Observation": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1086'\nvalueset "Outpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1087'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Advanced Illness Diagnoses":\n    [Condition: "Advanced Illness"] AdvancedIllnessDiagnosis\n\ndefine "Outpatient Encounters with Advanced Illness":\n\t( [Encounter: "Outpatient"]\n\t\tunion [Encounter: "Observation"]\n\t\tunion [Encounter: "ED"]\n\t\tunion [Encounter: "Nonacute Inpatient"] ) OutpatientEncounter\n\t\twith "Advanced Illness Diagnoses" AdvancedIllnessDiagnosis\n            such that exists (\n                OutpatientEncounter.diagnosis.condition Condition\n                    where EndsWith(Condition.reference, AdvancedIllnessDiagnosis.id)\n            )\n            and OutpatientEncounter.period starts 2 years or less before\n\t\t\tend of "Measurement Period"\n\ndefine "Long Term Care Periods During Measurement Period":\n\t( [Encounter: "Care Services in Long-Term Residential Facility"]\n\t\tunion [Encounter: "Nursing Facility Visit"] ) LongTermFacilityEncounter\n\t\twhere LongTermFacilityEncounter.period overlaps "Measurement Period"\n\t\treturn LongTermFacilityEncounter.period\n\t\t\tintersect "Measurement Period"\n\ndefine "Inpatient Encounter with Advanced Illness":\n\t[Encounter: "Acute Inpatient"] InpatientEncounter\n\t\twith "Advanced Illness Diagnoses" AdvancedIllnessDiagnosis\n            such that exists (\n                InpatientEncounter.diagnosis.condition Condition\n                    where EndsWith(Condition.reference, AdvancedIllnessDiagnosis.id)\n            )\n\t\t\tand InpatientEncounter.period starts 2 years or less before\n\t\t\tend of "Measurement Period"\n\ndefine "Dementia Medications In Year Before or During Measurement Period":\n\t["MedicationDispense": "Dementia Medications"] DementiaMed\n\t\twhere DementiaMed.whenHandedOver as dateTime during day of Interval[\n            ( start of "Measurement Period" - 1 year ), end of "Measurement Period"\n        ]\n\ndefine "Has Criteria Indicating Frailty":\n\texists ( [DeviceRequest: "Frailty Device"] FrailtyDeviceOrder\n\t\t\twhere FrailtyDeviceOrder.authoredOn during day of "Measurement Period"\n\t)\n\t\tor exists ( [DeviceUseStatement: "Frailty Device"] FrailtyDeviceUse\n\t\t\t\twhere FrailtyDeviceUse.timing as Period overlaps "Measurement Period"\n                    or FrailtyDeviceUse.timing as dateTime during day of "Measurement Period"\n\t\t)\n\t\tor exists ( [Condition: "Frailty Diagnosis"] FrailtyDiagnosis\n\t\t\t\twhere FrailtyDiagnosis.onset as Period overlaps "Measurement Period"\n                    or FrailtyDiagnosis.onset as dateTime during day of "Measurement Period"\n\t\t)\n\t\tor exists ( [Encounter: "Frailty Encounter"] FrailtyEncounter\n\t\t\t\twhere FrailtyEncounter.period overlaps "Measurement Period"\n\t\t)\n\t\tor exists ( [Observation: "Frailty Symptom"] FrailtySymptomObservation\n\t\t\t\twhere FrailtySymptomObservation.effective as Period overlaps "Measurement Period"\n                    or FrailtySymptomObservation.effective as dateTime during day of "Measurement Period"\n\t\t)\n\ndefine "Advanced Illness and Frailty Exclusion Including Over Age 80":\n\t//If the measure includes populations age 80 and older, then use this logic:\n\t(\n        Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")in Interval[66, 80]\n            and "Has Criteria Indicating Frailty"\n            and ( Count("Outpatient Encounters with Advanced Illness")>= 2\n                or exists ( "Inpatient Encounter with Advanced Illness" )\n                or exists "Dementia Medications In Year Before or During Measurement Period"\n            )\n\t)\n\t\tor (\n            Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")>= 81\n\t\t\t    and "Has Criteria Indicating Frailty"\n\t\t)\n\ndefine "Advanced Illness and Frailty Exclusion Including Under Age 80":\n\t//If the measure does NOT include populations age 80 and older, then use this logic:\n\tGlobal."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")>= 65\n        and "Has Criteria Indicating Frailty"\n        and ( Count("Outpatient Encounters with Advanced Illness")>= 2\n            or exists ( "Inpatient Encounter with Advanced Illness" )\n            or exists "Dementia Medications In Year Before or During Measurement Period"\n        )\n\ndefine "Has Spent More Than 90 Days in Long Term Care":\n\t"Days Spent in Long Term Care During Measurement Period" > 90\n\ndefine "Days Spent in Long Term Care During Measurement Period":\n\t"CumulativeDays"("Long Term Care Periods During Measurement Period")\n\ndefine function "CumulativeDays"(Intervals List<Interval<DateTime>> ):\n\tSum((collapse Intervals)CollapsedInterval\n\t\t\treturn all duration in days of CollapsedInterval\n\t)\n
\n \n \n
\n
" + }, + "version": "4.0.000", + "name": "AdvancedIllnessandFrailtyExclusion_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + } ], + "dataRequirement": [ { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1087" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1086" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1085" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1084" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1014" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1012" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1083" + } ] + }, { + "type": "MedicationDispense", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510" + } ] + }, { + "type": "DeviceRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300" + } ] + }, { + "type": "DeviceUseStatement" + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI3MyIgc3RhcnRDaGFyPSIxNSIgZW5kTGluZT0iNzMiIGVuZENoYXI9IjUyIiBtZXNzYWdlPSJSZXRyaWV2ZSBoYXMgYSB0ZXJtaW5vbG9neSB0YXJnZXQgYnV0IGRvZXMgbm90IHNwZWNpZnkgYSBjb2RlIHBhdGggYW5kIHRoZSB0eXBlIG9mIHRoZSByZXRyaWV2ZSBkb2VzIG5vdCBoYXZlIGEgcHJpbWFyeSBjb2RlIHBhdGggZGVmaW5lZC4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iNzMiIHN0YXJ0Q2hhcj0iMTUiIGVuZExpbmU9IjczIiBlbmRDaGFyPSI1MiIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxpZGVudGlmaWVyIGlkPSJBZHZhbmNlZElsbG5lc3NhbmRGcmFpbHR5RXhjbHVzaW9uX0ZISVIzIiB2ZXJzaW9uPSI0LjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9Ikdsb2JhbCIgcGF0aD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHBhcmFtZXRlcnM+DQogICAgICA8ZGVmIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPg0KICAgICAgPC9kZWY+DQogICA8L3BhcmFtZXRlcnM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IkxPSU5DIiBpZD0idXJuOm9pZDoyLjE2Ljg0MC4xLjExMzg4My42LjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJBY3V0ZSBJbnBhdGllbnQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTA4MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJBZHZhbmNlZCBJbGxuZXNzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwODIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iQ2FyZSBTZXJ2aWNlcyBpbiBMb25nLVRlcm0gUmVzaWRlbnRpYWwgRmFjaWxpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJEZW1lbnRpYSBNZWRpY2F0aW9ucyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xNTEwIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkVEIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRnJhaWx0eSBEZXZpY2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTguMTIuMTMwMCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJGcmFpbHR5IERpYWdub3NpcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMy4xMi4xMDc0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkZyYWlsdHkgRW5jb3VudGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRnJhaWx0eSBTeW1wdG9tIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEzLjEyLjEwNzUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTm9uYWN1dGUgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTnVyc2luZyBGYWNpbGl0eSBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDEyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik9ic2VydmF0aW9uIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT3V0cGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDg3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iQmlydGggZGF0ZSIgaWQ9IjIxMTEyLTgiIGRpc3BsYXk9IkJpcnRoIGRhdGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iTE9JTkMiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkFkdmFuY2VkIElsbG5lc3MgRGlhZ25vc2VzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJBZHZhbmNlZElsbG5lc3NEaWFnbm9zaXMiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQWR2YW5jZWQgSWxsbmVzcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJPdXRwYXRpZW50IEVuY291bnRlcnMgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJPdXRwYXRpZW50RW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iT3V0cGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPYnNlcnZhdGlvbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRUQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTm9uYWN1dGUgSW5wYXRpZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iQWR2YW5jZWRJbGxuZXNzRGlhZ25vc2lzIiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJBZHZhbmNlZCBJbGxuZXNzIERpYWdub3NlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkNvbmRpdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iJHRoaXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZGlhZ25vc2lzIiBzY29wZT0iT3V0cGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29uZGl0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvbmRpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRW5kc1dpdGgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgc2NvcGU9IkNvbmRpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJBZHZhbmNlZElsbG5lc3NEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iT3V0cGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIyIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTG9uZyBUZXJtIENhcmUgUGVyaW9kcyBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJMb25nVGVybUZhY2lsaXR5RW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJDYXJlIFNlcnZpY2VzIGluIExvbmctVGVybSBSZXNpZGVudGlhbCBGYWNpbGl0eSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJOdXJzaW5nIEZhY2lsaXR5IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPdmVybGFwcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMb25nVGVybUZhY2lsaXR5RW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSW50ZXJzZWN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkxvbmdUZXJtRmFjaWxpdHlFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWR2YW5jZWQgSWxsbmVzcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSW5wYXRpZW50RW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkFjdXRlIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IkFkdmFuY2VkSWxsbmVzc0RpYWdub3NpcyIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQWR2YW5jZWQgSWxsbmVzcyBEaWFnbm9zZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImRpYWdub3NpcyIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29uZGl0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvbmRpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRW5kc1dpdGgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgc2NvcGU9IkNvbmRpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJBZHZhbmNlZElsbG5lc3NEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSW5wYXRpZW50RW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZW1lbnRpYSBNZWRpY2F0aW9ucyBJbiBZZWFyIEJlZm9yZSBvciBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJEZW1lbnRpYU1lZCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2UiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJEZW1lbnRpYSBNZWRpY2F0aW9ucyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ3aGVuSGFuZGVkT3ZlciIgc2NvcGU9IkRlbWVudGlhTWVkIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIYXMgQ3JpdGVyaWEgSW5kaWNhdGluZyBGcmFpbHR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJGcmFpbHR5RGV2aWNlT3JkZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkZyYWlsdHkgRGV2aWNlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkZyYWlsdHlEZXZpY2VPcmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJGcmFpbHR5RGV2aWNlVXNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJGcmFpbHR5IERldmljZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik92ZXJsYXBzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ0aW1pbmciIHNjb3BlPSJGcmFpbHR5RGV2aWNlVXNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idGltaW5nIiBzY29wZT0iRnJhaWx0eURldmljZVVzZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkZyYWlsdHlEaWFnbm9zaXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRnJhaWx0eSBEaWFnbm9zaXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPdmVybGFwcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJGcmFpbHR5RGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJGcmFpbHR5RGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRnJhaWx0eUVuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJGcmFpbHR5IEVuY291bnRlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3ZlcmxhcHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRnJhaWx0eUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJGcmFpbHR5U3ltcHRvbU9ic2VydmF0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRnJhaWx0eSBTeW1wdG9tIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3ZlcmxhcHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkZyYWlsdHlTeW1wdG9tT2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJGcmFpbHR5U3ltcHRvbU9ic2VydmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkFkdmFuY2VkIElsbG5lc3MgYW5kIEZyYWlsdHkgRXhjbHVzaW9uIEluY2x1ZGluZyBPdmVyIEFnZSA4MCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjY2IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI4MCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkhhcyBDcml0ZXJpYSBJbmRpY2F0aW5nIEZyYWlsdHkiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ291bnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJPdXRwYXRpZW50IEVuY291bnRlcnMgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWR2YW5jZWQgSWxsbmVzcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGVtZW50aWEgTWVkaWNhdGlvbnMgSW4gWWVhciBCZWZvcmUgb3IgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjgxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJBZHZhbmNlZCBJbGxuZXNzIGFuZCBGcmFpbHR5IEV4Y2x1c2lvbiBJbmNsdWRpbmcgVW5kZXIgQWdlIDgwIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNjUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIYXMgQ3JpdGVyaWEgSW5kaWNhdGluZyBGcmFpbHR5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvdW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iT3V0cGF0aWVudCBFbmNvdW50ZXJzIHdpdGggQWR2YW5jZWQgSWxsbmVzcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFkdmFuY2VkIElsbG5lc3MiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkRlbWVudGlhIE1lZGljYXRpb25zIEluIFllYXIgQmVmb3JlIG9yIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ3VtdWxhdGl2ZURheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3VtIj4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkNvbGxhcHNlZEludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJDb2xsYXBzZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnRlcnZhbHMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCByZXN1bHRUeXBlTmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNvbGxhcHNlZEludGVydmFsIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ29sbGFwc2VkSW50ZXJ2YWwiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkludGVydmFscyI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGF5cyBTcGVudCBpbiBMb25nIFRlcm0gQ2FyZSBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkN1bXVsYXRpdmVEYXlzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTG9uZyBUZXJtIENhcmUgUGVyaW9kcyBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkhhcyBTcGVudCBNb3JlIFRoYW4gOTAgRGF5cyBpbiBMb25nIFRlcm0gQ2FyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iR3JlYXRlciI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJEYXlzIFNwZW50IGluIExvbmcgVGVybSBDYXJlIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjkwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBBZHZhbmNlZElsbG5lc3NhbmRGcmFpbHR5RXhjbHVzaW9uX0ZISVIzIHZlcnNpb24gJzQuMC4wMDAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKCmNvZGVzeXN0ZW0gIkxPSU5DIjogJ3VybjpvaWQ6Mi4xNi44NDAuMS4xMTM4ODMuNi4xJwoKdmFsdWVzZXQgIkFjdXRlIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTA4MycKdmFsdWVzZXQgIkFkdmFuY2VkIElsbG5lc3MiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwODInCnZhbHVlc2V0ICJDYXJlIFNlcnZpY2VzIGluIExvbmctVGVybSBSZXNpZGVudGlhbCBGYWNpbGl0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxNCcKdmFsdWVzZXQgIkRlbWVudGlhIE1lZGljYXRpb25zIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xNTEwJwp2YWx1ZXNldCAiRUQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODUnCnZhbHVlc2V0ICJGcmFpbHR5IERldmljZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTguMTIuMTMwMCcKdmFsdWVzZXQgIkZyYWlsdHkgRGlhZ25vc2lzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMy4xMi4xMDc0Jwp2YWx1ZXNldCAiRnJhaWx0eSBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODgnCnZhbHVlc2V0ICJGcmFpbHR5IFN5bXB0b20iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEzLjEyLjEwNzUnCnZhbHVlc2V0ICJOb25hY3V0ZSBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODQnCnZhbHVlc2V0ICJOdXJzaW5nIEZhY2lsaXR5IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDEyJwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODYnCnZhbHVlc2V0ICJPdXRwYXRpZW50IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDg3JwoKY29kZSAiQmlydGggZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJBZHZhbmNlZCBJbGxuZXNzIERpYWdub3NlcyI6CiAgICBbQ29uZGl0aW9uOiAiQWR2YW5jZWQgSWxsbmVzcyJdIEFkdmFuY2VkSWxsbmVzc0RpYWdub3NpcwoKZGVmaW5lICJPdXRwYXRpZW50IEVuY291bnRlcnMgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIjoKCSggW0VuY291bnRlcjogIk91dHBhdGllbnQiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJPYnNlcnZhdGlvbiJdCgkJdW5pb24gW0VuY291bnRlcjogIkVEIl0KCQl1bmlvbiBbRW5jb3VudGVyOiAiTm9uYWN1dGUgSW5wYXRpZW50Il0gKSBPdXRwYXRpZW50RW5jb3VudGVyCgkJd2l0aCAiQWR2YW5jZWQgSWxsbmVzcyBEaWFnbm9zZXMiIEFkdmFuY2VkSWxsbmVzc0RpYWdub3NpcwogICAgICAgICAgICBzdWNoIHRoYXQgZXhpc3RzICgKICAgICAgICAgICAgICAgIE91dHBhdGllbnRFbmNvdW50ZXIuZGlhZ25vc2lzLmNvbmRpdGlvbiBDb25kaXRpb24KICAgICAgICAgICAgICAgICAgICB3aGVyZSBFbmRzV2l0aChDb25kaXRpb24ucmVmZXJlbmNlLCBBZHZhbmNlZElsbG5lc3NEaWFnbm9zaXMuaWQpCiAgICAgICAgICAgICkKICAgICAgICAgICAgYW5kIE91dHBhdGllbnRFbmNvdW50ZXIucGVyaW9kIHN0YXJ0cyAyIHllYXJzIG9yIGxlc3MgYmVmb3JlCgkJCWVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJMb25nIFRlcm0gQ2FyZSBQZXJpb2RzIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiOgoJKCBbRW5jb3VudGVyOiAiQ2FyZSBTZXJ2aWNlcyBpbiBMb25nLVRlcm0gUmVzaWRlbnRpYWwgRmFjaWxpdHkiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJOdXJzaW5nIEZhY2lsaXR5IFZpc2l0Il0gKSBMb25nVGVybUZhY2lsaXR5RW5jb3VudGVyCgkJd2hlcmUgTG9uZ1Rlcm1GYWNpbGl0eUVuY291bnRlci5wZXJpb2Qgb3ZlcmxhcHMgIk1lYXN1cmVtZW50IFBlcmlvZCIKCQlyZXR1cm4gTG9uZ1Rlcm1GYWNpbGl0eUVuY291bnRlci5wZXJpb2QKCQkJaW50ZXJzZWN0ICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIjoKCVtFbmNvdW50ZXI6ICJBY3V0ZSBJbnBhdGllbnQiXSBJbnBhdGllbnRFbmNvdW50ZXIKCQl3aXRoICJBZHZhbmNlZCBJbGxuZXNzIERpYWdub3NlcyIgQWR2YW5jZWRJbGxuZXNzRGlhZ25vc2lzCiAgICAgICAgICAgIHN1Y2ggdGhhdCBleGlzdHMgKAogICAgICAgICAgICAgICAgSW5wYXRpZW50RW5jb3VudGVyLmRpYWdub3Npcy5jb25kaXRpb24gQ29uZGl0aW9uCiAgICAgICAgICAgICAgICAgICAgd2hlcmUgRW5kc1dpdGgoQ29uZGl0aW9uLnJlZmVyZW5jZSwgQWR2YW5jZWRJbGxuZXNzRGlhZ25vc2lzLmlkKQogICAgICAgICAgICApCgkJCWFuZCBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kIHN0YXJ0cyAyIHllYXJzIG9yIGxlc3MgYmVmb3JlCgkJCWVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW1lbnRpYSBNZWRpY2F0aW9ucyBJbiBZZWFyIEJlZm9yZSBvciBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIjoKCVsiTWVkaWNhdGlvbkRpc3BlbnNlIjogIkRlbWVudGlhIE1lZGljYXRpb25zIl0gRGVtZW50aWFNZWQKCQl3aGVyZSBEZW1lbnRpYU1lZC53aGVuSGFuZGVkT3ZlciBhcyBkYXRlVGltZSBkdXJpbmcgZGF5IG9mIEludGVydmFsWwogICAgICAgICAgICAoIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiIC0gMSB5ZWFyICksIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICAgIF0KCmRlZmluZSAiSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSI6CglleGlzdHMgKCBbRGV2aWNlUmVxdWVzdDogIkZyYWlsdHkgRGV2aWNlIl0gRnJhaWx0eURldmljZU9yZGVyCgkJCXdoZXJlIEZyYWlsdHlEZXZpY2VPcmRlci5hdXRob3JlZE9uIGR1cmluZyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCSkKCQlvciBleGlzdHMgKCBbRGV2aWNlVXNlU3RhdGVtZW50OiAiRnJhaWx0eSBEZXZpY2UiXSBGcmFpbHR5RGV2aWNlVXNlCgkJCQl3aGVyZSBGcmFpbHR5RGV2aWNlVXNlLnRpbWluZyBhcyBQZXJpb2Qgb3ZlcmxhcHMgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgICAgICAgICAgICAgICBvciBGcmFpbHR5RGV2aWNlVXNlLnRpbWluZyBhcyBkYXRlVGltZSBkdXJpbmcgZGF5IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgkJKQoJCW9yIGV4aXN0cyAoIFtDb25kaXRpb246ICJGcmFpbHR5IERpYWdub3NpcyJdIEZyYWlsdHlEaWFnbm9zaXMKCQkJCXdoZXJlIEZyYWlsdHlEaWFnbm9zaXMub25zZXQgYXMgUGVyaW9kIG92ZXJsYXBzICJNZWFzdXJlbWVudCBQZXJpb2QiCiAgICAgICAgICAgICAgICAgICAgb3IgRnJhaWx0eURpYWdub3Npcy5vbnNldCBhcyBkYXRlVGltZSBkdXJpbmcgZGF5IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgkJKQoJCW9yIGV4aXN0cyAoIFtFbmNvdW50ZXI6ICJGcmFpbHR5IEVuY291bnRlciJdIEZyYWlsdHlFbmNvdW50ZXIKCQkJCXdoZXJlIEZyYWlsdHlFbmNvdW50ZXIucGVyaW9kIG92ZXJsYXBzICJNZWFzdXJlbWVudCBQZXJpb2QiCgkJKQoJCW9yIGV4aXN0cyAoIFtPYnNlcnZhdGlvbjogIkZyYWlsdHkgU3ltcHRvbSJdIEZyYWlsdHlTeW1wdG9tT2JzZXJ2YXRpb24KCQkJCXdoZXJlIEZyYWlsdHlTeW1wdG9tT2JzZXJ2YXRpb24uZWZmZWN0aXZlIGFzIFBlcmlvZCBvdmVybGFwcyAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICAgICAgICAgICAgICAgIG9yIEZyYWlsdHlTeW1wdG9tT2JzZXJ2YXRpb24uZWZmZWN0aXZlIGFzIGRhdGVUaW1lIGR1cmluZyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCQkpCgpkZWZpbmUgIkFkdmFuY2VkIElsbG5lc3MgYW5kIEZyYWlsdHkgRXhjbHVzaW9uIEluY2x1ZGluZyBPdmVyIEFnZSA4MCI6CgkvL0lmIHRoZSBtZWFzdXJlIGluY2x1ZGVzIHBvcHVsYXRpb25zIGFnZSA4MCBhbmQgb2xkZXIsIHRoZW4gdXNlIHRoaXMgbG9naWM6CgkoCiAgICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpaW4gSW50ZXJ2YWxbNjYsIDgwXQogICAgICAgICAgICBhbmQgIkhhcyBDcml0ZXJpYSBJbmRpY2F0aW5nIEZyYWlsdHkiCiAgICAgICAgICAgIGFuZCAoIENvdW50KCJPdXRwYXRpZW50IEVuY291bnRlcnMgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIik+PSAyCiAgICAgICAgICAgICAgICBvciBleGlzdHMgKCAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFkdmFuY2VkIElsbG5lc3MiICkKICAgICAgICAgICAgICAgIG9yIGV4aXN0cyAiRGVtZW50aWEgTWVkaWNhdGlvbnMgSW4gWWVhciBCZWZvcmUgb3IgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgICAgICAgKQoJKQoJCW9yICgKICAgICAgICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPj0gODEKCQkJICAgIGFuZCAiSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSIKCQkpCgpkZWZpbmUgIkFkdmFuY2VkIElsbG5lc3MgYW5kIEZyYWlsdHkgRXhjbHVzaW9uIEluY2x1ZGluZyBVbmRlciBBZ2UgODAiOgoJLy9JZiB0aGUgbWVhc3VyZSBkb2VzIE5PVCBpbmNsdWRlIHBvcHVsYXRpb25zIGFnZSA4MCBhbmQgb2xkZXIsIHRoZW4gdXNlIHRoaXMgbG9naWM6CglHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIik+PSA2NQogICAgICAgIGFuZCAiSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSIKICAgICAgICBhbmQgKCBDb3VudCgiT3V0cGF0aWVudCBFbmNvdW50ZXJzIHdpdGggQWR2YW5jZWQgSWxsbmVzcyIpPj0gMgogICAgICAgICAgICBvciBleGlzdHMgKCAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFkdmFuY2VkIElsbG5lc3MiICkKICAgICAgICAgICAgb3IgZXhpc3RzICJEZW1lbnRpYSBNZWRpY2F0aW9ucyBJbiBZZWFyIEJlZm9yZSBvciBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICAgICkKCmRlZmluZSAiSGFzIFNwZW50IE1vcmUgVGhhbiA5MCBEYXlzIGluIExvbmcgVGVybSBDYXJlIjoKCSJEYXlzIFNwZW50IGluIExvbmcgVGVybSBDYXJlIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiID4gOTAKCmRlZmluZSAiRGF5cyBTcGVudCBpbiBMb25nIFRlcm0gQ2FyZSBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIjoKCSJDdW11bGF0aXZlRGF5cyIoIkxvbmcgVGVybSBDYXJlIFBlcmlvZHMgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCIpCgpkZWZpbmUgZnVuY3Rpb24gIkN1bXVsYXRpdmVEYXlzIihJbnRlcnZhbHMgTGlzdDxJbnRlcnZhbDxEYXRlVGltZT4+ICk6CglTdW0oKGNvbGxhcHNlIEludGVydmFscylDb2xsYXBzZWRJbnRlcnZhbAoJCQlyZXR1cm4gYWxsIGR1cmF0aW9uIGluIGRheXMgb2YgQ29sbGFwc2VkSW50ZXJ2YWwKCSkK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-AdvancedIllnessandFrailtyExclusion-FHIR3-4.0.000" + } }, { "resource": { "resourceType": "Encounter", @@ -865,12 +982,6 @@ "status": "generated", "div": "
\n \n \n
Id: library-EXM165-FHIR3-8.5.000
Type: Logic Library
Version: 8.5.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

type: depends-on

Resource:
reference: Library/library-AdultOutpatientEncounters-FHIR3-1.1.000

type: depends-on

Resource:
reference: Library/library-AdvancedIllnessandFrailtyExclusion-FHIR3-4.0.000

Data Requirements:

type: Observation

code filter:
path: code

type: Observation

code filter:
path: code

type: Observation

code filter:
path: code

type: Observation

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.104.12.1011

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.378

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.353

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1029

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1002

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1014

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1011

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1012

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1013

Content: type: text/cql
library EXM165_FHIR3 version '8.5.000'\n\n/*\nControlling High Blood Pressure (CBP)\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0'\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Common\ninclude AdultOutpatientEncounters_FHIR3 version '1.1.000' called AdultOutpatientEncounters\ninclude AdvancedIllnessandFrailtyExclusion_FHIR3 version '4.0.000' called FrailtyLTI\n//include NCQACommon_FHIR version '3.10.000' called Common\n//include Participation_FHIR version '1.0.0'\n\ncodesystem "LOINC": 'http://loinc.org'\n\nvalueset "Chronic Kidney Disease, Stage 5": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1002'\nvalueset "Dialysis Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1013'\nvalueset "ED": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1085'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "End Stage Renal Disease": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.353'\nvalueset "ESRD Monthly Outpatient Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1014'\nvalueset "Essential Hypertension": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.104.12.1011'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Kidney Transplant": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1012'\nvalueset "Kidney Transplant Recipient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1029'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Pregnancy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.378'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Vascular Access for Dialysis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1011'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\ncode "Blood pressure": '85354-9' from "LOINC" display 'blood pressure'\ncode "Diastolic blood pressure": '8462-4' from "LOINC" display 'Diastolic blood pressure'\ncode "Systolic blood pressure": '8480-6' from "LOINC" display 'Systolic blood pressure'\n\nparameter "Measurement Period" Interval<DateTime> default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\n//define "SDE Ethnicity":\n//\t["Patient Characteristic Ethnicity": "Ethnicity"]\n\n//define "SDE Payer":\n//\t["Patient Characteristic Payer": "Payer"]\n\n//define "SDE Race":\n//\t["Patient Characteristic Race": "Race"]\n\n//define "SDE Sex":\n//\t["Patient Characteristic Sex": "ONC Administrative Sex"]\n\ndefine "Has Diastolic Blood Pressure Less Than 90":\n\t"Lowest Diastolic Reading on Most Recent Blood Pressure Day".value < 90\n\ndefine "Has Systolic Blood Pressure Less Than 140":\n\t"Lowest Systolic Reading on Most Recent Blood Pressure Day".value < 140\n\ndefine "Lowest Diastolic Reading on Most Recent Blood Pressure Day":\n\tFirst(\n    "Qualifying Diastolic Blood Pressure Reading" DBPReading\n\t\t  where DBPReading.effective same day as "Most Recent Blood Pressure Day"\n      return singleton from (\n        DBPReading.component C\n          where C.code ~ "Diastolic blood pressure"\n          return C.value as Quantity\n      )\n\t\t\tsort ascending\n\t)\n\ndefine "Lowest Systolic Reading on Most Recent Blood Pressure Day":\n\tFirst(\n    "Qualifying Systolic Blood Pressure Reading" SBPReading\n\t\t  where SBPReading.effective same day as "Most Recent Blood Pressure Day"\n      return singleton from (\n        SBPReading.component C\n          where C.code ~ "Systolic blood pressure"\n          return C.value as Quantity\n      )\n      sort ascending\n\t)\n\ndefine "Blood Pressure Days":\n\t( ( "Qualifying Diastolic Blood Pressure Reading" DBPExam\n\t\t\t\treturn date from DBPExam.effective\n\t\t)\n\t\t\t//intersect ( "Qualifying Systolic Blood Pressure Reading" SBPExam\n\t\t\tintersect ( "Qualifying Systolic Blood Pressure Reading" SBPExam\n\t\t\t\t\treturn date from SBPExam.effective\n\t\t\t)\n\t)\n\ndefine "Most Recent Blood Pressure Day":\n\tMax("Blood Pressure Days")\n\n\tdefine "Qualifying Diastolic Blood Pressure Reading Test":\n\t\t["Observation": "Blood pressure"] BloodPressure\n\t\t  where BloodPressure.status in {'final', 'amended'}\n\t     // and BloodPressure.effective during "Measurement Period"\n\t      // TODO: Turn this into a value set\n\t\t    //and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS' })\n\t      and exists (\n\t        BloodPressure.component DiastolicBP\n\t          where FHIRHelpers.ToConcept(DiastolicBP.code) ~ "Diastolic blood pressure"\n\t            and DiastolicBP.value.unit = 'mm[Hg]'\n\t      )\n\ndefine "Qualifying Diastolic Blood Pressure Reading":\n\t["Observation": "Blood pressure"] BloodPressure\n\t  where BloodPressure.status in {'final', 'amended'}\n      and BloodPressure.effective as dateTime during "Measurement Period"\n      // TODO: Turn this into a value set\n\t    //and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS' })\n      and exists (\n        BloodPressure.component DiastolicBP\n          where FHIRHelpers.ToConcept(DiastolicBP.code) ~ "Diastolic blood pressure"\n            and DiastolicBP.value.unit = 'mm[Hg]'\n      )\n//Note: Once we can specify that the FHIR BP Profile must be used, then status, code, and unit will not be required\n\ndefine "Qualifying Systolic Blood Pressure Reading":\n\t["Observation": "Blood pressure"] BloodPressure\n\t  where BloodPressure.status in {'final', 'amended'}\n      and BloodPressure.effective as dateTime during "Measurement Period"\n      // TODO: Turn this into a value set\n\t    //and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS'})\n      and exists (\n        BloodPressure.component SystolicBP\n          where FHIRHelpers.ToConcept(SystolicBP.code) ~ "Systolic blood pressure"\n            and SystolicBP.value.unit = 'mm[Hg]'\n      )\n//Note: Once we can specify that the FHIR BP Profile must be used, then status, code, and unit will not be required\n\ndefine "Numerator":\n\t"Has Diastolic Blood Pressure Less Than 90"\n\t\tand "Has Systolic Blood Pressure Less Than 140"\n\ndefine "Observations":\n\t[Observation]\n\ndefine "Initial Population":\n\tCommon.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period") between 18 and 85\n\t\tand exists "Essential Hypertension Diagnosis"\n\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")\n\ndefine "Pregnancy Or Renal Diagnosis Exclusions":\n\t( ["Condition": "Pregnancy"]\n\t\tunion ["Condition": "End Stage Renal Disease"]\n\t\tunion ["Condition": "Kidney Transplant Recipient"]\n\t\tunion ["Condition": "Chronic Kidney Disease, Stage 5"] ) PregnancyESRDDiagnosis\n      where PregnancyESRDDiagnosis.verificationStatus = 'confirmed'\n        and PregnancyESRDDiagnosis.assertedDate before end of "Measurement Period"\n\ndefine "Denominator":\n\t"Initial Population"\n\ndefine "End Stage Renal Disease Encounter":\n\t["Encounter": "ESRD Monthly Outpatient Services"] ESRDEncounter\n\t\twhere ESRDEncounter.status.value in { 'planned', 'arrived', 'triaged', 'in-progress', 'onleave', 'finished' }\n\t\t  and ESRDEncounter.period starts before end of "Measurement Period"\n\ndefine "End Stage Renal Disease Procedures":\n\t( ["Procedure": "Vascular Access for Dialysis"]\n\t\tunion ["Procedure": "Kidney Transplant"]\n\t\tunion ["Procedure": "Dialysis Services"] ) ESRDProcedure\n\t\twhere ESRDProcedure.status = 'completed'\n      and ESRDProcedure.performed starts before end of "Measurement Period"\n\ndefine "Essential Hypertension Diagnosis":\n\t["Condition": "Essential Hypertension"] Hypertension\n    where Hypertension.verificationStatus = 'confirmed'\n     and (Hypertension.assertedDate 6 months or less on or after start of "Measurement Period"\n      or Hypertension.assertedDate before end of "Measurement Period"\n    )\n\ndefine "Denominator Exclusion":\n\tfalse;\n\n/*\n// TODO: Translate exclusions\ndefine "Denominator Exclusion":\n\tHospice."Has Hospice"\n\t\tor exists "Pregnancy Or Renal Diagnosis Exclusions"\n\t\tor ( exists "End Stage Renal Disease Procedures"\n\t\t\t\tor exists "End Stage Renal Disease Encounter"\n\t\t)\n\t\tor ( exists ["Patient Characteristic Birthdate": "Birth date"] BirthDate\n\t\t    where exists (Common.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period")>= 65)\n\t\t    \t\t\t\t\t\t\t\t\tand FrailtyLTI."Has Spent More Than 90 Days in Long Term Care")\n\t\t\t\t\t\t\t\tor FrailtyLTI."Advanced Illness and Frailty Exclusion Including Over Age 80"\n*/\n\n// TODO: Move to Common Functions && fix local execution serialization for functions\n//define function GetEncounter(reference Reference): true\n//"GetId"(uri String): returns the last String of a Split by / List therefor cannot use in\n//singleton from ( [Encounter: id = Common.GetId(reference.reference)] )\n\t//singleton from ([Encounter] Encounter where Encounter.id.value = Common."GetId"(reference.reference))\n
\n \n \n
\n
" }, - "extension": [ { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } - } ], "version": "8.5.000", "name": "EXM165_FHIR3", "status": "active", @@ -881,7 +992,103 @@ "code": "logic-library" } ] }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-AdvancedIllnessandFrailtyExclusion-FHIR3-4.0.000" + } + } ], + "dataRequirement": [ { + "type": "Observation", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Observation" + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.104.12.1011" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.378" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.353" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1029" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1002" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1014" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1011" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1012" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1013" + } ] + } ], "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIxMTEiIHN0YXJ0Q2hhcj0iMiIgZW5kTGluZT0iMTExIiBlbmRDaGFyPSIzNCIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMTI0IiBzdGFydENoYXI9IjIiIGVuZExpbmU9IjEyNCIgZW5kQ2hhcj0iMzQiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9Ijk5IiBzdGFydENoYXI9IjMiIGVuZExpbmU9Ijk5IiBlbmRDaGFyPSIzNSIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxpZGVudGlmaWVyIGlkPSJFWE0xNjVfRkhJUjMiIHZlcnNpb249IjguNS4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iQ29tbW9uIiBwYXRoPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIHZlcnNpb249IjIuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzIiBwYXRoPSJBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIiB2ZXJzaW9uPSIxLjEuMDAwIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRnJhaWx0eUxUSSIgcGF0aD0iQWR2YW5jZWRJbGxuZXNzYW5kRnJhaWx0eUV4Y2x1c2lvbl9GSElSMyIgdmVyc2lvbj0iNC4wLjAwMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGRlZmF1bHQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAxOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICA8L2RlZmF1bHQ+DQogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPg0KICAgICAgPC9kZWY+DQogICA8L3BhcmFtZXRlcnM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IkxPSU5DIiBpZD0iaHR0cDovL2xvaW5jLm9yZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC9jb2RlU3lzdGVtcz4NCiAgIDx2YWx1ZVNldHM+DQogICAgICA8ZGVmIG5hbWU9IkNocm9uaWMgS2lkbmV5IERpc2Vhc2UsIFN0YWdlIDUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4xMDAyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpYWx5c2lzIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA5LjEyLjEwMTMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRUQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTA4NSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkVuZCBTdGFnZSBSZW5hbCBEaXNlYXNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMzUzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkVTUkQgTW9udGhseSBPdXRwYXRpZW50IFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA5LjEyLjEwMTQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRXNzZW50aWFsIEh5cGVydGVuc2lvbiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwNC4xMi4xMDExIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJLaWRuZXkgVHJhbnNwbGFudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOS4xMi4xMDEyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IktpZG5leSBUcmFuc3BsYW50IFJlY2lwaWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOS4xMi4xMDI5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUGF5ZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlByZWduYW5jeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjM3OCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlZhc2N1bGFyIEFjY2VzcyBmb3IgRGlhbHlzaXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDkuMTIuMTAxMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC92YWx1ZVNldHM+DQogICA8Y29kZXM+DQogICAgICA8ZGVmIG5hbWU9IkJpcnRoIGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmxvb2QgcHJlc3N1cmUiIGlkPSI4NTM1NC05IiBkaXNwbGF5PSJibG9vZCBwcmVzc3VyZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZSIgaWQ9Ijg0NjItNCIgZGlzcGxheT0iRGlhc3RvbGljIGJsb29kIHByZXNzdXJlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU3lzdG9saWMgYmxvb2QgcHJlc3N1cmUiIGlkPSI4NDgwLTYiIGRpc3BsYXk9IlN5c3RvbGljIGJsb29kIHByZXNzdXJlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJRdWFsaWZ5aW5nIERpYXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJCbG9vZFByZXNzdXJlIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCbG9vZCBwcmVzc3VyZSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJCbG9vZFByZXNzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5hbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhbWVuZGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJCbG9vZFByZXNzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJEaWFzdG9saWNCUCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb21wb25lbnQiIHNjb3BlPSJCbG9vZFByZXNzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiBzY29wZT0iRGlhc3RvbGljQlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvQ29uY2VwdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJEaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUiIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVuaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZhbHVlIiBzY29wZT0iRGlhc3RvbGljQlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im1tW0hnXSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlF1YWxpZnlpbmcgU3lzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQmxvb2RQcmVzc3VyZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmxvb2QgcHJlc3N1cmUiIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iQmxvb2RQcmVzc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluYWwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYW1lbmRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iQmxvb2RQcmVzc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iU3lzdG9saWNCUCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb21wb25lbnQiIHNjb3BlPSJCbG9vZFByZXNzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiBzY29wZT0iU3lzdG9saWNCUCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlN5c3RvbGljIGJsb29kIHByZXNzdXJlIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1bml0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgc2NvcGU9IlN5c3RvbGljQlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im1tW0hnXSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkJsb29kIFByZXNzdXJlIERheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkludGVyc2VjdCI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iREJQRXhhbSI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nIERpYXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkRhdGVGcm9tIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkRCUEV4YW0iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iU0JQRXhhbSI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nIFN5c3RvbGljIEJsb29kIFByZXNzdXJlIFJlYWRpbmciIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRGF0ZUZyb20iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iU0JQRXhhbSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJNb3N0IFJlY2VudCBCbG9vZCBQcmVzc3VyZSBEYXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9Ik1heCI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9IkJsb29kIFByZXNzdXJlIERheXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTG93ZXN0IERpYXN0b2xpYyBSZWFkaW5nIG9uIE1vc3QgUmVjZW50IEJsb29kIFByZXNzdXJlIERheSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iREJQUmVhZGluZyI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nIERpYXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iREJQUmVhZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNb3N0IFJlY2VudCBCbG9vZCBQcmVzc3VyZSBEYXkiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvbXBvbmVudCIgc2NvcGU9IkRCUFJlYWRpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICA8c29ydD4NCiAgICAgICAgICAgICAgICAgIDxieSBkaXJlY3Rpb249ImFzY2VuZGluZyIgeHNpOnR5cGU9IkJ5RGlyZWN0aW9uIi8+DQogICAgICAgICAgICAgICA8L3NvcnQ+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIYXMgRGlhc3RvbGljIEJsb29kIFByZXNzdXJlIExlc3MgVGhhbiA5MCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iTGVzcyI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RlY2ltYWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJMb3dlc3QgRGlhc3RvbGljIFJlYWRpbmcgb24gTW9zdCBSZWNlbnQgQmxvb2QgUHJlc3N1cmUgRGF5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGVjaW1hbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjkwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikxvd2VzdCBTeXN0b2xpYyBSZWFkaW5nIG9uIE1vc3QgUmVjZW50IEJsb29kIFByZXNzdXJlIERheSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iU0JQUmVhZGluZyI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nIFN5c3RvbGljIEJsb29kIFByZXNzdXJlIFJlYWRpbmciIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDx3aGVyZSBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJTQlBSZWFkaW5nIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1vc3QgUmVjZW50IEJsb29kIFByZXNzdXJlIERheSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29tcG9uZW50IiBzY29wZT0iU0JQUmVhZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1aXZhbGVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0NvbmNlcHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iU3lzdG9saWMgYmxvb2QgcHJlc3N1cmUiIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2NlbmRpbmciIHhzaTp0eXBlPSJCeURpcmVjdGlvbiIvPg0KICAgICAgICAgICAgICAgPC9zb3J0Pg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSGFzIFN5c3RvbGljIEJsb29kIFByZXNzdXJlIExlc3MgVGhhbiAxNDAiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9Ikxlc3MiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EZWNpbWFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iTG93ZXN0IFN5c3RvbGljIFJlYWRpbmcgb24gTW9zdCBSZWNlbnQgQmxvb2QgUHJlc3N1cmUgRGF5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGVjaW1hbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE0MCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJRdWFsaWZ5aW5nIERpYXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIFRlc3QiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkJsb29kUHJlc3N1cmUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJsb29kIHByZXNzdXJlIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJCbG9vZFByZXNzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5hbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhbWVuZGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRGlhc3RvbGljQlAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29tcG9uZW50IiBzY29wZT0iQmxvb2RQcmVzc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgc2NvcGU9IkRpYXN0b2xpY0JQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0NvbmNlcHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGlhc3RvbGljIGJsb29kIHByZXNzdXJlIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1bml0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkRpYXN0b2xpY0JQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtbVtIZ10iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOdW1lcmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIYXMgRGlhc3RvbGljIEJsb29kIFByZXNzdXJlIExlc3MgVGhhbiA5MCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkhhcyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBMZXNzIFRoYW4gMTQwIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik9ic2VydmF0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRXNzZW50aWFsIEh5cGVydGVuc2lvbiBEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikh5cGVydGVuc2lvbiI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFc3NlbnRpYWwgSHlwZXJ0ZW5zaW9uIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2ZXJpZmljYXRpb25TdGF0dXMiIHNjb3BlPSJIeXBlcnRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbmZpcm1lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXNzZXJ0ZWREYXRlIiBzY29wZT0iSHlwZXJ0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSI2IiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkJlZm9yZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhc3NlcnRlZERhdGUiIHNjb3BlPSJIeXBlcnRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9IkNvbW1vbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTgiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9Ijg1IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFc3NlbnRpYWwgSHlwZXJ0ZW5zaW9uIERpYWdub3NpcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUXVhbGlmeWluZyBFbmNvdW50ZXJzIiBsaWJyYXJ5TmFtZT0iQWR1bHRPdXRwYXRpZW50RW5jb3VudGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlByZWduYW5jeSBPciBSZW5hbCBEaWFnbm9zaXMgRXhjbHVzaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUHJlZ25hbmN5RVNSRERpYWdub3NpcyI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZWduYW5jeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iS2lkbmV5IFRyYW5zcGxhbnQgUmVjaXBpZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkNocm9uaWMgS2lkbmV5IERpc2Vhc2UsIFN0YWdlIDUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IlByZWduYW5jeUVTUkREaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbmZpcm1lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXNzZXJ0ZWREYXRlIiBzY29wZT0iUHJlZ25hbmN5RVNSRERpYWdub3NpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZW5vbWluYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbml0aWFsIFBvcHVsYXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRW5kIFN0YWdlIFJlbmFsIERpc2Vhc2UgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFU1JERW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVTUkQgTW9udGhseSBPdXRwYXRpZW50IFNlcnZpY2VzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFU1JERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJwbGFubmVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFycml2ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0idHJpYWdlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJpbi1wcm9ncmVzcyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvbmxlYXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkJlZm9yZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRVNSREVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSBQcm9jZWR1cmVzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFU1JEUHJvY2VkdXJlIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iVmFzY3VsYXIgQWNjZXNzIGZvciBEaWFseXNpcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJLaWRuZXkgVHJhbnNwbGFudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJEaWFseXNpcyBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRVNSRFByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkJlZm9yZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkVTUkRQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IgRXhjbHVzaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0iZmFsc2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { "contentType": "text/cql", "data": "bGlicmFyeSBFWE0xNjVfRkhJUjMgdmVyc2lvbiAnOC41LjAwMCcKCi8qCkNvbnRyb2xsaW5nIEhpZ2ggQmxvb2QgUHJlc3N1cmUgKENCUCkKKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgQ29tbW9uCmluY2x1ZGUgQWR1bHRPdXRwYXRpZW50RW5jb3VudGVyc19GSElSMyB2ZXJzaW9uICcxLjEuMDAwJyBjYWxsZWQgQWR1bHRPdXRwYXRpZW50RW5jb3VudGVycwppbmNsdWRlIEFkdmFuY2VkSWxsbmVzc2FuZEZyYWlsdHlFeGNsdXNpb25fRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcgY2FsbGVkIEZyYWlsdHlMVEkKLy9pbmNsdWRlIE5DUUFDb21tb25fRkhJUiB2ZXJzaW9uICczLjEwLjAwMCcgY2FsbGVkIENvbW1vbgovL2luY2x1ZGUgUGFydGljaXBhdGlvbl9GSElSIHZlcnNpb24gJzEuMC4wJwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKCnZhbHVlc2V0ICJDaHJvbmljIEtpZG5leSBEaXNlYXNlLCBTdGFnZSA1IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjEwMDInCnZhbHVlc2V0ICJEaWFseXNpcyBTZXJ2aWNlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDkuMTIuMTAxMycKdmFsdWVzZXQgIkVEIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDg1Jwp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4zNTMnCnZhbHVlc2V0ICJFU1JEIE1vbnRobHkgT3V0cGF0aWVudCBTZXJ2aWNlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDkuMTIuMTAxNCcKdmFsdWVzZXQgIkVzc2VudGlhbCBIeXBlcnRlbnNpb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA0LjEyLjEwMTEnCnZhbHVlc2V0ICJFdGhuaWNpdHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM3Jwp2YWx1ZXNldCAiS2lkbmV5IFRyYW5zcGxhbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA5LjEyLjEwMTInCnZhbHVlc2V0ICJLaWRuZXkgVHJhbnNwbGFudCBSZWNpcGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA5LjEyLjEwMjknCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlBheWVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnCnZhbHVlc2V0ICJQcmVnbmFuY3kiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMzc4Jwp2YWx1ZXNldCAiUmFjZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzYnCnZhbHVlc2V0ICJWYXNjdWxhciBBY2Nlc3MgZm9yIERpYWx5c2lzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOS4xMi4xMDExJwoKY29kZSAiQmlydGggZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiQmxvb2QgcHJlc3N1cmUiOiAnODUzNTQtOScgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ2Jsb29kIHByZXNzdXJlJwpjb2RlICJEaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUiOiAnODQ2Mi00JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnRGlhc3RvbGljIGJsb29kIHByZXNzdXJlJwpjb2RlICJTeXN0b2xpYyBibG9vZCBwcmVzc3VyZSI6ICc4NDgwLTYnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdTeXN0b2xpYyBibG9vZCBwcmVzc3VyZScKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgovL2RlZmluZSAiU0RFIEV0aG5pY2l0eSI6Ci8vCVsiUGF0aWVudCBDaGFyYWN0ZXJpc3RpYyBFdGhuaWNpdHkiOiAiRXRobmljaXR5Il0KCi8vZGVmaW5lICJTREUgUGF5ZXIiOgovLwlbIlBhdGllbnQgQ2hhcmFjdGVyaXN0aWMgUGF5ZXIiOiAiUGF5ZXIiXQoKLy9kZWZpbmUgIlNERSBSYWNlIjoKLy8JWyJQYXRpZW50IENoYXJhY3RlcmlzdGljIFJhY2UiOiAiUmFjZSJdCgovL2RlZmluZSAiU0RFIFNleCI6Ci8vCVsiUGF0aWVudCBDaGFyYWN0ZXJpc3RpYyBTZXgiOiAiT05DIEFkbWluaXN0cmF0aXZlIFNleCJdCgpkZWZpbmUgIkhhcyBEaWFzdG9saWMgQmxvb2QgUHJlc3N1cmUgTGVzcyBUaGFuIDkwIjoKCSJMb3dlc3QgRGlhc3RvbGljIFJlYWRpbmcgb24gTW9zdCBSZWNlbnQgQmxvb2QgUHJlc3N1cmUgRGF5Ii52YWx1ZSA8IDkwCgpkZWZpbmUgIkhhcyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBMZXNzIFRoYW4gMTQwIjoKCSJMb3dlc3QgU3lzdG9saWMgUmVhZGluZyBvbiBNb3N0IFJlY2VudCBCbG9vZCBQcmVzc3VyZSBEYXkiLnZhbHVlIDwgMTQwCgpkZWZpbmUgIkxvd2VzdCBEaWFzdG9saWMgUmVhZGluZyBvbiBNb3N0IFJlY2VudCBCbG9vZCBQcmVzc3VyZSBEYXkiOgoJRmlyc3QoCiAgICAiUXVhbGlmeWluZyBEaWFzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyIgREJQUmVhZGluZwoJCSAgd2hlcmUgREJQUmVhZGluZy5lZmZlY3RpdmUgc2FtZSBkYXkgYXMgIk1vc3QgUmVjZW50IEJsb29kIFByZXNzdXJlIERheSIKICAgICAgcmV0dXJuIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBEQlBSZWFkaW5nLmNvbXBvbmVudCBDCiAgICAgICAgICB3aGVyZSBDLmNvZGUgfiAiRGlhc3RvbGljIGJsb29kIHByZXNzdXJlIgogICAgICAgICAgcmV0dXJuIEMudmFsdWUgYXMgUXVhbnRpdHkKICAgICAgKQoJCQlzb3J0IGFzY2VuZGluZwoJKQoKZGVmaW5lICJMb3dlc3QgU3lzdG9saWMgUmVhZGluZyBvbiBNb3N0IFJlY2VudCBCbG9vZCBQcmVzc3VyZSBEYXkiOgoJRmlyc3QoCiAgICAiUXVhbGlmeWluZyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIiBTQlBSZWFkaW5nCgkJICB3aGVyZSBTQlBSZWFkaW5nLmVmZmVjdGl2ZSBzYW1lIGRheSBhcyAiTW9zdCBSZWNlbnQgQmxvb2QgUHJlc3N1cmUgRGF5IgogICAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKAogICAgICAgIFNCUFJlYWRpbmcuY29tcG9uZW50IEMKICAgICAgICAgIHdoZXJlIEMuY29kZSB+ICJTeXN0b2xpYyBibG9vZCBwcmVzc3VyZSIKICAgICAgICAgIHJldHVybiBDLnZhbHVlIGFzIFF1YW50aXR5CiAgICAgICkKICAgICAgc29ydCBhc2NlbmRpbmcKCSkKCmRlZmluZSAiQmxvb2QgUHJlc3N1cmUgRGF5cyI6CgkoICggIlF1YWxpZnlpbmcgRGlhc3RvbGljIEJsb29kIFByZXNzdXJlIFJlYWRpbmciIERCUEV4YW0KCQkJCXJldHVybiBkYXRlIGZyb20gREJQRXhhbS5lZmZlY3RpdmUKCQkpCgkJCS8vaW50ZXJzZWN0ICggIlF1YWxpZnlpbmcgU3lzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyIgU0JQRXhhbQoJCQlpbnRlcnNlY3QgKCAiUXVhbGlmeWluZyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIiBTQlBFeGFtCgkJCQkJcmV0dXJuIGRhdGUgZnJvbSBTQlBFeGFtLmVmZmVjdGl2ZQoJCQkpCgkpCgpkZWZpbmUgIk1vc3QgUmVjZW50IEJsb29kIFByZXNzdXJlIERheSI6CglNYXgoIkJsb29kIFByZXNzdXJlIERheXMiKQoKCWRlZmluZSAiUXVhbGlmeWluZyBEaWFzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyBUZXN0IjoKCQlbIk9ic2VydmF0aW9uIjogIkJsb29kIHByZXNzdXJlIl0gQmxvb2RQcmVzc3VyZQoJCSAgd2hlcmUgQmxvb2RQcmVzc3VyZS5zdGF0dXMgaW4geydmaW5hbCcsICdhbWVuZGVkJ30KCSAgICAgLy8gYW5kIEJsb29kUHJlc3N1cmUuZWZmZWN0aXZlIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJICAgICAgLy8gVE9ETzogVHVybiB0aGlzIGludG8gYSB2YWx1ZSBzZXQKCQkgICAgLy9hbmQgbm90IChHZXRFbmNvdW50ZXIoQmxvb2RQcmVzc3VyZS4iY29udGV4dCIpLmNsYXNzLmNvZGUgaW4geyAnRU1FUicsICdJTVAnLCAnQUNVVEUnLCAnTk9OQUMnLCAnUFJFTkMnLCAnU1MnIH0pCgkgICAgICBhbmQgZXhpc3RzICgKCSAgICAgICAgQmxvb2RQcmVzc3VyZS5jb21wb25lbnQgRGlhc3RvbGljQlAKCSAgICAgICAgICB3aGVyZSBGSElSSGVscGVycy5Ub0NvbmNlcHQoRGlhc3RvbGljQlAuY29kZSkgfiAiRGlhc3RvbGljIGJsb29kIHByZXNzdXJlIgoJICAgICAgICAgICAgYW5kIERpYXN0b2xpY0JQLnZhbHVlLnVuaXQgPSAnbW1bSGddJwoJICAgICAgKQoKZGVmaW5lICJRdWFsaWZ5aW5nIERpYXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIjoKCVsiT2JzZXJ2YXRpb24iOiAiQmxvb2QgcHJlc3N1cmUiXSBCbG9vZFByZXNzdXJlCgkgIHdoZXJlIEJsb29kUHJlc3N1cmUuc3RhdHVzIGluIHsnZmluYWwnLCAnYW1lbmRlZCd9CiAgICAgIGFuZCBCbG9vZFByZXNzdXJlLmVmZmVjdGl2ZSBhcyBkYXRlVGltZSBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgLy8gVE9ETzogVHVybiB0aGlzIGludG8gYSB2YWx1ZSBzZXQKCSAgICAvL2FuZCBub3QgKEdldEVuY291bnRlcihCbG9vZFByZXNzdXJlLiJjb250ZXh0IikuY2xhc3MuY29kZSBpbiB7ICdFTUVSJywgJ0lNUCcsICdBQ1VURScsICdOT05BQycsICdQUkVOQycsICdTUycgfSkKICAgICAgYW5kIGV4aXN0cyAoCiAgICAgICAgQmxvb2RQcmVzc3VyZS5jb21wb25lbnQgRGlhc3RvbGljQlAKICAgICAgICAgIHdoZXJlIEZISVJIZWxwZXJzLlRvQ29uY2VwdChEaWFzdG9saWNCUC5jb2RlKSB+ICJEaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUiCiAgICAgICAgICAgIGFuZCBEaWFzdG9saWNCUC52YWx1ZS51bml0ID0gJ21tW0hnXScKICAgICAgKQovL05vdGU6IE9uY2Ugd2UgY2FuIHNwZWNpZnkgdGhhdCB0aGUgRkhJUiBCUCBQcm9maWxlIG11c3QgYmUgdXNlZCwgdGhlbiBzdGF0dXMsIGNvZGUsIGFuZCB1bml0IHdpbGwgbm90IGJlIHJlcXVpcmVkCgpkZWZpbmUgIlF1YWxpZnlpbmcgU3lzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyI6CglbIk9ic2VydmF0aW9uIjogIkJsb29kIHByZXNzdXJlIl0gQmxvb2RQcmVzc3VyZQoJICB3aGVyZSBCbG9vZFByZXNzdXJlLnN0YXR1cyBpbiB7J2ZpbmFsJywgJ2FtZW5kZWQnfQogICAgICBhbmQgQmxvb2RQcmVzc3VyZS5lZmZlY3RpdmUgYXMgZGF0ZVRpbWUgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCiAgICAgIC8vIFRPRE86IFR1cm4gdGhpcyBpbnRvIGEgdmFsdWUgc2V0CgkgICAgLy9hbmQgbm90IChHZXRFbmNvdW50ZXIoQmxvb2RQcmVzc3VyZS4iY29udGV4dCIpLmNsYXNzLmNvZGUgaW4geyAnRU1FUicsICdJTVAnLCAnQUNVVEUnLCAnTk9OQUMnLCAnUFJFTkMnLCAnU1MnfSkKICAgICAgYW5kIGV4aXN0cyAoCiAgICAgICAgQmxvb2RQcmVzc3VyZS5jb21wb25lbnQgU3lzdG9saWNCUAogICAgICAgICAgd2hlcmUgRkhJUkhlbHBlcnMuVG9Db25jZXB0KFN5c3RvbGljQlAuY29kZSkgfiAiU3lzdG9saWMgYmxvb2QgcHJlc3N1cmUiCiAgICAgICAgICAgIGFuZCBTeXN0b2xpY0JQLnZhbHVlLnVuaXQgPSAnbW1bSGddJwogICAgICApCi8vTm90ZTogT25jZSB3ZSBjYW4gc3BlY2lmeSB0aGF0IHRoZSBGSElSIEJQIFByb2ZpbGUgbXVzdCBiZSB1c2VkLCB0aGVuIHN0YXR1cywgY29kZSwgYW5kIHVuaXQgd2lsbCBub3QgYmUgcmVxdWlyZWQKCmRlZmluZSAiTnVtZXJhdG9yIjoKCSJIYXMgRGlhc3RvbGljIEJsb29kIFByZXNzdXJlIExlc3MgVGhhbiA5MCIKCQlhbmQgIkhhcyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBMZXNzIFRoYW4gMTQwIgoKZGVmaW5lICJPYnNlcnZhdGlvbnMiOgoJW09ic2VydmF0aW9uXQoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgoJQ29tbW9uLkNhbGVuZGFyQWdlSW5ZZWFyc0F0KEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgYmV0d2VlbiAxOCBhbmQgODUKCQlhbmQgZXhpc3RzICJFc3NlbnRpYWwgSHlwZXJ0ZW5zaW9uIERpYWdub3NpcyIKCQlhbmQgZXhpc3RzIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMuIlF1YWxpZnlpbmcgRW5jb3VudGVycyIoIk1lYXN1cmVtZW50IFBlcmlvZCIpCgpkZWZpbmUgIlByZWduYW5jeSBPciBSZW5hbCBEaWFnbm9zaXMgRXhjbHVzaW9ucyI6CgkoIFsiQ29uZGl0aW9uIjogIlByZWduYW5jeSJdCgkJdW5pb24gWyJDb25kaXRpb24iOiAiRW5kIFN0YWdlIFJlbmFsIERpc2Vhc2UiXQoJCXVuaW9uIFsiQ29uZGl0aW9uIjogIktpZG5leSBUcmFuc3BsYW50IFJlY2lwaWVudCJdCgkJdW5pb24gWyJDb25kaXRpb24iOiAiQ2hyb25pYyBLaWRuZXkgRGlzZWFzZSwgU3RhZ2UgNSJdICkgUHJlZ25hbmN5RVNSRERpYWdub3NpcwogICAgICB3aGVyZSBQcmVnbmFuY3lFU1JERGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCiAgICAgICAgYW5kIFByZWduYW5jeUVTUkREaWFnbm9zaXMuYXNzZXJ0ZWREYXRlIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiRGVub21pbmF0b3IiOgoJIkluaXRpYWwgUG9wdWxhdGlvbiIKCmRlZmluZSAiRW5kIFN0YWdlIFJlbmFsIERpc2Vhc2UgRW5jb3VudGVyIjoKCVsiRW5jb3VudGVyIjogIkVTUkQgTW9udGhseSBPdXRwYXRpZW50IFNlcnZpY2VzIl0gRVNSREVuY291bnRlcgoJCXdoZXJlIEVTUkRFbmNvdW50ZXIuc3RhdHVzLnZhbHVlIGluIHsgJ3BsYW5uZWQnLCAnYXJyaXZlZCcsICd0cmlhZ2VkJywgJ2luLXByb2dyZXNzJywgJ29ubGVhdmUnLCAnZmluaXNoZWQnIH0KCQkgIGFuZCBFU1JERW5jb3VudGVyLnBlcmlvZCBzdGFydHMgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSBQcm9jZWR1cmVzIjoKCSggWyJQcm9jZWR1cmUiOiAiVmFzY3VsYXIgQWNjZXNzIGZvciBEaWFseXNpcyJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiS2lkbmV5IFRyYW5zcGxhbnQiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIkRpYWx5c2lzIFNlcnZpY2VzIl0gKSBFU1JEUHJvY2VkdXJlCgkJd2hlcmUgRVNSRFByb2NlZHVyZS5zdGF0dXMgPSAnY29tcGxldGVkJwogICAgICBhbmQgRVNSRFByb2NlZHVyZS5wZXJmb3JtZWQgc3RhcnRzIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiRXNzZW50aWFsIEh5cGVydGVuc2lvbiBEaWFnbm9zaXMiOgoJWyJDb25kaXRpb24iOiAiRXNzZW50aWFsIEh5cGVydGVuc2lvbiJdIEh5cGVydGVuc2lvbgogICAgd2hlcmUgSHlwZXJ0ZW5zaW9uLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCiAgICAgYW5kIChIeXBlcnRlbnNpb24uYXNzZXJ0ZWREYXRlIDYgbW9udGhzIG9yIGxlc3Mgb24gb3IgYWZ0ZXIgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgb3IgSHlwZXJ0ZW5zaW9uLmFzc2VydGVkRGF0ZSBiZWZvcmUgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCiAgICApCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2x1c2lvbiI6CglmYWxzZTsKCi8qCi8vIFRPRE86IFRyYW5zbGF0ZSBleGNsdXNpb25zCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9uIjoKCUhvc3BpY2UuIkhhcyBIb3NwaWNlIgoJCW9yIGV4aXN0cyAiUHJlZ25hbmN5IE9yIFJlbmFsIERpYWdub3NpcyBFeGNsdXNpb25zIgoJCW9yICggZXhpc3RzICJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSBQcm9jZWR1cmVzIgoJCQkJb3IgZXhpc3RzICJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSBFbmNvdW50ZXIiCgkJKQoJCW9yICggZXhpc3RzIFsiUGF0aWVudCBDaGFyYWN0ZXJpc3RpYyBCaXJ0aGRhdGUiOiAiQmlydGggZGF0ZSJdIEJpcnRoRGF0ZQoJCSAgICB3aGVyZSBleGlzdHMgKENvbW1vbi5DYWxlbmRhckFnZUluWWVhcnNBdChGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPj0gNjUpCgkJICAgIAkJCQkJCQkJCWFuZCBGcmFpbHR5TFRJLiJIYXMgU3BlbnQgTW9yZSBUaGFuIDkwIERheXMgaW4gTG9uZyBUZXJtIENhcmUiKQoJCQkJCQkJCW9yIEZyYWlsdHlMVEkuIkFkdmFuY2VkIElsbG5lc3MgYW5kIEZyYWlsdHkgRXhjbHVzaW9uIEluY2x1ZGluZyBPdmVyIEFnZSA4MCIKKi8KCi8vIFRPRE86IE1vdmUgdG8gQ29tbW9uIEZ1bmN0aW9ucyAmJiBmaXggbG9jYWwgZXhlY3V0aW9uIHNlcmlhbGl6YXRpb24gZm9yIGZ1bmN0aW9ucwovL2RlZmluZSBmdW5jdGlvbiBHZXRFbmNvdW50ZXIocmVmZXJlbmNlIFJlZmVyZW5jZSk6IHRydWUKLy8iR2V0SWQiKHVyaSBTdHJpbmcpOiByZXR1cm5zIHRoZSBsYXN0IFN0cmluZyBvZiBhIFNwbGl0IGJ5IC8gTGlzdCB0aGVyZWZvciBjYW5ub3QgdXNlIGluCi8vc2luZ2xldG9uIGZyb20gKCBbRW5jb3VudGVyOiBpZCA9IENvbW1vbi5HZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKV0gKQoJLy9zaW5nbGV0b24gZnJvbSAoW0VuY291bnRlcl0gRW5jb3VudGVyIHdoZXJlIEVuY291bnRlci5pZC52YWx1ZSA9IENvbW1vbi4iR2V0SWQiKHJlZmVyZW5jZS5yZWZlcmVuY2UpKQo=" } ] @@ -890,6 +1097,73 @@ "method": "PUT", "url": "Library/library-EXM165-FHIR3-8.5.000" } + }, { + "resource": { + "resourceType": "Library", + "id": "library-AdultOutpatientEncounters-FHIR3-1.1.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-AdultOutpatientEncounters-FHIR3-1.1.000
Type: Logic Library
Version: 1.1.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016

Content: type: text/cql
library AdultOutpatientEncounters_FHIR3 version '1.1.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "Annual Wellness Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\n\ncontext Patient\n\ndefine function "Qualifying Encounters"(MeasurementPeriod Interval<DateTime>):\n\t(\n\t    [Encounter: "Office Visit"]\n\t\tunion [Encounter: "Annual Wellness Visit"] \n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Home Healthcare Services"]\n    ) ValidEncounter\n\t\twhere ValidEncounter.period during day of MeasurementPeriod\n\t\tand ValidEncounter.status  = 'finished' \n
\n \n \n
\n
" + }, + "version": "1.1.000", + "name": "AdultOutpatientEncounters_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMiIHZlcnNpb249IjEuMS4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT2ZmaWNlIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iQW5udWFsIFdlbGxuZXNzIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgLSBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUXVhbGlmeWluZyBFbmNvdW50ZXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZhbGlkRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik9mZmljZSBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJBbm51YWwgV2VsbG5lc3MgVmlzaXQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW5jbHVkZWRJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWYWxpZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudFBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iVmFsaWRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIHZlcnNpb24gJzEuMS4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnCnZhbHVlc2V0ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCcKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMnCnZhbHVlc2V0ICJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYnCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIihNZWFzdXJlbWVudFBlcmlvZCBJbnRlcnZhbDxEYXRlVGltZT4pOgoJKAoJICAgIFtFbmNvdW50ZXI6ICJPZmZpY2UgVmlzaXQiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIl0KICAgICkgVmFsaWRFbmNvdW50ZXIKCQl3aGVyZSBWYWxpZEVuY291bnRlci5wZXJpb2QgZHVyaW5nIGRheSBvZiBNZWFzdXJlbWVudFBlcmlvZAoJCWFuZCBWYWxpZEVuY291bnRlci5zdGF0dXMgID0gJ2ZpbmlzaGVkJyAK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" + } }, { "resource": { "resourceType": "Patient", @@ -941,6 +1215,101 @@ "method": "PUT", "url": "Patient/denom-EXM165-FHIR3" } + }, { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" + }, + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-2.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-2.0.000
Type: Logic Library
Version: 2.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '2.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t    and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] C where C.id = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t\treturn singleton from ([Condition] C where C.id = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "2.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMDUiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIwNSIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVSIiBpZD0iRVIiIGRpc3BsYXk9IkVtZXJnZW5jeSByb29tIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSUNVIiBpZD0iSUNVIiBkaXNwbGF5PSJJbnRlbnNpdmUgY2FyZSB1bml0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikxlbmd0aEluRGF5cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGlmZmVyZW5jZUJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJJbnBhdGllbnQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgIDx5ZWFyIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwveWVhcj4NCiAgICAgICAgICAgIDxtb250aCBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9tb250aD4NCiAgICAgICAgICAgIDxkYXkgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L2RheT4NCiAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHRpbWV6b25lT2Zmc2V0IHhzaTp0eXBlPSJUaW1lem9uZUZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3RpbWV6b25lT2Zmc2V0Pg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2RheSIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbk1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImhvdXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDxlbHNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlgiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFREVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFREVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgIDx0aGVuIHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTGVuZ3RoIG9mIFN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQWRtaXNzaW9uIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIERpc2NoYXJnZSBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGl0YWxMb2NhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8c29ydD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxieSBkaXJlY3Rpb249ImFzYyIgeHNpOnR5cGU9IkJ5RXhwcmVzc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvbmRpdGlvbiIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyb2xlIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpbGxpbmciIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlZ2VyIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyYW5rIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29uZGl0aW9uIiBzY29wZT0iUEQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldExvY2F0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxvY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkxvY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlZmVyZW5jZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0RXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldFByb3ZlbmFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm92ZW5hbmNlIiBjb2RlUHJvcGVydHk9InRhcmdldCIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldE1lZGljYXRpb25Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlcXVlc3QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVxdWVzdCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwoKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnCmNvZGUgIkVSIjogJ0VSJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnRW1lcmdlbmN5IHJvb20nCmNvZGUgIklDVSI6ICdJQ1UnIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdJbnRlbnNpdmUgY2FyZSB1bml0Jwpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIiOgoJW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFbmNvdW50ZXJJbnBhdGllbnQKCQl3aGVyZSBFbmNvdW50ZXJJbnBhdGllbnQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCSAgICBhbmQgIkxlbmd0aEluRGF5cyIoRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCkgPD0gMTIwCgkJCWFuZCBFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kIGVuZHMgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgZnVuY3Rpb24gIlRvRGF0ZSIoVmFsdWUgRGF0ZVRpbWUpOgoJRGF0ZVRpbWUoeWVhciBmcm9tIFZhbHVlLCBtb250aCBmcm9tIFZhbHVlLCBkYXkgZnJvbSBWYWx1ZSwgMCwgMCwgMCwgMCwgdGltZXpvbmUgZnJvbSBWYWx1ZSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbkRheXNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6CglkYXlzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5cyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluRGF5c0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6Cgltb250aHMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCXllYXJzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluWWVhcnMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJblllYXJzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiTGVuZ3RoSW5EYXlzIihWYWx1ZSBJbnRlcnZhbDxEYXRlVGltZT4pOgoJZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgVmFsdWUgYW5kIGVuZCBvZiBWYWx1ZQoKZGVmaW5lIGZ1bmN0aW9uICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKICAgIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXSBFRFZpc2l0CiAgICAgICAgICAgIHdoZXJlIEVEVmlzaXQuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgICAgICAgICAgICAgYW5kIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCkKICAgICkKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJKCAiRUQgVmlzaXQiKFRoZUVuY291bnRlcikgKSBYCiAgICByZXR1cm4KICAgICAgICBpZiBYIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgZWxzZSBJbnRlcnZhbFtzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFgucGVyaW9kKSwgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCldCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIEVERW5jb3VudGVyCiAgICByZXR1cm4KICAgICAgICBpZiBFREVuY291bnRlciBpcyBudWxsIHRoZW4gVGhlRW5jb3VudGVyLmxvY2F0aW9uCiAgICAgICAgZWxzZSBmbGF0dGVuIHsgRURFbmNvdW50ZXIubG9jYXRpb24sIFRoZUVuY291bnRlci5sb2NhdGlvbiB9CgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMZW5ndGggb2YgU3RheSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCUxlbmd0aEluRGF5cygiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIpKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWwgRGlzY2hhcmdlIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgllbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEZpcnN0KAoJICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCXNvcnQgYnkgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChwZXJpb2QpCgkpLnBlcmlvZCkKCi8vIFRPRE8gLSBmaXggdGhlc2UgKG11c3QgZmV0Y2ggTG9jYXRpb24gcmVzb3VyY2VzIGFuZCBjb21wYXJlIGlkIHRvIHJlZmVyZW5jZSkKLypkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIERlcGFydHVyZSBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoTGFzdCgKCSAgICAoICJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIihUaGVFbmNvdW50ZXIpICkgSG9zcGl0YWxMb2NhdGlvbgoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkVtZXJnZW5jeSBEZXBhcnRtZW50IEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoKAoJICAgIHNpbmdsZXRvbiBmcm9tICgKCSAgICAgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJFUiIKCQkpCgkpLnBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiRmlyc3QgSW5wYXRpZW50IEludGVuc2l2ZSBDYXJlIFVuaXQiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglGaXJzdCgKCSAgICAoIFRoZUVuY291bnRlci5sb2NhdGlvbiApIEhvc3BpdGFsTG9jYXRpb24KCQkJd2hlcmUgSG9zcGl0YWxMb2NhdGlvbi50eXBlIH4gIklDVSIKCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgVGhlRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKSovCgovKgoqCiogICAgQ1FGTWVhc3VyZXMgQ29tbW9uIExvZ2ljCioKKi8KCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgogIGlmIG9uc2V0IGlzIEZISVIuZGF0ZVRpbWUgdGhlbgoJICBJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLlBlcmlvZCB0aGVuCgkgIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwob25zZXQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIG9uc2V0IGlzIEZISVIuQWdlIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpLAoJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpICsgMSB5ZWFyKQoJZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbiBDb25kaXRpb24pOgoJaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5kYXRlVGltZSldCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5BZ2UgdGhlbgoJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLAoJCQlGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmJvb2xlYW4gdGhlbgoJICBJbnRlcnZhbFtlbmQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgY29uZGl0aW9uLmFzc2VydGVkRGF0ZSkKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJHZXRQcmV2YWxlbmNlUGVyaW9kIihjb25kaXRpb24gQ29uZGl0aW9uKToKICBJbnRlcnZhbFtzdGFydCBvZiAiTm9ybWFsaXplIE9uc2V0Iihjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbikpCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBJbnRlcnZhbCIoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZD4pOgogIGlmIGNob2ljZSBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5kYXRlVGltZSksIEZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZQoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNob2ljZSBhcyBGSElSLlBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcpOgoJTGFzdChTcGxpdCh1cmksICcvJykpCgpkZWZpbmUgZnVuY3Rpb24gIkVuY291bnRlckRpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6CiAgRW5jb3VudGVyLmRpYWdub3NpcyBECiAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKFtDb25kaXRpb25dIEMgd2hlcmUgQy5pZCA9ICJHZXRJZCIoRC5jb25kaXRpb24ucmVmZXJlbmNlKSkKCi8vIFJldHVybnMgdGhlIGNvbmRpdGlvbiB0aGF0IGlzIHNwZWNpZmllZCBhcyB0aGUgcHJpbmNpcGFsIGRpYWdub3NpcyBmb3IgdGhlIGVuY291bnRlcgpkZWZpbmUgZnVuY3Rpb24gIlByaW5jaXBhbERpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6Cgkoc2luZ2xldG9uIGZyb20gKEVuY291bnRlci5kaWFnbm9zaXMgRCB3aGVyZSBELnJvbGUgfiBUb0NvbmNlcHQoIkJpbGxpbmciKSBhbmQgRC5yYW5rID0gMSkpIFBECgkJcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDIHdoZXJlIEMuaWQgPSAiR2V0SWQiKFBELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgbG9jYXRpb24gZm9yIHRoZSBnaXZlbiBsb2NhdGlvbiByZWZlcmVuY2UKZGVmaW5lIGZ1bmN0aW9uIEdldExvY2F0aW9uKHJlZmVyZW5jZSBSZWZlcmVuY2UpOgogIHNpbmdsZXRvbiBmcm9tICgKICAgIFtMb2NhdGlvbl0gTG9jYXRpb24gd2hlcmUgTG9jYXRpb24uaWQudmFsdWUgPSBHZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKQogICkKCi8qCk5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlCkNRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nICsgdXJsKQoJCXJldHVybiBFCgpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UsIHVybCkKCi8qCk5PVEU6IFByb3ZlbmFuY2UgaXMgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIHRoaXMgaXMgcHJvdmlkZWQgb25seSBhcyBhbiBpbGx1c3RyYXRpb24KZm9yIHdoYXQgdXNpbmcgUHJvdmVuYW5jZSBjb3VsZCBsb29rIGxpa2UsIGFuZCBpcyBub3QgYSB0ZXN0ZWQgcGF0dGVybgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldFByb3ZlbmFuY2UiKHJlc291cmNlIFJlc291cmNlKToKICBzaW5nbGV0b24gZnJvbSAoW1Byb3ZlbmFuY2U6IHRhcmdldCBpbiByZXNvdXJjZS5pZF0pCgpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Db2RlIihyZXF1ZXN0IE1lZGljYXRpb25SZXF1ZXN0KToKICBpZiByZXF1ZXN0Lm1lZGljYXRpb24gaXMgQ29kZWFibGVDb25jZXB0IHRoZW4KCSAgcmVxdWVzdC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdAoJZWxzZQoJICAoc2luZ2xldG9uIGZyb20gKFtNZWRpY2F0aW9uOiBpZCBpbiBHZXRJZCgocmVxdWVzdC5tZWRpY2F0aW9uIGFzIFJlZmVyZW5jZSkucmVmZXJlbmNlKV0pKS5jb2RlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } }, { "resource": { "resourceType": "MeasureReport", diff --git a/fhir3/bundles/measure/EXM165_FHIR3-8.5.000/EXM165_FHIR3-8.5.000-files/library-EXM165_FHIR3-8.5.000.json b/fhir3/bundles/measure/EXM165_FHIR3-8.5.000/EXM165_FHIR3-8.5.000-files/library-EXM165_FHIR3-8.5.000.json index 151bca07..33a4b9c0 100644 --- a/fhir3/bundles/measure/EXM165_FHIR3-8.5.000/EXM165_FHIR3-8.5.000-files/library-EXM165_FHIR3-8.5.000.json +++ b/fhir3/bundles/measure/EXM165_FHIR3-8.5.000/EXM165_FHIR3-8.5.000-files/library-EXM165_FHIR3-8.5.000.json @@ -21,6 +21,96 @@ "code": "logic-library" } ] }, + "dataRequirement": [ { + "type": "Observation", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Observation" + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.104.12.1011" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.378" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.353" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1029" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1002" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1014" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1011" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1012" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1013" + } + } ] + } ], "content": [ { "contentType": "text/cql", "data": "bGlicmFyeSBFWE0xNjVfRkhJUjMgdmVyc2lvbiAnOC41LjAwMCcKCi8qCkNvbnRyb2xsaW5nIEhpZ2ggQmxvb2QgUHJlc3N1cmUgKENCUCkKKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgQ29tbW9uCmluY2x1ZGUgQWR1bHRPdXRwYXRpZW50RW5jb3VudGVyc19GSElSMyB2ZXJzaW9uICcxLjEuMDAwJyBjYWxsZWQgQWR1bHRPdXRwYXRpZW50RW5jb3VudGVycwppbmNsdWRlIEFkdmFuY2VkSWxsbmVzc2FuZEZyYWlsdHlFeGNsdXNpb25fRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcgY2FsbGVkIEZyYWlsdHlMVEkKLy9pbmNsdWRlIE5DUUFDb21tb25fRkhJUiB2ZXJzaW9uICczLjEwLjAwMCcgY2FsbGVkIENvbW1vbgovL2luY2x1ZGUgUGFydGljaXBhdGlvbl9GSElSIHZlcnNpb24gJzEuMC4wJwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKCnZhbHVlc2V0ICJDaHJvbmljIEtpZG5leSBEaXNlYXNlLCBTdGFnZSA1IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjEwMDInCnZhbHVlc2V0ICJEaWFseXNpcyBTZXJ2aWNlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDkuMTIuMTAxMycKdmFsdWVzZXQgIkVEIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDg1Jwp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4zNTMnCnZhbHVlc2V0ICJFU1JEIE1vbnRobHkgT3V0cGF0aWVudCBTZXJ2aWNlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDkuMTIuMTAxNCcKdmFsdWVzZXQgIkVzc2VudGlhbCBIeXBlcnRlbnNpb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA0LjEyLjEwMTEnCnZhbHVlc2V0ICJFdGhuaWNpdHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM3Jwp2YWx1ZXNldCAiS2lkbmV5IFRyYW5zcGxhbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA5LjEyLjEwMTInCnZhbHVlc2V0ICJLaWRuZXkgVHJhbnNwbGFudCBSZWNpcGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA5LjEyLjEwMjknCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlBheWVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnCnZhbHVlc2V0ICJQcmVnbmFuY3kiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMzc4Jwp2YWx1ZXNldCAiUmFjZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzYnCnZhbHVlc2V0ICJWYXNjdWxhciBBY2Nlc3MgZm9yIERpYWx5c2lzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOS4xMi4xMDExJwoKY29kZSAiQmlydGggZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiQmxvb2QgcHJlc3N1cmUiOiAnODUzNTQtOScgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ2Jsb29kIHByZXNzdXJlJwpjb2RlICJEaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUiOiAnODQ2Mi00JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnRGlhc3RvbGljIGJsb29kIHByZXNzdXJlJwpjb2RlICJTeXN0b2xpYyBibG9vZCBwcmVzc3VyZSI6ICc4NDgwLTYnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdTeXN0b2xpYyBibG9vZCBwcmVzc3VyZScKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgovL2RlZmluZSAiU0RFIEV0aG5pY2l0eSI6Ci8vCVsiUGF0aWVudCBDaGFyYWN0ZXJpc3RpYyBFdGhuaWNpdHkiOiAiRXRobmljaXR5Il0KCi8vZGVmaW5lICJTREUgUGF5ZXIiOgovLwlbIlBhdGllbnQgQ2hhcmFjdGVyaXN0aWMgUGF5ZXIiOiAiUGF5ZXIiXQoKLy9kZWZpbmUgIlNERSBSYWNlIjoKLy8JWyJQYXRpZW50IENoYXJhY3RlcmlzdGljIFJhY2UiOiAiUmFjZSJdCgovL2RlZmluZSAiU0RFIFNleCI6Ci8vCVsiUGF0aWVudCBDaGFyYWN0ZXJpc3RpYyBTZXgiOiAiT05DIEFkbWluaXN0cmF0aXZlIFNleCJdCgpkZWZpbmUgIkhhcyBEaWFzdG9saWMgQmxvb2QgUHJlc3N1cmUgTGVzcyBUaGFuIDkwIjoKCSJMb3dlc3QgRGlhc3RvbGljIFJlYWRpbmcgb24gTW9zdCBSZWNlbnQgQmxvb2QgUHJlc3N1cmUgRGF5Ii52YWx1ZSA8IDkwCgpkZWZpbmUgIkhhcyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBMZXNzIFRoYW4gMTQwIjoKCSJMb3dlc3QgU3lzdG9saWMgUmVhZGluZyBvbiBNb3N0IFJlY2VudCBCbG9vZCBQcmVzc3VyZSBEYXkiLnZhbHVlIDwgMTQwCgpkZWZpbmUgIkxvd2VzdCBEaWFzdG9saWMgUmVhZGluZyBvbiBNb3N0IFJlY2VudCBCbG9vZCBQcmVzc3VyZSBEYXkiOgoJRmlyc3QoCiAgICAiUXVhbGlmeWluZyBEaWFzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyIgREJQUmVhZGluZwoJCSAgd2hlcmUgREJQUmVhZGluZy5lZmZlY3RpdmUgc2FtZSBkYXkgYXMgIk1vc3QgUmVjZW50IEJsb29kIFByZXNzdXJlIERheSIKICAgICAgcmV0dXJuIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBEQlBSZWFkaW5nLmNvbXBvbmVudCBDCiAgICAgICAgICB3aGVyZSBDLmNvZGUgfiAiRGlhc3RvbGljIGJsb29kIHByZXNzdXJlIgogICAgICAgICAgcmV0dXJuIEMudmFsdWUgYXMgUXVhbnRpdHkKICAgICAgKQoJCQlzb3J0IGFzY2VuZGluZwoJKQoKZGVmaW5lICJMb3dlc3QgU3lzdG9saWMgUmVhZGluZyBvbiBNb3N0IFJlY2VudCBCbG9vZCBQcmVzc3VyZSBEYXkiOgoJRmlyc3QoCiAgICAiUXVhbGlmeWluZyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIiBTQlBSZWFkaW5nCgkJICB3aGVyZSBTQlBSZWFkaW5nLmVmZmVjdGl2ZSBzYW1lIGRheSBhcyAiTW9zdCBSZWNlbnQgQmxvb2QgUHJlc3N1cmUgRGF5IgogICAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKAogICAgICAgIFNCUFJlYWRpbmcuY29tcG9uZW50IEMKICAgICAgICAgIHdoZXJlIEMuY29kZSB+ICJTeXN0b2xpYyBibG9vZCBwcmVzc3VyZSIKICAgICAgICAgIHJldHVybiBDLnZhbHVlIGFzIFF1YW50aXR5CiAgICAgICkKICAgICAgc29ydCBhc2NlbmRpbmcKCSkKCmRlZmluZSAiQmxvb2QgUHJlc3N1cmUgRGF5cyI6CgkoICggIlF1YWxpZnlpbmcgRGlhc3RvbGljIEJsb29kIFByZXNzdXJlIFJlYWRpbmciIERCUEV4YW0KCQkJCXJldHVybiBkYXRlIGZyb20gREJQRXhhbS5lZmZlY3RpdmUKCQkpCgkJCS8vaW50ZXJzZWN0ICggIlF1YWxpZnlpbmcgU3lzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyIgU0JQRXhhbQoJCQlpbnRlcnNlY3QgKCAiUXVhbGlmeWluZyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIiBTQlBFeGFtCgkJCQkJcmV0dXJuIGRhdGUgZnJvbSBTQlBFeGFtLmVmZmVjdGl2ZQoJCQkpCgkpCgpkZWZpbmUgIk1vc3QgUmVjZW50IEJsb29kIFByZXNzdXJlIERheSI6CglNYXgoIkJsb29kIFByZXNzdXJlIERheXMiKQoKCWRlZmluZSAiUXVhbGlmeWluZyBEaWFzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyBUZXN0IjoKCQlbIk9ic2VydmF0aW9uIjogIkJsb29kIHByZXNzdXJlIl0gQmxvb2RQcmVzc3VyZQoJCSAgd2hlcmUgQmxvb2RQcmVzc3VyZS5zdGF0dXMgaW4geydmaW5hbCcsICdhbWVuZGVkJ30KCSAgICAgLy8gYW5kIEJsb29kUHJlc3N1cmUuZWZmZWN0aXZlIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJICAgICAgLy8gVE9ETzogVHVybiB0aGlzIGludG8gYSB2YWx1ZSBzZXQKCQkgICAgLy9hbmQgbm90IChHZXRFbmNvdW50ZXIoQmxvb2RQcmVzc3VyZS4iY29udGV4dCIpLmNsYXNzLmNvZGUgaW4geyAnRU1FUicsICdJTVAnLCAnQUNVVEUnLCAnTk9OQUMnLCAnUFJFTkMnLCAnU1MnIH0pCgkgICAgICBhbmQgZXhpc3RzICgKCSAgICAgICAgQmxvb2RQcmVzc3VyZS5jb21wb25lbnQgRGlhc3RvbGljQlAKCSAgICAgICAgICB3aGVyZSBGSElSSGVscGVycy5Ub0NvbmNlcHQoRGlhc3RvbGljQlAuY29kZSkgfiAiRGlhc3RvbGljIGJsb29kIHByZXNzdXJlIgoJICAgICAgICAgICAgYW5kIERpYXN0b2xpY0JQLnZhbHVlLnVuaXQgPSAnbW1bSGddJwoJICAgICAgKQoKZGVmaW5lICJRdWFsaWZ5aW5nIERpYXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIjoKCVsiT2JzZXJ2YXRpb24iOiAiQmxvb2QgcHJlc3N1cmUiXSBCbG9vZFByZXNzdXJlCgkgIHdoZXJlIEJsb29kUHJlc3N1cmUuc3RhdHVzIGluIHsnZmluYWwnLCAnYW1lbmRlZCd9CiAgICAgIGFuZCBCbG9vZFByZXNzdXJlLmVmZmVjdGl2ZSBhcyBkYXRlVGltZSBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgLy8gVE9ETzogVHVybiB0aGlzIGludG8gYSB2YWx1ZSBzZXQKCSAgICAvL2FuZCBub3QgKEdldEVuY291bnRlcihCbG9vZFByZXNzdXJlLiJjb250ZXh0IikuY2xhc3MuY29kZSBpbiB7ICdFTUVSJywgJ0lNUCcsICdBQ1VURScsICdOT05BQycsICdQUkVOQycsICdTUycgfSkKICAgICAgYW5kIGV4aXN0cyAoCiAgICAgICAgQmxvb2RQcmVzc3VyZS5jb21wb25lbnQgRGlhc3RvbGljQlAKICAgICAgICAgIHdoZXJlIEZISVJIZWxwZXJzLlRvQ29uY2VwdChEaWFzdG9saWNCUC5jb2RlKSB+ICJEaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUiCiAgICAgICAgICAgIGFuZCBEaWFzdG9saWNCUC52YWx1ZS51bml0ID0gJ21tW0hnXScKICAgICAgKQovL05vdGU6IE9uY2Ugd2UgY2FuIHNwZWNpZnkgdGhhdCB0aGUgRkhJUiBCUCBQcm9maWxlIG11c3QgYmUgdXNlZCwgdGhlbiBzdGF0dXMsIGNvZGUsIGFuZCB1bml0IHdpbGwgbm90IGJlIHJlcXVpcmVkCgpkZWZpbmUgIlF1YWxpZnlpbmcgU3lzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyI6CglbIk9ic2VydmF0aW9uIjogIkJsb29kIHByZXNzdXJlIl0gQmxvb2RQcmVzc3VyZQoJICB3aGVyZSBCbG9vZFByZXNzdXJlLnN0YXR1cyBpbiB7J2ZpbmFsJywgJ2FtZW5kZWQnfQogICAgICBhbmQgQmxvb2RQcmVzc3VyZS5lZmZlY3RpdmUgYXMgZGF0ZVRpbWUgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCiAgICAgIC8vIFRPRE86IFR1cm4gdGhpcyBpbnRvIGEgdmFsdWUgc2V0CgkgICAgLy9hbmQgbm90IChHZXRFbmNvdW50ZXIoQmxvb2RQcmVzc3VyZS4iY29udGV4dCIpLmNsYXNzLmNvZGUgaW4geyAnRU1FUicsICdJTVAnLCAnQUNVVEUnLCAnTk9OQUMnLCAnUFJFTkMnLCAnU1MnfSkKICAgICAgYW5kIGV4aXN0cyAoCiAgICAgICAgQmxvb2RQcmVzc3VyZS5jb21wb25lbnQgU3lzdG9saWNCUAogICAgICAgICAgd2hlcmUgRkhJUkhlbHBlcnMuVG9Db25jZXB0KFN5c3RvbGljQlAuY29kZSkgfiAiU3lzdG9saWMgYmxvb2QgcHJlc3N1cmUiCiAgICAgICAgICAgIGFuZCBTeXN0b2xpY0JQLnZhbHVlLnVuaXQgPSAnbW1bSGddJwogICAgICApCi8vTm90ZTogT25jZSB3ZSBjYW4gc3BlY2lmeSB0aGF0IHRoZSBGSElSIEJQIFByb2ZpbGUgbXVzdCBiZSB1c2VkLCB0aGVuIHN0YXR1cywgY29kZSwgYW5kIHVuaXQgd2lsbCBub3QgYmUgcmVxdWlyZWQKCmRlZmluZSAiTnVtZXJhdG9yIjoKCSJIYXMgRGlhc3RvbGljIEJsb29kIFByZXNzdXJlIExlc3MgVGhhbiA5MCIKCQlhbmQgIkhhcyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBMZXNzIFRoYW4gMTQwIgoKZGVmaW5lICJPYnNlcnZhdGlvbnMiOgoJW09ic2VydmF0aW9uXQoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgoJQ29tbW9uLkNhbGVuZGFyQWdlSW5ZZWFyc0F0KEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgYmV0d2VlbiAxOCBhbmQgODUKCQlhbmQgZXhpc3RzICJFc3NlbnRpYWwgSHlwZXJ0ZW5zaW9uIERpYWdub3NpcyIKCQlhbmQgZXhpc3RzIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMuIlF1YWxpZnlpbmcgRW5jb3VudGVycyIoIk1lYXN1cmVtZW50IFBlcmlvZCIpCgpkZWZpbmUgIlByZWduYW5jeSBPciBSZW5hbCBEaWFnbm9zaXMgRXhjbHVzaW9ucyI6CgkoIFsiQ29uZGl0aW9uIjogIlByZWduYW5jeSJdCgkJdW5pb24gWyJDb25kaXRpb24iOiAiRW5kIFN0YWdlIFJlbmFsIERpc2Vhc2UiXQoJCXVuaW9uIFsiQ29uZGl0aW9uIjogIktpZG5leSBUcmFuc3BsYW50IFJlY2lwaWVudCJdCgkJdW5pb24gWyJDb25kaXRpb24iOiAiQ2hyb25pYyBLaWRuZXkgRGlzZWFzZSwgU3RhZ2UgNSJdICkgUHJlZ25hbmN5RVNSRERpYWdub3NpcwogICAgICB3aGVyZSBQcmVnbmFuY3lFU1JERGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCiAgICAgICAgYW5kIFByZWduYW5jeUVTUkREaWFnbm9zaXMuYXNzZXJ0ZWREYXRlIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiRGVub21pbmF0b3IiOgoJIkluaXRpYWwgUG9wdWxhdGlvbiIKCmRlZmluZSAiRW5kIFN0YWdlIFJlbmFsIERpc2Vhc2UgRW5jb3VudGVyIjoKCVsiRW5jb3VudGVyIjogIkVTUkQgTW9udGhseSBPdXRwYXRpZW50IFNlcnZpY2VzIl0gRVNSREVuY291bnRlcgoJCXdoZXJlIEVTUkRFbmNvdW50ZXIuc3RhdHVzLnZhbHVlIGluIHsgJ3BsYW5uZWQnLCAnYXJyaXZlZCcsICd0cmlhZ2VkJywgJ2luLXByb2dyZXNzJywgJ29ubGVhdmUnLCAnZmluaXNoZWQnIH0KCQkgIGFuZCBFU1JERW5jb3VudGVyLnBlcmlvZCBzdGFydHMgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSBQcm9jZWR1cmVzIjoKCSggWyJQcm9jZWR1cmUiOiAiVmFzY3VsYXIgQWNjZXNzIGZvciBEaWFseXNpcyJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiS2lkbmV5IFRyYW5zcGxhbnQiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIkRpYWx5c2lzIFNlcnZpY2VzIl0gKSBFU1JEUHJvY2VkdXJlCgkJd2hlcmUgRVNSRFByb2NlZHVyZS5zdGF0dXMgPSAnY29tcGxldGVkJwogICAgICBhbmQgRVNSRFByb2NlZHVyZS5wZXJmb3JtZWQgc3RhcnRzIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiRXNzZW50aWFsIEh5cGVydGVuc2lvbiBEaWFnbm9zaXMiOgoJWyJDb25kaXRpb24iOiAiRXNzZW50aWFsIEh5cGVydGVuc2lvbiJdIEh5cGVydGVuc2lvbgogICAgd2hlcmUgSHlwZXJ0ZW5zaW9uLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCiAgICAgYW5kIChIeXBlcnRlbnNpb24uYXNzZXJ0ZWREYXRlIDYgbW9udGhzIG9yIGxlc3Mgb24gb3IgYWZ0ZXIgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgb3IgSHlwZXJ0ZW5zaW9uLmFzc2VydGVkRGF0ZSBiZWZvcmUgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCiAgICApCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2x1c2lvbiI6CglmYWxzZTsKCi8qCi8vIFRPRE86IFRyYW5zbGF0ZSBleGNsdXNpb25zCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9uIjoKCUhvc3BpY2UuIkhhcyBIb3NwaWNlIgoJCW9yIGV4aXN0cyAiUHJlZ25hbmN5IE9yIFJlbmFsIERpYWdub3NpcyBFeGNsdXNpb25zIgoJCW9yICggZXhpc3RzICJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSBQcm9jZWR1cmVzIgoJCQkJb3IgZXhpc3RzICJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSBFbmNvdW50ZXIiCgkJKQoJCW9yICggZXhpc3RzIFsiUGF0aWVudCBDaGFyYWN0ZXJpc3RpYyBCaXJ0aGRhdGUiOiAiQmlydGggZGF0ZSJdIEJpcnRoRGF0ZQoJCSAgICB3aGVyZSBleGlzdHMgKENvbW1vbi5DYWxlbmRhckFnZUluWWVhcnNBdChGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPj0gNjUpCgkJICAgIAkJCQkJCQkJCWFuZCBGcmFpbHR5TFRJLiJIYXMgU3BlbnQgTW9yZSBUaGFuIDkwIERheXMgaW4gTG9uZyBUZXJtIENhcmUiKQoJCQkJCQkJCW9yIEZyYWlsdHlMVEkuIkFkdmFuY2VkIElsbG5lc3MgYW5kIEZyYWlsdHkgRXhjbHVzaW9uIEluY2x1ZGluZyBPdmVyIEFnZSA4MCIKKi8KCi8vIFRPRE86IE1vdmUgdG8gQ29tbW9uIEZ1bmN0aW9ucyAmJiBmaXggbG9jYWwgZXhlY3V0aW9uIHNlcmlhbGl6YXRpb24gZm9yIGZ1bmN0aW9ucwovL2RlZmluZSBmdW5jdGlvbiBHZXRFbmNvdW50ZXIocmVmZXJlbmNlIFJlZmVyZW5jZSk6IHRydWUKLy8iR2V0SWQiKHVyaSBTdHJpbmcpOiByZXR1cm5zIHRoZSBsYXN0IFN0cmluZyBvZiBhIFNwbGl0IGJ5IC8gTGlzdCB0aGVyZWZvciBjYW5ub3QgdXNlIGluCi8vc2luZ2xldG9uIGZyb20gKCBbRW5jb3VudGVyOiBpZCA9IENvbW1vbi5HZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKV0gKQoJLy9zaW5nbGV0b24gZnJvbSAoW0VuY291bnRlcl0gRW5jb3VudGVyIHdoZXJlIEVuY291bnRlci5pZC52YWx1ZSA9IENvbW1vbi4iR2V0SWQiKHJlZmVyZW5jZS5yZWZlcmVuY2UpKQo=" diff --git a/fhir3/bundles/measure/EXM165_FHIR3-8.5.000/EXM165_FHIR3-8.5.000-files/library-deps-EXM165_FHIR3-8.5.000-bundle.json b/fhir3/bundles/measure/EXM165_FHIR3-8.5.000/EXM165_FHIR3-8.5.000-files/library-deps-EXM165_FHIR3-8.5.000-bundle.json new file mode 100644 index 00000000..271f66a5 --- /dev/null +++ b/fhir3/bundles/measure/EXM165_FHIR3-8.5.000/EXM165_FHIR3-8.5.000-files/library-deps-EXM165_FHIR3-8.5.000-bundle.json @@ -0,0 +1,290 @@ +{ + "resourceType": "Bundle", + "id": "library-deps-EXM165-FHIR3-8.5.000-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Library", + "id": "library-AdultOutpatientEncounters-FHIR3-1.1.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-AdultOutpatientEncounters-FHIR3-1.1.000
Type: Logic Library
Version: 1.1.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016

Content: type: text/cql
library AdultOutpatientEncounters_FHIR3 version '1.1.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "Annual Wellness Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\n\ncontext Patient\n\ndefine function "Qualifying Encounters"(MeasurementPeriod Interval<DateTime>):\n\t(\n\t    [Encounter: "Office Visit"]\n\t\tunion [Encounter: "Annual Wellness Visit"] \n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Home Healthcare Services"]\n    ) ValidEncounter\n\t\twhere ValidEncounter.period during day of MeasurementPeriod\n\t\tand ValidEncounter.status  = 'finished' \n
\n \n \n
\n
" + }, + "version": "1.1.000", + "name": "AdultOutpatientEncounters_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMiIHZlcnNpb249IjEuMS4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT2ZmaWNlIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iQW5udWFsIFdlbGxuZXNzIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgLSBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUXVhbGlmeWluZyBFbmNvdW50ZXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZhbGlkRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik9mZmljZSBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJBbm51YWwgV2VsbG5lc3MgVmlzaXQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW5jbHVkZWRJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWYWxpZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudFBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iVmFsaWRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIHZlcnNpb24gJzEuMS4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnCnZhbHVlc2V0ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCcKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMnCnZhbHVlc2V0ICJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYnCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIihNZWFzdXJlbWVudFBlcmlvZCBJbnRlcnZhbDxEYXRlVGltZT4pOgoJKAoJICAgIFtFbmNvdW50ZXI6ICJPZmZpY2UgVmlzaXQiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIl0KICAgICkgVmFsaWRFbmNvdW50ZXIKCQl3aGVyZSBWYWxpZEVuY291bnRlci5wZXJpb2QgZHVyaW5nIGRheSBvZiBNZWFzdXJlbWVudFBlcmlvZAoJCWFuZCBWYWxpZEVuY291bnRlci5zdGF0dXMgID0gJ2ZpbmlzaGVkJyAK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-AdvancedIllnessandFrailtyExclusion-FHIR3-4.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-AdvancedIllnessandFrailtyExclusion-FHIR3-4.0.000
Type: Logic Library
Version: 4.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

Data Requirements:

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1087

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1086

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1085

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1084

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1014

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1012

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1083

type: MedicationDispense

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510

type: DeviceRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300

type: DeviceUseStatement

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088

type: Observation

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075

Content: type: text/cql
library AdvancedIllnessandFrailtyExclusion_FHIR3 version '4.0.000'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\n\ncodesystem "LOINC": 'urn:oid:2.16.840.1.113883.6.1'\n\nvalueset "Acute Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1083'\nvalueset "Advanced Illness": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082'\nvalueset "Care Services in Long-Term Residential Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1014'\nvalueset "Dementia Medications": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510'\nvalueset "ED": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1085'\nvalueset "Frailty Device": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300'\nvalueset "Frailty Diagnosis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074'\nvalueset "Frailty Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088'\nvalueset "Frailty Symptom": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075'\nvalueset "Nonacute Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1084'\nvalueset "Nursing Facility Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1012'\nvalueset "Observation": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1086'\nvalueset "Outpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1087'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Advanced Illness Diagnoses":\n    [Condition: "Advanced Illness"] AdvancedIllnessDiagnosis\n\ndefine "Outpatient Encounters with Advanced Illness":\n\t( [Encounter: "Outpatient"]\n\t\tunion [Encounter: "Observation"]\n\t\tunion [Encounter: "ED"]\n\t\tunion [Encounter: "Nonacute Inpatient"] ) OutpatientEncounter\n\t\twith "Advanced Illness Diagnoses" AdvancedIllnessDiagnosis\n            such that exists (\n                OutpatientEncounter.diagnosis.condition Condition\n                    where EndsWith(Condition.reference, AdvancedIllnessDiagnosis.id)\n            )\n            and OutpatientEncounter.period starts 2 years or less before\n\t\t\tend of "Measurement Period"\n\ndefine "Long Term Care Periods During Measurement Period":\n\t( [Encounter: "Care Services in Long-Term Residential Facility"]\n\t\tunion [Encounter: "Nursing Facility Visit"] ) LongTermFacilityEncounter\n\t\twhere LongTermFacilityEncounter.period overlaps "Measurement Period"\n\t\treturn LongTermFacilityEncounter.period\n\t\t\tintersect "Measurement Period"\n\ndefine "Inpatient Encounter with Advanced Illness":\n\t[Encounter: "Acute Inpatient"] InpatientEncounter\n\t\twith "Advanced Illness Diagnoses" AdvancedIllnessDiagnosis\n            such that exists (\n                InpatientEncounter.diagnosis.condition Condition\n                    where EndsWith(Condition.reference, AdvancedIllnessDiagnosis.id)\n            )\n\t\t\tand InpatientEncounter.period starts 2 years or less before\n\t\t\tend of "Measurement Period"\n\ndefine "Dementia Medications In Year Before or During Measurement Period":\n\t["MedicationDispense": "Dementia Medications"] DementiaMed\n\t\twhere DementiaMed.whenHandedOver as dateTime during day of Interval[\n            ( start of "Measurement Period" - 1 year ), end of "Measurement Period"\n        ]\n\ndefine "Has Criteria Indicating Frailty":\n\texists ( [DeviceRequest: "Frailty Device"] FrailtyDeviceOrder\n\t\t\twhere FrailtyDeviceOrder.authoredOn during day of "Measurement Period"\n\t)\n\t\tor exists ( [DeviceUseStatement: "Frailty Device"] FrailtyDeviceUse\n\t\t\t\twhere FrailtyDeviceUse.timing as Period overlaps "Measurement Period"\n                    or FrailtyDeviceUse.timing as dateTime during day of "Measurement Period"\n\t\t)\n\t\tor exists ( [Condition: "Frailty Diagnosis"] FrailtyDiagnosis\n\t\t\t\twhere FrailtyDiagnosis.onset as Period overlaps "Measurement Period"\n                    or FrailtyDiagnosis.onset as dateTime during day of "Measurement Period"\n\t\t)\n\t\tor exists ( [Encounter: "Frailty Encounter"] FrailtyEncounter\n\t\t\t\twhere FrailtyEncounter.period overlaps "Measurement Period"\n\t\t)\n\t\tor exists ( [Observation: "Frailty Symptom"] FrailtySymptomObservation\n\t\t\t\twhere FrailtySymptomObservation.effective as Period overlaps "Measurement Period"\n                    or FrailtySymptomObservation.effective as dateTime during day of "Measurement Period"\n\t\t)\n\ndefine "Advanced Illness and Frailty Exclusion Including Over Age 80":\n\t//If the measure includes populations age 80 and older, then use this logic:\n\t(\n        Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")in Interval[66, 80]\n            and "Has Criteria Indicating Frailty"\n            and ( Count("Outpatient Encounters with Advanced Illness")>= 2\n                or exists ( "Inpatient Encounter with Advanced Illness" )\n                or exists "Dementia Medications In Year Before or During Measurement Period"\n            )\n\t)\n\t\tor (\n            Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")>= 81\n\t\t\t    and "Has Criteria Indicating Frailty"\n\t\t)\n\ndefine "Advanced Illness and Frailty Exclusion Including Under Age 80":\n\t//If the measure does NOT include populations age 80 and older, then use this logic:\n\tGlobal."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")>= 65\n        and "Has Criteria Indicating Frailty"\n        and ( Count("Outpatient Encounters with Advanced Illness")>= 2\n            or exists ( "Inpatient Encounter with Advanced Illness" )\n            or exists "Dementia Medications In Year Before or During Measurement Period"\n        )\n\ndefine "Has Spent More Than 90 Days in Long Term Care":\n\t"Days Spent in Long Term Care During Measurement Period" > 90\n\ndefine "Days Spent in Long Term Care During Measurement Period":\n\t"CumulativeDays"("Long Term Care Periods During Measurement Period")\n\ndefine function "CumulativeDays"(Intervals List<Interval<DateTime>> ):\n\tSum((collapse Intervals)CollapsedInterval\n\t\t\treturn all duration in days of CollapsedInterval\n\t)\n
\n \n \n
\n
" + }, + "version": "4.0.000", + "name": "AdvancedIllnessandFrailtyExclusion_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + } ], + "dataRequirement": [ { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1087" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1086" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1085" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1084" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1014" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1012" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1083" + } ] + }, { + "type": "MedicationDispense", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510" + } ] + }, { + "type": "DeviceRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300" + } ] + }, { + "type": "DeviceUseStatement" + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI3MyIgc3RhcnRDaGFyPSIxNSIgZW5kTGluZT0iNzMiIGVuZENoYXI9IjUyIiBtZXNzYWdlPSJSZXRyaWV2ZSBoYXMgYSB0ZXJtaW5vbG9neSB0YXJnZXQgYnV0IGRvZXMgbm90IHNwZWNpZnkgYSBjb2RlIHBhdGggYW5kIHRoZSB0eXBlIG9mIHRoZSByZXRyaWV2ZSBkb2VzIG5vdCBoYXZlIGEgcHJpbWFyeSBjb2RlIHBhdGggZGVmaW5lZC4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iNzMiIHN0YXJ0Q2hhcj0iMTUiIGVuZExpbmU9IjczIiBlbmRDaGFyPSI1MiIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxpZGVudGlmaWVyIGlkPSJBZHZhbmNlZElsbG5lc3NhbmRGcmFpbHR5RXhjbHVzaW9uX0ZISVIzIiB2ZXJzaW9uPSI0LjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9Ikdsb2JhbCIgcGF0aD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHBhcmFtZXRlcnM+DQogICAgICA8ZGVmIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPg0KICAgICAgPC9kZWY+DQogICA8L3BhcmFtZXRlcnM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IkxPSU5DIiBpZD0idXJuOm9pZDoyLjE2Ljg0MC4xLjExMzg4My42LjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJBY3V0ZSBJbnBhdGllbnQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTA4MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJBZHZhbmNlZCBJbGxuZXNzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwODIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iQ2FyZSBTZXJ2aWNlcyBpbiBMb25nLVRlcm0gUmVzaWRlbnRpYWwgRmFjaWxpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJEZW1lbnRpYSBNZWRpY2F0aW9ucyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xNTEwIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkVEIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRnJhaWx0eSBEZXZpY2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTguMTIuMTMwMCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJGcmFpbHR5IERpYWdub3NpcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMy4xMi4xMDc0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkZyYWlsdHkgRW5jb3VudGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRnJhaWx0eSBTeW1wdG9tIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEzLjEyLjEwNzUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTm9uYWN1dGUgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTnVyc2luZyBGYWNpbGl0eSBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDEyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik9ic2VydmF0aW9uIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT3V0cGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDg3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iQmlydGggZGF0ZSIgaWQ9IjIxMTEyLTgiIGRpc3BsYXk9IkJpcnRoIGRhdGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iTE9JTkMiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkFkdmFuY2VkIElsbG5lc3MgRGlhZ25vc2VzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJBZHZhbmNlZElsbG5lc3NEaWFnbm9zaXMiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQWR2YW5jZWQgSWxsbmVzcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJPdXRwYXRpZW50IEVuY291bnRlcnMgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJPdXRwYXRpZW50RW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iT3V0cGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPYnNlcnZhdGlvbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRUQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTm9uYWN1dGUgSW5wYXRpZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iQWR2YW5jZWRJbGxuZXNzRGlhZ25vc2lzIiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJBZHZhbmNlZCBJbGxuZXNzIERpYWdub3NlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkNvbmRpdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iJHRoaXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZGlhZ25vc2lzIiBzY29wZT0iT3V0cGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29uZGl0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvbmRpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRW5kc1dpdGgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgc2NvcGU9IkNvbmRpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJBZHZhbmNlZElsbG5lc3NEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iT3V0cGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIyIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTG9uZyBUZXJtIENhcmUgUGVyaW9kcyBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJMb25nVGVybUZhY2lsaXR5RW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJDYXJlIFNlcnZpY2VzIGluIExvbmctVGVybSBSZXNpZGVudGlhbCBGYWNpbGl0eSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJOdXJzaW5nIEZhY2lsaXR5IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPdmVybGFwcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMb25nVGVybUZhY2lsaXR5RW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSW50ZXJzZWN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkxvbmdUZXJtRmFjaWxpdHlFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWR2YW5jZWQgSWxsbmVzcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSW5wYXRpZW50RW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkFjdXRlIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IkFkdmFuY2VkSWxsbmVzc0RpYWdub3NpcyIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQWR2YW5jZWQgSWxsbmVzcyBEaWFnbm9zZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImRpYWdub3NpcyIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29uZGl0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvbmRpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRW5kc1dpdGgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgc2NvcGU9IkNvbmRpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJBZHZhbmNlZElsbG5lc3NEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSW5wYXRpZW50RW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZW1lbnRpYSBNZWRpY2F0aW9ucyBJbiBZZWFyIEJlZm9yZSBvciBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJEZW1lbnRpYU1lZCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2UiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJEZW1lbnRpYSBNZWRpY2F0aW9ucyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ3aGVuSGFuZGVkT3ZlciIgc2NvcGU9IkRlbWVudGlhTWVkIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIYXMgQ3JpdGVyaWEgSW5kaWNhdGluZyBGcmFpbHR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJGcmFpbHR5RGV2aWNlT3JkZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkZyYWlsdHkgRGV2aWNlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkZyYWlsdHlEZXZpY2VPcmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJGcmFpbHR5RGV2aWNlVXNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJGcmFpbHR5IERldmljZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik92ZXJsYXBzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ0aW1pbmciIHNjb3BlPSJGcmFpbHR5RGV2aWNlVXNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idGltaW5nIiBzY29wZT0iRnJhaWx0eURldmljZVVzZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkZyYWlsdHlEaWFnbm9zaXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRnJhaWx0eSBEaWFnbm9zaXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPdmVybGFwcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJGcmFpbHR5RGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJGcmFpbHR5RGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRnJhaWx0eUVuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJGcmFpbHR5IEVuY291bnRlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3ZlcmxhcHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRnJhaWx0eUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJGcmFpbHR5U3ltcHRvbU9ic2VydmF0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRnJhaWx0eSBTeW1wdG9tIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3ZlcmxhcHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkZyYWlsdHlTeW1wdG9tT2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJGcmFpbHR5U3ltcHRvbU9ic2VydmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkFkdmFuY2VkIElsbG5lc3MgYW5kIEZyYWlsdHkgRXhjbHVzaW9uIEluY2x1ZGluZyBPdmVyIEFnZSA4MCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjY2IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI4MCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkhhcyBDcml0ZXJpYSBJbmRpY2F0aW5nIEZyYWlsdHkiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ291bnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJPdXRwYXRpZW50IEVuY291bnRlcnMgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWR2YW5jZWQgSWxsbmVzcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGVtZW50aWEgTWVkaWNhdGlvbnMgSW4gWWVhciBCZWZvcmUgb3IgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjgxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJBZHZhbmNlZCBJbGxuZXNzIGFuZCBGcmFpbHR5IEV4Y2x1c2lvbiBJbmNsdWRpbmcgVW5kZXIgQWdlIDgwIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNjUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIYXMgQ3JpdGVyaWEgSW5kaWNhdGluZyBGcmFpbHR5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvdW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iT3V0cGF0aWVudCBFbmNvdW50ZXJzIHdpdGggQWR2YW5jZWQgSWxsbmVzcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFkdmFuY2VkIElsbG5lc3MiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkRlbWVudGlhIE1lZGljYXRpb25zIEluIFllYXIgQmVmb3JlIG9yIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ3VtdWxhdGl2ZURheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3VtIj4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkNvbGxhcHNlZEludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJDb2xsYXBzZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnRlcnZhbHMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCByZXN1bHRUeXBlTmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNvbGxhcHNlZEludGVydmFsIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ29sbGFwc2VkSW50ZXJ2YWwiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkludGVydmFscyI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGF5cyBTcGVudCBpbiBMb25nIFRlcm0gQ2FyZSBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkN1bXVsYXRpdmVEYXlzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTG9uZyBUZXJtIENhcmUgUGVyaW9kcyBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkhhcyBTcGVudCBNb3JlIFRoYW4gOTAgRGF5cyBpbiBMb25nIFRlcm0gQ2FyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iR3JlYXRlciI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJEYXlzIFNwZW50IGluIExvbmcgVGVybSBDYXJlIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjkwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBBZHZhbmNlZElsbG5lc3NhbmRGcmFpbHR5RXhjbHVzaW9uX0ZISVIzIHZlcnNpb24gJzQuMC4wMDAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKCmNvZGVzeXN0ZW0gIkxPSU5DIjogJ3VybjpvaWQ6Mi4xNi44NDAuMS4xMTM4ODMuNi4xJwoKdmFsdWVzZXQgIkFjdXRlIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTA4MycKdmFsdWVzZXQgIkFkdmFuY2VkIElsbG5lc3MiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwODInCnZhbHVlc2V0ICJDYXJlIFNlcnZpY2VzIGluIExvbmctVGVybSBSZXNpZGVudGlhbCBGYWNpbGl0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxNCcKdmFsdWVzZXQgIkRlbWVudGlhIE1lZGljYXRpb25zIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xNTEwJwp2YWx1ZXNldCAiRUQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODUnCnZhbHVlc2V0ICJGcmFpbHR5IERldmljZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTguMTIuMTMwMCcKdmFsdWVzZXQgIkZyYWlsdHkgRGlhZ25vc2lzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMy4xMi4xMDc0Jwp2YWx1ZXNldCAiRnJhaWx0eSBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODgnCnZhbHVlc2V0ICJGcmFpbHR5IFN5bXB0b20iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEzLjEyLjEwNzUnCnZhbHVlc2V0ICJOb25hY3V0ZSBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODQnCnZhbHVlc2V0ICJOdXJzaW5nIEZhY2lsaXR5IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDEyJwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODYnCnZhbHVlc2V0ICJPdXRwYXRpZW50IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDg3JwoKY29kZSAiQmlydGggZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJBZHZhbmNlZCBJbGxuZXNzIERpYWdub3NlcyI6CiAgICBbQ29uZGl0aW9uOiAiQWR2YW5jZWQgSWxsbmVzcyJdIEFkdmFuY2VkSWxsbmVzc0RpYWdub3NpcwoKZGVmaW5lICJPdXRwYXRpZW50IEVuY291bnRlcnMgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIjoKCSggW0VuY291bnRlcjogIk91dHBhdGllbnQiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJPYnNlcnZhdGlvbiJdCgkJdW5pb24gW0VuY291bnRlcjogIkVEIl0KCQl1bmlvbiBbRW5jb3VudGVyOiAiTm9uYWN1dGUgSW5wYXRpZW50Il0gKSBPdXRwYXRpZW50RW5jb3VudGVyCgkJd2l0aCAiQWR2YW5jZWQgSWxsbmVzcyBEaWFnbm9zZXMiIEFkdmFuY2VkSWxsbmVzc0RpYWdub3NpcwogICAgICAgICAgICBzdWNoIHRoYXQgZXhpc3RzICgKICAgICAgICAgICAgICAgIE91dHBhdGllbnRFbmNvdW50ZXIuZGlhZ25vc2lzLmNvbmRpdGlvbiBDb25kaXRpb24KICAgICAgICAgICAgICAgICAgICB3aGVyZSBFbmRzV2l0aChDb25kaXRpb24ucmVmZXJlbmNlLCBBZHZhbmNlZElsbG5lc3NEaWFnbm9zaXMuaWQpCiAgICAgICAgICAgICkKICAgICAgICAgICAgYW5kIE91dHBhdGllbnRFbmNvdW50ZXIucGVyaW9kIHN0YXJ0cyAyIHllYXJzIG9yIGxlc3MgYmVmb3JlCgkJCWVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJMb25nIFRlcm0gQ2FyZSBQZXJpb2RzIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiOgoJKCBbRW5jb3VudGVyOiAiQ2FyZSBTZXJ2aWNlcyBpbiBMb25nLVRlcm0gUmVzaWRlbnRpYWwgRmFjaWxpdHkiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJOdXJzaW5nIEZhY2lsaXR5IFZpc2l0Il0gKSBMb25nVGVybUZhY2lsaXR5RW5jb3VudGVyCgkJd2hlcmUgTG9uZ1Rlcm1GYWNpbGl0eUVuY291bnRlci5wZXJpb2Qgb3ZlcmxhcHMgIk1lYXN1cmVtZW50IFBlcmlvZCIKCQlyZXR1cm4gTG9uZ1Rlcm1GYWNpbGl0eUVuY291bnRlci5wZXJpb2QKCQkJaW50ZXJzZWN0ICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIjoKCVtFbmNvdW50ZXI6ICJBY3V0ZSBJbnBhdGllbnQiXSBJbnBhdGllbnRFbmNvdW50ZXIKCQl3aXRoICJBZHZhbmNlZCBJbGxuZXNzIERpYWdub3NlcyIgQWR2YW5jZWRJbGxuZXNzRGlhZ25vc2lzCiAgICAgICAgICAgIHN1Y2ggdGhhdCBleGlzdHMgKAogICAgICAgICAgICAgICAgSW5wYXRpZW50RW5jb3VudGVyLmRpYWdub3Npcy5jb25kaXRpb24gQ29uZGl0aW9uCiAgICAgICAgICAgICAgICAgICAgd2hlcmUgRW5kc1dpdGgoQ29uZGl0aW9uLnJlZmVyZW5jZSwgQWR2YW5jZWRJbGxuZXNzRGlhZ25vc2lzLmlkKQogICAgICAgICAgICApCgkJCWFuZCBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kIHN0YXJ0cyAyIHllYXJzIG9yIGxlc3MgYmVmb3JlCgkJCWVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW1lbnRpYSBNZWRpY2F0aW9ucyBJbiBZZWFyIEJlZm9yZSBvciBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIjoKCVsiTWVkaWNhdGlvbkRpc3BlbnNlIjogIkRlbWVudGlhIE1lZGljYXRpb25zIl0gRGVtZW50aWFNZWQKCQl3aGVyZSBEZW1lbnRpYU1lZC53aGVuSGFuZGVkT3ZlciBhcyBkYXRlVGltZSBkdXJpbmcgZGF5IG9mIEludGVydmFsWwogICAgICAgICAgICAoIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiIC0gMSB5ZWFyICksIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICAgIF0KCmRlZmluZSAiSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSI6CglleGlzdHMgKCBbRGV2aWNlUmVxdWVzdDogIkZyYWlsdHkgRGV2aWNlIl0gRnJhaWx0eURldmljZU9yZGVyCgkJCXdoZXJlIEZyYWlsdHlEZXZpY2VPcmRlci5hdXRob3JlZE9uIGR1cmluZyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCSkKCQlvciBleGlzdHMgKCBbRGV2aWNlVXNlU3RhdGVtZW50OiAiRnJhaWx0eSBEZXZpY2UiXSBGcmFpbHR5RGV2aWNlVXNlCgkJCQl3aGVyZSBGcmFpbHR5RGV2aWNlVXNlLnRpbWluZyBhcyBQZXJpb2Qgb3ZlcmxhcHMgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgICAgICAgICAgICAgICBvciBGcmFpbHR5RGV2aWNlVXNlLnRpbWluZyBhcyBkYXRlVGltZSBkdXJpbmcgZGF5IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgkJKQoJCW9yIGV4aXN0cyAoIFtDb25kaXRpb246ICJGcmFpbHR5IERpYWdub3NpcyJdIEZyYWlsdHlEaWFnbm9zaXMKCQkJCXdoZXJlIEZyYWlsdHlEaWFnbm9zaXMub25zZXQgYXMgUGVyaW9kIG92ZXJsYXBzICJNZWFzdXJlbWVudCBQZXJpb2QiCiAgICAgICAgICAgICAgICAgICAgb3IgRnJhaWx0eURpYWdub3Npcy5vbnNldCBhcyBkYXRlVGltZSBkdXJpbmcgZGF5IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgkJKQoJCW9yIGV4aXN0cyAoIFtFbmNvdW50ZXI6ICJGcmFpbHR5IEVuY291bnRlciJdIEZyYWlsdHlFbmNvdW50ZXIKCQkJCXdoZXJlIEZyYWlsdHlFbmNvdW50ZXIucGVyaW9kIG92ZXJsYXBzICJNZWFzdXJlbWVudCBQZXJpb2QiCgkJKQoJCW9yIGV4aXN0cyAoIFtPYnNlcnZhdGlvbjogIkZyYWlsdHkgU3ltcHRvbSJdIEZyYWlsdHlTeW1wdG9tT2JzZXJ2YXRpb24KCQkJCXdoZXJlIEZyYWlsdHlTeW1wdG9tT2JzZXJ2YXRpb24uZWZmZWN0aXZlIGFzIFBlcmlvZCBvdmVybGFwcyAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICAgICAgICAgICAgICAgIG9yIEZyYWlsdHlTeW1wdG9tT2JzZXJ2YXRpb24uZWZmZWN0aXZlIGFzIGRhdGVUaW1lIGR1cmluZyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCQkpCgpkZWZpbmUgIkFkdmFuY2VkIElsbG5lc3MgYW5kIEZyYWlsdHkgRXhjbHVzaW9uIEluY2x1ZGluZyBPdmVyIEFnZSA4MCI6CgkvL0lmIHRoZSBtZWFzdXJlIGluY2x1ZGVzIHBvcHVsYXRpb25zIGFnZSA4MCBhbmQgb2xkZXIsIHRoZW4gdXNlIHRoaXMgbG9naWM6CgkoCiAgICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpaW4gSW50ZXJ2YWxbNjYsIDgwXQogICAgICAgICAgICBhbmQgIkhhcyBDcml0ZXJpYSBJbmRpY2F0aW5nIEZyYWlsdHkiCiAgICAgICAgICAgIGFuZCAoIENvdW50KCJPdXRwYXRpZW50IEVuY291bnRlcnMgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIik+PSAyCiAgICAgICAgICAgICAgICBvciBleGlzdHMgKCAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFkdmFuY2VkIElsbG5lc3MiICkKICAgICAgICAgICAgICAgIG9yIGV4aXN0cyAiRGVtZW50aWEgTWVkaWNhdGlvbnMgSW4gWWVhciBCZWZvcmUgb3IgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgICAgICAgKQoJKQoJCW9yICgKICAgICAgICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPj0gODEKCQkJICAgIGFuZCAiSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSIKCQkpCgpkZWZpbmUgIkFkdmFuY2VkIElsbG5lc3MgYW5kIEZyYWlsdHkgRXhjbHVzaW9uIEluY2x1ZGluZyBVbmRlciBBZ2UgODAiOgoJLy9JZiB0aGUgbWVhc3VyZSBkb2VzIE5PVCBpbmNsdWRlIHBvcHVsYXRpb25zIGFnZSA4MCBhbmQgb2xkZXIsIHRoZW4gdXNlIHRoaXMgbG9naWM6CglHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIik+PSA2NQogICAgICAgIGFuZCAiSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSIKICAgICAgICBhbmQgKCBDb3VudCgiT3V0cGF0aWVudCBFbmNvdW50ZXJzIHdpdGggQWR2YW5jZWQgSWxsbmVzcyIpPj0gMgogICAgICAgICAgICBvciBleGlzdHMgKCAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFkdmFuY2VkIElsbG5lc3MiICkKICAgICAgICAgICAgb3IgZXhpc3RzICJEZW1lbnRpYSBNZWRpY2F0aW9ucyBJbiBZZWFyIEJlZm9yZSBvciBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICAgICkKCmRlZmluZSAiSGFzIFNwZW50IE1vcmUgVGhhbiA5MCBEYXlzIGluIExvbmcgVGVybSBDYXJlIjoKCSJEYXlzIFNwZW50IGluIExvbmcgVGVybSBDYXJlIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiID4gOTAKCmRlZmluZSAiRGF5cyBTcGVudCBpbiBMb25nIFRlcm0gQ2FyZSBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIjoKCSJDdW11bGF0aXZlRGF5cyIoIkxvbmcgVGVybSBDYXJlIFBlcmlvZHMgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCIpCgpkZWZpbmUgZnVuY3Rpb24gIkN1bXVsYXRpdmVEYXlzIihJbnRlcnZhbHMgTGlzdDxJbnRlcnZhbDxEYXRlVGltZT4+ICk6CglTdW0oKGNvbGxhcHNlIEludGVydmFscylDb2xsYXBzZWRJbnRlcnZhbAoJCQlyZXR1cm4gYWxsIGR1cmF0aW9uIGluIGRheXMgb2YgQ29sbGFwc2VkSW50ZXJ2YWwKCSkK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-AdvancedIllnessandFrailtyExclusion-FHIR3-4.0.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" + }, + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-2.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-2.0.000
Type: Logic Library
Version: 2.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '2.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t    and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] C where C.id = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t\treturn singleton from ([Condition] C where C.id = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "2.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMDUiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIwNSIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVSIiBpZD0iRVIiIGRpc3BsYXk9IkVtZXJnZW5jeSByb29tIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSUNVIiBpZD0iSUNVIiBkaXNwbGF5PSJJbnRlbnNpdmUgY2FyZSB1bml0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikxlbmd0aEluRGF5cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGlmZmVyZW5jZUJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJJbnBhdGllbnQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgIDx5ZWFyIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwveWVhcj4NCiAgICAgICAgICAgIDxtb250aCBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9tb250aD4NCiAgICAgICAgICAgIDxkYXkgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L2RheT4NCiAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHRpbWV6b25lT2Zmc2V0IHhzaTp0eXBlPSJUaW1lem9uZUZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3RpbWV6b25lT2Zmc2V0Pg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2RheSIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbk1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImhvdXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDxlbHNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlgiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFREVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFREVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgIDx0aGVuIHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTGVuZ3RoIG9mIFN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQWRtaXNzaW9uIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIERpc2NoYXJnZSBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGl0YWxMb2NhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8c29ydD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxieSBkaXJlY3Rpb249ImFzYyIgeHNpOnR5cGU9IkJ5RXhwcmVzc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvbmRpdGlvbiIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyb2xlIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpbGxpbmciIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlZ2VyIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyYW5rIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29uZGl0aW9uIiBzY29wZT0iUEQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldExvY2F0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxvY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkxvY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlZmVyZW5jZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0RXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldFByb3ZlbmFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm92ZW5hbmNlIiBjb2RlUHJvcGVydHk9InRhcmdldCIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldE1lZGljYXRpb25Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlcXVlc3QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVxdWVzdCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwoKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnCmNvZGUgIkVSIjogJ0VSJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnRW1lcmdlbmN5IHJvb20nCmNvZGUgIklDVSI6ICdJQ1UnIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdJbnRlbnNpdmUgY2FyZSB1bml0Jwpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIiOgoJW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFbmNvdW50ZXJJbnBhdGllbnQKCQl3aGVyZSBFbmNvdW50ZXJJbnBhdGllbnQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCSAgICBhbmQgIkxlbmd0aEluRGF5cyIoRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCkgPD0gMTIwCgkJCWFuZCBFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kIGVuZHMgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgZnVuY3Rpb24gIlRvRGF0ZSIoVmFsdWUgRGF0ZVRpbWUpOgoJRGF0ZVRpbWUoeWVhciBmcm9tIFZhbHVlLCBtb250aCBmcm9tIFZhbHVlLCBkYXkgZnJvbSBWYWx1ZSwgMCwgMCwgMCwgMCwgdGltZXpvbmUgZnJvbSBWYWx1ZSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbkRheXNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6CglkYXlzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5cyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluRGF5c0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6Cgltb250aHMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCXllYXJzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluWWVhcnMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJblllYXJzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiTGVuZ3RoSW5EYXlzIihWYWx1ZSBJbnRlcnZhbDxEYXRlVGltZT4pOgoJZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgVmFsdWUgYW5kIGVuZCBvZiBWYWx1ZQoKZGVmaW5lIGZ1bmN0aW9uICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKICAgIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXSBFRFZpc2l0CiAgICAgICAgICAgIHdoZXJlIEVEVmlzaXQuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgICAgICAgICAgICAgYW5kIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCkKICAgICkKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJKCAiRUQgVmlzaXQiKFRoZUVuY291bnRlcikgKSBYCiAgICByZXR1cm4KICAgICAgICBpZiBYIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgZWxzZSBJbnRlcnZhbFtzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFgucGVyaW9kKSwgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCldCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIEVERW5jb3VudGVyCiAgICByZXR1cm4KICAgICAgICBpZiBFREVuY291bnRlciBpcyBudWxsIHRoZW4gVGhlRW5jb3VudGVyLmxvY2F0aW9uCiAgICAgICAgZWxzZSBmbGF0dGVuIHsgRURFbmNvdW50ZXIubG9jYXRpb24sIFRoZUVuY291bnRlci5sb2NhdGlvbiB9CgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMZW5ndGggb2YgU3RheSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCUxlbmd0aEluRGF5cygiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIpKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWwgRGlzY2hhcmdlIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgllbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEZpcnN0KAoJICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCXNvcnQgYnkgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChwZXJpb2QpCgkpLnBlcmlvZCkKCi8vIFRPRE8gLSBmaXggdGhlc2UgKG11c3QgZmV0Y2ggTG9jYXRpb24gcmVzb3VyY2VzIGFuZCBjb21wYXJlIGlkIHRvIHJlZmVyZW5jZSkKLypkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIERlcGFydHVyZSBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoTGFzdCgKCSAgICAoICJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIihUaGVFbmNvdW50ZXIpICkgSG9zcGl0YWxMb2NhdGlvbgoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkVtZXJnZW5jeSBEZXBhcnRtZW50IEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoKAoJICAgIHNpbmdsZXRvbiBmcm9tICgKCSAgICAgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJFUiIKCQkpCgkpLnBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiRmlyc3QgSW5wYXRpZW50IEludGVuc2l2ZSBDYXJlIFVuaXQiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglGaXJzdCgKCSAgICAoIFRoZUVuY291bnRlci5sb2NhdGlvbiApIEhvc3BpdGFsTG9jYXRpb24KCQkJd2hlcmUgSG9zcGl0YWxMb2NhdGlvbi50eXBlIH4gIklDVSIKCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgVGhlRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKSovCgovKgoqCiogICAgQ1FGTWVhc3VyZXMgQ29tbW9uIExvZ2ljCioKKi8KCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgogIGlmIG9uc2V0IGlzIEZISVIuZGF0ZVRpbWUgdGhlbgoJICBJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLlBlcmlvZCB0aGVuCgkgIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwob25zZXQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIG9uc2V0IGlzIEZISVIuQWdlIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpLAoJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpICsgMSB5ZWFyKQoJZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbiBDb25kaXRpb24pOgoJaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5kYXRlVGltZSldCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5BZ2UgdGhlbgoJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLAoJCQlGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmJvb2xlYW4gdGhlbgoJICBJbnRlcnZhbFtlbmQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgY29uZGl0aW9uLmFzc2VydGVkRGF0ZSkKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJHZXRQcmV2YWxlbmNlUGVyaW9kIihjb25kaXRpb24gQ29uZGl0aW9uKToKICBJbnRlcnZhbFtzdGFydCBvZiAiTm9ybWFsaXplIE9uc2V0Iihjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbikpCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBJbnRlcnZhbCIoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZD4pOgogIGlmIGNob2ljZSBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5kYXRlVGltZSksIEZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZQoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNob2ljZSBhcyBGSElSLlBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcpOgoJTGFzdChTcGxpdCh1cmksICcvJykpCgpkZWZpbmUgZnVuY3Rpb24gIkVuY291bnRlckRpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6CiAgRW5jb3VudGVyLmRpYWdub3NpcyBECiAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKFtDb25kaXRpb25dIEMgd2hlcmUgQy5pZCA9ICJHZXRJZCIoRC5jb25kaXRpb24ucmVmZXJlbmNlKSkKCi8vIFJldHVybnMgdGhlIGNvbmRpdGlvbiB0aGF0IGlzIHNwZWNpZmllZCBhcyB0aGUgcHJpbmNpcGFsIGRpYWdub3NpcyBmb3IgdGhlIGVuY291bnRlcgpkZWZpbmUgZnVuY3Rpb24gIlByaW5jaXBhbERpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6Cgkoc2luZ2xldG9uIGZyb20gKEVuY291bnRlci5kaWFnbm9zaXMgRCB3aGVyZSBELnJvbGUgfiBUb0NvbmNlcHQoIkJpbGxpbmciKSBhbmQgRC5yYW5rID0gMSkpIFBECgkJcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDIHdoZXJlIEMuaWQgPSAiR2V0SWQiKFBELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgbG9jYXRpb24gZm9yIHRoZSBnaXZlbiBsb2NhdGlvbiByZWZlcmVuY2UKZGVmaW5lIGZ1bmN0aW9uIEdldExvY2F0aW9uKHJlZmVyZW5jZSBSZWZlcmVuY2UpOgogIHNpbmdsZXRvbiBmcm9tICgKICAgIFtMb2NhdGlvbl0gTG9jYXRpb24gd2hlcmUgTG9jYXRpb24uaWQudmFsdWUgPSBHZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKQogICkKCi8qCk5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlCkNRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nICsgdXJsKQoJCXJldHVybiBFCgpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UsIHVybCkKCi8qCk5PVEU6IFByb3ZlbmFuY2UgaXMgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIHRoaXMgaXMgcHJvdmlkZWQgb25seSBhcyBhbiBpbGx1c3RyYXRpb24KZm9yIHdoYXQgdXNpbmcgUHJvdmVuYW5jZSBjb3VsZCBsb29rIGxpa2UsIGFuZCBpcyBub3QgYSB0ZXN0ZWQgcGF0dGVybgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldFByb3ZlbmFuY2UiKHJlc291cmNlIFJlc291cmNlKToKICBzaW5nbGV0b24gZnJvbSAoW1Byb3ZlbmFuY2U6IHRhcmdldCBpbiByZXNvdXJjZS5pZF0pCgpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Db2RlIihyZXF1ZXN0IE1lZGljYXRpb25SZXF1ZXN0KToKICBpZiByZXF1ZXN0Lm1lZGljYXRpb24gaXMgQ29kZWFibGVDb25jZXB0IHRoZW4KCSAgcmVxdWVzdC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdAoJZWxzZQoJICAoc2luZ2xldG9uIGZyb20gKFtNZWRpY2F0aW9uOiBpZCBpbiBHZXRJZCgocmVxdWVzdC5tZWRpY2F0aW9uIGFzIFJlZmVyZW5jZSkucmVmZXJlbmNlKV0pKS5jb2RlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + } ] +} \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM165_FHIR3-8.5.000/EXM165_FHIR3-8.5.000-files/measure-EXM165_FHIR3-8.5.000.json b/fhir3/bundles/measure/EXM165_FHIR3-8.5.000/EXM165_FHIR3-8.5.000-files/measure-EXM165_FHIR3-8.5.000.json index 9427a90b..bd17873b 100644 --- a/fhir3/bundles/measure/EXM165_FHIR3-8.5.000/EXM165_FHIR3-8.5.000-files/measure-EXM165_FHIR3-8.5.000.json +++ b/fhir3/bundles/measure/EXM165_FHIR3-8.5.000/EXM165_FHIR3-8.5.000-files/measure-EXM165_FHIR3-8.5.000.json @@ -8,7 +8,7 @@ }, "text": { "status": "generated", - "div": "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Measure Title

Controlling High Blood Pressure

Measure ID

EXM165

Description

Percentage of patients 18-85 years of age who had a diagnosis of hypertension overlapping the measurement period and whose most recent blood pressure was adequately controlled (<140/90mmHg) during the measurement period

\r\n
\r\n
\r\n
Measurement PeriodJanuary 1 - December 31
Copyright and Disclaimer Notice\r\n
\r\n
The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.\r\n \r\nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].
\r\n
\r\n
This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. <br> Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. <br> CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.
\r\n
\r\n
Clinical Recommendation Statement\r\n

The U.S. Preventive Services Task Force (2015) recommends screening for high blood pressure in adults age 18 years and older. This is a grade A recommendation.

\r\n

American College of Cardiology/American Heart Association (2017)
\r\n-For adults with confirmed hypertension and known CVD or 10-year ASCVD event risk of 10% or higher, a blood pressure target of less than 130/80 mmHg is recommended
\r\n-For adults with confirmed hypertension, without additional markers of increased CVD risk, a blood pressure target of less than 130/80 mmHg may be reasonable (Note: clinical trial evidence is strongest for a target blood pressure of 140/90 mmHg in this population. However observational studies suggest that these individuals often have a high lifetime risk and would benefit from blood pressure control earlier in life)

\r\n

American College of Physicians and the American Academy of Family Physicians (2017):
\r\n-Initiate intensifying pharmacologic treatment in adults aged 60 and older at high cardiovascular risk, based on individualized assessment, to achieve a target systolic blood pressure of less than 140 mmHg (Grade: weak recommendation, quality of evidence: low)
\r\n-Initiate intensifying pharmacologic treatment in adults aged 60 and older with a history of stroke or transient ischemic attack to achieve a target systolic blood pressure of less than 140 mmHg to reduce the risk of recurrent stroke (Grade: weak recommendation, quality of evidence: moderate)

\r\n

American Diabetes Association (2018):
\r\nMost patients with diabetes and hypertension should be treated to a systolic blood pressure goal of <140 mmHg and a diastolic blood pressure goal of <90 mmHg (Level of evidence: A)

\r\n

Report from the Eighth Joint National Committee (2014)
\r\n-In the general population younger than 60 years, initiate pharmacologic treatment to lower blood pressure at diastolic blood pressure (DBP) of 90 mmHg or higher and treat to a goal of DBP of lower than 90 mmHg (Grade: A (for ages 30-59), Grade: E (for ages 18-29))
\r\n-In the general population younger than 60 years, initiate pharmacologic treatment to lower blood pressure at systolic blood pressure (SBP) to 140 mmHg or higher and treat to a goal of SBP of lower than 140 mmHg (Grade: E)
\r\n-In the general population aged 60 years and older, initiate pharmacologic treatment to lower blood pressure at SBP of 150 mmHg or higher or a DBP of 90 mmHg or higher and treat to a goal of SBP lower than 150 mmHg and goal of DBP lower than 90 mmHg

\r\n
\r\n
References\r\n
\r\n
American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104.
\r\n
\r\n
\r\n
\r\n
Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485
\r\n
\r\n
\r\n
\r\n
Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html
\r\n
\r\n
\r\n
\r\n
Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. 
\r\n
\r\n
\r\n
\r\n
Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html
\r\n
\r\n
\r\n
\r\n
Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439.
\r\n
\r\n
\r\n
\r\n
James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427
\r\n
\r\n
\r\n
\r\n
Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi:  10.1056/NEJMsa1406751. [published correction appears on page 1677] \r\nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9.
\r\n
\r\n
\r\n
\r\n
Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753
\r\n
\r\n
\r\n
\r\n
Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437.
\r\n
\r\n
\r\n
\r\n
SPRINT Research Group,; Wright, J. T., Jr., Williamson,  J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116.
\r\n
\r\n
\r\n
\r\n
U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787.
\r\n
\r\n
\r\n
\r\n
Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065
\r\n
\r\n
\r\n
\r\n
Yoon, S. S., Fryar, C. D., & Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics.
\r\n
\r\n
Characteristics
ScoringProportion
TypeProcess
Improvement NotationA higher rate indicates better performance.
Guidance\r\n

In reference to the numerator element, only blood pressure readings performed by a clinician or a remote monitoring device are acceptable for numerator compliance with this measure.

\r\n

Do not include BP readings:
\r\n-Taken during an acute inpatient stay or an ED visit
\r\n-Taken on the same day as a diagnostic test or diagnostic or therapeutic procedure that requires a change in diet or change in medication on or one day before the day of the test or procedure, with the exception of fasting blood tests.
\r\n-Reported by or taken by the member

\r\n

If no blood pressure is recorded during the measurement period, the patient's blood pressure is assumed "not controlled."

\r\n

If there are multiple blood pressure readings on the same day, use the lowest systolic and the lowest diastolic reading as the most recent blood pressure reading.

\r\n
\r\n
Definitions
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n

Table of Contents

\r\n \r\n
\r\n \r\n

\r\n

Population Criteria

\r\n
\r\n
    \r\n
  • \r\n \r\n
    \r\n
      \r\n
    • \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tCommon.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period") between 18 and 85\r\n\t\tand exists "Essential Hypertension Diagnosis"\r\n\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")
          \r\n
        • \r\n
        p;\r\n
      • \r\n
    • \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
      \r\n
    • \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Has Diastolic Blood Pressure Less Than 90"\r\n\t\tand "Has Systolic Blood Pressure Less Than 140"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
    • \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
      \r\n
    • \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Initial Population"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
    • \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
  • \r\n
\r\n
\r\n\r\n

Definitions

\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t( ( "Qualifying Diastolic Blood Pressure Reading" DBPExam\r\n\t\t\t\treturn date from DBPExam.effective\r\n\t\t)\r\n\t\t\tintersect ( "Qualifying Systolic Blood Pressure Reading" SBPExam\r\n\t\t\t\t\treturn date from SBPExam.effective\r\n\t\t\t)\r\n\t)
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Initial Population"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t["Encounter": "ESRD Monthly Outpatient Services"] ESRDEncounter\r\n\t\twhere ESRDEncounter.status.value in { 'planned', 'arrived', 'triaged', 'in-progress', 'onleave', 'finished' }\r\n\t\t  and ESRDEncounter.period starts before end of "Measurement Period"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t( ["Procedure": "Vascular Access for Dialysis"]\r\n\t\tunion ["Procedure": "Kidney Transplant"]\r\n\t\tunion ["Procedure": "Dialysis Services"] ) ESRDProcedure\r\n\t\twhere ESRDProcedure.status = 'completed'\r\n      and ESRDProcedure.performed starts before end of "Measurement Period"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t["Condition": "Essential Hypertension"] Hypertension\r\n    where Hypertension.verificationStatus = 'confirmed'\r\n     and (Hypertension.assertedDate 6 months or less on or after start of "Measurement Period"\r\n      or Hypertension.assertedDate before end of "Measurement Period"\r\n    )
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Lowest Diastolic Reading on Most Recent Blood Pressure Day".value < 90
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Lowest Systolic Reading on Most Recent Blood Pressure Day".value < 140
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tCommon.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period") between 18 and 85\r\n\t\tand exists "Essential Hypertension Diagnosis"\r\n\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tFirst(\r\n    "Qualifying Diastolic Blood Pressure Reading" DBPReading\r\n\t\t  where DBPReading.effective same day as "Most Recent Blood Pressure Day"\r\n      return singleton from (\r\n        DBPReading.component C\r\n          where C.code ~ "Diastolic blood pressure"\r\n          return C.value as Quantity\r\n      )\r\n\t\t\tsort ascending\r\n\t)
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tFirst(\r\n    "Qualifying Systolic Blood Pressure Reading" SBPReading\r\n\t\t  where SBPReading.effective same day as "Most Recent Blood Pressure Day"\r\n      return singleton from (\r\n        SBPReading.component C\r\n          where C.code ~ "Systolic blood pressure"\r\n          return C.value as Quantity\r\n      )\r\n      sort ascending\r\n\t)
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tMax("Blood Pressure Days")
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Has Diastolic Blood Pressure Less Than 90"\r\n\t\tand "Has Systolic Blood Pressure Less Than 140"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t( ["Condition": "Pregnancy"]\r\n\t\tunion ["Condition": "End Stage Renal Disease"]\r\n\t\tunion ["Condition": "Kidney Transplant Recipient"]\r\n\t\tunion ["Condition": "Chronic Kidney Disease, Stage 5"] ) PregnancyESRDDiagnosis\r\n      where PregnancyESRDDiagnosis.verificationStatus = 'confirmed'\r\n        and PregnancyESRDDiagnosis.assertedDate before end of "Measurement Period"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t["Observation": "Blood pressure"] BloodPressure \r\n\t  where BloodPressure.status in {'final', 'amended'} \r\n      and BloodPressure.effective during "Measurement Period"\r\n      // TODO: Turn this into a value set\r\n\t    //and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS' })\r\n      and exists (\r\n        BloodPressure.component DiastolicBP \r\n          where FHIRHelpers.ToConcept(DiastolicBP.code) ~ "Diastolic blood pressure"\r\n            and DiastolicBP.value.unit = 'mm[Hg]'\r\n      )
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t["Observation": "Blood pressure"] BloodPressure \r\n\t  where BloodPressure.status in {'final', 'amended'} \r\n      and BloodPressure.effective during "Measurement Period"\r\n      // TODO: Turn this into a value set\r\n\t    and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS'})\r\n      and exists (\r\n        BloodPressure.component SystolicBP \r\n          where FHIRHelpers.ToConcept(SystolicBP.code) ~ "Systolic blood pressure"\r\n            and SystolicBP.value.unit = 'mm[Hg]'\r\n      )
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n

Functions

\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          define function GetEncounter(reference Reference):\r\n  singleton from ( [Encounter: id in Common.GetId(reference.reference)] )
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n

Terminology

\r\n
\r\n
    \r\n
  • codesystem "LOINC" : '2.16.840.1.113883.6.1'
  • \r\n
  • code "Birth date" : '21112-8' from "LOINC" display 'Birth date'
  • \r\n
  • code "Blood pressure" : '85354-9' from "LOINC" display 'blood pressure'
  • \r\n
  • code "Diastolic blood pressure" : '8462-4' from "LOINC" display 'Diastolic blood pressure'
  • \r\n
  • code "Systolic blood pressure" : '8480-6' from "LOINC" display 'Systolic blood pressure'
  • \r\n
  • valueset "Chronic Kidney Disease, Stage 5" : '2.16.840.1.113883.3.526.3.1002'
  • \r\n
  • valueset "Dialysis Services" : '2.16.840.1.113883.3.464.1003.109.12.1013'
  • \r\n
  • valueset "ED" : '2.16.840.1.113883.3.464.1003.101.12.1085'
  • \r\n
  • valueset "Encounter Inpatient" : '2.16.840.1.113883.3.666.5.307'
  • \r\n
  • valueset "End Stage Renal Disease" : '2.16.840.1.113883.3.526.3.353'
  • \r\n
  • valueset "ESRD Monthly Outpatient Services" : '2.16.840.1.113883.3.464.1003.109.12.1014'
  • \r\n
  • valueset "Essential Hypertension" : '2.16.840.1.113883.3.464.1003.104.12.1011'
  • \r\n
  • valueset "Ethnicity" : '2.16.840.1.114222.4.11.837'
  • \r\n
  • valueset "Kidney Transplant Recipient" : '2.16.840.1.113883.3.464.1003.109.12.1029'
  • \r\n
  • valueset "Kidney Transplant" : '2.16.840.1.113883.3.464.1003.109.12.1012'
  • \r\n
  • valueset "ONC Administrative Sex" : '2.16.840.1.113762.1.4.1'
  • \r\n
  • valueset "Payer" : '2.16.840.1.114222.4.11.3591'
  • \r\n
  • valueset "Pregnancy" : '2.16.840.1.113883.3.526.3.378'
  • \r\n
  • valueset "Race" : '2.16.840.1.114222.4.11.836'
  • \r\n
  • valueset "Vascular Access for Dialysis" : '2.16.840.1.113883.3.464.1003.109.12.1011'
  • \r\n
\r\n
\r\n

Data Criteria (QDM Data Elements)

\r\n
\r\n
    \r\n \r\n
\r\n
\r\n

Supplemental Data Elements

\r\n \r\n
\r\n
    \r\n
  • None
  • \r\n
\r\n
\r\n

Risk Adjustment Variables

\r\n
\r\n
    \r\n
  • None
  • \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
" + "div": "
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Measure Title

Controlling High Blood Pressure

Measure ID

EXM165

Description

Percentage of patients 18-85 years of age who had a diagnosis of hypertension overlapping the measurement period and whose most recent blood pressure was adequately controlled (<140/90mmHg) during the measurement period

\r\n
\r\n
\r\n
Measurement PeriodJanuary 1 - December 31
Copyright and Disclaimer Notice\r\n
\r\n
The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.\r\n \r\nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].
\r\n
\r\n
This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. <br> Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. <br> CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.
\r\n
\r\n
Clinical Recommendation Statement\r\n

The U.S. Preventive Services Task Force (2015) recommends screening for high blood pressure in adults age 18 years and older. This is a grade A recommendation.

\r\n

American College of Cardiology/American Heart Association (2017)
\r\n-For adults with confirmed hypertension and known CVD or 10-year ASCVD event risk of 10% or higher, a blood pressure target of less than 130/80 mmHg is recommended
\r\n-For adults with confirmed hypertension, without additional markers of increased CVD risk, a blood pressure target of less than 130/80 mmHg may be reasonable (Note: clinical trial evidence is strongest for a target blood pressure of 140/90 mmHg in this population. However observational studies suggest that these individuals often have a high lifetime risk and would benefit from blood pressure control earlier in life)

\r\n

American College of Physicians and the American Academy of Family Physicians (2017):
\r\n-Initiate intensifying pharmacologic treatment in adults aged 60 and older at high cardiovascular risk, based on individualized assessment, to achieve a target systolic blood pressure of less than 140 mmHg (Grade: weak recommendation, quality of evidence: low)
\r\n-Initiate intensifying pharmacologic treatment in adults aged 60 and older with a history of stroke or transient ischemic attack to achieve a target systolic blood pressure of less than 140 mmHg to reduce the risk of recurrent stroke (Grade: weak recommendation, quality of evidence: moderate)

\r\n

American Diabetes Association (2018):
\r\nMost patients with diabetes and hypertension should be treated to a systolic blood pressure goal of <140 mmHg and a diastolic blood pressure goal of <90 mmHg (Level of evidence: A)

\r\n

Report from the Eighth Joint National Committee (2014)
\r\n-In the general population younger than 60 years, initiate pharmacologic treatment to lower blood pressure at diastolic blood pressure (DBP) of 90 mmHg or higher and treat to a goal of DBP of lower than 90 mmHg (Grade: A (for ages 30-59), Grade: E (for ages 18-29))
\r\n-In the general population younger than 60 years, initiate pharmacologic treatment to lower blood pressure at systolic blood pressure (SBP) to 140 mmHg or higher and treat to a goal of SBP of lower than 140 mmHg (Grade: E)
\r\n-In the general population aged 60 years and older, initiate pharmacologic treatment to lower blood pressure at SBP of 150 mmHg or higher or a DBP of 90 mmHg or higher and treat to a goal of SBP lower than 150 mmHg and goal of DBP lower than 90 mmHg

\r\n
\r\n
References\r\n
\r\n
American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104.
\r\n
\r\n
\r\n
\r\n
Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485
\r\n
\r\n
\r\n
\r\n
Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html
\r\n
\r\n
\r\n
\r\n
Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. 
\r\n
\r\n
\r\n
\r\n
Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html
\r\n
\r\n
\r\n
\r\n
Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439.
\r\n
\r\n
\r\n
\r\n
James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427
\r\n
\r\n
\r\n
\r\n
Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi:  10.1056/NEJMsa1406751. [published correction appears on page 1677] \r\nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9.
\r\n
\r\n
\r\n
\r\n
Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753
\r\n
\r\n
\r\n
\r\n
Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437.
\r\n
\r\n
\r\n
\r\n
SPRINT Research Group,; Wright, J. T., Jr., Williamson,  J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116.
\r\n
\r\n
\r\n
\r\n
U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787.
\r\n
\r\n
\r\n
\r\n
Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065
\r\n
\r\n
\r\n
\r\n
Yoon, S. S., Fryar, C. D., & Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics.
\r\n
\r\n
Characteristics
ScoringProportion
TypeProcess
Improvement NotationA higher rate indicates better performance.
Guidance\r\n

In reference to the numerator element, only blood pressure readings performed by a clinician or a remote monitoring device are acceptable for numerator compliance with this measure.

\r\n

Do not include BP readings:
\r\n-Taken during an acute inpatient stay or an ED visit
\r\n-Taken on the same day as a diagnostic test or diagnostic or therapeutic procedure that requires a change in diet or change in medication on or one day before the day of the test or procedure, with the exception of fasting blood tests.
\r\n-Reported by or taken by the member

\r\n

If no blood pressure is recorded during the measurement period, the patient's blood pressure is assumed "not controlled."

\r\n

If there are multiple blood pressure readings on the same day, use the lowest systolic and the lowest diastolic reading as the most recent blood pressure reading.

\r\n
\r\n
Definitions
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n

Table of Contents

\r\n \r\n
\r\n \r\n

\r\n

Population Criteria

\r\n
\r\n
    \r\n
  • \r\n \r\n
    \r\n
      \r\n
    • \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tCommon.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period") between 18 and 85\r\n\t\tand exists "Essential Hypertension Diagnosis"\r\n\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")
          \r\n
        • \r\n
        p;\r\n
      • \r\n
    • \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
      \r\n
    • \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Has Diastolic Blood Pressure Less Than 90"\r\n\t\tand "Has Systolic Blood Pressure Less Than 140"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
    • \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
      \r\n
    • \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Initial Population"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
    • \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
  • \r\n
\r\n
\r\n\r\n

Definitions

\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t( ( "Qualifying Diastolic Blood Pressure Reading" DBPExam\r\n\t\t\t\treturn date from DBPExam.effective\r\n\t\t)\r\n\t\t\tintersect ( "Qualifying Systolic Blood Pressure Reading" SBPExam\r\n\t\t\t\t\treturn date from SBPExam.effective\r\n\t\t\t)\r\n\t)
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Initial Population"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t["Encounter": "ESRD Monthly Outpatient Services"] ESRDEncounter\r\n\t\twhere ESRDEncounter.status.value in { 'planned', 'arrived', 'triaged', 'in-progress', 'onleave', 'finished' }\r\n\t\t  and ESRDEncounter.period starts before end of "Measurement Period"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t( ["Procedure": "Vascular Access for Dialysis"]\r\n\t\tunion ["Procedure": "Kidney Transplant"]\r\n\t\tunion ["Procedure": "Dialysis Services"] ) ESRDProcedure\r\n\t\twhere ESRDProcedure.status = 'completed'\r\n      and ESRDProcedure.performed starts before end of "Measurement Period"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t["Condition": "Essential Hypertension"] Hypertension\r\n    where Hypertension.verificationStatus = 'confirmed'\r\n     and (Hypertension.assertedDate 6 months or less on or after start of "Measurement Period"\r\n      or Hypertension.assertedDate before end of "Measurement Period"\r\n    )
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Lowest Diastolic Reading on Most Recent Blood Pressure Day".value < 90
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Lowest Systolic Reading on Most Recent Blood Pressure Day".value < 140
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tCommon.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period") between 18 and 85\r\n\t\tand exists "Essential Hypertension Diagnosis"\r\n\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tFirst(\r\n    "Qualifying Diastolic Blood Pressure Reading" DBPReading\r\n\t\t  where DBPReading.effective same day as "Most Recent Blood Pressure Day"\r\n      return singleton from (\r\n        DBPReading.component C\r\n          where C.code ~ "Diastolic blood pressure"\r\n          return C.value as Quantity\r\n      )\r\n\t\t\tsort ascending\r\n\t)
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tFirst(\r\n    "Qualifying Systolic Blood Pressure Reading" SBPReading\r\n\t\t  where SBPReading.effective same day as "Most Recent Blood Pressure Day"\r\n      return singleton from (\r\n        SBPReading.component C\r\n          where C.code ~ "Systolic blood pressure"\r\n          return C.value as Quantity\r\n      )\r\n      sort ascending\r\n\t)
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \tMax("Blood Pressure Days")
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t"Has Diastolic Blood Pressure Less Than 90"\r\n\t\tand "Has Systolic Blood Pressure Less Than 140"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t( ["Condition": "Pregnancy"]\r\n\t\tunion ["Condition": "End Stage Renal Disease"]\r\n\t\tunion ["Condition": "Kidney Transplant Recipient"]\r\n\t\tunion ["Condition": "Chronic Kidney Disease, Stage 5"] ) PregnancyESRDDiagnosis\r\n      where PregnancyESRDDiagnosis.verificationStatus = 'confirmed'\r\n        and PregnancyESRDDiagnosis.assertedDate before end of "Measurement Period"
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t["Observation": "Blood pressure"] BloodPressure \r\n\t  where BloodPressure.status in {'final', 'amended'} \r\n      and BloodPressure.effective during "Measurement Period"\r\n      // TODO: Turn this into a value set\r\n\t    //and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS' })\r\n      and exists (\r\n        BloodPressure.component DiastolicBP \r\n          where FHIRHelpers.ToConcept(DiastolicBP.code) ~ "Diastolic blood pressure"\r\n            and DiastolicBP.value.unit = 'mm[Hg]'\r\n      )
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          \t["Observation": "Blood pressure"] BloodPressure \r\n\t  where BloodPressure.status in {'final', 'amended'} \r\n      and BloodPressure.effective during "Measurement Period"\r\n      // TODO: Turn this into a value set\r\n\t    and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS'})\r\n      and exists (\r\n        BloodPressure.component SystolicBP \r\n          where FHIRHelpers.ToConcept(SystolicBP.code) ~ "Systolic blood pressure"\r\n            and SystolicBP.value.unit = 'mm[Hg]'\r\n      )
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n

Functions

\r\n
\r\n
    \r\n
  • \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n
        \r\n
      • \r\n
        \r\n
          \r\n
        • \r\n
          \r\n
          define function GetEncounter(reference Reference):\r\n  singleton from ( [Encounter: id in Common.GetId(reference.reference)] )
          \r\n
        • \r\n
        p;\r\n
      • \r\n
      \r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n

Terminology

\r\n
\r\n
    \r\n
  • codesystem "LOINC" : '2.16.840.1.113883.6.1'
  • \r\n
  • code "Birth date" : '21112-8' from "LOINC" display 'Birth date'
  • \r\n
  • code "Blood pressure" : '85354-9' from "LOINC" display 'blood pressure'
  • \r\n
  • code "Diastolic blood pressure" : '8462-4' from "LOINC" display 'Diastolic blood pressure'
  • \r\n
  • code "Systolic blood pressure" : '8480-6' from "LOINC" display 'Systolic blood pressure'
  • \r\n
  • valueset "Chronic Kidney Disease, Stage 5" : '2.16.840.1.113883.3.526.3.1002'
  • \r\n
  • valueset "Dialysis Services" : '2.16.840.1.113883.3.464.1003.109.12.1013'
  • \r\n
  • valueset "ED" : '2.16.840.1.113883.3.464.1003.101.12.1085'
  • \r\n
  • valueset "Encounter Inpatient" : '2.16.840.1.113883.3.666.5.307'
  • \r\n
  • valueset "End Stage Renal Disease" : '2.16.840.1.113883.3.526.3.353'
  • \r\n
  • valueset "ESRD Monthly Outpatient Services" : '2.16.840.1.113883.3.464.1003.109.12.1014'
  • \r\n
  • valueset "Essential Hypertension" : '2.16.840.1.113883.3.464.1003.104.12.1011'
  • \r\n
  • valueset "Ethnicity" : '2.16.840.1.114222.4.11.837'
  • \r\n
  • valueset "Kidney Transplant Recipient" : '2.16.840.1.113883.3.464.1003.109.12.1029'
  • \r\n
  • valueset "Kidney Transplant" : '2.16.840.1.113883.3.464.1003.109.12.1012'
  • \r\n
  • valueset "ONC Administrative Sex" : '2.16.840.1.113762.1.4.1'
  • \r\n
  • valueset "Payer" : '2.16.840.1.114222.4.11.3591'
  • \r\n
  • valueset "Pregnancy" : '2.16.840.1.113883.3.526.3.378'
  • \r\n
  • valueset "Race" : '2.16.840.1.114222.4.11.836'
  • \r\n
  • valueset "Vascular Access for Dialysis" : '2.16.840.1.113883.3.464.1003.109.12.1011'
  • \r\n
\r\n
\r\n

Data Criteria (QDM Data Elements)

\r\n
\r\n
    \r\n \r\n
\r\n
\r\n

Supplemental Data Elements

\r\n \r\n
\r\n
    \r\n
  • None
  • \r\n
\r\n
\r\n

Risk Adjustment Variables

\r\n
\r\n
    \r\n
  • None
  • \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
" }, "extension": [ { "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", diff --git a/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-bundle.json b/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-bundle.json index 8c549d75..9828a0c8 100644 --- a/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-bundle.json +++ b/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-bundle.json @@ -3,42 +3,6 @@ "id": "EXM349-FHIR3-2.9.000-bundle", "type": "transaction", "entry": [ { - "resource": { - "resourceType": "Bundle", - "id": "tests-Observation-bundle", - "type": "transaction", - "entry": [ { - "resource": { - "resourceType": "Observation", - "id": "numer-EXM349-FHIR3-4", - "meta": { - "profile": [ "http://www.http://hl7.org/fhir/FHIR3/observation" ] - }, - "status": "final", - "code": { - "coding": [ { - "system": "http://loinc.org", - "code": "10901-7", - "display": "HIV 2 gp125 Ab [Presence] in Serum by Immunoblot" - } ] - }, - "subject": { - "reference": "Patient/numer-EXM349-FHIR3" - }, - "effectiveDateTime": "2019-10-21T00:00:00-06:00", - "valueBoolean": true - }, - "request": { - "method": "PUT", - "url": "Observation/numer-EXM349-FHIR3-4" - } - } ] - }, - "request": { - "method": "PUT", - "url": "tests-Observation-bundle" - } - }, { "resource": { "resourceType": "MeasureReport", "id": "measurereport-numer-EXM349-FHIR3", @@ -295,22 +259,184 @@ "method": "PUT", "url": "Observation/numer-EXM349-FHIR3-4" } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.292", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292", + "title": "Emergency Department Visit", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "4525004", + "display": "Emergency department patient visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1001", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1001" + } ], + "version": "20180310", + "name": "OfficeVisit", + "title": "Office Visit", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99201", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99202", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: An expanded problem focused history; An expanded problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 20 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99203", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A detailed history; A detailed examination; Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate severity. Typically, 30 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99204", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 45 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99205", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 60 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99212", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99213", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: An expanded problem focused history; An expanded problem focused examination; Medical decision making of low complexity. Counseling and coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 15 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99214", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A detailed history; A detailed examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 25 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99215", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 40 minutes are spent face-to-face with the patient and/or family." + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "185463005", + "display": "Visit out of hours (procedure)" + }, { + "code": "185464004", + "display": "Out of hours visit - not night visit (procedure)" + }, { + "code": "185465003", + "display": "Weekend visit (procedure)" + }, { + "code": "30346009", + "display": "Evaluation and management of established outpatient in office or other outpatient facility (procedure)" + }, { + "code": "3391000175108", + "display": "Office visit for pediatric care and assessment (procedure)" + }, { + "code": "37894004", + "display": "Evaluation and management of new outpatient in office or other outpatient facility (procedure)" + }, { + "code": "439740005", + "display": "Postoperative follow-up visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1023", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1023" + } ], + "version": "20170504", + "name": "PreventiveCareServices-InitialOfficeVisit,18andUp", + "title": "Preventive Care Services-Initial Office Visit, 18 and Up", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99385", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 18-39 years" + }, { + "code": "99386", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 40-64 years" + }, { + "code": "99387", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 65 years and older" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1024", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024", + "title": "Preventive Care, Established Office Visit, 0 to 17", + "status": "active", + "publisher": "National Committee for Quality Assurance", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2020", + "concept": [ { + "code": "99391", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; infant (age younger than 1 year)" + }, { + "code": "99392", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; early childhood (age 1 through 4 years)" + }, { + "code": "99393", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; late childhood (age 5 through 11 years)" + }, { + "code": "99394", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; adolescent (age 12 through 17 years)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024" + } }, { "resource": { "resourceType": "Library", - "id": "library-EXM349-FHIR3-2.9.000", + "id": "library-MATGlobalCommonFunctions-FHIR3-2.0.000", "text": { "status": "generated", - "div": "
\n \n \n
Id: library-EXM349-FHIR3-2.9.000
Type: Logic Library
Version: 2.9.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54

type: Observation

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50

type: Observation

code filter:
path: code

Content: type: text/cql
library EXM349_FHIR3 version '2.9.000'\n\n/*\nBased on CMS349v2 - HIV Screening\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "LOINC": 'http://loinc.org'\n\nvalueset "Conditions Due To Human Immunodeficiency Virus (HIV)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50'\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services, Initial Office Visit, 0 to 17": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "Preventive Care, Established Office Visit, 0 to 17": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\n\ncode "HIV 1 and 2 tests - Meaningful Use set": '75622-1' from "LOINC" display 'HIV 1 and 2 tests - Meaningful Use set'\n\nparameter "Measurement Period" Interval<DateTime> default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n\t SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n\tSDE."SDE Payer"\n\ndefine "SDE Race":\n\tSDE."SDE Race"\n\ndefine "SDE Sex":\n\tSDE."SDE Sex"\n\ndefine "Qualifying Encounters":\n\t( [Encounter: "Preventive Care Services, Initial Office Visit, 0 to 17"]\n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"]\n\t\tunion [Encounter: "Preventive Care, Established Office Visit, 0 to 17"]\n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"]\n\t\tunion [Encounter: "Office Visit"] ) ValidEncounter\n\t\twhere ValidEncounter.status = 'finished'\n\t\tand ValidEncounter.period during "Measurement Period"\n\ndefine "Denominator":\n\t"Initial Population"\n\ndefine "Denominator Exclusion":\n\texists ( [Condition: code in "Conditions Due To Human Immunodeficiency Virus (HIV)"] HIVConditions\n\t\t\twhere HIVConditions.clinicalStatus = 'active'\n\t\t\tand HIVConditions.verificationStatus = 'confirmed'\n\t\t\tand (HIVConditions.onset as dateTime) before start of "Measurement Period"\n\t)\n\ndefine "Numerator":\n\texists ( "HIV Test Performed" )\n\ndefine "HIV Test Performed":\n\t( [Observation: "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)"]\n\t\tunion [Observation: "HIV 1 and 2 tests - Meaningful Use set"] ) HIVTest\n\t\twhere (\n\t\t\t\t( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)>= 15\n\t\t\t \t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)>= 15)\n\t\t\t\t\tand  ( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)< 66 )\n\t\t\t\t\t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)< 66)\n\n\t\t\tand HIVTest.status in {'final', 'amended', 'corrected', 'preliminary'}\n\t\t\tand (\n\t\t\t\tHIVTest.effective starts before end of "Measurement Period"\n\t\t\t\t\tor HIVTest.effective as dateTime before end of "Measurement Period"\n\t\t\t)\n\ndefine "Initial Population":\n Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")>= 15\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")< 66\n\t\tand exists "Qualifying Encounters"\n
\n \n \n
\n
" + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-2.0.000
Type: Logic Library
Version: 2.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '2.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t    and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] C where C.id = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t\treturn singleton from ([Condition] C where C.id = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" }, - "extension": [ { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } - } ], - "version": "2.9.000", - "name": "EXM349_FHIR3", + "version": "2.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", "status": "active", "experimental": true, "type": { @@ -319,65 +445,194 @@ "code": "logic-library" } ] }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMDUiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIwNSIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVSIiBpZD0iRVIiIGRpc3BsYXk9IkVtZXJnZW5jeSByb29tIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSUNVIiBpZD0iSUNVIiBkaXNwbGF5PSJJbnRlbnNpdmUgY2FyZSB1bml0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikxlbmd0aEluRGF5cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGlmZmVyZW5jZUJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJJbnBhdGllbnQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgIDx5ZWFyIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwveWVhcj4NCiAgICAgICAgICAgIDxtb250aCBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9tb250aD4NCiAgICAgICAgICAgIDxkYXkgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L2RheT4NCiAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHRpbWV6b25lT2Zmc2V0IHhzaTp0eXBlPSJUaW1lem9uZUZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3RpbWV6b25lT2Zmc2V0Pg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2RheSIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbk1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImhvdXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDxlbHNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlgiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFREVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFREVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgIDx0aGVuIHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTGVuZ3RoIG9mIFN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQWRtaXNzaW9uIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIERpc2NoYXJnZSBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGl0YWxMb2NhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8c29ydD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxieSBkaXJlY3Rpb249ImFzYyIgeHNpOnR5cGU9IkJ5RXhwcmVzc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvbmRpdGlvbiIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyb2xlIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpbGxpbmciIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlZ2VyIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyYW5rIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29uZGl0aW9uIiBzY29wZT0iUEQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldExvY2F0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxvY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkxvY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlZmVyZW5jZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0RXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldFByb3ZlbmFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm92ZW5hbmNlIiBjb2RlUHJvcGVydHk9InRhcmdldCIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldE1lZGljYXRpb25Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlcXVlc3QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVxdWVzdCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { "contentType": "text/cql", - "data": "bGlicmFyeSBFWE0zNDlfRkhJUjMgdmVyc2lvbiAnMi45LjAwMCcKCi8qCkJhc2VkIG9uIENNUzM0OXYyIC0gSElWIFNjcmVlbmluZwoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIHZlcnNpb24gJzEuMC4wJyBjYWxsZWQgU0RFCgpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwoKdmFsdWVzZXQgIkNvbmRpdGlvbnMgRHVlIFRvIEh1bWFuIEltbXVub2RlZmljaWVuY3kgVmlydXMgKEhJVikiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDU2LjU0Jwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkh1bWFuIEltbXVub2RlZmljaWVuY3kgVmlydXMgKEhJVikgTGFib3JhdG9yeSBUZXN0IENvZGVzIChBYiBhbmQgQWcpIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA1Ni41MCcKdmFsdWVzZXQgIk9mZmljZSBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwMScKdmFsdWVzZXQgIk9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xJwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLCBJbml0aWFsIE9mZmljZSBWaXNpdCwgMCB0byAxNyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyMicKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDIzJwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlLCBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjQnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKCmNvZGUgIkhJViAxIGFuZCAyIHRlc3RzIC0gTWVhbmluZ2Z1bCBVc2Ugc2V0IjogJzc1NjIyLTEnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdISVYgMSBhbmQgMiB0ZXN0cyAtIE1lYW5pbmdmdWwgVXNlIHNldCcKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgoJIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKCVNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CglTREUuIlNERSBSYWNlIgoKZGVmaW5lICJTREUgU2V4IjoKCVNERS4iU0RFIFNleCIKCmRlZmluZSAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIjoKCSggW0VuY291bnRlcjogIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcywgSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMtSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCJdCgkJdW5pb24gW0VuY291bnRlcjogIlByZXZlbnRpdmUgQ2FyZSwgRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAwIHRvIDE3Il0KCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJPZmZpY2UgVmlzaXQiXSApIFZhbGlkRW5jb3VudGVyCgkJd2hlcmUgVmFsaWRFbmNvdW50ZXIuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCWFuZCBWYWxpZEVuY291bnRlci5wZXJpb2QgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKCSJJbml0aWFsIFBvcHVsYXRpb24iCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2x1c2lvbiI6CglleGlzdHMgKCBbQ29uZGl0aW9uOiBjb2RlIGluICJDb25kaXRpb25zIER1ZSBUbyBIdW1hbiBJbW11bm9kZWZpY2llbmN5IFZpcnVzIChISVYpIl0gSElWQ29uZGl0aW9ucwoJCQl3aGVyZSBISVZDb25kaXRpb25zLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKCQkJYW5kIEhJVkNvbmRpdGlvbnMudmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKCQkJYW5kIChISVZDb25kaXRpb25zLm9uc2V0IGFzIGRhdGVUaW1lKSBiZWZvcmUgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCSkKCmRlZmluZSAiTnVtZXJhdG9yIjoKCWV4aXN0cyAoICJISVYgVGVzdCBQZXJmb3JtZWQiICkKCmRlZmluZSAiSElWIFRlc3QgUGVyZm9ybWVkIjoKCSggW09ic2VydmF0aW9uOiAiSHVtYW4gSW1tdW5vZGVmaWNpZW5jeSBWaXJ1cyAoSElWKSBMYWJvcmF0b3J5IFRlc3QgQ29kZXMgKEFiIGFuZCBBZykiXQoJCXVuaW9uIFtPYnNlcnZhdGlvbjogIkhJViAxIGFuZCAyIHRlc3RzIC0gTWVhbmluZ2Z1bCBVc2Ugc2V0Il0gKSBISVZUZXN0CgkJd2hlcmUgKAoJCQkJKCBHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBISVZUZXN0LmVmZmVjdGl2ZSBhcyBkYXRlVGltZSk+PSAxNQoJCQkgCQlvciBHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBzdGFydCBvZiBISVZUZXN0LmVmZmVjdGl2ZSk+PSAxNSkKCQkJCQlhbmQgICggR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgSElWVGVzdC5lZmZlY3RpdmUgYXMgZGF0ZVRpbWUpPCA2NiApCgkJCQkJCW9yIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mIEhJVlRlc3QuZWZmZWN0aXZlKTwgNjYpCgoJCQlhbmQgSElWVGVzdC5zdGF0dXMgaW4geydmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcsICdwcmVsaW1pbmFyeSd9CgkJCWFuZCAoCgkJCQlISVZUZXN0LmVmZmVjdGl2ZSBzdGFydHMgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCW9yIEhJVlRlc3QuZWZmZWN0aXZlIGFzIGRhdGVUaW1lIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCQkJKQoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgogR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPj0gMTUKCQlhbmQgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPCA2NgoJCWFuZCBleGlzdHMgIlF1YWxpZnlpbmcgRW5jb3VudGVycyIK" + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwoKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnCmNvZGUgIkVSIjogJ0VSJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnRW1lcmdlbmN5IHJvb20nCmNvZGUgIklDVSI6ICdJQ1UnIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdJbnRlbnNpdmUgY2FyZSB1bml0Jwpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIiOgoJW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFbmNvdW50ZXJJbnBhdGllbnQKCQl3aGVyZSBFbmNvdW50ZXJJbnBhdGllbnQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCSAgICBhbmQgIkxlbmd0aEluRGF5cyIoRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCkgPD0gMTIwCgkJCWFuZCBFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kIGVuZHMgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgZnVuY3Rpb24gIlRvRGF0ZSIoVmFsdWUgRGF0ZVRpbWUpOgoJRGF0ZVRpbWUoeWVhciBmcm9tIFZhbHVlLCBtb250aCBmcm9tIFZhbHVlLCBkYXkgZnJvbSBWYWx1ZSwgMCwgMCwgMCwgMCwgdGltZXpvbmUgZnJvbSBWYWx1ZSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbkRheXNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6CglkYXlzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5cyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluRGF5c0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6Cgltb250aHMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCXllYXJzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluWWVhcnMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJblllYXJzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiTGVuZ3RoSW5EYXlzIihWYWx1ZSBJbnRlcnZhbDxEYXRlVGltZT4pOgoJZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgVmFsdWUgYW5kIGVuZCBvZiBWYWx1ZQoKZGVmaW5lIGZ1bmN0aW9uICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKICAgIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXSBFRFZpc2l0CiAgICAgICAgICAgIHdoZXJlIEVEVmlzaXQuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgICAgICAgICAgICAgYW5kIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCkKICAgICkKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJKCAiRUQgVmlzaXQiKFRoZUVuY291bnRlcikgKSBYCiAgICByZXR1cm4KICAgICAgICBpZiBYIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgZWxzZSBJbnRlcnZhbFtzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFgucGVyaW9kKSwgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCldCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIEVERW5jb3VudGVyCiAgICByZXR1cm4KICAgICAgICBpZiBFREVuY291bnRlciBpcyBudWxsIHRoZW4gVGhlRW5jb3VudGVyLmxvY2F0aW9uCiAgICAgICAgZWxzZSBmbGF0dGVuIHsgRURFbmNvdW50ZXIubG9jYXRpb24sIFRoZUVuY291bnRlci5sb2NhdGlvbiB9CgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMZW5ndGggb2YgU3RheSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCUxlbmd0aEluRGF5cygiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIpKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWwgRGlzY2hhcmdlIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgllbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEZpcnN0KAoJICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCXNvcnQgYnkgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChwZXJpb2QpCgkpLnBlcmlvZCkKCi8vIFRPRE8gLSBmaXggdGhlc2UgKG11c3QgZmV0Y2ggTG9jYXRpb24gcmVzb3VyY2VzIGFuZCBjb21wYXJlIGlkIHRvIHJlZmVyZW5jZSkKLypkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIERlcGFydHVyZSBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoTGFzdCgKCSAgICAoICJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIihUaGVFbmNvdW50ZXIpICkgSG9zcGl0YWxMb2NhdGlvbgoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkVtZXJnZW5jeSBEZXBhcnRtZW50IEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoKAoJICAgIHNpbmdsZXRvbiBmcm9tICgKCSAgICAgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJFUiIKCQkpCgkpLnBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiRmlyc3QgSW5wYXRpZW50IEludGVuc2l2ZSBDYXJlIFVuaXQiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglGaXJzdCgKCSAgICAoIFRoZUVuY291bnRlci5sb2NhdGlvbiApIEhvc3BpdGFsTG9jYXRpb24KCQkJd2hlcmUgSG9zcGl0YWxMb2NhdGlvbi50eXBlIH4gIklDVSIKCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgVGhlRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKSovCgovKgoqCiogICAgQ1FGTWVhc3VyZXMgQ29tbW9uIExvZ2ljCioKKi8KCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgogIGlmIG9uc2V0IGlzIEZISVIuZGF0ZVRpbWUgdGhlbgoJICBJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLlBlcmlvZCB0aGVuCgkgIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwob25zZXQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIG9uc2V0IGlzIEZISVIuQWdlIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpLAoJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpICsgMSB5ZWFyKQoJZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbiBDb25kaXRpb24pOgoJaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5kYXRlVGltZSldCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5BZ2UgdGhlbgoJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLAoJCQlGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmJvb2xlYW4gdGhlbgoJICBJbnRlcnZhbFtlbmQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgY29uZGl0aW9uLmFzc2VydGVkRGF0ZSkKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJHZXRQcmV2YWxlbmNlUGVyaW9kIihjb25kaXRpb24gQ29uZGl0aW9uKToKICBJbnRlcnZhbFtzdGFydCBvZiAiTm9ybWFsaXplIE9uc2V0Iihjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbikpCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBJbnRlcnZhbCIoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZD4pOgogIGlmIGNob2ljZSBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5kYXRlVGltZSksIEZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZQoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNob2ljZSBhcyBGSElSLlBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcpOgoJTGFzdChTcGxpdCh1cmksICcvJykpCgpkZWZpbmUgZnVuY3Rpb24gIkVuY291bnRlckRpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6CiAgRW5jb3VudGVyLmRpYWdub3NpcyBECiAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKFtDb25kaXRpb25dIEMgd2hlcmUgQy5pZCA9ICJHZXRJZCIoRC5jb25kaXRpb24ucmVmZXJlbmNlKSkKCi8vIFJldHVybnMgdGhlIGNvbmRpdGlvbiB0aGF0IGlzIHNwZWNpZmllZCBhcyB0aGUgcHJpbmNpcGFsIGRpYWdub3NpcyBmb3IgdGhlIGVuY291bnRlcgpkZWZpbmUgZnVuY3Rpb24gIlByaW5jaXBhbERpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6Cgkoc2luZ2xldG9uIGZyb20gKEVuY291bnRlci5kaWFnbm9zaXMgRCB3aGVyZSBELnJvbGUgfiBUb0NvbmNlcHQoIkJpbGxpbmciKSBhbmQgRC5yYW5rID0gMSkpIFBECgkJcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDIHdoZXJlIEMuaWQgPSAiR2V0SWQiKFBELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgbG9jYXRpb24gZm9yIHRoZSBnaXZlbiBsb2NhdGlvbiByZWZlcmVuY2UKZGVmaW5lIGZ1bmN0aW9uIEdldExvY2F0aW9uKHJlZmVyZW5jZSBSZWZlcmVuY2UpOgogIHNpbmdsZXRvbiBmcm9tICgKICAgIFtMb2NhdGlvbl0gTG9jYXRpb24gd2hlcmUgTG9jYXRpb24uaWQudmFsdWUgPSBHZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKQogICkKCi8qCk5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlCkNRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nICsgdXJsKQoJCXJldHVybiBFCgpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UsIHVybCkKCi8qCk5PVEU6IFByb3ZlbmFuY2UgaXMgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIHRoaXMgaXMgcHJvdmlkZWQgb25seSBhcyBhbiBpbGx1c3RyYXRpb24KZm9yIHdoYXQgdXNpbmcgUHJvdmVuYW5jZSBjb3VsZCBsb29rIGxpa2UsIGFuZCBpcyBub3QgYSB0ZXN0ZWQgcGF0dGVybgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldFByb3ZlbmFuY2UiKHJlc291cmNlIFJlc291cmNlKToKICBzaW5nbGV0b24gZnJvbSAoW1Byb3ZlbmFuY2U6IHRhcmdldCBpbiByZXNvdXJjZS5pZF0pCgpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Db2RlIihyZXF1ZXN0IE1lZGljYXRpb25SZXF1ZXN0KToKICBpZiByZXF1ZXN0Lm1lZGljYXRpb24gaXMgQ29kZWFibGVDb25jZXB0IHRoZW4KCSAgcmVxdWVzdC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdAoJZWxzZQoJICAoc2luZ2xldG9uIGZyb20gKFtNZWRpY2F0aW9uOiBpZCBpbiBHZXRJZCgocmVxdWVzdC5tZWRpY2F0aW9uIGFzIFJlZmVyZW5jZSkucmVmZXJlbmNlKV0pKS5jb2RlCg==" } ] }, "request": { "method": "PUT", - "url": "Library/library-EXM349-FHIR3-2.9.000" + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" } }, { "resource": { - "resourceType": "Patient", - "id": "numer-EXM349-FHIR3", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1022", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022", + "title": "Preventive Care Services, Initial Office Visit, 0 to 17", + "status": "active", + "publisher": "National Committee for Quality Assurance", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2020", + "concept": [ { + "code": "99381", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; infant (age younger than 1 year)" + }, { + "code": "99382", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; early childhood (age 1 through 4 years)" + }, { + "code": "99383", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; late childhood (age 5 through 11 years)" + }, { + "code": "99384", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; adolescent (age 12 through 17 years)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-SupplementalDataElements-FHIR3-1.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-SupplementalDataElements-FHIR3-1.0.0
Type: Logic Library
Version: 1.0.0
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Coverage

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591

Content: type: text/cql
library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Payer":\n    [Coverage: type in "Payer"] Payer\n      return {\n        code: Payer.type,\n        period: Payer.period\n      }\n\ndefine "SDE Race":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Sex":\n  case\n    when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n    when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n    else null\n  end\n
\n \n \n
\n
" }, - "extension": [ { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2106-3", - "display": "White" - } + "version": "1.0.0", + "name": "SupplementalDataElements_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" } ] - }, { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2186-5", - "display": "Not Hispanic or Latino" - } + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" } ] } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1", "identifier": [ { - "use": "usual", - "type": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "MR", - "display": "Medical Record Number" - } ] - }, - "system": "http://hospital.smarthealthit.org", - "value": "9999999911" + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1" } ], - "name": [ { - "family": "Jones", - "given": [ "Louise" ] + "version": "20150331", + "name": "ONCAdministrativeSex", + "title": "ONC Administrative Sex", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + }, { + "code": "M", + "display": "Male" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1025", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1025" } ], - "gender": "female", - "birthDate": "1995-11-21" + "version": "20170504", + "name": "PreventiveCareServices-EstablishedOfficeVisit,18andUp", + "title": "Preventive Care Services - Established Office Visit, 18 and Up", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99395", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 18-39 years" + }, { + "code": "99396", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 40-64 years" + }, { + "code": "99397", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 65 years and older" + } ] + } ] + } }, "request": { "method": "PUT", - "url": "Patient/numer-EXM349-FHIR3" + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" } }, { "resource": { @@ -552,44 +807,6 @@ "method": "PUT", "url": "MeasureReport/measurereport-denom-EXM349-FHIR3" } - }, { - "resource": { - "resourceType": "Bundle", - "id": "tests-Encounter-bundle", - "type": "transaction", - "entry": [ { - "resource": { - "resourceType": "Encounter", - "id": "numer-EXM349-FHIR3-2", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] - }, - "status": "finished", - "type": [ { - "coding": [ { - "system": "http://www.ama-assn.org/go/cpt", - "code": "99386", - "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 40-64 years" - } ] - } ], - "subject": { - "reference": "Patient/numer-EXM349-FHIR3" - }, - "period": { - "start": "2019-08-21T00:00:00-06:00", - "end": "2019-12-19T08:15:00-07:00" - } - }, - "request": { - "method": "PUT", - "url": "Encounter/numer-EXM349-FHIR3-2" - } - } ] - }, - "request": { - "method": "PUT", - "url": "tests-Encounter-bundle" - } }, { "resource": { "resourceType": "Encounter", @@ -617,57 +834,6 @@ "method": "PUT", "url": "Encounter/denom-EXM349-FHIR3-2" } - }, { - "resource": { - "resourceType": "Patient", - "id": "denom-EXM349-FHIR3", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2054-5", - "display": "Black or African American" - } - } ] - }, { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2135-2", - "display": "Hispanic or Latino" - } - } ] - } ], - "identifier": [ { - "use": "usual", - "type": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "MR", - "display": "Medical Record Number" - } ] - }, - "system": "http://hospital.smarthealthit.org", - "value": "9999999910" - } ], - "name": [ { - "family": "Jones", - "given": [ "Rick" ] - } ], - "gender": "male", - "birthDate": "1955-11-05" - }, - "request": { - "method": "PUT", - "url": "Patient/denom-EXM349-FHIR3" - } }, { "resource": { "resourceType": "Measure", @@ -679,16 +845,11 @@ }, "text": { "status": "generated", - "div": "
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Measure Title

HIV Screening

Measure ID

EXM349

Description

Percentage of patients aged 15-65 at the start of the measurement period who were between 15-65 years old when tested for HIV

\n
\n
\n
Measurement PeriodJanuary 1 - December 31
Copyright and Disclaimer Notice\n
\n
The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.\n \nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].
\n
\n
This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. %26lt;br%26gt; Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. %26lt;br%26gt; CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.
\n
\n
Clinical Recommendation Statement\n

The US Preventive Services Task Force recommends that clinicians screen for HIV infection in adolescents and adults aged 15 to 65 years. Younger adolescents and older adults who are at increased risk should also be screened (A Recommendation) (Moyer, 2013).

\n

Since 2006, the CDC has recommended routine opt-out HIV screening (i.e., patient is notified that testing will be performed unless the patient declines) in healthcare facilities of adolescents and adults 13-64 years of age and HIV diagnostic testing of adolescents and adults with clinical signs or symptoms consistent with HIV infection (Centers for Disease Control and Prevention, 2006).

\n
\n
References\n
\n
American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104.
\n
\n
\n
\n
Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485
\n
\n
\n
\n
Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html
\n
\n
\n
\n
Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. 
\n
\n
\n
\n
Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html
\n
\n
\n
\n
Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439.
\n
\n
\n
\n
James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427
\n
\n
\n
\n
Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi:  10.1056/NEJMsa1406751. [published correction appears on page 1677] \nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9.
\n
\n
\n
\n
Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753
\n
\n
\n
\n
Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437.
\n
\n
\n
\n
SPRINT Research Group,; Wright, J. T., Jr., Williamson,  J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116.
\n
\n
\n
\n
U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787.
\n
\n
\n
\n
Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065
\n
\n
\n
\n
Yoon, S. S., Fryar, C. D., %26amp; Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics.
\n
\n
Characteristics
ScoringProportion
TypeProcess
Improvement NotationA higher rate indicates better performance.
Guidance\n

This measure evaluates the proportion of patients aged 15 to 65 at the start of the measurement period who have documentation of having received an HIV test at least once on or after their 15th birthday and before their 66th birthday. In order to satisfy the measure, the reporting provider must have documentation of the administration of the laboratory test present in the patient's medical record. In cases where the HIV test was performed elsewhere, providers cannot rely on patient attestation or self-report to meet the measure requirements, as previous research has shown that patient self-report is an unreliable indicator of previous HIV testing history. Rather, providers must request documentation of those test results. If such documentation is not available, the patient should be considered still eligible for HIV screening. If such documentation is available, but cannot be provided in a standardized, structured format (such that the lab test and results can be readily incorporated as structured data within the EHR), providers should enter the information into their EHR as a laboratory test in a manner consistent with the EHR in use. If the specific Human Immunodeficiency Virus (HIV) Laboratory Test LOINC code of the test is not known, the entry should use the more generic code LOINC panel code [75622-1].

\n
\n
Definitions
\n \n \n
\n \n \n \n \n
\n

Table of Contents

\n \n
\n \n

\n

Population Criteria

\n
\n
    \n
  • \n
    \n
      \n
    • \n
        \n
      • \n
        \n
          \n
        • \n
          \n
           Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26gt;= 15\r\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26lt; 66\r\n\t\tand exists "Qualifying Encounters"
          \n
        • \n
        %26nbsp;\n
      • \n
    • \n
    \n
    \n
    \n
      \n
    • \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \texists ( "HIV Test Performed" )
          \n
        • \n
        %26nbsp;\n
      • \n
    • \n
    \n
    \n
    \n
      \n
    • \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t"Initial Population"
          \n
        • \n
        %26nbsp;\n
      • \n
    • \n
    \n
    \n
    \n
      \n
    • \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \texists ( [Condition: code in "Conditions Due To Human Immunodeficiency Virus (HIV)"] HIVConditions\r\n\t\t\twhere HIVConditions.clinicalStatus = 'active'\r\n\t\t\tand HIVConditions.verificationStatus = 'confirmed'\r\n\t\t\tand (HIVConditions.onset as dateTime) before start of "Measurement Period"\r\n\t)
          \n
        • \n
        %26nbsp;\n
      • \n
    • \n
    \n
  • \n
\n
\n\n

Definitions

\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t"Initial Population"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \texists ( [Condition: code in "Conditions Due To Human Immunodeficiency Virus (HIV)"] HIVConditions\r\n\t\t\twhere HIVConditions.clinicalStatus = 'active'\r\n\t\t\tand HIVConditions.verificationStatus = 'confirmed'\r\n\t\t\tand (HIVConditions.onset as dateTime) before start of "Measurement Period"\r\n\t)
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t( [Observation: "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)"]\r\n\t\tunion [Observation: "HIV 1 and 2 tests - Meaningful Use set"] ) HIVTest\r\n\t\twhere (\r\n\t\t\t\t( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)%26gt;= 15\r\n\t\t\t \t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)%26gt;= 15)\r\n\t\t\t\t\tand  ( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)%26lt; 66 )\r\n\t\t\t\t\t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)%26lt; 66)\r\n\r\n\t\t\tand HIVTest.status in {'final', 'amended', 'corrected', 'preliminary'}\r\n\t\t\tand (\r\n\t\t\t\tHIVTest.effective starts before end of "Measurement Period"\r\n\t\t\t\t\tor HIVTest.effective as dateTime before end of "Measurement Period"\r\n\t\t\t)
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
           Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26gt;= 15\r\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26lt; 66\r\n\t\tand exists "Qualifying Encounters"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \texists ( "HIV Test Performed" )
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t( [Encounter: "Preventive Care Services, Initial Office Visit, 0 to 17"]\r\n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"]\r\n\t\tunion [Encounter: "Preventive Care, Established Office Visit, 0 to 17"]\r\n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"]\r\n\t\tunion [Encounter: "Office Visit"] ) ValidEncounter\r\n\t\twhere ValidEncounter.status = 'finished'\r\n\t\tand ValidEncounter.period during "Measurement Period"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t SDE."SDE Ethnicity"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \tSDE."SDE Payer"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \tSDE."SDE Race"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \tSDE."SDE Sex"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n

Functions

\n \n

Terminology

\n
\n
    \n
  • codesystem "LOINC" : 'http://loinc.org'
  • \n
  • code "HIV 1 and 2 tests - Meaningful Use set" : '75622-1' from "LOINC" display 'HIV 1 and 2 tests - Meaningful Use set'
  • \n
  • valueset "Conditions Due To Human Immunodeficiency Virus (HIV)" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54'
  • \n
  • valueset "Ethnicity" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'
  • \n
  • valueset "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50'
  • \n
  • valueset "Office Visit" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'
  • \n
  • valueset "ONC Administrative Sex" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'
  • \n
  • valueset "Payer" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'
  • \n
  • valueset "Preventive Care Services - Established Office Visit, 18 and Up" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'
  • \n
  • valueset "Preventive Care Services, Initial Office Visit, 0 to 17" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022'
  • \n
  • valueset "Preventive Care Services-Initial Office Visit, 18 and Up" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'
  • \n
  • valueset "Preventive Care, Established Office Visit, 0 to 17" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024'
  • \n
  • valueset "Race" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'
  • \n
\n
\n

Data Criteria (QDM Data Elements)

\n
\n
    \n
  • "Condition: Conditions Due To Human Immunodeficiency Virus (HIV)" using "Conditions Due To Human Immunodeficiency Virus (HIV) (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54)
  • \n
  • "Encounter: Office Visit" using "Office Visit (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001)
  • \n
  • "Encounter: Preventive Care Services - Established Office Visit, 18 and Up" using "Preventive Care Services - Established Office Visit, 18 and Up (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025)
  • \n
  • "Encounter: Preventive Care Services, Initial Office Visit, 0 to 17" using "Preventive Care Services, Initial Office Visit, 0 to 17 (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022)
  • \n
  • "Encounter: Preventive Care Services-Initial Office Visit, 18 and Up" using "Preventive Care Services-Initial Office Visit, 18 and Up (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023)
  • \n
  • "Encounter: Preventive Care, Established Office Visit, 0 to 17" using "Preventive Care, Established Office Visit, 0 to 17 (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024)
  • \n
  • "Observation: Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)" using "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag) (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50)
  • \n
\n
\n

Supplemental Data Elements

\n
\n
    \n
  • \n
    \n \n \n
      \n
    • \n
      \n
        \n
      • \n
        \n
        \t SDE."SDE Ethnicity"
        \n
      • \n
      %26nbsp;\n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n \n \n
      \n
    • \n
      \n
        \n
      • \n
        \n
        \tSDE."SDE Payer"
        \n
      • \n
      %26nbsp;\n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n \n \n
      \n
    • \n
      \n
        \n
      • \n
        \n
        \tSDE."SDE Race"
        \n
      • \n
      %26nbsp;\n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n \n \n
      \n
    • \n
      \n
        \n
      • \n
        \n
        \tSDE."SDE Sex"
        \n
      • \n
      %26nbsp;\n
    • \n
    \n
  • \n
\n
\n \n

Risk Adjustment Variables

\n
\n
    \n
  • None
  • \n
\n
\n
\n \n \n \n
\n
" + "div": "
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Measure Title

HIV Screening

Measure ID

EXM349

Description

Percentage of patients aged 15-65 at the start of the measurement period who were between 15-65 years old when tested for HIV

\n
\n
\n
Measurement PeriodJanuary 1 - December 31
Copyright and Disclaimer Notice\n
\n
The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.\n \nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].
\n
\n
This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. %26lt;br%26gt; Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. %26lt;br%26gt; CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.
\n
\n
Clinical Recommendation Statement\n

The US Preventive Services Task Force recommends that clinicians screen for HIV infection in adolescents and adults aged 15 to 65 years. Younger adolescents and older adults who are at increased risk should also be screened (A Recommendation) (Moyer, 2013).

\n

Since 2006, the CDC has recommended routine opt-out HIV screening (i.e., patient is notified that testing will be performed unless the patient declines) in healthcare facilities of adolescents and adults 13-64 years of age and HIV diagnostic testing of adolescents and adults with clinical signs or symptoms consistent with HIV infection (Centers for Disease Control and Prevention, 2006).

\n
\n
References\n
\n
American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104.
\n
\n
\n
\n
Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485
\n
\n
\n
\n
Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html
\n
\n
\n
\n
Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. 
\n
\n
\n
\n
Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html
\n
\n
\n
\n
Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439.
\n
\n
\n
\n
James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427
\n
\n
\n
\n
Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi:  10.1056/NEJMsa1406751. [published correction appears on page 1677] \nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9.
\n
\n
\n
\n
Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753
\n
\n
\n
\n
Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437.
\n
\n
\n
\n
SPRINT Research Group,; Wright, J. T., Jr., Williamson,  J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116.
\n
\n
\n
\n
U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787.
\n
\n
\n
\n
Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065
\n
\n
\n
\n
Yoon, S. S., Fryar, C. D., %26amp; Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics.
\n
\n
Characteristics
ScoringProportion
TypeProcess
Improvement NotationA higher rate indicates better performance.
Guidance\n

This measure evaluates the proportion of patients aged 15 to 65 at the start of the measurement period who have documentation of having received an HIV test at least once on or after their 15th birthday and before their 66th birthday. In order to satisfy the measure, the reporting provider must have documentation of the administration of the laboratory test present in the patient's medical record. In cases where the HIV test was performed elsewhere, providers cannot rely on patient attestation or self-report to meet the measure requirements, as previous research has shown that patient self-report is an unreliable indicator of previous HIV testing history. Rather, providers must request documentation of those test results. If such documentation is not available, the patient should be considered still eligible for HIV screening. If such documentation is available, but cannot be provided in a standardized, structured format (such that the lab test and results can be readily incorporated as structured data within the EHR), providers should enter the information into their EHR as a laboratory test in a manner consistent with the EHR in use. If the specific Human Immunodeficiency Virus (HIV) Laboratory Test LOINC code of the test is not known, the entry should use the more generic code LOINC panel code [75622-1].

\n
\n
Definitions
\n \n \n
\n \n \n \n \n
\n

Table of Contents

\n \n
\n \n

\n

Population Criteria

\n
\n
    \n
  • \n
    \n
      \n
    • \n
        \n
      • \n
        \n
          \n
        • \n
          \n
           Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26gt;= 15\r\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26lt; 66\r\n\t\tand exists "Qualifying Encounters"
          \n
        • \n
        %26nbsp;\n
      • \n
    • \n
    \n
    \n
    \n
      \n
    • \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \texists ( "HIV Test Performed" )
          \n
        • \n
        %26nbsp;\n
      • \n
    • \n
    \n
    \n
    \n
      \n
    • \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t"Initial Population"
          \n
        • \n
        %26nbsp;\n
      • \n
    • \n
    \n
    \n
    \n
      \n
    • \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \texists ( [Condition: code in "Conditions Due To Human Immunodeficiency Virus (HIV)"] HIVConditions\r\n\t\t\twhere HIVConditions.clinicalStatus = 'active'\r\n\t\t\tand HIVConditions.verificationStatus = 'confirmed'\r\n\t\t\tand (HIVConditions.onset as dateTime) before start of "Measurement Period"\r\n\t)
          \n
        • \n
        %26nbsp;\n
      • \n
    • \n
    \n
  • \n
\n
\n\n

Definitions

\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t"Initial Population"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \texists ( [Condition: code in "Conditions Due To Human Immunodeficiency Virus (HIV)"] HIVConditions\r\n\t\t\twhere HIVConditions.clinicalStatus = 'active'\r\n\t\t\tand HIVConditions.verificationStatus = 'confirmed'\r\n\t\t\tand (HIVConditions.onset as dateTime) before start of "Measurement Period"\r\n\t)
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t( [Observation: "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)"]\r\n\t\tunion [Observation: "HIV 1 and 2 tests - Meaningful Use set"] ) HIVTest\r\n\t\twhere (\r\n\t\t\t\t( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)%26gt;= 15\r\n\t\t\t \t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)%26gt;= 15)\r\n\t\t\t\t\tand  ( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)%26lt; 66 )\r\n\t\t\t\t\t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)%26lt; 66)\r\n\r\n\t\t\tand HIVTest.status in {'final', 'amended', 'corrected', 'preliminary'}\r\n\t\t\tand (\r\n\t\t\t\tHIVTest.effective starts before end of "Measurement Period"\r\n\t\t\t\t\tor HIVTest.effective as dateTime before end of "Measurement Period"\r\n\t\t\t)
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
           Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26gt;= 15\r\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26lt; 66\r\n\t\tand exists "Qualifying Encounters"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \texists ( "HIV Test Performed" )
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t( [Encounter: "Preventive Care Services, Initial Office Visit, 0 to 17"]\r\n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"]\r\n\t\tunion [Encounter: "Preventive Care, Established Office Visit, 0 to 17"]\r\n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"]\r\n\t\tunion [Encounter: "Office Visit"] ) ValidEncounter\r\n\t\twhere ValidEncounter.status = 'finished'\r\n\t\tand ValidEncounter.period during "Measurement Period"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t SDE."SDE Ethnicity"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \tSDE."SDE Payer"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \tSDE."SDE Race"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \tSDE."SDE Sex"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n

Functions

\n \n

Terminology

\n
\n
    \n
  • codesystem "LOINC" : 'http://loinc.org'
  • \n
  • code "HIV 1 and 2 tests - Meaningful Use set" : '75622-1' from "LOINC" display 'HIV 1 and 2 tests - Meaningful Use set'
  • \n
  • valueset "Conditions Due To Human Immunodeficiency Virus (HIV)" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54'
  • \n
  • valueset "Ethnicity" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'
  • \n
  • valueset "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50'
  • \n
  • valueset "Office Visit" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'
  • \n
  • valueset "ONC Administrative Sex" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'
  • \n
  • valueset "Payer" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'
  • \n
  • valueset "Preventive Care Services - Established Office Visit, 18 and Up" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'
  • \n
  • valueset "Preventive Care Services, Initial Office Visit, 0 to 17" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022'
  • \n
  • valueset "Preventive Care Services-Initial Office Visit, 18 and Up" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'
  • \n
  • valueset "Preventive Care, Established Office Visit, 0 to 17" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024'
  • \n
  • valueset "Race" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'
  • \n
\n
\n

Data Criteria (QDM Data Elements)

\n
\n
    \n
  • "Condition: Conditions Due To Human Immunodeficiency Virus (HIV)" using "Conditions Due To Human Immunodeficiency Virus (HIV) (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54)
  • \n
  • "Encounter: Office Visit" using "Office Visit (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001)
  • \n
  • "Encounter: Preventive Care Services - Established Office Visit, 18 and Up" using "Preventive Care Services - Established Office Visit, 18 and Up (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025)
  • \n
  • "Encounter: Preventive Care Services, Initial Office Visit, 0 to 17" using "Preventive Care Services, Initial Office Visit, 0 to 17 (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022)
  • \n
  • "Encounter: Preventive Care Services-Initial Office Visit, 18 and Up" using "Preventive Care Services-Initial Office Visit, 18 and Up (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023)
  • \n
  • "Encounter: Preventive Care, Established Office Visit, 0 to 17" using "Preventive Care, Established Office Visit, 0 to 17 (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024)
  • \n
  • "Observation: Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)" using "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag) (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50)
  • \n
\n
\n

Supplemental Data Elements

\n
\n
    \n
  • \n
    \n \n \n
      \n
    • \n
      \n
        \n
      • \n
        \n
        \t SDE."SDE Ethnicity"
        \n
      • \n
      %26nbsp;\n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n \n \n
      \n
    • \n
      \n
        \n
      • \n
        \n
        \tSDE."SDE Payer"
        \n
      • \n
      %26nbsp;\n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n \n \n
      \n
    • \n
      \n
        \n
      • \n
        \n
        \tSDE."SDE Race"
        \n
      • \n
      %26nbsp;\n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n \n \n
      \n
    • \n
      \n
        \n
      • \n
        \n
        \tSDE."SDE Sex"
        \n
      • \n
      %26nbsp;\n
    • \n
    \n
  • \n
\n
\n \n

Risk Adjustment Variables

\n
\n
    \n
  • None
  • \n
\n
\n
\n \n \n \n
\n
" }, "extension": [ { "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", "valueCode": "boolean" - }, { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-EXM349-FHIR3-2.9.000", "version": "2.9.000", @@ -917,6 +1078,1883 @@ "method": "PUT", "url": "Measure/measure-EXM349-FHIR3-2.9.000/_history/2" } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.837", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.837" + } ], + "version": "20121025", + "name": "Ethnicity", + "title": "Ethnicity", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "2135-2", + "display": "Hispanic or Latino" + }, { + "code": "2186-5", + "display": "Not Hispanic or Latino" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "resource": { + "resourceType": "Bundle", + "id": "tests-Observation-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Observation", + "id": "numer-EXM349-FHIR3-4", + "meta": { + "profile": [ "http://www.http://hl7.org/fhir/FHIR3/observation" ] + }, + "status": "final", + "code": { + "coding": [ { + "system": "http://loinc.org", + "code": "10901-7", + "display": "HIV 2 gp125 Ab [Presence] in Serum by Immunoblot" + } ] + }, + "subject": { + "reference": "Patient/numer-EXM349-FHIR3" + }, + "effectiveDateTime": "2019-10-21T00:00:00-06:00", + "valueBoolean": true + }, + "request": { + "method": "PUT", + "url": "Observation/numer-EXM349-FHIR3-4" + } + } ] + }, + "request": { + "method": "PUT", + "url": "tests-Observation-bundle" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.3591", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.3591" + } ], + "version": "20180718", + "name": "Payer", + "title": "Payer", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.phdsc.org/standards/pdfs/SourceofPaymentTypologyVersion6FINALSeptember2015.pdf", + "version": "8.0", + "concept": [ { + "code": "1", + "display": "MEDICARE" + }, { + "code": "11", + "display": "Medicare (Managed Care)" + }, { + "code": "111", + "display": "Medicare HMO" + }, { + "code": "112", + "display": "Medicare PPO" + }, { + "code": "113", + "display": "Medicare POS" + }, { + "code": "119", + "display": "Medicare Managed Care Other" + }, { + "code": "12", + "display": "Medicare (Non-managed Care)" + }, { + "code": "121", + "display": "Medicare FFS" + }, { + "code": "122", + "display": "Medicare Drug Benefit" + }, { + "code": "123", + "display": "Medicare Medical Savings Account (MSA)" + }, { + "code": "129", + "display": "Medicare Non-managed Care Other" + }, { + "code": "13", + "display": "Medicare Hospice" + }, { + "code": "14", + "display": "Dual Eligibility Medicare/Medicaid Organization" + }, { + "code": "19", + "display": "Medicare Other" + }, { + "code": "191", + "display": "Medicare Pharmacy Benefit Manager" + }, { + "code": "2", + "display": "MEDICAID" + }, { + "code": "21", + "display": "Medicaid (Managed Care)" + }, { + "code": "211", + "display": "Medicaid HMO" + }, { + "code": "212", + "display": "Medicaid PPO" + }, { + "code": "213", + "display": "Medicaid PCCM (Primary Care Case Management)" + }, { + "code": "219", + "display": "Medicaid Managed Care Other" + }, { + "code": "22", + "display": "Medicaid (Non-managed Care Plan)" + }, { + "code": "23", + "display": "Medicaid/SCHIP" + }, { + "code": "25", + "display": "Medicaid - Out of State" + }, { + "code": "26", + "display": "Medicaid -- Long Term Care" + }, { + "code": "29", + "display": "Medicaid Other" + }, { + "code": "291", + "display": "Medicaid Pharmacy Benefit Manager" + }, { + "code": "299", + "display": "Medicaid - Dental" + }, { + "code": "3", + "display": "OTHER GOVERNMENT (Federal/State/Local) (excluding Department of Corrections)" + }, { + "code": "31", + "display": "Department of Defense" + }, { + "code": "311", + "display": "TRICARE (CHAMPUS)" + }, { + "code": "3111", + "display": "TRICARE Prime--HMO" + }, { + "code": "3112", + "display": "TRICARE Extra--PPO" + }, { + "code": "3113", + "display": "TRICARE Standard - Fee For Service" + }, { + "code": "3114", + "display": "TRICARE For Life--Medicare Supplement" + }, { + "code": "3115", + "display": "TRICARE Reserve Select" + }, { + "code": "3116", + "display": "Uniformed Services Family Health Plan (USFHP) -- HMO" + }, { + "code": "3119", + "display": "Department of Defense - (other)" + }, { + "code": "312", + "display": "Military Treatment Facility" + }, { + "code": "3121", + "display": "Enrolled Prime--HMO" + }, { + "code": "3122", + "display": "Non-enrolled Space Available" + }, { + "code": "3123", + "display": "TRICARE For Life (TFL)" + }, { + "code": "313", + "display": "Dental --Stand Alone" + }, { + "code": "32", + "display": "Department of Veterans Affairs" + }, { + "code": "321", + "display": "Veteran care--Care provided to Veterans" + }, { + "code": "3211", + "display": "Direct Care--Care provided in VA facilities" + }, { + "code": "3212", + "display": "Indirect Care--Care provided outside VA facilities" + }, { + "code": "32121", + "display": "Fee Basis" + }, { + "code": "32122", + "display": "Foreign Fee/Foreign Medical Program (FMP)" + }, { + "code": "32123", + "display": "Contract Nursing Home/Community Nursing Home" + }, { + "code": "32124", + "display": "State Veterans Home" + }, { + "code": "32125", + "display": "Sharing Agreements" + }, { + "code": "32126", + "display": "Other Federal Agency" + }, { + "code": "32127", + "display": "Dental Care" + }, { + "code": "32128", + "display": "Vision Care" + }, { + "code": "322", + "display": "Non-veteran care" + }, { + "code": "3221", + "display": "Civilian Health and Medical Program for the VA (CHAMPVA)" + }, { + "code": "3222", + "display": "Spina Bifida Health Care Program (SB)" + }, { + "code": "3223", + "display": "Children of Women Vietnam Veterans (CWVV)" + }, { + "code": "3229", + "display": "Other non-veteran care" + }, { + "code": "33", + "display": "Indian Health Service or Tribe" + }, { + "code": "331", + "display": "Indian Health Service -- Regular" + }, { + "code": "332", + "display": "Indian Health Service -- Contract" + }, { + "code": "333", + "display": "Indian Health Service - Managed Care" + }, { + "code": "334", + "display": "Indian Tribe - Sponsored Coverage" + }, { + "code": "34", + "display": "HRSA Program" + }, { + "code": "341", + "display": "Title V (MCH Block Grant)" + }, { + "code": "342", + "display": "Migrant Health Program" + }, { + "code": "343", + "display": "Ryan White Act" + }, { + "code": "349", + "display": "Other" + }, { + "code": "35", + "display": "Black Lung" + }, { + "code": "36", + "display": "State Government" + }, { + "code": "361", + "display": "State SCHIP program (codes for individual states)" + }, { + "code": "362", + "display": "Specific state programs (list/ local code)" + }, { + "code": "369", + "display": "State, not otherwise specified (other state)" + }, { + "code": "37", + "display": "Local Government" + }, { + "code": "371", + "display": "Local - Managed care" + }, { + "code": "3711", + "display": "HMO" + }, { + "code": "3712", + "display": "PPO" + }, { + "code": "3713", + "display": "POS" + }, { + "code": "372", + "display": "FFS/Indemnity" + }, { + "code": "379", + "display": "Local, not otherwise specified (other local, county)" + }, { + "code": "38", + "display": "Other Government (Federal, State, Local not specified)" + }, { + "code": "381", + "display": "Federal, State, Local not specified managed care" + }, { + "code": "3811", + "display": "Federal, State, Local not specified - HMO" + }, { + "code": "3812", + "display": "Federal, State, Local not specified - PPO" + }, { + "code": "3813", + "display": "Federal, State, Local not specified - POS" + }, { + "code": "3819", + "display": "Federal, State, Local not specified - not specified managed care" + }, { + "code": "382", + "display": "Federal, State, Local not specified - FFS" + }, { + "code": "389", + "display": "Federal, State, Local not specified - Other" + }, { + "code": "39", + "display": "Other Federal" + }, { + "code": "391", + "display": "Federal Employee Health Plan - Use when known" + }, { + "code": "4", + "display": "DEPARTMENTS OF CORRECTIONS" + }, { + "code": "41", + "display": "Corrections Federal" + }, { + "code": "42", + "display": "Corrections State" + }, { + "code": "43", + "display": "Corrections Local" + }, { + "code": "44", + "display": "Corrections Unknown Level" + }, { + "code": "5", + "display": "PRIVATE HEALTH INSURANCE" + }, { + "code": "51", + "display": "Managed Care (Private)" + }, { + "code": "511", + "display": "Commercial Managed Care - HMO" + }, { + "code": "512", + "display": "Commercial Managed Care - PPO" + }, { + "code": "513", + "display": "Commercial Managed Care - POS" + }, { + "code": "514", + "display": "Exclusive Provider Organization" + }, { + "code": "515", + "display": "Gatekeeper PPO (GPPO)" + }, { + "code": "516", + "display": "Commercial Managed Care - Pharmacy Benefit Manager" + }, { + "code": "517", + "display": "Commercial Managed Care - Dental" + }, { + "code": "519", + "display": "Managed Care, Other (non HMO)" + }, { + "code": "52", + "display": "Private Health Insurance - Indemnity" + }, { + "code": "521", + "display": "Commercial Indemnity" + }, { + "code": "522", + "display": "Self-insured (ERISA) Administrative Services Only (ASO) plan" + }, { + "code": "523", + "display": "Medicare supplemental policy (as second payer)" + }, { + "code": "524", + "display": "Indemnity Insurance - Dental" + }, { + "code": "529", + "display": "Private health insurance--other commercial Indemnity" + }, { + "code": "53", + "display": "Managed Care (private) or private health insurance (indemnity), not otherwise specified" + }, { + "code": "54", + "display": "Organized Delivery System" + }, { + "code": "55", + "display": "Small Employer Purchasing Group" + }, { + "code": "56", + "display": "Specialized Stand Alone Plan" + }, { + "code": "561", + "display": "Dental" + }, { + "code": "562", + "display": "Vision" + }, { + "code": "59", + "display": "Other Private Insurance" + }, { + "code": "6", + "display": "BLUE CROSS/BLUE SHIELD" + }, { + "code": "61", + "display": "BC Managed Care" + }, { + "code": "611", + "display": "BC Managed Care -- HMO" + }, { + "code": "612", + "display": "BC Managed Care -- PPO" + }, { + "code": "613", + "display": "BC Managed Care -- POS" + }, { + "code": "614", + "display": "BC Managed Care - Dental" + }, { + "code": "619", + "display": "BC Managed Care -- Other" + }, { + "code": "62", + "display": "BC Insurance Indemnity" + }, { + "code": "621", + "display": "BC Indemnity" + }, { + "code": "622", + "display": "BC Self-insured (ERISA) Administrative Services Only (ASO)Plan" + }, { + "code": "623", + "display": "BC Medicare Supplemental Plan" + }, { + "code": "629", + "display": "BC Indemnity - Dental" + }, { + "code": "7", + "display": "MANAGED CARE, UNSPECIFIED (to be used only if one can't distinguish public from private)" + }, { + "code": "71", + "display": "HMO" + }, { + "code": "72", + "display": "PPO" + }, { + "code": "73", + "display": "POS" + }, { + "code": "79", + "display": "Other Managed Care" + }, { + "code": "8", + "display": "NO PAYMENT from an Organization/Agency/Program/Private Payer Listed" + }, { + "code": "81", + "display": "Self-pay (Includes applicants for insurance and Medicaid applicants)" + }, { + "code": "82", + "display": "No Charge" + }, { + "code": "821", + "display": "Charity" + }, { + "code": "822", + "display": "Professional Courtesy" + }, { + "code": "823", + "display": "Research/Clinical Trial" + }, { + "code": "83", + "display": "Refusal to Pay/Bad Debt" + }, { + "code": "84", + "display": "Hill Burton Free Care" + }, { + "code": "85", + "display": "Research/Donor" + }, { + "code": "89", + "display": "No Payment, Other" + }, { + "code": "9", + "display": "MISCELLANEOUS/OTHER" + }, { + "code": "91", + "display": "Foreign National" + }, { + "code": "92", + "display": "Other (Non-government)" + }, { + "code": "93", + "display": "Disability Insurance" + }, { + "code": "94", + "display": "Long-term Care Insurance" + }, { + "code": "95", + "display": "Worker's Compensation" + }, { + "code": "951", + "display": "Worker's Comp HMO" + }, { + "code": "953", + "display": "Worker's Comp Fee-for-Service" + }, { + "code": "954", + "display": "Worker's Comp Other Managed Care" + }, { + "code": "959", + "display": "Worker's Comp, Other unspecified" + }, { + "code": "96", + "display": "Auto Insurance (includes no fault)" + }, { + "code": "97", + "display": "Legal Liability / Liability Insurance" + }, { + "code": "98", + "display": "Other specified but not otherwise classifiable (includes Hospice - Unspecified plan)" + }, { + "code": "99", + "display": "No Typology Code available for payment source" + }, { + "code": "9999", + "display": "Unavailable / No Payer Specified / Blank" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.836", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.836" + } ], + "version": "20121025", + "name": "Race", + "title": "Race", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "1002-5", + "display": "American Indian or Alaska Native" + }, { + "code": "2028-9", + "display": "Asian" + }, { + "code": "2054-5", + "display": "Black or African American" + }, { + "code": "2076-8", + "display": "Native Hawaiian or Other Pacific Islander" + }, { + "code": "2106-3", + "display": "White" + }, { + "code": "2131-1", + "display": "Other Race" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.666.5.307", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.666.5.307" + } ], + "version": "20170504", + "name": "EncounterInpatient", + "title": "Encounter Inpatient", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + }, { + "code": "8715000", + "display": "Hospital admission, elective (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-EXM349-FHIR3-2.9.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-EXM349-FHIR3-2.9.000
Type: Logic Library
Version: 2.9.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54

type: Observation

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50

type: Observation

code filter:
path: code

Content: type: text/cql
library EXM349_FHIR3 version '2.9.000'\n\n/*\nBased on CMS349v2 - HIV Screening\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "LOINC": 'http://loinc.org'\n\nvalueset "Conditions Due To Human Immunodeficiency Virus (HIV)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50'\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services, Initial Office Visit, 0 to 17": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "Preventive Care, Established Office Visit, 0 to 17": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\n\ncode "HIV 1 and 2 tests - Meaningful Use set": '75622-1' from "LOINC" display 'HIV 1 and 2 tests - Meaningful Use set'\n\nparameter "Measurement Period" Interval<DateTime> default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n\t SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n\tSDE."SDE Payer"\n\ndefine "SDE Race":\n\tSDE."SDE Race"\n\ndefine "SDE Sex":\n\tSDE."SDE Sex"\n\ndefine "Qualifying Encounters":\n\t( [Encounter: "Preventive Care Services, Initial Office Visit, 0 to 17"]\n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"]\n\t\tunion [Encounter: "Preventive Care, Established Office Visit, 0 to 17"]\n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"]\n\t\tunion [Encounter: "Office Visit"] ) ValidEncounter\n\t\twhere ValidEncounter.status = 'finished'\n\t\tand ValidEncounter.period during "Measurement Period"\n\ndefine "Denominator":\n\t"Initial Population"\n\ndefine "Denominator Exclusion":\n\texists ( [Condition: code in "Conditions Due To Human Immunodeficiency Virus (HIV)"] HIVConditions\n\t\t\twhere HIVConditions.clinicalStatus = 'active'\n\t\t\tand HIVConditions.verificationStatus = 'confirmed'\n\t\t\tand (HIVConditions.onset as dateTime) before start of "Measurement Period"\n\t)\n\ndefine "Numerator":\n\texists ( "HIV Test Performed" )\n\ndefine "HIV Test Performed":\n\t( [Observation: "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)"]\n\t\tunion [Observation: "HIV 1 and 2 tests - Meaningful Use set"] ) HIVTest\n\t\twhere (\n\t\t\t\t( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)>= 15\n\t\t\t \t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)>= 15)\n\t\t\t\t\tand  ( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)< 66 )\n\t\t\t\t\t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)< 66)\n\n\t\t\tand HIVTest.status in {'final', 'amended', 'corrected', 'preliminary'}\n\t\t\tand (\n\t\t\t\tHIVTest.effective starts before end of "Measurement Period"\n\t\t\t\t\tor HIVTest.effective as dateTime before end of "Measurement Period"\n\t\t\t)\n\ndefine "Initial Population":\n Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")>= 15\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")< 66\n\t\tand exists "Qualifying Encounters"\n
\n \n \n
\n
" + }, + "version": "2.9.000", + "name": "EXM349_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI2OSIgc3RhcnRDaGFyPSI5IiBlbmRMaW5lPSI2OSIgZW5kQ2hhcj0iNjMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iRVhNMzQ5X0ZISVIzIiB2ZXJzaW9uPSIyLjkuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iR2xvYmFsIiBwYXRoPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIHZlcnNpb249IjIuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU0RFIiBwYXRoPSJTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMiIHZlcnNpb249IjEuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHBhcmFtZXRlcnM+DQogICAgICA8ZGVmIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZGVmYXVsdCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDE5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICAgICA8eWVhciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIwMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZGVmYXVsdD4NCiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L3BhcmFtZXRlclR5cGVTcGVjaWZpZXI+DQogICAgICA8L2RlZj4NCiAgIDwvcGFyYW1ldGVycz4NCiAgIDxjb2RlU3lzdGVtcz4NCiAgICAgIDxkZWYgbmFtZT0iTE9JTkMiIGlkPSJodHRwOi8vbG9pbmMub3JnIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iQ29uZGl0aW9ucyBEdWUgVG8gSHVtYW4gSW1tdW5vZGVmaWNpZW5jeSBWaXJ1cyAoSElWKSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA1Ni41NCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFdGhuaWNpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSHVtYW4gSW1tdW5vZGVmaWNpZW5jeSBWaXJ1cyAoSElWKSBMYWJvcmF0b3J5IFRlc3QgQ29kZXMgKEFiIGFuZCBBZykiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEwNTYuNTAiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT2ZmaWNlIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyNSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMsIEluaXRpYWwgT2ZmaWNlIFZpc2l0LCAwIHRvIDE3IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyMyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQcmV2ZW50aXZlIENhcmUsIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMCB0byAxNyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlJhY2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJISVYgMSBhbmQgMiB0ZXN0cyAtIE1lYW5pbmdmdWwgVXNlIHNldCIgaWQ9Ijc1NjIyLTEiIGRpc3BsYXk9IkhJViAxIGFuZCAyIHRlc3RzIC0gTWVhbmluZ2Z1bCBVc2Ugc2V0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgRXRobmljaXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBFdGhuaWNpdHkiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFBheWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBQYXllciIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgUmFjZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgUmFjZSIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgU2V4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBTZXgiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUXVhbGlmeWluZyBFbmNvdW50ZXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWYWxpZEVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMsIEluaXRpYWwgT2ZmaWNlIFZpc2l0LCAwIHRvIDE3IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQcmV2ZW50aXZlIENhcmUsIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMCB0byAxNyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgLSBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPZmZpY2UgVmlzaXQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IlZhbGlkRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmNsdWRlZEluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlZhbGlkRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbml0aWFsIFBvcHVsYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxNSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjY2IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJRdWFsaWZ5aW5nIEVuY291bnRlcnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2x1c2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJISVZDb25kaXRpb25zIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkNvbmRpdGlvbnMgRHVlIFRvIEh1bWFuIEltbXVub2RlZmljaWVuY3kgVmlydXMgKEhJVikiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJISVZDb25kaXRpb25zIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IkhJVkNvbmRpdGlvbnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbmZpcm1lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiBzY29wZT0iSElWQ29uZGl0aW9ucyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSElWIFRlc3QgUGVyZm9ybWVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJISVZUZXN0Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ikh1bWFuIEltbXVub2RlZmljaWVuY3kgVmlydXMgKEhJVikgTGFib3JhdG9yeSBUZXN0IENvZGVzIChBYiBhbmQgQWcpIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJISVYgMSBhbmQgMiB0ZXN0cyAtIE1lYW5pbmdmdWwgVXNlIHNldCIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkhJVlRlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE1IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkhJVlRlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxNSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iSElWVGVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNjYiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGVzcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJISVZUZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNjYiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkhJVlRlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFtZW5kZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29ycmVjdGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InByZWxpbWluYXJ5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJISVZUZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQmVmb3JlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJISVZUZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTnVtZXJhdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSElWIFRlc3QgUGVyZm9ybWVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE0zNDlfRkhJUjMgdmVyc2lvbiAnMi45LjAwMCcKCi8qCkJhc2VkIG9uIENNUzM0OXYyIC0gSElWIFNjcmVlbmluZwoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIHZlcnNpb24gJzEuMC4wJyBjYWxsZWQgU0RFCgpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwoKdmFsdWVzZXQgIkNvbmRpdGlvbnMgRHVlIFRvIEh1bWFuIEltbXVub2RlZmljaWVuY3kgVmlydXMgKEhJVikiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDU2LjU0Jwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkh1bWFuIEltbXVub2RlZmljaWVuY3kgVmlydXMgKEhJVikgTGFib3JhdG9yeSBUZXN0IENvZGVzIChBYiBhbmQgQWcpIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA1Ni41MCcKdmFsdWVzZXQgIk9mZmljZSBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwMScKdmFsdWVzZXQgIk9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xJwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLCBJbml0aWFsIE9mZmljZSBWaXNpdCwgMCB0byAxNyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyMicKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDIzJwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlLCBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjQnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKCmNvZGUgIkhJViAxIGFuZCAyIHRlc3RzIC0gTWVhbmluZ2Z1bCBVc2Ugc2V0IjogJzc1NjIyLTEnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdISVYgMSBhbmQgMiB0ZXN0cyAtIE1lYW5pbmdmdWwgVXNlIHNldCcKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgoJIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKCVNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CglTREUuIlNERSBSYWNlIgoKZGVmaW5lICJTREUgU2V4IjoKCVNERS4iU0RFIFNleCIKCmRlZmluZSAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIjoKCSggW0VuY291bnRlcjogIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcywgSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMtSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCJdCgkJdW5pb24gW0VuY291bnRlcjogIlByZXZlbnRpdmUgQ2FyZSwgRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAwIHRvIDE3Il0KCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJPZmZpY2UgVmlzaXQiXSApIFZhbGlkRW5jb3VudGVyCgkJd2hlcmUgVmFsaWRFbmNvdW50ZXIuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCWFuZCBWYWxpZEVuY291bnRlci5wZXJpb2QgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKCSJJbml0aWFsIFBvcHVsYXRpb24iCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2x1c2lvbiI6CglleGlzdHMgKCBbQ29uZGl0aW9uOiBjb2RlIGluICJDb25kaXRpb25zIER1ZSBUbyBIdW1hbiBJbW11bm9kZWZpY2llbmN5IFZpcnVzIChISVYpIl0gSElWQ29uZGl0aW9ucwoJCQl3aGVyZSBISVZDb25kaXRpb25zLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKCQkJYW5kIEhJVkNvbmRpdGlvbnMudmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKCQkJYW5kIChISVZDb25kaXRpb25zLm9uc2V0IGFzIGRhdGVUaW1lKSBiZWZvcmUgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCSkKCmRlZmluZSAiTnVtZXJhdG9yIjoKCWV4aXN0cyAoICJISVYgVGVzdCBQZXJmb3JtZWQiICkKCmRlZmluZSAiSElWIFRlc3QgUGVyZm9ybWVkIjoKCSggW09ic2VydmF0aW9uOiAiSHVtYW4gSW1tdW5vZGVmaWNpZW5jeSBWaXJ1cyAoSElWKSBMYWJvcmF0b3J5IFRlc3QgQ29kZXMgKEFiIGFuZCBBZykiXQoJCXVuaW9uIFtPYnNlcnZhdGlvbjogIkhJViAxIGFuZCAyIHRlc3RzIC0gTWVhbmluZ2Z1bCBVc2Ugc2V0Il0gKSBISVZUZXN0CgkJd2hlcmUgKAoJCQkJKCBHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBISVZUZXN0LmVmZmVjdGl2ZSBhcyBkYXRlVGltZSk+PSAxNQoJCQkgCQlvciBHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBzdGFydCBvZiBISVZUZXN0LmVmZmVjdGl2ZSk+PSAxNSkKCQkJCQlhbmQgICggR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgSElWVGVzdC5lZmZlY3RpdmUgYXMgZGF0ZVRpbWUpPCA2NiApCgkJCQkJCW9yIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mIEhJVlRlc3QuZWZmZWN0aXZlKTwgNjYpCgoJCQlhbmQgSElWVGVzdC5zdGF0dXMgaW4geydmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcsICdwcmVsaW1pbmFyeSd9CgkJCWFuZCAoCgkJCQlISVZUZXN0LmVmZmVjdGl2ZSBzdGFydHMgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCW9yIEhJVlRlc3QuZWZmZWN0aXZlIGFzIGRhdGVUaW1lIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCQkJKQoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgogR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPj0gMTUKCQlhbmQgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPCA2NgoJCWFuZCBleGlzdHMgIlF1YWxpZnlpbmcgRW5jb3VudGVycyIK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-EXM349-FHIR3-2.9.000" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1056.54", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54", + "title": "Conditions Due To Human Immunodeficiency Virus (HIV)", + "status": "active", + "publisher": "Mathematica", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/sid/icd-9-cm", + "version": "2013", + "concept": [ { + "code": "042", + "display": "Human immunodeficiency virus [HIV] disease" + }, { + "code": "079.53", + "display": "Human immunodeficiency virus, type 2 [HIV-2]" + }, { + "code": "795.71", + "display": "Nonspecific serologic evidence of human immunodeficiency virus [HIV]" + }, { + "code": "V08", + "display": "Asymptomatic human immunodeficiency virus [HIV] infection status" + } ] + }, { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2020", + "concept": [ { + "code": "B20", + "display": "Human immunodeficiency virus [HIV] disease" + }, { + "code": "B97.35", + "display": "Human immunodeficiency virus, type 2 [HIV 2] as the cause of diseases classified elsewhere" + }, { + "code": "O98.711", + "display": "Human immunodeficiency virus [HIV] disease complicating pregnancy, first trimester" + }, { + "code": "O98.712", + "display": "Human immunodeficiency virus [HIV] disease complicating pregnancy, second trimester" + }, { + "code": "O98.713", + "display": "Human immunodeficiency virus [HIV] disease complicating pregnancy, third trimester" + }, { + "code": "O98.719", + "display": "Human immunodeficiency virus [HIV] disease complicating pregnancy, unspecified trimester" + }, { + "code": "O98.72", + "display": "Human immunodeficiency virus [HIV] disease complicating childbirth" + }, { + "code": "O98.73", + "display": "Human immunodeficiency virus [HIV] disease complicating the puerperium" + }, { + "code": "Z21", + "display": "Asymptomatic human immunodeficiency virus [HIV] infection status" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2019-09", + "concept": [ { + "code": "103406000", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category A1 (finding)" + }, { + "code": "103407009", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category A2 (finding)" + }, { + "code": "103408004", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category A3 (acquired immunodeficiency syndrome) (finding)" + }, { + "code": "103409007", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category B1 (finding)" + }, { + "code": "103410002", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category B2 (finding)" + }, { + "code": "103411003", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category B3 (acquired immunodeficiency syndrome) (finding)" + }, { + "code": "103412005", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category C1 (acquired immunodeficiency syndrome) (finding)" + }, { + "code": "103413000", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category C2 (acquired immunodeficiency syndrome) (finding)" + }, { + "code": "103414006", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category C3 (acquired immunodeficiency syndrome) (finding)" + }, { + "code": "10755671000119100", + "display": "Human immunodeficiency virus in mother complicating childbirth (disorder)" + }, { + "code": "111880001", + "display": "Acute human immunodeficiency virus infection (disorder)" + }, { + "code": "165816005", + "display": "Human immunodeficiency virus positive (finding)" + }, { + "code": "186706006", + "display": "Human immunodeficiency virus infection constitutional disease (disorder)" + }, { + "code": "186707002", + "display": "Human immunodeficiency virus infection with neurological disease (disorder)" + }, { + "code": "186708007", + "display": "Human immunodeficiency virus infection with secondary clinical infectious disease (disorder)" + }, { + "code": "230180003", + "display": "Human immunodeficiency virus leukoencephalopathy (disorder)" + }, { + "code": "230598008", + "display": "Neuropathy caused by human immunodeficiency virus (disorder)" + }, { + "code": "235009000", + "display": "Human immunodeficiency virus-associated periodontitis (disorder)" + }, { + "code": "235726002", + "display": "Human immunodeficiency virus enteropathy (disorder)" + }, { + "code": "236406007", + "display": "Acquired immune deficiency syndrome-related nephropathy (disorder)" + }, { + "code": "240103002", + "display": "Human immunodeficiency virus myopathy (disorder)" + }, { + "code": "276665006", + "display": "Congenital acquired immune deficiency syndrome (disorder)" + }, { + "code": "281388009", + "display": "Human immunodeficiency virus-related sclerosing cholangitis (disorder)" + }, { + "code": "315019000", + "display": "Human immunodeficiency virus infection with aseptic meningitis (disorder)" + }, { + "code": "397763006", + "display": "Human immunodeficiency virus encephalopathy (disorder)" + }, { + "code": "398329009", + "display": "Human immunodeficiency virus encephalitis (disorder)" + }, { + "code": "402901009", + "display": "Oral hairy leukoplakia associated with human immunodeficiency virus disease (disorder)" + }, { + "code": "405631006", + "display": "Pediatric human immunodeficiency virus infection (disorder)" + }, { + "code": "40780007", + "display": "Human immunodeficiency virus I infection (disorder)" + }, { + "code": "414376003", + "display": "Hairy leukoplakia of tongue associated with human immunodeficiency virus disease (disorder)" + }, { + "code": "414604009", + "display": "Leukoplakia of tongue associated with human immunodeficiency virus disease (disorder)" + }, { + "code": "420721002", + "display": "Acquired immunodeficiency syndrome-associated disorder (disorder)" + }, { + "code": "442134007", + "display": "Hepatitis B associated with Human immunodeficiency virus infection (disorder)" + }, { + "code": "442537007", + "display": "Non-Hodgkin lymphoma associated with Human immunodeficiency virus infection (disorder)" + }, { + "code": "48794007", + "display": "Human immunodeficiency virus infection with infectious mononucleosis-like syndrome (disorder)" + }, { + "code": "52079000", + "display": "Congenital human immunodeficiency virus infection (disorder)" + }, { + "code": "62479008", + "display": "Acquired immune deficiency syndrome (disorder)" + }, { + "code": "698703002", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category B (finding)" + }, { + "code": "713260006", + "display": "Subacute adenoviral encephalitis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713275003", + "display": "Splenomegaly co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713278001", + "display": "Neuralgia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713297001", + "display": "Candidiasis of esophagus co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713298006", + "display": "Heart disease co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713299003", + "display": "Disorder of eye proper co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713300006", + "display": "Disorder of gastrointestinal tract co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713316008", + "display": "Eruption of skin co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713318009", + "display": "Myocarditis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713320007", + "display": "Radiculitis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713325002", + "display": "Primary cerebral lymphoma co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713339002", + "display": "Infection caused by Strongyloides co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713340000", + "display": "Disorder of skin co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713341001", + "display": "Myelitis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713342008", + "display": "Infection caused by Salmonella co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713349004", + "display": "Anemia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713444005", + "display": "Hemophagocytic syndrome co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713445006", + "display": "Disseminated infection caused by Strongyloides co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713446007", + "display": "Chronic infection caused by herpes simplex virus co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713483007", + "display": "Reticulosarcoma co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713484001", + "display": "Disorder of respiratory system co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713487008", + "display": "Progressive multifocal leukoencephalopathy co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713488003", + "display": "Presenile dementia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713489006", + "display": "Polyneuropathy co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713490002", + "display": "Infection caused by Pneumocystis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713491003", + "display": "Organic brain syndrome co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713497004", + "display": "Candidiasis of mouth co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713503007", + "display": "Disorder of spinal cord co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713504001", + "display": "Disorder of kidney co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713505000", + "display": "Gastrointestinal malabsorption syndrome co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713506004", + "display": "Neuritis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713507008", + "display": "Lymphadenopathy co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713508003", + "display": "Aplastic anemia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713510001", + "display": "Enlargement of liver co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713511002", + "display": "Acute endocarditis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713523008", + "display": "Cardiomyopathy co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713526000", + "display": "Recurrent bacterial pneumonia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713527009", + "display": "Disorder of peripheral nervous system co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713530002", + "display": "Agranulocytosis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713531003", + "display": "Visual impairment co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713532005", + "display": "Infective arthritis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713533000", + "display": "Acquired hemolytic anemia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713543002", + "display": "Demyelinating disease of central nervous system co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713544008", + "display": "Bacterial pneumonia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713545009", + "display": "Infection caused by Nocardia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713546005", + "display": "Isosporiasis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713570009", + "display": "Infectious gastroenteritis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713571008", + "display": "Disorder of central nervous system co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713572001", + "display": "Malignant neoplastic disease co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713695001", + "display": "Nephrotic syndrome co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713696000", + "display": "Renal failure syndrome co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713718006", + "display": "Diffuse non-Hodgkin immunoblastic lymphoma co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713722001", + "display": "Infection caused by Cytomegalovirus co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713729005", + "display": "Infection caused by Coccidia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713730000", + "display": "Infection caused by herpes simplex virus co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713731001", + "display": "Pyrexia of unknown origin co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713732008", + "display": "Infection caused by Aspergillus co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713733003", + "display": "Infection caused by herpes zoster virus co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713734009", + "display": "Infection caused by Dermatophyte co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713844000", + "display": "Dementia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713845004", + "display": "Infection caused by Cryptosporidium co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713880000", + "display": "Opportunistic mycosis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713881001", + "display": "Infection caused by Microsporidia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713887002", + "display": "Focal segmental glomerulosclerosis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713897006", + "display": "Burkitt lymphoma co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713964006", + "display": "Multidermatomal infection caused by Herpes zoster co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713967004", + "display": "Disseminated atypical infection caused by Mycobacterium co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "714083007", + "display": "Recurrent salmonella sepsis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "714464009", + "display": "Immune reconstitution inflammatory syndrome caused by human immunodeficiency virus infection (disorder)" + }, { + "code": "72621000119104", + "display": "Human immunodeficiency virus (HIV) II infection category B1 (disorder)" + }, { + "code": "72631000119101", + "display": "Human immunodeficiency virus (HIV) II infection category B2 (disorder)" + }, { + "code": "733834006", + "display": "Invasive carcinoma of uterine cervix co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "733835007", + "display": "Extrapulmonary tuberculosis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "79019005", + "display": "Human immunodeficiency virus II infection (disorder)" + }, { + "code": "81000119104", + "display": "Symptomatic human immunodeficiency virus infection (disorder)" + }, { + "code": "86406008", + "display": "Human immunodeficiency virus infection (disorder)" + }, { + "code": "87117006", + "display": "Human immunodeficiency virus infection with acute lymphadenitis (disorder)" + }, { + "code": "90681000119107", + "display": "Asymptomatic human immunodeficiency virus A1 infection (disorder)" + }, { + "code": "90691000119105", + "display": "Asymptomatic human immunodeficiency virus A2 infection (disorder)" + }, { + "code": "91947003", + "display": "Asymptomatic human immunodeficiency virus infection (disorder)" + }, { + "code": "91948008", + "display": "Asymptomatic human immunodeficiency virus infection in pregnancy (disorder)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1056.54" + } + }, { + "resource": { + "resourceType": "Bundle", + "id": "tests-Encounter-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Encounter", + "id": "numer-EXM349-FHIR3-2", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] + }, + "status": "finished", + "type": [ { + "coding": [ { + "system": "http://www.ama-assn.org/go/cpt", + "code": "99386", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 40-64 years" + } ] + } ], + "subject": { + "reference": "Patient/numer-EXM349-FHIR3" + }, + "period": { + "start": "2019-08-21T00:00:00-06:00", + "end": "2019-12-19T08:15:00-07:00" + } + }, + "request": { + "method": "PUT", + "url": "Encounter/numer-EXM349-FHIR3-2" + } + } ] + }, + "request": { + "method": "PUT", + "url": "tests-Encounter-bundle" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1056.50", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50", + "title": "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)", + "status": "active", + "publisher": "Mathematica", + "compose": { + "include": [ { + "system": "http://loinc.org", + "version": "2.67", + "concept": [ { + "code": "10901-7", + "display": "HIV 2 gp125 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "10902-5", + "display": "HIV 2 gp36 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "11078-3", + "display": "HIV 2 gp80 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "11079-1", + "display": "HIV 2 p26 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "11080-9", + "display": "HIV 2 p53 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "11081-7", + "display": "HIV 2 p56 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "11082-5", + "display": "HIV 2 p68 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12855-3", + "display": "HIV 1 p23 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12856-1", + "display": "HIV 1 p65 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12857-9", + "display": "HIV 1 p28 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12858-7", + "display": "HIV 1 p32 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12859-5", + "display": "HIV 1 p18 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12870-2", + "display": "HIV 1 gp34 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12871-0", + "display": "HIV 1 p26 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12872-8", + "display": "HIV 1 p15 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12875-1", + "display": "HIV 1 p64 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12876-9", + "display": "HIV 1 p53 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12893-4", + "display": "HIV 1 gp105 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12894-2", + "display": "HIV 1 p68 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12895-9", + "display": "HIV 1 p58 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "13499-9", + "display": "HIV 1 Ab band pattern [Interpretation] in Serum by Immunoblot" + }, { + "code": "13920-4", + "display": "HIV 2 p41 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "14092-1", + "display": "HIV 1 Ab [Presence] in Serum by Immunofluorescence" + }, { + "code": "14126-7", + "display": "HIV 1 gp120+gp160 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "16132-3", + "display": "HIV 1 p15+p18 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "16974-8", + "display": "HIV 1 Ab [Presence] in Cerebral spinal fluid" + }, { + "code": "16975-5", + "display": "HIV 1 IgG Ab [Presence] in Serum" + }, { + "code": "16976-3", + "display": "HIV 1 Ag [Units/volume] in Serum" + }, { + "code": "16977-1", + "display": "HIV 1 Ag [Presence] in Cerebral spinal fluid" + }, { + "code": "16978-9", + "display": "HIV 1 p24 Ab [Units/volume] in Serum" + }, { + "code": "16979-7", + "display": "HIV 1 p24 Ag [Units/volume] in Cerebral spinal fluid" + }, { + "code": "18396-2", + "display": "HIV 1 p24 Ag [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "19110-6", + "display": "HIV 1 gp41+gp43 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "21007-0", + "display": "HIV 1 Ab [Presence] in Serum from Donor" + }, { + "code": "21331-4", + "display": "HIV 1 p24 Ab [Titer] in Serum by Immunoblot" + }, { + "code": "21332-2", + "display": "HIV 1 p41 Ab [Titer] in Serum by Immunoblot" + }, { + "code": "21334-8", + "display": "HIV 2 gp105 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "21335-5", + "display": "HIV 2 gp120 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "21336-3", + "display": "HIV 2 gp15 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "21337-1", + "display": "HIV 2 gp34 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "21338-9", + "display": "HIV 2 p31 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "21339-7", + "display": "HIV 2 p55 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "21340-5", + "display": "HIV 2 p58 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "22356-0", + "display": "HIV 1 Ab [Units/volume] in Serum" + }, { + "code": "22357-8", + "display": "HIV 1+2 Ab [Units/volume] in Serum" + }, { + "code": "22358-6", + "display": "HIV 2 Ab [Units/volume] in Serum" + }, { + "code": "24012-7", + "display": "HIV 1 Ag [Presence] in Serum" + }, { + "code": "28004-0", + "display": "HIV 1 IgG Ab [Presence] in Cerebral spinal fluid by Immunoblot" + }, { + "code": "28052-9", + "display": "HIV 1 IgG band pattern [Interpretation] in Cerebral spinal fluid by Immunoblot" + }, { + "code": "29327-4", + "display": "HIV 1 Ab [Presence] in Body fluid" + }, { + "code": "29893-5", + "display": "HIV 1 Ab [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "30361-0", + "display": "HIV 2 Ab [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "31072-2", + "display": "HIV 1 p41 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "31073-0", + "display": "HIV 2 Ab band pattern [Interpretation] in Serum by Immunoblot" + }, { + "code": "31201-7", + "display": "HIV 1+2 Ab [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "31430-2", + "display": "HIV 1 IgG Ab [Presence] in Cerebral spinal fluid" + }, { + "code": "32571-2", + "display": "HIV 1 Ab [Presence] in Urine by Immunoblot" + }, { + "code": "32602-5", + "display": "HIV 1+2 Ab [Presence] in Cerebral spinal fluid" + }, { + "code": "32827-8", + "display": "HIV 1 p17+p18 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "32842-7", + "display": "HIV 1 p17+p18 Ab [Presence] in Serum" + }, { + "code": "33508-3", + "display": "HIV 1 p65+p66 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "33660-2", + "display": "HIV 1 p24 Ag [Presence] in Serum or Plasma by Neutralization test" + }, { + "code": "33806-1", + "display": "HIV 2 IgG Ab [Presence] in Serum by Immunoblot" + }, { + "code": "33807-9", + "display": "HIV 2 IgG Ab [Presence] in Serum" + }, { + "code": "33866-5", + "display": "HIV 1 Ab [Presence] in Capillary blood by Immunoassay" + }, { + "code": "34591-8", + "display": "HIV 1 Ab [Presence] in Body fluid by Immunoassay" + }, { + "code": "34592-6", + "display": "HIV 1 Ab [Presence] in Body fluid by Immunoblot" + }, { + "code": "35437-3", + "display": "HIV 1 Ab [Presence] in Saliva (oral fluid) by Immunoassay" + }, { + "code": "35438-1", + "display": "HIV 1 Ab [Units/volume] in Saliva (oral fluid) by Immunoassay" + }, { + "code": "35439-9", + "display": "HIV 1 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35440-7", + "display": "HIV 1 gp160 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35441-5", + "display": "HIV 1 gp120 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35442-3", + "display": "HIV 1 p66 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35443-1", + "display": "HIV 1 p65 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35444-9", + "display": "HIV 1 p55 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35445-6", + "display": "HIV 1 p51 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35446-4", + "display": "HIV 1 gp41 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35447-2", + "display": "HIV 1 p31 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35448-0", + "display": "HIV 1 p24 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35449-8", + "display": "HIV 1 p17 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35450-6", + "display": "HIV 1 p18 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35452-2", + "display": "HIV 1 gp40 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "35564-4", + "display": "HIV 1 p31+p32 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "35565-1", + "display": "HIV 1 p40 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "40437-6", + "display": "HIV 1 p24 Ab [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "40438-4", + "display": "HIV 1 gp41 Ab [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "40439-2", + "display": "HIV 1 gp120+gp160 Ab [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "40732-0", + "display": "HIV 1 IgG Ab [Presence] in Serum by Immunoblot" + }, { + "code": "40733-8", + "display": "HIV 1+2 IgG Ab [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "41143-9", + "display": "HIV 1 Ab [Units/volume] in Saliva (oral fluid)" + }, { + "code": "41144-7", + "display": "HIV 1 Ab [Presence] in Saliva (oral fluid)" + }, { + "code": "41145-4", + "display": "HIV 1 Ab [Presence] in Capillary blood" + }, { + "code": "41290-8", + "display": "HIV 1+2 IgM Ab [Units/volume] in Serum or Plasma by Immunoassay" + }, { + "code": "42339-2", + "display": "HIV 1 p24 Ag [Mass/volume] in Serum or Plasma by Immunoassay" + }, { + "code": "42600-7", + "display": "HIV 1+2 Ab [Presence] in Unspecified specimen by Immunoassay" + }, { + "code": "42627-0", + "display": "HIV 1 Ab [Presence] in Cerebral spinal fluid by Immunofluorescence" + }, { + "code": "42768-2", + "display": "HIV 1 and 2 Ab [Interpretation] in Serum Narrative" + }, { + "code": "43008-2", + "display": "HIV 1+2 IgM Ab [Units/volume] in Serum" + }, { + "code": "43009-0", + "display": "HIV 1+2 IgG Ab [Presence] in Serum" + }, { + "code": "43010-8", + "display": "HIV 1+2 Ab [Presence] in Unspecified specimen" + }, { + "code": "43011-6", + "display": "HIV 1 p24 Ab [Presence] in Serum" + }, { + "code": "43012-4", + "display": "HIV 1 gp41 Ab [Presence] in Serum" + }, { + "code": "43013-2", + "display": "HIV 1 gp120+gp160 Ab [Presence] in Serum" + }, { + "code": "43185-8", + "display": "HIV 1 and 2 Ab band pattern [Interpretation] in Serum by Immunoblot" + }, { + "code": "43599-0", + "display": "HIV 1 Ab [Units/volume] in Serum by Immunofluorescence" + }, { + "code": "44531-2", + "display": "HIV 1 Ag [Presence] in Serum from Donor" + }, { + "code": "44532-0", + "display": "HIV 1 gp120 Ab [Presence] in Serum" + }, { + "code": "44533-8", + "display": "HIV 1+2 Ab [Presence] in Serum from Donor" + }, { + "code": "44607-0", + "display": "HIV 1 [Interpretation] in Serum or Plasma by Immunoassay" + }, { + "code": "44872-0", + "display": "HIV 1 p24 Ag [Presence] in Serum or Plasma from Donor by Immunoassay" + }, { + "code": "44873-8", + "display": "HIV 1+2 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "45212-8", + "display": "HIV 2 p31+p34 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "47029-4", + "display": "HIV 2 Ab [Presence] in Cerebral spinal fluid by Immunoblot" + }, { + "code": "48345-3", + "display": "HIV 1+O+2 Ab [Presence] in Serum or Plasma" + }, { + "code": "48346-1", + "display": "HIV 1+O+2 Ab [Units/volume] in Serum or Plasma" + }, { + "code": "49483-1", + "display": "HIV 1 [Interpretation] in Serum or Plasma by Immunoassay Narrative" + }, { + "code": "49580-4", + "display": "HIV 1+2 Ab [Presence] in Unspecified specimen by Rapid immunoassay" + }, { + "code": "49718-0", + "display": "HIV 1 p24 Ag [Presence] in Cerebral spinal fluid" + }, { + "code": "49905-3", + "display": "HIV 1 Ab [Presence] in Unspecified specimen by Rapid immunoassay" + }, { + "code": "49965-7", + "display": "Deprecated HIV 1 Ab/HIV 2 Ab Ab [Ratio] in Serum by Immunoblot (IB)" + }, { + "code": "51786-2", + "display": "HIV 2 Ab Signal/Cutoff in Serum or Plasma by Immunoassay" + }, { + "code": "51866-2", + "display": "Deprecated HIV 1 Ab+Ag [Presence] in Serum" + }, { + "code": "5220-9", + "display": "HIV 1 Ab [Units/volume] in Serum or Plasma by Immunoassay" + }, { + "code": "5221-7", + "display": "HIV 1 Ab [Presence] in Serum or Plasma by Immunoblot" + }, { + "code": "5222-5", + "display": "HIV 1 Ag [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "5223-3", + "display": "HIV 1+2 Ab [Units/volume] in Serum or Plasma by Immunoassay" + }, { + "code": "5224-1", + "display": "HIV 2 Ab [Units/volume] in Serum or Plasma by Immunoassay" + }, { + "code": "5225-8", + "display": "HIV 2 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "53379-4", + "display": "HIV 1 Ab [Presence] in Unspecified specimen" + }, { + "code": "53601-1", + "display": "HIV 1 p24 Ag [Units/volume] in Serum or Plasma by Immunoassay" + }, { + "code": "54086-4", + "display": "HIV 1+2 IgG Ab [Presence] in DBS" + }, { + "code": "56888-1", + "display": "HIV 1+2 Ab+HIV1 p24 Ag [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "57974-8", + "display": "HIV 1 Ab [Presence] in Cerebral spinal fluid by Immunoblot" + }, { + "code": "57975-5", + "display": "HIV 1+O+2 Ab [Presence] in Body fluid" + }, { + "code": "57976-3", + "display": "HIV 2 gp140 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "57977-1", + "display": "HIV 2 p16 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "57978-9", + "display": "HIV 2 p34 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "58900-2", + "display": "HIV 1+2 Ab+HIV1 p24 Ag [Units/volume] in Serum or Plasma by Immunoassay" + }, { + "code": "62456-9", + "display": "HIV 2 p15 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "68961-2", + "display": "HIV 1 Ab [Presence] in Serum, Plasma or Blood by Rapid immunoassay" + }, { + "code": "69668-2", + "display": "HIV 1 and 2 Ab [Identifier] in Serum or Plasma by Rapid immunoassay" + }, { + "code": "73905-2", + "display": "HIV 1+2 IgG Ab [Presence] in Serum or Plasma by Rapid immunoassay" + }, { + "code": "73906-0", + "display": "HIV 1+2 IgG Ab [Presence] in Blood by Rapid immunoassay" + }, { + "code": "75622-1", + "display": "HIV 1 and 2 tests - Meaningful Use set" + }, { + "code": "75666-8", + "display": "HIV 1+2 Ab and HIV1 p24 Ag [Identifier] in Serum, Plasma or Blood by Rapid immunoassay" + }, { + "code": "77685-6", + "display": "HIV 1 and 2 IgG Ab [Identifier] in Serum or Plasma by Immunoblot" + }, { + "code": "7917-8", + "display": "HIV 1 Ab [Presence] in Serum" + }, { + "code": "7918-6", + "display": "HIV 1+2 Ab [Presence] in Serum" + }, { + "code": "7919-4", + "display": "HIV 2 Ab [Presence] in Serum" + }, { + "code": "80203-3", + "display": "HIV 1 and 2 Ab [Identifier] in Serum, Plasma or Blood by Rapid immunoassay" + }, { + "code": "80387-4", + "display": "HIV 1+2 Ab [Presence] in Serum, Plasma or Blood by Rapid immunoassay" + }, { + "code": "81641-3", + "display": "HIV 2 Ab [Presence] in Serum, Plasma or Blood by Rapid immunoassay" + }, { + "code": "83101-6", + "display": "HIV 1+2 Ab and HIV1 p24 Ag panel - Serum or Plasma by Immunoassay" + }, { + "code": "85037-0", + "display": "HIV 1 and 2 Ab and HIV 1 p24 Ag panel - Serum or Plasma by Immunoassay" + }, { + "code": "85686-4", + "display": "HIV 1 Ab [Presence] in Serum, Plasma or Blood by Immunofluorescence" + }, { + "code": "86233-4", + "display": "HIV 1 Ab [Presence] in Serum, Plasma or Blood by Immunoblot" + }, { + "code": "86657-4", + "display": "HIV 1 and 2 tests - FPAR 2.0 set" + }, { + "code": "89365-1", + "display": "HIV 1 and 2 Ab panel - Serum, Plasma or Blood by Rapid immunoassay" + }, { + "code": "89374-3", + "display": "HIV 1 Ab [Presence] in Unspecified specimen by Immunoassay" + }, { + "code": "9660-2", + "display": "HIV 1 gp160 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9661-0", + "display": "HIV 1 gp120 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9662-8", + "display": "HIV 1 gp41 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9663-6", + "display": "HIV 1 p17 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9664-4", + "display": "HIV 1 p24 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9665-1", + "display": "HIV 1 p24 Ag [Units/volume] in Serum" + }, { + "code": "9666-9", + "display": "HIV 1 p31 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9667-7", + "display": "HIV 1 p51 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9668-5", + "display": "HIV 1 p55 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9669-3", + "display": "HIV 1 p66 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9821-0", + "display": "HIV 1 p24 Ag [Presence] in Serum" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1056.50" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" + }, + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "resource": { + "resourceType": "Patient", + "id": "numer-EXM349-FHIR3", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] + }, + "extension": [ { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2106-3", + "display": "White" + } + } ] + }, { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2186-5", + "display": "Not Hispanic or Latino" + } + } ] + } ], + "identifier": [ { + "use": "usual", + "type": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MR", + "display": "Medical Record Number" + } ] + }, + "system": "http://hospital.smarthealthit.org", + "value": "9999999911" + } ], + "name": [ { + "family": "Jones", + "given": [ "Louise" ] + } ], + "gender": "female", + "birthDate": "1995-11-21" + }, + "request": { + "method": "PUT", + "url": "Patient/numer-EXM349-FHIR3" + } + }, { + "resource": { + "resourceType": "Patient", + "id": "denom-EXM349-FHIR3", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] + }, + "extension": [ { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2054-5", + "display": "Black or African American" + } + } ] + }, { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2135-2", + "display": "Hispanic or Latino" + } + } ] + } ], + "identifier": [ { + "use": "usual", + "type": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MR", + "display": "Medical Record Number" + } ] + }, + "system": "http://hospital.smarthealthit.org", + "value": "9999999910" + } ], + "name": [ { + "family": "Jones", + "given": [ "Rick" ] + } ], + "gender": "male", + "birthDate": "1955-11-05" + }, + "request": { + "method": "PUT", + "url": "Patient/denom-EXM349-FHIR3" + } }, { "resource": { "resourceType": "Bundle", diff --git a/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-files/library-EXM349_FHIR3-2.9.000.json b/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-files/library-EXM349_FHIR3-2.9.000.json index e45cf773..e44d3de3 100644 --- a/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-files/library-EXM349_FHIR3-2.9.000.json +++ b/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-files/library-EXM349_FHIR3-2.9.000.json @@ -21,6 +21,68 @@ "code": "logic-library" } ] }, + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code" + } ] + } ], "content": [ { "contentType": "text/cql", "data": "bGlicmFyeSBFWE0zNDlfRkhJUjMgdmVyc2lvbiAnMi45LjAwMCcKCi8qCkJhc2VkIG9uIENNUzM0OXYyIC0gSElWIFNjcmVlbmluZwoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIHZlcnNpb24gJzEuMC4wJyBjYWxsZWQgU0RFCgpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwoKdmFsdWVzZXQgIkNvbmRpdGlvbnMgRHVlIFRvIEh1bWFuIEltbXVub2RlZmljaWVuY3kgVmlydXMgKEhJVikiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDU2LjU0Jwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkh1bWFuIEltbXVub2RlZmljaWVuY3kgVmlydXMgKEhJVikgTGFib3JhdG9yeSBUZXN0IENvZGVzIChBYiBhbmQgQWcpIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA1Ni41MCcKdmFsdWVzZXQgIk9mZmljZSBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwMScKdmFsdWVzZXQgIk9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xJwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLCBJbml0aWFsIE9mZmljZSBWaXNpdCwgMCB0byAxNyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyMicKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDIzJwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlLCBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjQnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKCmNvZGUgIkhJViAxIGFuZCAyIHRlc3RzIC0gTWVhbmluZ2Z1bCBVc2Ugc2V0IjogJzc1NjIyLTEnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdISVYgMSBhbmQgMiB0ZXN0cyAtIE1lYW5pbmdmdWwgVXNlIHNldCcKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgoJIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKCVNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CglTREUuIlNERSBSYWNlIgoKZGVmaW5lICJTREUgU2V4IjoKCVNERS4iU0RFIFNleCIKCmRlZmluZSAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIjoKCSggW0VuY291bnRlcjogIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcywgSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMtSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCJdCgkJdW5pb24gW0VuY291bnRlcjogIlByZXZlbnRpdmUgQ2FyZSwgRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAwIHRvIDE3Il0KCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJPZmZpY2UgVmlzaXQiXSApIFZhbGlkRW5jb3VudGVyCgkJd2hlcmUgVmFsaWRFbmNvdW50ZXIuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCWFuZCBWYWxpZEVuY291bnRlci5wZXJpb2QgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKCSJJbml0aWFsIFBvcHVsYXRpb24iCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2x1c2lvbiI6CglleGlzdHMgKCBbQ29uZGl0aW9uOiBjb2RlIGluICJDb25kaXRpb25zIER1ZSBUbyBIdW1hbiBJbW11bm9kZWZpY2llbmN5IFZpcnVzIChISVYpIl0gSElWQ29uZGl0aW9ucwoJCQl3aGVyZSBISVZDb25kaXRpb25zLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKCQkJYW5kIEhJVkNvbmRpdGlvbnMudmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKCQkJYW5kIChISVZDb25kaXRpb25zLm9uc2V0IGFzIGRhdGVUaW1lKSBiZWZvcmUgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCSkKCmRlZmluZSAiTnVtZXJhdG9yIjoKCWV4aXN0cyAoICJISVYgVGVzdCBQZXJmb3JtZWQiICkKCmRlZmluZSAiSElWIFRlc3QgUGVyZm9ybWVkIjoKCSggW09ic2VydmF0aW9uOiAiSHVtYW4gSW1tdW5vZGVmaWNpZW5jeSBWaXJ1cyAoSElWKSBMYWJvcmF0b3J5IFRlc3QgQ29kZXMgKEFiIGFuZCBBZykiXQoJCXVuaW9uIFtPYnNlcnZhdGlvbjogIkhJViAxIGFuZCAyIHRlc3RzIC0gTWVhbmluZ2Z1bCBVc2Ugc2V0Il0gKSBISVZUZXN0CgkJd2hlcmUgKAoJCQkJKCBHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBISVZUZXN0LmVmZmVjdGl2ZSBhcyBkYXRlVGltZSk+PSAxNQoJCQkgCQlvciBHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBzdGFydCBvZiBISVZUZXN0LmVmZmVjdGl2ZSk+PSAxNSkKCQkJCQlhbmQgICggR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgSElWVGVzdC5lZmZlY3RpdmUgYXMgZGF0ZVRpbWUpPCA2NiApCgkJCQkJCW9yIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mIEhJVlRlc3QuZWZmZWN0aXZlKTwgNjYpCgoJCQlhbmQgSElWVGVzdC5zdGF0dXMgaW4geydmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcsICdwcmVsaW1pbmFyeSd9CgkJCWFuZCAoCgkJCQlISVZUZXN0LmVmZmVjdGl2ZSBzdGFydHMgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCW9yIEhJVlRlc3QuZWZmZWN0aXZlIGFzIGRhdGVUaW1lIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCQkJKQoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgogR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPj0gMTUKCQlhbmQgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPCA2NgoJCWFuZCBleGlzdHMgIlF1YWxpZnlpbmcgRW5jb3VudGVycyIK" diff --git a/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-files/library-deps-EXM349_FHIR3-2.9.000-bundle.json b/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-files/library-deps-EXM349_FHIR3-2.9.000-bundle.json new file mode 100644 index 00000000..4a900b1b --- /dev/null +++ b/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-files/library-deps-EXM349_FHIR3-2.9.000-bundle.json @@ -0,0 +1,144 @@ +{ + "resourceType": "Bundle", + "id": "library-deps-EXM349-FHIR3-2.9.000-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" + }, + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-2.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-2.0.000
Type: Logic Library
Version: 2.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '2.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t    and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] C where C.id = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t\treturn singleton from ([Condition] C where C.id = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "2.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMDUiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIwNSIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVSIiBpZD0iRVIiIGRpc3BsYXk9IkVtZXJnZW5jeSByb29tIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSUNVIiBpZD0iSUNVIiBkaXNwbGF5PSJJbnRlbnNpdmUgY2FyZSB1bml0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikxlbmd0aEluRGF5cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGlmZmVyZW5jZUJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJJbnBhdGllbnQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgIDx5ZWFyIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwveWVhcj4NCiAgICAgICAgICAgIDxtb250aCBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9tb250aD4NCiAgICAgICAgICAgIDxkYXkgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L2RheT4NCiAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHRpbWV6b25lT2Zmc2V0IHhzaTp0eXBlPSJUaW1lem9uZUZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3RpbWV6b25lT2Zmc2V0Pg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2RheSIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbk1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImhvdXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDxlbHNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlgiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFREVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFREVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgIDx0aGVuIHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTGVuZ3RoIG9mIFN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQWRtaXNzaW9uIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIERpc2NoYXJnZSBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGl0YWxMb2NhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8c29ydD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxieSBkaXJlY3Rpb249ImFzYyIgeHNpOnR5cGU9IkJ5RXhwcmVzc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvbmRpdGlvbiIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyb2xlIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpbGxpbmciIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlZ2VyIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyYW5rIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29uZGl0aW9uIiBzY29wZT0iUEQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldExvY2F0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxvY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkxvY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlZmVyZW5jZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0RXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldFByb3ZlbmFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm92ZW5hbmNlIiBjb2RlUHJvcGVydHk9InRhcmdldCIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldE1lZGljYXRpb25Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlcXVlc3QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVxdWVzdCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwoKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnCmNvZGUgIkVSIjogJ0VSJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnRW1lcmdlbmN5IHJvb20nCmNvZGUgIklDVSI6ICdJQ1UnIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdJbnRlbnNpdmUgY2FyZSB1bml0Jwpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIiOgoJW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFbmNvdW50ZXJJbnBhdGllbnQKCQl3aGVyZSBFbmNvdW50ZXJJbnBhdGllbnQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCSAgICBhbmQgIkxlbmd0aEluRGF5cyIoRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCkgPD0gMTIwCgkJCWFuZCBFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kIGVuZHMgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgZnVuY3Rpb24gIlRvRGF0ZSIoVmFsdWUgRGF0ZVRpbWUpOgoJRGF0ZVRpbWUoeWVhciBmcm9tIFZhbHVlLCBtb250aCBmcm9tIFZhbHVlLCBkYXkgZnJvbSBWYWx1ZSwgMCwgMCwgMCwgMCwgdGltZXpvbmUgZnJvbSBWYWx1ZSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbkRheXNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6CglkYXlzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5cyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluRGF5c0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6Cgltb250aHMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCXllYXJzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluWWVhcnMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJblllYXJzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiTGVuZ3RoSW5EYXlzIihWYWx1ZSBJbnRlcnZhbDxEYXRlVGltZT4pOgoJZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgVmFsdWUgYW5kIGVuZCBvZiBWYWx1ZQoKZGVmaW5lIGZ1bmN0aW9uICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKICAgIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXSBFRFZpc2l0CiAgICAgICAgICAgIHdoZXJlIEVEVmlzaXQuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgICAgICAgICAgICAgYW5kIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCkKICAgICkKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJKCAiRUQgVmlzaXQiKFRoZUVuY291bnRlcikgKSBYCiAgICByZXR1cm4KICAgICAgICBpZiBYIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgZWxzZSBJbnRlcnZhbFtzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFgucGVyaW9kKSwgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCldCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIEVERW5jb3VudGVyCiAgICByZXR1cm4KICAgICAgICBpZiBFREVuY291bnRlciBpcyBudWxsIHRoZW4gVGhlRW5jb3VudGVyLmxvY2F0aW9uCiAgICAgICAgZWxzZSBmbGF0dGVuIHsgRURFbmNvdW50ZXIubG9jYXRpb24sIFRoZUVuY291bnRlci5sb2NhdGlvbiB9CgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMZW5ndGggb2YgU3RheSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCUxlbmd0aEluRGF5cygiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIpKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWwgRGlzY2hhcmdlIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgllbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEZpcnN0KAoJICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCXNvcnQgYnkgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChwZXJpb2QpCgkpLnBlcmlvZCkKCi8vIFRPRE8gLSBmaXggdGhlc2UgKG11c3QgZmV0Y2ggTG9jYXRpb24gcmVzb3VyY2VzIGFuZCBjb21wYXJlIGlkIHRvIHJlZmVyZW5jZSkKLypkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIERlcGFydHVyZSBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoTGFzdCgKCSAgICAoICJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIihUaGVFbmNvdW50ZXIpICkgSG9zcGl0YWxMb2NhdGlvbgoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkVtZXJnZW5jeSBEZXBhcnRtZW50IEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoKAoJICAgIHNpbmdsZXRvbiBmcm9tICgKCSAgICAgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJFUiIKCQkpCgkpLnBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiRmlyc3QgSW5wYXRpZW50IEludGVuc2l2ZSBDYXJlIFVuaXQiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglGaXJzdCgKCSAgICAoIFRoZUVuY291bnRlci5sb2NhdGlvbiApIEhvc3BpdGFsTG9jYXRpb24KCQkJd2hlcmUgSG9zcGl0YWxMb2NhdGlvbi50eXBlIH4gIklDVSIKCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgVGhlRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKSovCgovKgoqCiogICAgQ1FGTWVhc3VyZXMgQ29tbW9uIExvZ2ljCioKKi8KCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgogIGlmIG9uc2V0IGlzIEZISVIuZGF0ZVRpbWUgdGhlbgoJICBJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLlBlcmlvZCB0aGVuCgkgIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwob25zZXQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIG9uc2V0IGlzIEZISVIuQWdlIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpLAoJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpICsgMSB5ZWFyKQoJZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbiBDb25kaXRpb24pOgoJaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5kYXRlVGltZSldCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5BZ2UgdGhlbgoJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLAoJCQlGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmJvb2xlYW4gdGhlbgoJICBJbnRlcnZhbFtlbmQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgY29uZGl0aW9uLmFzc2VydGVkRGF0ZSkKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJHZXRQcmV2YWxlbmNlUGVyaW9kIihjb25kaXRpb24gQ29uZGl0aW9uKToKICBJbnRlcnZhbFtzdGFydCBvZiAiTm9ybWFsaXplIE9uc2V0Iihjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbikpCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBJbnRlcnZhbCIoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZD4pOgogIGlmIGNob2ljZSBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5kYXRlVGltZSksIEZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZQoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNob2ljZSBhcyBGSElSLlBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcpOgoJTGFzdChTcGxpdCh1cmksICcvJykpCgpkZWZpbmUgZnVuY3Rpb24gIkVuY291bnRlckRpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6CiAgRW5jb3VudGVyLmRpYWdub3NpcyBECiAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKFtDb25kaXRpb25dIEMgd2hlcmUgQy5pZCA9ICJHZXRJZCIoRC5jb25kaXRpb24ucmVmZXJlbmNlKSkKCi8vIFJldHVybnMgdGhlIGNvbmRpdGlvbiB0aGF0IGlzIHNwZWNpZmllZCBhcyB0aGUgcHJpbmNpcGFsIGRpYWdub3NpcyBmb3IgdGhlIGVuY291bnRlcgpkZWZpbmUgZnVuY3Rpb24gIlByaW5jaXBhbERpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6Cgkoc2luZ2xldG9uIGZyb20gKEVuY291bnRlci5kaWFnbm9zaXMgRCB3aGVyZSBELnJvbGUgfiBUb0NvbmNlcHQoIkJpbGxpbmciKSBhbmQgRC5yYW5rID0gMSkpIFBECgkJcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDIHdoZXJlIEMuaWQgPSAiR2V0SWQiKFBELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgbG9jYXRpb24gZm9yIHRoZSBnaXZlbiBsb2NhdGlvbiByZWZlcmVuY2UKZGVmaW5lIGZ1bmN0aW9uIEdldExvY2F0aW9uKHJlZmVyZW5jZSBSZWZlcmVuY2UpOgogIHNpbmdsZXRvbiBmcm9tICgKICAgIFtMb2NhdGlvbl0gTG9jYXRpb24gd2hlcmUgTG9jYXRpb24uaWQudmFsdWUgPSBHZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKQogICkKCi8qCk5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlCkNRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nICsgdXJsKQoJCXJldHVybiBFCgpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UsIHVybCkKCi8qCk5PVEU6IFByb3ZlbmFuY2UgaXMgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIHRoaXMgaXMgcHJvdmlkZWQgb25seSBhcyBhbiBpbGx1c3RyYXRpb24KZm9yIHdoYXQgdXNpbmcgUHJvdmVuYW5jZSBjb3VsZCBsb29rIGxpa2UsIGFuZCBpcyBub3QgYSB0ZXN0ZWQgcGF0dGVybgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldFByb3ZlbmFuY2UiKHJlc291cmNlIFJlc291cmNlKToKICBzaW5nbGV0b24gZnJvbSAoW1Byb3ZlbmFuY2U6IHRhcmdldCBpbiByZXNvdXJjZS5pZF0pCgpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Db2RlIihyZXF1ZXN0IE1lZGljYXRpb25SZXF1ZXN0KToKICBpZiByZXF1ZXN0Lm1lZGljYXRpb24gaXMgQ29kZWFibGVDb25jZXB0IHRoZW4KCSAgcmVxdWVzdC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdAoJZWxzZQoJICAoc2luZ2xldG9uIGZyb20gKFtNZWRpY2F0aW9uOiBpZCBpbiBHZXRJZCgocmVxdWVzdC5tZWRpY2F0aW9uIGFzIFJlZmVyZW5jZSkucmVmZXJlbmNlKV0pKS5jb2RlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-SupplementalDataElements-FHIR3-1.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-SupplementalDataElements-FHIR3-1.0.0
Type: Logic Library
Version: 1.0.0
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Coverage

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591

Content: type: text/cql
library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Payer":\n    [Coverage: type in "Payer"] Payer\n      return {\n        code: Payer.type,\n        period: Payer.period\n      }\n\ndefine "SDE Race":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Sex":\n  case\n    when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n    when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n    else null\n  end\n
\n \n \n
\n
" + }, + "version": "1.0.0", + "name": "SupplementalDataElements_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + } ] +} \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-files/measure-EXM349_FHIR3-2.9.000.json b/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-files/measure-EXM349_FHIR3-2.9.000.json index 6d005b15..40d955fa 100644 --- a/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-files/measure-EXM349_FHIR3-2.9.000.json +++ b/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-files/measure-EXM349_FHIR3-2.9.000.json @@ -8,7 +8,7 @@ }, "text": { "status": "generated", - "div": "
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Measure Title

HIV Screening

Measure ID

EXM349

Description

Percentage of patients aged 15-65 at the start of the measurement period who were between 15-65 years old when tested for HIV

\n
\n
\n
Measurement PeriodJanuary 1 - December 31
Copyright and Disclaimer Notice\n
\n
The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.\n \nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].
\n
\n
This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. %26lt;br%26gt; Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. %26lt;br%26gt; CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.
\n
\n
Clinical Recommendation Statement\n

The US Preventive Services Task Force recommends that clinicians screen for HIV infection in adolescents and adults aged 15 to 65 years. Younger adolescents and older adults who are at increased risk should also be screened (A Recommendation) (Moyer, 2013).

\n

Since 2006, the CDC has recommended routine opt-out HIV screening (i.e., patient is notified that testing will be performed unless the patient declines) in healthcare facilities of adolescents and adults 13-64 years of age and HIV diagnostic testing of adolescents and adults with clinical signs or symptoms consistent with HIV infection (Centers for Disease Control and Prevention, 2006).

\n
\n
References\n
\n
American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104.
\n
\n
\n
\n
Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485
\n
\n
\n
\n
Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html
\n
\n
\n
\n
Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. 
\n
\n
\n
\n
Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html
\n
\n
\n
\n
Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439.
\n
\n
\n
\n
James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427
\n
\n
\n
\n
Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi:  10.1056/NEJMsa1406751. [published correction appears on page 1677] \nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9.
\n
\n
\n
\n
Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753
\n
\n
\n
\n
Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437.
\n
\n
\n
\n
SPRINT Research Group,; Wright, J. T., Jr., Williamson,  J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116.
\n
\n
\n
\n
U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787.
\n
\n
\n
\n
Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065
\n
\n
\n
\n
Yoon, S. S., Fryar, C. D., %26amp; Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics.
\n
\n
Characteristics
ScoringProportion
TypeProcess
Improvement NotationA higher rate indicates better performance.
Guidance\n

This measure evaluates the proportion of patients aged 15 to 65 at the start of the measurement period who have documentation of having received an HIV test at least once on or after their 15th birthday and before their 66th birthday. In order to satisfy the measure, the reporting provider must have documentation of the administration of the laboratory test present in the patient's medical record. In cases where the HIV test was performed elsewhere, providers cannot rely on patient attestation or self-report to meet the measure requirements, as previous research has shown that patient self-report is an unreliable indicator of previous HIV testing history. Rather, providers must request documentation of those test results. If such documentation is not available, the patient should be considered still eligible for HIV screening. If such documentation is available, but cannot be provided in a standardized, structured format (such that the lab test and results can be readily incorporated as structured data within the EHR), providers should enter the information into their EHR as a laboratory test in a manner consistent with the EHR in use. If the specific Human Immunodeficiency Virus (HIV) Laboratory Test LOINC code of the test is not known, the entry should use the more generic code LOINC panel code [75622-1].

\n
\n
Definitions
\n \n \n
\n \n \n \n \n
\n

Table of Contents

\n \n
\n \n

\n

Population Criteria

\n
\n
    \n
  • \n
    \n
      \n
    • \n
        \n
      • \n
        \n
          \n
        • \n
          \n
           Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26gt;= 15\r\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26lt; 66\r\n\t\tand exists "Qualifying Encounters"
          \n
        • \n
        %26nbsp;\n
      • \n
    • \n
    \n
    \n
    \n
      \n
    • \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \texists ( "HIV Test Performed" )
          \n
        • \n
        %26nbsp;\n
      • \n
    • \n
    \n
    \n
    \n
      \n
    • \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t"Initial Population"
          \n
        • \n
        %26nbsp;\n
      • \n
    • \n
    \n
    \n
    \n
      \n
    • \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \texists ( [Condition: code in "Conditions Due To Human Immunodeficiency Virus (HIV)"] HIVConditions\r\n\t\t\twhere HIVConditions.clinicalStatus = 'active'\r\n\t\t\tand HIVConditions.verificationStatus = 'confirmed'\r\n\t\t\tand (HIVConditions.onset as dateTime) before start of "Measurement Period"\r\n\t)
          \n
        • \n
        %26nbsp;\n
      • \n
    • \n
    \n
  • \n
\n
\n\n

Definitions

\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t"Initial Population"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \texists ( [Condition: code in "Conditions Due To Human Immunodeficiency Virus (HIV)"] HIVConditions\r\n\t\t\twhere HIVConditions.clinicalStatus = 'active'\r\n\t\t\tand HIVConditions.verificationStatus = 'confirmed'\r\n\t\t\tand (HIVConditions.onset as dateTime) before start of "Measurement Period"\r\n\t)
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t( [Observation: "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)"]\r\n\t\tunion [Observation: "HIV 1 and 2 tests - Meaningful Use set"] ) HIVTest\r\n\t\twhere (\r\n\t\t\t\t( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)%26gt;= 15\r\n\t\t\t \t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)%26gt;= 15)\r\n\t\t\t\t\tand  ( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)%26lt; 66 )\r\n\t\t\t\t\t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)%26lt; 66)\r\n\r\n\t\t\tand HIVTest.status in {'final', 'amended', 'corrected', 'preliminary'}\r\n\t\t\tand (\r\n\t\t\t\tHIVTest.effective starts before end of "Measurement Period"\r\n\t\t\t\t\tor HIVTest.effective as dateTime before end of "Measurement Period"\r\n\t\t\t)
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
           Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26gt;= 15\r\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26lt; 66\r\n\t\tand exists "Qualifying Encounters"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \texists ( "HIV Test Performed" )
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t( [Encounter: "Preventive Care Services, Initial Office Visit, 0 to 17"]\r\n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"]\r\n\t\tunion [Encounter: "Preventive Care, Established Office Visit, 0 to 17"]\r\n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"]\r\n\t\tunion [Encounter: "Office Visit"] ) ValidEncounter\r\n\t\twhere ValidEncounter.status = 'finished'\r\n\t\tand ValidEncounter.period during "Measurement Period"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t SDE."SDE Ethnicity"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \tSDE."SDE Payer"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \tSDE."SDE Race"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \tSDE."SDE Sex"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n

Functions

\n \n

Terminology

\n
\n
    \n
  • codesystem "LOINC" : 'http://loinc.org'
  • \n
  • code "HIV 1 and 2 tests - Meaningful Use set" : '75622-1' from "LOINC" display 'HIV 1 and 2 tests - Meaningful Use set'
  • \n
  • valueset "Conditions Due To Human Immunodeficiency Virus (HIV)" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54'
  • \n
  • valueset "Ethnicity" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'
  • \n
  • valueset "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50'
  • \n
  • valueset "Office Visit" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'
  • \n
  • valueset "ONC Administrative Sex" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'
  • \n
  • valueset "Payer" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'
  • \n
  • valueset "Preventive Care Services - Established Office Visit, 18 and Up" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'
  • \n
  • valueset "Preventive Care Services, Initial Office Visit, 0 to 17" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022'
  • \n
  • valueset "Preventive Care Services-Initial Office Visit, 18 and Up" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'
  • \n
  • valueset "Preventive Care, Established Office Visit, 0 to 17" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024'
  • \n
  • valueset "Race" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'
  • \n
\n
\n

Data Criteria (QDM Data Elements)

\n
\n
    \n
  • "Condition: Conditions Due To Human Immunodeficiency Virus (HIV)" using "Conditions Due To Human Immunodeficiency Virus (HIV) (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54)
  • \n
  • "Encounter: Office Visit" using "Office Visit (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001)
  • \n
  • "Encounter: Preventive Care Services - Established Office Visit, 18 and Up" using "Preventive Care Services - Established Office Visit, 18 and Up (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025)
  • \n
  • "Encounter: Preventive Care Services, Initial Office Visit, 0 to 17" using "Preventive Care Services, Initial Office Visit, 0 to 17 (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022)
  • \n
  • "Encounter: Preventive Care Services-Initial Office Visit, 18 and Up" using "Preventive Care Services-Initial Office Visit, 18 and Up (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023)
  • \n
  • "Encounter: Preventive Care, Established Office Visit, 0 to 17" using "Preventive Care, Established Office Visit, 0 to 17 (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024)
  • \n
  • "Observation: Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)" using "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag) (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50)
  • \n
\n
\n

Supplemental Data Elements

\n
\n
    \n
  • \n
    \n \n \n
      \n
    • \n
      \n
        \n
      • \n
        \n
        \t SDE."SDE Ethnicity"
        \n
      • \n
      %26nbsp;\n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n \n \n
      \n
    • \n
      \n
        \n
      • \n
        \n
        \tSDE."SDE Payer"
        \n
      • \n
      %26nbsp;\n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n \n \n
      \n
    • \n
      \n
        \n
      • \n
        \n
        \tSDE."SDE Race"
        \n
      • \n
      %26nbsp;\n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n \n \n
      \n
    • \n
      \n
        \n
      • \n
        \n
        \tSDE."SDE Sex"
        \n
      • \n
      %26nbsp;\n
    • \n
    \n
  • \n
\n
\n \n

Risk Adjustment Variables

\n
\n
    \n
  • None
  • \n
\n
\n
\n \n \n \n
\n
" + "div": "
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Measure Title

HIV Screening

Measure ID

EXM349

Description

Percentage of patients aged 15-65 at the start of the measurement period who were between 15-65 years old when tested for HIV

\n
\n
\n
Measurement PeriodJanuary 1 - December 31
Copyright and Disclaimer Notice\n
\n
The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.\n \nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].
\n
\n
This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. %26lt;br%26gt; Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. %26lt;br%26gt; CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.
\n
\n
Clinical Recommendation Statement\n

The US Preventive Services Task Force recommends that clinicians screen for HIV infection in adolescents and adults aged 15 to 65 years. Younger adolescents and older adults who are at increased risk should also be screened (A Recommendation) (Moyer, 2013).

\n

Since 2006, the CDC has recommended routine opt-out HIV screening (i.e., patient is notified that testing will be performed unless the patient declines) in healthcare facilities of adolescents and adults 13-64 years of age and HIV diagnostic testing of adolescents and adults with clinical signs or symptoms consistent with HIV infection (Centers for Disease Control and Prevention, 2006).

\n
\n
References\n
\n
American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104.
\n
\n
\n
\n
Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485
\n
\n
\n
\n
Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html
\n
\n
\n
\n
Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. 
\n
\n
\n
\n
Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html
\n
\n
\n
\n
Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439.
\n
\n
\n
\n
James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427
\n
\n
\n
\n
Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi:  10.1056/NEJMsa1406751. [published correction appears on page 1677] \nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9.
\n
\n
\n
\n
Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753
\n
\n
\n
\n
Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437.
\n
\n
\n
\n
SPRINT Research Group,; Wright, J. T., Jr., Williamson,  J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116.
\n
\n
\n
\n
U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787.
\n
\n
\n
\n
Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065
\n
\n
\n
\n
Yoon, S. S., Fryar, C. D., %26amp; Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics.
\n
\n
Characteristics
ScoringProportion
TypeProcess
Improvement NotationA higher rate indicates better performance.
Guidance\n

This measure evaluates the proportion of patients aged 15 to 65 at the start of the measurement period who have documentation of having received an HIV test at least once on or after their 15th birthday and before their 66th birthday. In order to satisfy the measure, the reporting provider must have documentation of the administration of the laboratory test present in the patient's medical record. In cases where the HIV test was performed elsewhere, providers cannot rely on patient attestation or self-report to meet the measure requirements, as previous research has shown that patient self-report is an unreliable indicator of previous HIV testing history. Rather, providers must request documentation of those test results. If such documentation is not available, the patient should be considered still eligible for HIV screening. If such documentation is available, but cannot be provided in a standardized, structured format (such that the lab test and results can be readily incorporated as structured data within the EHR), providers should enter the information into their EHR as a laboratory test in a manner consistent with the EHR in use. If the specific Human Immunodeficiency Virus (HIV) Laboratory Test LOINC code of the test is not known, the entry should use the more generic code LOINC panel code [75622-1].

\n
\n
Definitions
\n \n \n
\n \n \n \n \n
\n

Table of Contents

\n \n
\n \n

\n

Population Criteria

\n
\n
    \n
  • \n
    \n
      \n
    • \n
        \n
      • \n
        \n
          \n
        • \n
          \n
           Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26gt;= 15\r\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26lt; 66\r\n\t\tand exists "Qualifying Encounters"
          \n
        • \n
        %26nbsp;\n
      • \n
    • \n
    \n
    \n
    \n
      \n
    • \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \texists ( "HIV Test Performed" )
          \n
        • \n
        %26nbsp;\n
      • \n
    • \n
    \n
    \n
    \n
      \n
    • \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t"Initial Population"
          \n
        • \n
        %26nbsp;\n
      • \n
    • \n
    \n
    \n
    \n
      \n
    • \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \texists ( [Condition: code in "Conditions Due To Human Immunodeficiency Virus (HIV)"] HIVConditions\r\n\t\t\twhere HIVConditions.clinicalStatus = 'active'\r\n\t\t\tand HIVConditions.verificationStatus = 'confirmed'\r\n\t\t\tand (HIVConditions.onset as dateTime) before start of "Measurement Period"\r\n\t)
          \n
        • \n
        %26nbsp;\n
      • \n
    • \n
    \n
  • \n
\n
\n\n

Definitions

\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t"Initial Population"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \texists ( [Condition: code in "Conditions Due To Human Immunodeficiency Virus (HIV)"] HIVConditions\r\n\t\t\twhere HIVConditions.clinicalStatus = 'active'\r\n\t\t\tand HIVConditions.verificationStatus = 'confirmed'\r\n\t\t\tand (HIVConditions.onset as dateTime) before start of "Measurement Period"\r\n\t)
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t( [Observation: "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)"]\r\n\t\tunion [Observation: "HIV 1 and 2 tests - Meaningful Use set"] ) HIVTest\r\n\t\twhere (\r\n\t\t\t\t( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)%26gt;= 15\r\n\t\t\t \t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)%26gt;= 15)\r\n\t\t\t\t\tand  ( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)%26lt; 66 )\r\n\t\t\t\t\t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)%26lt; 66)\r\n\r\n\t\t\tand HIVTest.status in {'final', 'amended', 'corrected', 'preliminary'}\r\n\t\t\tand (\r\n\t\t\t\tHIVTest.effective starts before end of "Measurement Period"\r\n\t\t\t\t\tor HIVTest.effective as dateTime before end of "Measurement Period"\r\n\t\t\t)
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
           Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26gt;= 15\r\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26lt; 66\r\n\t\tand exists "Qualifying Encounters"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \texists ( "HIV Test Performed" )
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t( [Encounter: "Preventive Care Services, Initial Office Visit, 0 to 17"]\r\n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"]\r\n\t\tunion [Encounter: "Preventive Care, Established Office Visit, 0 to 17"]\r\n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"]\r\n\t\tunion [Encounter: "Office Visit"] ) ValidEncounter\r\n\t\twhere ValidEncounter.status = 'finished'\r\n\t\tand ValidEncounter.period during "Measurement Period"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \t SDE."SDE Ethnicity"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \tSDE."SDE Payer"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \tSDE."SDE Race"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n
      \n
    • \n
      \n \n \n
        \n
      • \n
        \n
          \n
        • \n
          \n
          \tSDE."SDE Sex"
          \n
        • \n
        %26nbsp;\n
      • \n
      \n
    • \n
    \n
  • \n
\n
\n

Functions

\n \n

Terminology

\n
\n
    \n
  • codesystem "LOINC" : 'http://loinc.org'
  • \n
  • code "HIV 1 and 2 tests - Meaningful Use set" : '75622-1' from "LOINC" display 'HIV 1 and 2 tests - Meaningful Use set'
  • \n
  • valueset "Conditions Due To Human Immunodeficiency Virus (HIV)" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54'
  • \n
  • valueset "Ethnicity" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'
  • \n
  • valueset "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50'
  • \n
  • valueset "Office Visit" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'
  • \n
  • valueset "ONC Administrative Sex" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'
  • \n
  • valueset "Payer" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'
  • \n
  • valueset "Preventive Care Services - Established Office Visit, 18 and Up" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'
  • \n
  • valueset "Preventive Care Services, Initial Office Visit, 0 to 17" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022'
  • \n
  • valueset "Preventive Care Services-Initial Office Visit, 18 and Up" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'
  • \n
  • valueset "Preventive Care, Established Office Visit, 0 to 17" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024'
  • \n
  • valueset "Race" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'
  • \n
\n
\n

Data Criteria (QDM Data Elements)

\n
\n
    \n
  • "Condition: Conditions Due To Human Immunodeficiency Virus (HIV)" using "Conditions Due To Human Immunodeficiency Virus (HIV) (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54)
  • \n
  • "Encounter: Office Visit" using "Office Visit (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001)
  • \n
  • "Encounter: Preventive Care Services - Established Office Visit, 18 and Up" using "Preventive Care Services - Established Office Visit, 18 and Up (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025)
  • \n
  • "Encounter: Preventive Care Services, Initial Office Visit, 0 to 17" using "Preventive Care Services, Initial Office Visit, 0 to 17 (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022)
  • \n
  • "Encounter: Preventive Care Services-Initial Office Visit, 18 and Up" using "Preventive Care Services-Initial Office Visit, 18 and Up (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023)
  • \n
  • "Encounter: Preventive Care, Established Office Visit, 0 to 17" using "Preventive Care, Established Office Visit, 0 to 17 (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024)
  • \n
  • "Observation: Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)" using "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag) (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50)
  • \n
\n
\n

Supplemental Data Elements

\n
\n
    \n
  • \n
    \n \n \n
      \n
    • \n
      \n
        \n
      • \n
        \n
        \t SDE."SDE Ethnicity"
        \n
      • \n
      %26nbsp;\n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n \n \n
      \n
    • \n
      \n
        \n
      • \n
        \n
        \tSDE."SDE Payer"
        \n
      • \n
      %26nbsp;\n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n \n \n
      \n
    • \n
      \n
        \n
      • \n
        \n
        \tSDE."SDE Race"
        \n
      • \n
      %26nbsp;\n
    • \n
    \n
  • \n
\n
\n
\n
    \n
  • \n
    \n \n \n
      \n
    • \n
      \n
        \n
      • \n
        \n
        \tSDE."SDE Sex"
        \n
      • \n
      %26nbsp;\n
    • \n
    \n
  • \n
\n
\n \n

Risk Adjustment Variables

\n
\n
    \n
  • None
  • \n
\n
\n
\n \n \n \n
\n
" }, "extension": [ { "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", diff --git a/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-files/valuesets-EXM349_FHIR3-2.9.000-bundle.json b/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-files/valuesets-EXM349_FHIR3-2.9.000-bundle.json new file mode 100644 index 00000000..9bb486b1 --- /dev/null +++ b/fhir3/bundles/measure/EXM349_FHIR3-2.9.000/EXM349_FHIR3-2.9.000-files/valuesets-EXM349_FHIR3-2.9.000-bundle.json @@ -0,0 +1,1850 @@ +{ + "resourceType": "Bundle", + "id": "valuesets-EXM349-FHIR3-2.9.000-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1056.54", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54", + "title": "Conditions Due To Human Immunodeficiency Virus (HIV)", + "status": "active", + "publisher": "Mathematica", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/sid/icd-9-cm", + "version": "2013", + "concept": [ { + "code": "042", + "display": "Human immunodeficiency virus [HIV] disease" + }, { + "code": "079.53", + "display": "Human immunodeficiency virus, type 2 [HIV-2]" + }, { + "code": "795.71", + "display": "Nonspecific serologic evidence of human immunodeficiency virus [HIV]" + }, { + "code": "V08", + "display": "Asymptomatic human immunodeficiency virus [HIV] infection status" + } ] + }, { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2020", + "concept": [ { + "code": "B20", + "display": "Human immunodeficiency virus [HIV] disease" + }, { + "code": "B97.35", + "display": "Human immunodeficiency virus, type 2 [HIV 2] as the cause of diseases classified elsewhere" + }, { + "code": "O98.711", + "display": "Human immunodeficiency virus [HIV] disease complicating pregnancy, first trimester" + }, { + "code": "O98.712", + "display": "Human immunodeficiency virus [HIV] disease complicating pregnancy, second trimester" + }, { + "code": "O98.713", + "display": "Human immunodeficiency virus [HIV] disease complicating pregnancy, third trimester" + }, { + "code": "O98.719", + "display": "Human immunodeficiency virus [HIV] disease complicating pregnancy, unspecified trimester" + }, { + "code": "O98.72", + "display": "Human immunodeficiency virus [HIV] disease complicating childbirth" + }, { + "code": "O98.73", + "display": "Human immunodeficiency virus [HIV] disease complicating the puerperium" + }, { + "code": "Z21", + "display": "Asymptomatic human immunodeficiency virus [HIV] infection status" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2019-09", + "concept": [ { + "code": "103406000", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category A1 (finding)" + }, { + "code": "103407009", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category A2 (finding)" + }, { + "code": "103408004", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category A3 (acquired immunodeficiency syndrome) (finding)" + }, { + "code": "103409007", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category B1 (finding)" + }, { + "code": "103410002", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category B2 (finding)" + }, { + "code": "103411003", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category B3 (acquired immunodeficiency syndrome) (finding)" + }, { + "code": "103412005", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category C1 (acquired immunodeficiency syndrome) (finding)" + }, { + "code": "103413000", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category C2 (acquired immunodeficiency syndrome) (finding)" + }, { + "code": "103414006", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category C3 (acquired immunodeficiency syndrome) (finding)" + }, { + "code": "10755671000119100", + "display": "Human immunodeficiency virus in mother complicating childbirth (disorder)" + }, { + "code": "111880001", + "display": "Acute human immunodeficiency virus infection (disorder)" + }, { + "code": "165816005", + "display": "Human immunodeficiency virus positive (finding)" + }, { + "code": "186706006", + "display": "Human immunodeficiency virus infection constitutional disease (disorder)" + }, { + "code": "186707002", + "display": "Human immunodeficiency virus infection with neurological disease (disorder)" + }, { + "code": "186708007", + "display": "Human immunodeficiency virus infection with secondary clinical infectious disease (disorder)" + }, { + "code": "230180003", + "display": "Human immunodeficiency virus leukoencephalopathy (disorder)" + }, { + "code": "230598008", + "display": "Neuropathy caused by human immunodeficiency virus (disorder)" + }, { + "code": "235009000", + "display": "Human immunodeficiency virus-associated periodontitis (disorder)" + }, { + "code": "235726002", + "display": "Human immunodeficiency virus enteropathy (disorder)" + }, { + "code": "236406007", + "display": "Acquired immune deficiency syndrome-related nephropathy (disorder)" + }, { + "code": "240103002", + "display": "Human immunodeficiency virus myopathy (disorder)" + }, { + "code": "276665006", + "display": "Congenital acquired immune deficiency syndrome (disorder)" + }, { + "code": "281388009", + "display": "Human immunodeficiency virus-related sclerosing cholangitis (disorder)" + }, { + "code": "315019000", + "display": "Human immunodeficiency virus infection with aseptic meningitis (disorder)" + }, { + "code": "397763006", + "display": "Human immunodeficiency virus encephalopathy (disorder)" + }, { + "code": "398329009", + "display": "Human immunodeficiency virus encephalitis (disorder)" + }, { + "code": "402901009", + "display": "Oral hairy leukoplakia associated with human immunodeficiency virus disease (disorder)" + }, { + "code": "405631006", + "display": "Pediatric human immunodeficiency virus infection (disorder)" + }, { + "code": "40780007", + "display": "Human immunodeficiency virus I infection (disorder)" + }, { + "code": "414376003", + "display": "Hairy leukoplakia of tongue associated with human immunodeficiency virus disease (disorder)" + }, { + "code": "414604009", + "display": "Leukoplakia of tongue associated with human immunodeficiency virus disease (disorder)" + }, { + "code": "420721002", + "display": "Acquired immunodeficiency syndrome-associated disorder (disorder)" + }, { + "code": "442134007", + "display": "Hepatitis B associated with Human immunodeficiency virus infection (disorder)" + }, { + "code": "442537007", + "display": "Non-Hodgkin lymphoma associated with Human immunodeficiency virus infection (disorder)" + }, { + "code": "48794007", + "display": "Human immunodeficiency virus infection with infectious mononucleosis-like syndrome (disorder)" + }, { + "code": "52079000", + "display": "Congenital human immunodeficiency virus infection (disorder)" + }, { + "code": "62479008", + "display": "Acquired immune deficiency syndrome (disorder)" + }, { + "code": "698703002", + "display": "Human immunodeficiency virus Centers for Disease Control and Prevention category B (finding)" + }, { + "code": "713260006", + "display": "Subacute adenoviral encephalitis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713275003", + "display": "Splenomegaly co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713278001", + "display": "Neuralgia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713297001", + "display": "Candidiasis of esophagus co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713298006", + "display": "Heart disease co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713299003", + "display": "Disorder of eye proper co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713300006", + "display": "Disorder of gastrointestinal tract co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713316008", + "display": "Eruption of skin co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713318009", + "display": "Myocarditis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713320007", + "display": "Radiculitis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713325002", + "display": "Primary cerebral lymphoma co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713339002", + "display": "Infection caused by Strongyloides co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713340000", + "display": "Disorder of skin co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713341001", + "display": "Myelitis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713342008", + "display": "Infection caused by Salmonella co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713349004", + "display": "Anemia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713444005", + "display": "Hemophagocytic syndrome co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713445006", + "display": "Disseminated infection caused by Strongyloides co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713446007", + "display": "Chronic infection caused by herpes simplex virus co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713483007", + "display": "Reticulosarcoma co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713484001", + "display": "Disorder of respiratory system co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713487008", + "display": "Progressive multifocal leukoencephalopathy co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713488003", + "display": "Presenile dementia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713489006", + "display": "Polyneuropathy co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713490002", + "display": "Infection caused by Pneumocystis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713491003", + "display": "Organic brain syndrome co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713497004", + "display": "Candidiasis of mouth co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713503007", + "display": "Disorder of spinal cord co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713504001", + "display": "Disorder of kidney co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713505000", + "display": "Gastrointestinal malabsorption syndrome co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713506004", + "display": "Neuritis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713507008", + "display": "Lymphadenopathy co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713508003", + "display": "Aplastic anemia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713510001", + "display": "Enlargement of liver co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713511002", + "display": "Acute endocarditis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713523008", + "display": "Cardiomyopathy co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713526000", + "display": "Recurrent bacterial pneumonia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713527009", + "display": "Disorder of peripheral nervous system co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713530002", + "display": "Agranulocytosis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713531003", + "display": "Visual impairment co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713532005", + "display": "Infective arthritis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713533000", + "display": "Acquired hemolytic anemia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713543002", + "display": "Demyelinating disease of central nervous system co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713544008", + "display": "Bacterial pneumonia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713545009", + "display": "Infection caused by Nocardia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713546005", + "display": "Isosporiasis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713570009", + "display": "Infectious gastroenteritis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713571008", + "display": "Disorder of central nervous system co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713572001", + "display": "Malignant neoplastic disease co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713695001", + "display": "Nephrotic syndrome co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713696000", + "display": "Renal failure syndrome co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713718006", + "display": "Diffuse non-Hodgkin immunoblastic lymphoma co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713722001", + "display": "Infection caused by Cytomegalovirus co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713729005", + "display": "Infection caused by Coccidia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713730000", + "display": "Infection caused by herpes simplex virus co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713731001", + "display": "Pyrexia of unknown origin co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713732008", + "display": "Infection caused by Aspergillus co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713733003", + "display": "Infection caused by herpes zoster virus co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713734009", + "display": "Infection caused by Dermatophyte co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713844000", + "display": "Dementia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713845004", + "display": "Infection caused by Cryptosporidium co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713880000", + "display": "Opportunistic mycosis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713881001", + "display": "Infection caused by Microsporidia co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713887002", + "display": "Focal segmental glomerulosclerosis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713897006", + "display": "Burkitt lymphoma co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713964006", + "display": "Multidermatomal infection caused by Herpes zoster co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713967004", + "display": "Disseminated atypical infection caused by Mycobacterium co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "714083007", + "display": "Recurrent salmonella sepsis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "714464009", + "display": "Immune reconstitution inflammatory syndrome caused by human immunodeficiency virus infection (disorder)" + }, { + "code": "72621000119104", + "display": "Human immunodeficiency virus (HIV) II infection category B1 (disorder)" + }, { + "code": "72631000119101", + "display": "Human immunodeficiency virus (HIV) II infection category B2 (disorder)" + }, { + "code": "733834006", + "display": "Invasive carcinoma of uterine cervix co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "733835007", + "display": "Extrapulmonary tuberculosis co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "79019005", + "display": "Human immunodeficiency virus II infection (disorder)" + }, { + "code": "81000119104", + "display": "Symptomatic human immunodeficiency virus infection (disorder)" + }, { + "code": "86406008", + "display": "Human immunodeficiency virus infection (disorder)" + }, { + "code": "87117006", + "display": "Human immunodeficiency virus infection with acute lymphadenitis (disorder)" + }, { + "code": "90681000119107", + "display": "Asymptomatic human immunodeficiency virus A1 infection (disorder)" + }, { + "code": "90691000119105", + "display": "Asymptomatic human immunodeficiency virus A2 infection (disorder)" + }, { + "code": "91947003", + "display": "Asymptomatic human immunodeficiency virus infection (disorder)" + }, { + "code": "91948008", + "display": "Asymptomatic human immunodeficiency virus infection in pregnancy (disorder)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1056.54" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1024", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024", + "title": "Preventive Care, Established Office Visit, 0 to 17", + "status": "active", + "publisher": "National Committee for Quality Assurance", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2020", + "concept": [ { + "code": "99391", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; infant (age younger than 1 year)" + }, { + "code": "99392", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; early childhood (age 1 through 4 years)" + }, { + "code": "99393", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; late childhood (age 5 through 11 years)" + }, { + "code": "99394", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; adolescent (age 12 through 17 years)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.3591", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.3591" + } ], + "version": "20180718", + "name": "Payer", + "title": "Payer", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.phdsc.org/standards/pdfs/SourceofPaymentTypologyVersion6FINALSeptember2015.pdf", + "version": "8.0", + "concept": [ { + "code": "1", + "display": "MEDICARE" + }, { + "code": "11", + "display": "Medicare (Managed Care)" + }, { + "code": "111", + "display": "Medicare HMO" + }, { + "code": "112", + "display": "Medicare PPO" + }, { + "code": "113", + "display": "Medicare POS" + }, { + "code": "119", + "display": "Medicare Managed Care Other" + }, { + "code": "12", + "display": "Medicare (Non-managed Care)" + }, { + "code": "121", + "display": "Medicare FFS" + }, { + "code": "122", + "display": "Medicare Drug Benefit" + }, { + "code": "123", + "display": "Medicare Medical Savings Account (MSA)" + }, { + "code": "129", + "display": "Medicare Non-managed Care Other" + }, { + "code": "13", + "display": "Medicare Hospice" + }, { + "code": "14", + "display": "Dual Eligibility Medicare/Medicaid Organization" + }, { + "code": "19", + "display": "Medicare Other" + }, { + "code": "191", + "display": "Medicare Pharmacy Benefit Manager" + }, { + "code": "2", + "display": "MEDICAID" + }, { + "code": "21", + "display": "Medicaid (Managed Care)" + }, { + "code": "211", + "display": "Medicaid HMO" + }, { + "code": "212", + "display": "Medicaid PPO" + }, { + "code": "213", + "display": "Medicaid PCCM (Primary Care Case Management)" + }, { + "code": "219", + "display": "Medicaid Managed Care Other" + }, { + "code": "22", + "display": "Medicaid (Non-managed Care Plan)" + }, { + "code": "23", + "display": "Medicaid/SCHIP" + }, { + "code": "25", + "display": "Medicaid - Out of State" + }, { + "code": "26", + "display": "Medicaid -- Long Term Care" + }, { + "code": "29", + "display": "Medicaid Other" + }, { + "code": "291", + "display": "Medicaid Pharmacy Benefit Manager" + }, { + "code": "299", + "display": "Medicaid - Dental" + }, { + "code": "3", + "display": "OTHER GOVERNMENT (Federal/State/Local) (excluding Department of Corrections)" + }, { + "code": "31", + "display": "Department of Defense" + }, { + "code": "311", + "display": "TRICARE (CHAMPUS)" + }, { + "code": "3111", + "display": "TRICARE Prime--HMO" + }, { + "code": "3112", + "display": "TRICARE Extra--PPO" + }, { + "code": "3113", + "display": "TRICARE Standard - Fee For Service" + }, { + "code": "3114", + "display": "TRICARE For Life--Medicare Supplement" + }, { + "code": "3115", + "display": "TRICARE Reserve Select" + }, { + "code": "3116", + "display": "Uniformed Services Family Health Plan (USFHP) -- HMO" + }, { + "code": "3119", + "display": "Department of Defense - (other)" + }, { + "code": "312", + "display": "Military Treatment Facility" + }, { + "code": "3121", + "display": "Enrolled Prime--HMO" + }, { + "code": "3122", + "display": "Non-enrolled Space Available" + }, { + "code": "3123", + "display": "TRICARE For Life (TFL)" + }, { + "code": "313", + "display": "Dental --Stand Alone" + }, { + "code": "32", + "display": "Department of Veterans Affairs" + }, { + "code": "321", + "display": "Veteran care--Care provided to Veterans" + }, { + "code": "3211", + "display": "Direct Care--Care provided in VA facilities" + }, { + "code": "3212", + "display": "Indirect Care--Care provided outside VA facilities" + }, { + "code": "32121", + "display": "Fee Basis" + }, { + "code": "32122", + "display": "Foreign Fee/Foreign Medical Program (FMP)" + }, { + "code": "32123", + "display": "Contract Nursing Home/Community Nursing Home" + }, { + "code": "32124", + "display": "State Veterans Home" + }, { + "code": "32125", + "display": "Sharing Agreements" + }, { + "code": "32126", + "display": "Other Federal Agency" + }, { + "code": "32127", + "display": "Dental Care" + }, { + "code": "32128", + "display": "Vision Care" + }, { + "code": "322", + "display": "Non-veteran care" + }, { + "code": "3221", + "display": "Civilian Health and Medical Program for the VA (CHAMPVA)" + }, { + "code": "3222", + "display": "Spina Bifida Health Care Program (SB)" + }, { + "code": "3223", + "display": "Children of Women Vietnam Veterans (CWVV)" + }, { + "code": "3229", + "display": "Other non-veteran care" + }, { + "code": "33", + "display": "Indian Health Service or Tribe" + }, { + "code": "331", + "display": "Indian Health Service -- Regular" + }, { + "code": "332", + "display": "Indian Health Service -- Contract" + }, { + "code": "333", + "display": "Indian Health Service - Managed Care" + }, { + "code": "334", + "display": "Indian Tribe - Sponsored Coverage" + }, { + "code": "34", + "display": "HRSA Program" + }, { + "code": "341", + "display": "Title V (MCH Block Grant)" + }, { + "code": "342", + "display": "Migrant Health Program" + }, { + "code": "343", + "display": "Ryan White Act" + }, { + "code": "349", + "display": "Other" + }, { + "code": "35", + "display": "Black Lung" + }, { + "code": "36", + "display": "State Government" + }, { + "code": "361", + "display": "State SCHIP program (codes for individual states)" + }, { + "code": "362", + "display": "Specific state programs (list/ local code)" + }, { + "code": "369", + "display": "State, not otherwise specified (other state)" + }, { + "code": "37", + "display": "Local Government" + }, { + "code": "371", + "display": "Local - Managed care" + }, { + "code": "3711", + "display": "HMO" + }, { + "code": "3712", + "display": "PPO" + }, { + "code": "3713", + "display": "POS" + }, { + "code": "372", + "display": "FFS/Indemnity" + }, { + "code": "379", + "display": "Local, not otherwise specified (other local, county)" + }, { + "code": "38", + "display": "Other Government (Federal, State, Local not specified)" + }, { + "code": "381", + "display": "Federal, State, Local not specified managed care" + }, { + "code": "3811", + "display": "Federal, State, Local not specified - HMO" + }, { + "code": "3812", + "display": "Federal, State, Local not specified - PPO" + }, { + "code": "3813", + "display": "Federal, State, Local not specified - POS" + }, { + "code": "3819", + "display": "Federal, State, Local not specified - not specified managed care" + }, { + "code": "382", + "display": "Federal, State, Local not specified - FFS" + }, { + "code": "389", + "display": "Federal, State, Local not specified - Other" + }, { + "code": "39", + "display": "Other Federal" + }, { + "code": "391", + "display": "Federal Employee Health Plan - Use when known" + }, { + "code": "4", + "display": "DEPARTMENTS OF CORRECTIONS" + }, { + "code": "41", + "display": "Corrections Federal" + }, { + "code": "42", + "display": "Corrections State" + }, { + "code": "43", + "display": "Corrections Local" + }, { + "code": "44", + "display": "Corrections Unknown Level" + }, { + "code": "5", + "display": "PRIVATE HEALTH INSURANCE" + }, { + "code": "51", + "display": "Managed Care (Private)" + }, { + "code": "511", + "display": "Commercial Managed Care - HMO" + }, { + "code": "512", + "display": "Commercial Managed Care - PPO" + }, { + "code": "513", + "display": "Commercial Managed Care - POS" + }, { + "code": "514", + "display": "Exclusive Provider Organization" + }, { + "code": "515", + "display": "Gatekeeper PPO (GPPO)" + }, { + "code": "516", + "display": "Commercial Managed Care - Pharmacy Benefit Manager" + }, { + "code": "517", + "display": "Commercial Managed Care - Dental" + }, { + "code": "519", + "display": "Managed Care, Other (non HMO)" + }, { + "code": "52", + "display": "Private Health Insurance - Indemnity" + }, { + "code": "521", + "display": "Commercial Indemnity" + }, { + "code": "522", + "display": "Self-insured (ERISA) Administrative Services Only (ASO) plan" + }, { + "code": "523", + "display": "Medicare supplemental policy (as second payer)" + }, { + "code": "524", + "display": "Indemnity Insurance - Dental" + }, { + "code": "529", + "display": "Private health insurance--other commercial Indemnity" + }, { + "code": "53", + "display": "Managed Care (private) or private health insurance (indemnity), not otherwise specified" + }, { + "code": "54", + "display": "Organized Delivery System" + }, { + "code": "55", + "display": "Small Employer Purchasing Group" + }, { + "code": "56", + "display": "Specialized Stand Alone Plan" + }, { + "code": "561", + "display": "Dental" + }, { + "code": "562", + "display": "Vision" + }, { + "code": "59", + "display": "Other Private Insurance" + }, { + "code": "6", + "display": "BLUE CROSS/BLUE SHIELD" + }, { + "code": "61", + "display": "BC Managed Care" + }, { + "code": "611", + "display": "BC Managed Care -- HMO" + }, { + "code": "612", + "display": "BC Managed Care -- PPO" + }, { + "code": "613", + "display": "BC Managed Care -- POS" + }, { + "code": "614", + "display": "BC Managed Care - Dental" + }, { + "code": "619", + "display": "BC Managed Care -- Other" + }, { + "code": "62", + "display": "BC Insurance Indemnity" + }, { + "code": "621", + "display": "BC Indemnity" + }, { + "code": "622", + "display": "BC Self-insured (ERISA) Administrative Services Only (ASO)Plan" + }, { + "code": "623", + "display": "BC Medicare Supplemental Plan" + }, { + "code": "629", + "display": "BC Indemnity - Dental" + }, { + "code": "7", + "display": "MANAGED CARE, UNSPECIFIED (to be used only if one can't distinguish public from private)" + }, { + "code": "71", + "display": "HMO" + }, { + "code": "72", + "display": "PPO" + }, { + "code": "73", + "display": "POS" + }, { + "code": "79", + "display": "Other Managed Care" + }, { + "code": "8", + "display": "NO PAYMENT from an Organization/Agency/Program/Private Payer Listed" + }, { + "code": "81", + "display": "Self-pay (Includes applicants for insurance and Medicaid applicants)" + }, { + "code": "82", + "display": "No Charge" + }, { + "code": "821", + "display": "Charity" + }, { + "code": "822", + "display": "Professional Courtesy" + }, { + "code": "823", + "display": "Research/Clinical Trial" + }, { + "code": "83", + "display": "Refusal to Pay/Bad Debt" + }, { + "code": "84", + "display": "Hill Burton Free Care" + }, { + "code": "85", + "display": "Research/Donor" + }, { + "code": "89", + "display": "No Payment, Other" + }, { + "code": "9", + "display": "MISCELLANEOUS/OTHER" + }, { + "code": "91", + "display": "Foreign National" + }, { + "code": "92", + "display": "Other (Non-government)" + }, { + "code": "93", + "display": "Disability Insurance" + }, { + "code": "94", + "display": "Long-term Care Insurance" + }, { + "code": "95", + "display": "Worker's Compensation" + }, { + "code": "951", + "display": "Worker's Comp HMO" + }, { + "code": "953", + "display": "Worker's Comp Fee-for-Service" + }, { + "code": "954", + "display": "Worker's Comp Other Managed Care" + }, { + "code": "959", + "display": "Worker's Comp, Other unspecified" + }, { + "code": "96", + "display": "Auto Insurance (includes no fault)" + }, { + "code": "97", + "display": "Legal Liability / Liability Insurance" + }, { + "code": "98", + "display": "Other specified but not otherwise classifiable (includes Hospice - Unspecified plan)" + }, { + "code": "99", + "display": "No Typology Code available for payment source" + }, { + "code": "9999", + "display": "Unavailable / No Payer Specified / Blank" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1025", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1025" + } ], + "version": "20170504", + "name": "PreventiveCareServices-EstablishedOfficeVisit,18andUp", + "title": "Preventive Care Services - Established Office Visit, 18 and Up", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99395", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 18-39 years" + }, { + "code": "99396", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 40-64 years" + }, { + "code": "99397", + "display": "Periodic comprehensive preventive medicine reevaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, established patient; 65 years and older" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.292", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292", + "title": "Emergency Department Visit", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "4525004", + "display": "Emergency department patient visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.666.5.307", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.666.5.307" + } ], + "version": "20170504", + "name": "EncounterInpatient", + "title": "Encounter Inpatient", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + }, { + "code": "8715000", + "display": "Hospital admission, elective (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1056.50", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50", + "title": "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)", + "status": "active", + "publisher": "Mathematica", + "compose": { + "include": [ { + "system": "http://loinc.org", + "version": "2.67", + "concept": [ { + "code": "10901-7", + "display": "HIV 2 gp125 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "10902-5", + "display": "HIV 2 gp36 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "11078-3", + "display": "HIV 2 gp80 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "11079-1", + "display": "HIV 2 p26 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "11080-9", + "display": "HIV 2 p53 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "11081-7", + "display": "HIV 2 p56 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "11082-5", + "display": "HIV 2 p68 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12855-3", + "display": "HIV 1 p23 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12856-1", + "display": "HIV 1 p65 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12857-9", + "display": "HIV 1 p28 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12858-7", + "display": "HIV 1 p32 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12859-5", + "display": "HIV 1 p18 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12870-2", + "display": "HIV 1 gp34 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12871-0", + "display": "HIV 1 p26 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12872-8", + "display": "HIV 1 p15 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12875-1", + "display": "HIV 1 p64 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12876-9", + "display": "HIV 1 p53 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12893-4", + "display": "HIV 1 gp105 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12894-2", + "display": "HIV 1 p68 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "12895-9", + "display": "HIV 1 p58 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "13499-9", + "display": "HIV 1 Ab band pattern [Interpretation] in Serum by Immunoblot" + }, { + "code": "13920-4", + "display": "HIV 2 p41 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "14092-1", + "display": "HIV 1 Ab [Presence] in Serum by Immunofluorescence" + }, { + "code": "14126-7", + "display": "HIV 1 gp120+gp160 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "16132-3", + "display": "HIV 1 p15+p18 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "16974-8", + "display": "HIV 1 Ab [Presence] in Cerebral spinal fluid" + }, { + "code": "16975-5", + "display": "HIV 1 IgG Ab [Presence] in Serum" + }, { + "code": "16976-3", + "display": "HIV 1 Ag [Units/volume] in Serum" + }, { + "code": "16977-1", + "display": "HIV 1 Ag [Presence] in Cerebral spinal fluid" + }, { + "code": "16978-9", + "display": "HIV 1 p24 Ab [Units/volume] in Serum" + }, { + "code": "16979-7", + "display": "HIV 1 p24 Ag [Units/volume] in Cerebral spinal fluid" + }, { + "code": "18396-2", + "display": "HIV 1 p24 Ag [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "19110-6", + "display": "HIV 1 gp41+gp43 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "21007-0", + "display": "HIV 1 Ab [Presence] in Serum from Donor" + }, { + "code": "21331-4", + "display": "HIV 1 p24 Ab [Titer] in Serum by Immunoblot" + }, { + "code": "21332-2", + "display": "HIV 1 p41 Ab [Titer] in Serum by Immunoblot" + }, { + "code": "21334-8", + "display": "HIV 2 gp105 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "21335-5", + "display": "HIV 2 gp120 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "21336-3", + "display": "HIV 2 gp15 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "21337-1", + "display": "HIV 2 gp34 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "21338-9", + "display": "HIV 2 p31 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "21339-7", + "display": "HIV 2 p55 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "21340-5", + "display": "HIV 2 p58 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "22356-0", + "display": "HIV 1 Ab [Units/volume] in Serum" + }, { + "code": "22357-8", + "display": "HIV 1+2 Ab [Units/volume] in Serum" + }, { + "code": "22358-6", + "display": "HIV 2 Ab [Units/volume] in Serum" + }, { + "code": "24012-7", + "display": "HIV 1 Ag [Presence] in Serum" + }, { + "code": "28004-0", + "display": "HIV 1 IgG Ab [Presence] in Cerebral spinal fluid by Immunoblot" + }, { + "code": "28052-9", + "display": "HIV 1 IgG band pattern [Interpretation] in Cerebral spinal fluid by Immunoblot" + }, { + "code": "29327-4", + "display": "HIV 1 Ab [Presence] in Body fluid" + }, { + "code": "29893-5", + "display": "HIV 1 Ab [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "30361-0", + "display": "HIV 2 Ab [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "31072-2", + "display": "HIV 1 p41 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "31073-0", + "display": "HIV 2 Ab band pattern [Interpretation] in Serum by Immunoblot" + }, { + "code": "31201-7", + "display": "HIV 1+2 Ab [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "31430-2", + "display": "HIV 1 IgG Ab [Presence] in Cerebral spinal fluid" + }, { + "code": "32571-2", + "display": "HIV 1 Ab [Presence] in Urine by Immunoblot" + }, { + "code": "32602-5", + "display": "HIV 1+2 Ab [Presence] in Cerebral spinal fluid" + }, { + "code": "32827-8", + "display": "HIV 1 p17+p18 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "32842-7", + "display": "HIV 1 p17+p18 Ab [Presence] in Serum" + }, { + "code": "33508-3", + "display": "HIV 1 p65+p66 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "33660-2", + "display": "HIV 1 p24 Ag [Presence] in Serum or Plasma by Neutralization test" + }, { + "code": "33806-1", + "display": "HIV 2 IgG Ab [Presence] in Serum by Immunoblot" + }, { + "code": "33807-9", + "display": "HIV 2 IgG Ab [Presence] in Serum" + }, { + "code": "33866-5", + "display": "HIV 1 Ab [Presence] in Capillary blood by Immunoassay" + }, { + "code": "34591-8", + "display": "HIV 1 Ab [Presence] in Body fluid by Immunoassay" + }, { + "code": "34592-6", + "display": "HIV 1 Ab [Presence] in Body fluid by Immunoblot" + }, { + "code": "35437-3", + "display": "HIV 1 Ab [Presence] in Saliva (oral fluid) by Immunoassay" + }, { + "code": "35438-1", + "display": "HIV 1 Ab [Units/volume] in Saliva (oral fluid) by Immunoassay" + }, { + "code": "35439-9", + "display": "HIV 1 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35440-7", + "display": "HIV 1 gp160 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35441-5", + "display": "HIV 1 gp120 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35442-3", + "display": "HIV 1 p66 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35443-1", + "display": "HIV 1 p65 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35444-9", + "display": "HIV 1 p55 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35445-6", + "display": "HIV 1 p51 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35446-4", + "display": "HIV 1 gp41 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35447-2", + "display": "HIV 1 p31 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35448-0", + "display": "HIV 1 p24 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35449-8", + "display": "HIV 1 p17 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35450-6", + "display": "HIV 1 p18 Ab [Presence] in Saliva (oral fluid) by Immunoblot" + }, { + "code": "35452-2", + "display": "HIV 1 gp40 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "35564-4", + "display": "HIV 1 p31+p32 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "35565-1", + "display": "HIV 1 p40 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "40437-6", + "display": "HIV 1 p24 Ab [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "40438-4", + "display": "HIV 1 gp41 Ab [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "40439-2", + "display": "HIV 1 gp120+gp160 Ab [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "40732-0", + "display": "HIV 1 IgG Ab [Presence] in Serum by Immunoblot" + }, { + "code": "40733-8", + "display": "HIV 1+2 IgG Ab [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "41143-9", + "display": "HIV 1 Ab [Units/volume] in Saliva (oral fluid)" + }, { + "code": "41144-7", + "display": "HIV 1 Ab [Presence] in Saliva (oral fluid)" + }, { + "code": "41145-4", + "display": "HIV 1 Ab [Presence] in Capillary blood" + }, { + "code": "41290-8", + "display": "HIV 1+2 IgM Ab [Units/volume] in Serum or Plasma by Immunoassay" + }, { + "code": "42339-2", + "display": "HIV 1 p24 Ag [Mass/volume] in Serum or Plasma by Immunoassay" + }, { + "code": "42600-7", + "display": "HIV 1+2 Ab [Presence] in Unspecified specimen by Immunoassay" + }, { + "code": "42627-0", + "display": "HIV 1 Ab [Presence] in Cerebral spinal fluid by Immunofluorescence" + }, { + "code": "42768-2", + "display": "HIV 1 and 2 Ab [Interpretation] in Serum Narrative" + }, { + "code": "43008-2", + "display": "HIV 1+2 IgM Ab [Units/volume] in Serum" + }, { + "code": "43009-0", + "display": "HIV 1+2 IgG Ab [Presence] in Serum" + }, { + "code": "43010-8", + "display": "HIV 1+2 Ab [Presence] in Unspecified specimen" + }, { + "code": "43011-6", + "display": "HIV 1 p24 Ab [Presence] in Serum" + }, { + "code": "43012-4", + "display": "HIV 1 gp41 Ab [Presence] in Serum" + }, { + "code": "43013-2", + "display": "HIV 1 gp120+gp160 Ab [Presence] in Serum" + }, { + "code": "43185-8", + "display": "HIV 1 and 2 Ab band pattern [Interpretation] in Serum by Immunoblot" + }, { + "code": "43599-0", + "display": "HIV 1 Ab [Units/volume] in Serum by Immunofluorescence" + }, { + "code": "44531-2", + "display": "HIV 1 Ag [Presence] in Serum from Donor" + }, { + "code": "44532-0", + "display": "HIV 1 gp120 Ab [Presence] in Serum" + }, { + "code": "44533-8", + "display": "HIV 1+2 Ab [Presence] in Serum from Donor" + }, { + "code": "44607-0", + "display": "HIV 1 [Interpretation] in Serum or Plasma by Immunoassay" + }, { + "code": "44872-0", + "display": "HIV 1 p24 Ag [Presence] in Serum or Plasma from Donor by Immunoassay" + }, { + "code": "44873-8", + "display": "HIV 1+2 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "45212-8", + "display": "HIV 2 p31+p34 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "47029-4", + "display": "HIV 2 Ab [Presence] in Cerebral spinal fluid by Immunoblot" + }, { + "code": "48345-3", + "display": "HIV 1+O+2 Ab [Presence] in Serum or Plasma" + }, { + "code": "48346-1", + "display": "HIV 1+O+2 Ab [Units/volume] in Serum or Plasma" + }, { + "code": "49483-1", + "display": "HIV 1 [Interpretation] in Serum or Plasma by Immunoassay Narrative" + }, { + "code": "49580-4", + "display": "HIV 1+2 Ab [Presence] in Unspecified specimen by Rapid immunoassay" + }, { + "code": "49718-0", + "display": "HIV 1 p24 Ag [Presence] in Cerebral spinal fluid" + }, { + "code": "49905-3", + "display": "HIV 1 Ab [Presence] in Unspecified specimen by Rapid immunoassay" + }, { + "code": "49965-7", + "display": "Deprecated HIV 1 Ab/HIV 2 Ab Ab [Ratio] in Serum by Immunoblot (IB)" + }, { + "code": "51786-2", + "display": "HIV 2 Ab Signal/Cutoff in Serum or Plasma by Immunoassay" + }, { + "code": "51866-2", + "display": "Deprecated HIV 1 Ab+Ag [Presence] in Serum" + }, { + "code": "5220-9", + "display": "HIV 1 Ab [Units/volume] in Serum or Plasma by Immunoassay" + }, { + "code": "5221-7", + "display": "HIV 1 Ab [Presence] in Serum or Plasma by Immunoblot" + }, { + "code": "5222-5", + "display": "HIV 1 Ag [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "5223-3", + "display": "HIV 1+2 Ab [Units/volume] in Serum or Plasma by Immunoassay" + }, { + "code": "5224-1", + "display": "HIV 2 Ab [Units/volume] in Serum or Plasma by Immunoassay" + }, { + "code": "5225-8", + "display": "HIV 2 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "53379-4", + "display": "HIV 1 Ab [Presence] in Unspecified specimen" + }, { + "code": "53601-1", + "display": "HIV 1 p24 Ag [Units/volume] in Serum or Plasma by Immunoassay" + }, { + "code": "54086-4", + "display": "HIV 1+2 IgG Ab [Presence] in DBS" + }, { + "code": "56888-1", + "display": "HIV 1+2 Ab+HIV1 p24 Ag [Presence] in Serum or Plasma by Immunoassay" + }, { + "code": "57974-8", + "display": "HIV 1 Ab [Presence] in Cerebral spinal fluid by Immunoblot" + }, { + "code": "57975-5", + "display": "HIV 1+O+2 Ab [Presence] in Body fluid" + }, { + "code": "57976-3", + "display": "HIV 2 gp140 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "57977-1", + "display": "HIV 2 p16 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "57978-9", + "display": "HIV 2 p34 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "58900-2", + "display": "HIV 1+2 Ab+HIV1 p24 Ag [Units/volume] in Serum or Plasma by Immunoassay" + }, { + "code": "62456-9", + "display": "HIV 2 p15 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "68961-2", + "display": "HIV 1 Ab [Presence] in Serum, Plasma or Blood by Rapid immunoassay" + }, { + "code": "69668-2", + "display": "HIV 1 and 2 Ab [Identifier] in Serum or Plasma by Rapid immunoassay" + }, { + "code": "73905-2", + "display": "HIV 1+2 IgG Ab [Presence] in Serum or Plasma by Rapid immunoassay" + }, { + "code": "73906-0", + "display": "HIV 1+2 IgG Ab [Presence] in Blood by Rapid immunoassay" + }, { + "code": "75622-1", + "display": "HIV 1 and 2 tests - Meaningful Use set" + }, { + "code": "75666-8", + "display": "HIV 1+2 Ab and HIV1 p24 Ag [Identifier] in Serum, Plasma or Blood by Rapid immunoassay" + }, { + "code": "77685-6", + "display": "HIV 1 and 2 IgG Ab [Identifier] in Serum or Plasma by Immunoblot" + }, { + "code": "7917-8", + "display": "HIV 1 Ab [Presence] in Serum" + }, { + "code": "7918-6", + "display": "HIV 1+2 Ab [Presence] in Serum" + }, { + "code": "7919-4", + "display": "HIV 2 Ab [Presence] in Serum" + }, { + "code": "80203-3", + "display": "HIV 1 and 2 Ab [Identifier] in Serum, Plasma or Blood by Rapid immunoassay" + }, { + "code": "80387-4", + "display": "HIV 1+2 Ab [Presence] in Serum, Plasma or Blood by Rapid immunoassay" + }, { + "code": "81641-3", + "display": "HIV 2 Ab [Presence] in Serum, Plasma or Blood by Rapid immunoassay" + }, { + "code": "83101-6", + "display": "HIV 1+2 Ab and HIV1 p24 Ag panel - Serum or Plasma by Immunoassay" + }, { + "code": "85037-0", + "display": "HIV 1 and 2 Ab and HIV 1 p24 Ag panel - Serum or Plasma by Immunoassay" + }, { + "code": "85686-4", + "display": "HIV 1 Ab [Presence] in Serum, Plasma or Blood by Immunofluorescence" + }, { + "code": "86233-4", + "display": "HIV 1 Ab [Presence] in Serum, Plasma or Blood by Immunoblot" + }, { + "code": "86657-4", + "display": "HIV 1 and 2 tests - FPAR 2.0 set" + }, { + "code": "89365-1", + "display": "HIV 1 and 2 Ab panel - Serum, Plasma or Blood by Rapid immunoassay" + }, { + "code": "89374-3", + "display": "HIV 1 Ab [Presence] in Unspecified specimen by Immunoassay" + }, { + "code": "9660-2", + "display": "HIV 1 gp160 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9661-0", + "display": "HIV 1 gp120 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9662-8", + "display": "HIV 1 gp41 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9663-6", + "display": "HIV 1 p17 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9664-4", + "display": "HIV 1 p24 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9665-1", + "display": "HIV 1 p24 Ag [Units/volume] in Serum" + }, { + "code": "9666-9", + "display": "HIV 1 p31 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9667-7", + "display": "HIV 1 p51 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9668-5", + "display": "HIV 1 p55 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9669-3", + "display": "HIV 1 p66 Ab [Presence] in Serum by Immunoblot" + }, { + "code": "9821-0", + "display": "HIV 1 p24 Ag [Presence] in Serum" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1056.50" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1022", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022", + "title": "Preventive Care Services, Initial Office Visit, 0 to 17", + "status": "active", + "publisher": "National Committee for Quality Assurance", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2020", + "concept": [ { + "code": "99381", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; infant (age younger than 1 year)" + }, { + "code": "99382", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; early childhood (age 1 through 4 years)" + }, { + "code": "99383", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; late childhood (age 5 through 11 years)" + }, { + "code": "99384", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; adolescent (age 12 through 17 years)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1001", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1001" + } ], + "version": "20180310", + "name": "OfficeVisit", + "title": "Office Visit", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99201", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99202", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: An expanded problem focused history; An expanded problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 20 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99203", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A detailed history; A detailed examination; Medical decision making of low complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate severity. Typically, 30 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99204", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 45 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99205", + "display": "Office or other outpatient visit for the evaluation and management of a new patient, which requires these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 60 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99212", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A problem focused history; A problem focused examination; Straightforward medical decision making. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are self limited or minor. Typically, 10 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99213", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: An expanded problem focused history; An expanded problem focused examination; Medical decision making of low complexity. Counseling and coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of low to moderate severity. Typically, 15 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99214", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A detailed history; A detailed examination; Medical decision making of moderate complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 25 minutes are spent face-to-face with the patient and/or family." + }, { + "code": "99215", + "display": "Office or other outpatient visit for the evaluation and management of an established patient, which requires at least 2 of these 3 key components: A comprehensive history; A comprehensive examination; Medical decision making of high complexity. Counseling and/or coordination of care with other physicians, other qualified health care professionals, or agencies are provided consistent with the nature of the problem(s) and the patient's and/or family's needs. Usually, the presenting problem(s) are of moderate to high severity. Typically, 40 minutes are spent face-to-face with the patient and/or family." + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "185463005", + "display": "Visit out of hours (procedure)" + }, { + "code": "185464004", + "display": "Out of hours visit - not night visit (procedure)" + }, { + "code": "185465003", + "display": "Weekend visit (procedure)" + }, { + "code": "30346009", + "display": "Evaluation and management of established outpatient in office or other outpatient facility (procedure)" + }, { + "code": "3391000175108", + "display": "Office visit for pediatric care and assessment (procedure)" + }, { + "code": "37894004", + "display": "Evaluation and management of new outpatient in office or other outpatient facility (procedure)" + }, { + "code": "439740005", + "display": "Postoperative follow-up visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.464.1003.101.12.1023", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.464.1003.101.12.1023" + } ], + "version": "20170504", + "name": "PreventiveCareServices-InitialOfficeVisit,18andUp", + "title": "Preventive Care Services-Initial Office Visit, 18 and Up", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.ama-assn.org/go/cpt", + "version": "2018", + "concept": [ { + "code": "99385", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 18-39 years" + }, { + "code": "99386", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 40-64 years" + }, { + "code": "99387", + "display": "Initial comprehensive preventive medicine evaluation and management of an individual including an age and gender appropriate history, examination, counseling/anticipatory guidance/risk factor reduction interventions, and the ordering of laboratory/diagnostic procedures, new patient; 65 years and older" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.836", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.836" + } ], + "version": "20121025", + "name": "Race", + "title": "Race", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "1002-5", + "display": "American Indian or Alaska Native" + }, { + "code": "2028-9", + "display": "Asian" + }, { + "code": "2054-5", + "display": "Black or African American" + }, { + "code": "2076-8", + "display": "Native Hawaiian or Other Pacific Islander" + }, { + "code": "2106-3", + "display": "White" + }, { + "code": "2131-1", + "display": "Other Race" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.837", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.837" + } ], + "version": "20121025", + "name": "Ethnicity", + "title": "Ethnicity", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "2135-2", + "display": "Hispanic or Latino" + }, { + "code": "2186-5", + "display": "Not Hispanic or Latino" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1" + } ], + "version": "20150331", + "name": "ONCAdministrativeSex", + "title": "ONC Administrative Sex", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + }, { + "code": "M", + "display": "Male" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1" + } + } ] +} \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM506_FHIR3-2.0.000/EXM506_FHIR3-2.0.000-bundle.json b/fhir3/bundles/measure/EXM506_FHIR3-2.0.000/EXM506_FHIR3-2.0.000-bundle.json index cec4311e..93c56a49 100644 --- a/fhir3/bundles/measure/EXM506_FHIR3-2.0.000/EXM506_FHIR3-2.0.000-bundle.json +++ b/fhir3/bundles/measure/EXM506_FHIR3-2.0.000/EXM506_FHIR3-2.0.000-bundle.json @@ -102,36 +102,307 @@ } }, { "resource": { - "resourceType": "Library", - "id": "library-EXM506-FHIR3-2.0.000", - "text": { - "status": "generated", - "div": "
\n \n \n
Id: library-EXM506-FHIR3-2.0.000
Type: Logic Library
Version: 2.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: MedicationRequest

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2

type: MedicationRequest

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20

Content: type: text/cql
library EXM506_FHIR3 version '2.0.000'\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.org'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\ncodesystem "MedicationRequestCategory": 'http://hl7.org/fhir/medication-request-category'\n\nvalueset "All Primary and Secondary Cancer":  'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Palliative Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Schedule II and Schedule III Opioids":  'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2'\nvalueset "Schedule IV Benzodiazepines": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Order": 'order' from "RequestIntent" display 'Order'\ncode "Community": 'community' from "MedicationRequestCategory" display 'Community'\n\nparameter "Measurement Period" Interval<DateTime>\n    default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "Inpatient Encounter with Age Greater than or Equal to 18":\n\t["Encounter": "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t  and Global."LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n      and Global.CalendarAgeInYearsAt(ToDateTime(Patient.birthDate), start of FHIRHelpers.ToInterval(EncounterInpatient.period)) >= 18\n\n// Defines to capture the relevant information that can be reused\ndefine "Opioid Prescription":\n  [MedicationRequest: medication in "Schedule II and Schedule III Opioids"] OpioidMedicationRequest\n    where OpioidMedicationRequest.status in { 'active', 'completed' }\n      and OpioidMedicationRequest.intent = 'order'\n      and OpioidMedicationRequest.category ~ ToConcept("Community")\n\ndefine "Benzodiazepine Prescription":\n  [MedicationRequest: medication in "Schedule IV Benzodiazepines"] BenzodiazepineMedicationRequest\n    where BenzodiazepineMedicationRequest.status in { 'active', 'completed' }\n      and BenzodiazepineMedicationRequest.intent = 'order'\n      and BenzodiazepineMedicationRequest.category ~ ToConcept("Community")\n\n// This was originally written as an intersect, but the description indicates either, so it should be a union...\ndefine "Encounter with an Opioid or Benzodiazepine at Discharge":\n  (\n    "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n      with "Opioid Prescription" OpioidPrescription\n        such that OpioidPrescription.authoredOn during InpatientEncounter.period\n    )\n  union (\n    "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n      with "Benzodiazepine Prescription" BenzodiazepinePrescription\n        such that BenzodiazepinePrescription.authoredOn during InpatientEncounter.period\n    )\n\n/*\ndefine "Encounter with an Opioid or Benzodiazepine at Discharge":\n\t(\n\t\t"Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n\t\twith [MedicationRequest: medication in "Schedule II and Schedule III Opioids"] OpioidsDischarge\n    \tsuch that OpioidsDischarge.authoredOn during InpatientEncounter.period\n    \t\tand OpioidsDischarge.intent = 'order'\n\t)\n  //Measure Review:\n  //The prior implementation was restricting "Inpatient Encounter with Age Greater than or Equal to 18"\n  //to both Opioid AND Benzodiazepine at discharge.\n  //The following implementation restricts it to Opioid OR Benzodiazepine, per the description.\n  //Need validation from the measure developers that this meets the itent of the spec.\n\t\tunion (\n      "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n\t    with [MedicationRequest: medication in "Schedule IV Benzodiazepines"] BenzodiazepineDischarge\n\t     such that BenzodiazepineDischarge.authoredOn during InpatientEncounter.period\n     \t  and BenzodiazepineDischarge.intent = 'order'\n\t\t )\n*/\n\ndefine "Initial Population":\n  "Encounter with an Opioid or Benzodiazepine at Discharge"\n\ndefine "Denominator":\n  "Initial Population"\n\ndefine "Diagnosis of Primary or Secondary Cancer":\n  ["Condition": code in "All Primary and Secondary Cancer"] Cancer\n    where Cancer.clinicalStatus = 'active'\n      and Cancer.verificationStatus = 'confirmed'\n\ndefine "Palliative or Hospice Care Order":\n  (["ProcedureRequest": "Palliative Care"]\n    union ["ProcedureRequest": "Hospice Care"]\n  ) PalliativeOrHospiceCare\n    where PalliativeOrHospiceCare.status in { 'active', 'completed' }\n      and PalliativeOrHospiceCare.intent = 'order'\n\ndefine "Palliative or Hospice Care Procedure":\n  (["Procedure": "Palliative Care"]\n    union ["Procedure": "Hospice Care"]\n  ) PalliativeOrHospiceCare\n    where PalliativeOrHospiceCare.status = 'completed'\n\ndefine "Denominator Exclusion":\n  ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n    with "Diagnosis of Primary or Secondary Cancer" Cancer\n      such that Global."Normalize Onset"(Cancer.onset) overlaps InpatientEncounter.period\n  )\n    union ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n      with "Palliative or Hospice Care Order" PalliativeOrHospiceCareOrder\n        such that PalliativeOrHospiceCareOrder.authoredOn during InpatientEncounter.period\n    )\n    union ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n      with "Palliative or Hospice Care Procedure" PalliativeOrHospiceCare\n        such that Global."Normalize Interval"(PalliativeOrHospiceCare.performed) during InpatientEncounter.period\n    )\n\n/*\ndefine "Denominator Exclusions":\n\t("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n\twith [Condition: code in "All Primary and Secondary Cancer"]Cancer\n       such that Cancer.clinicalStatus = 'active'\n       and Cancer.verificationStatus = 'confirmed'\n       and Cancer.onset overlaps InpatientEncounter.period)\n\t\tunion ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n      with (["ProcedureRequest": "Palliative Care"]\n\t\t\tunion ["ProcedureRequest": "Hospice Care"] ) PalliativeOrHospiceCareOrder\n\t\t\tsuch that  PalliativeOrHospiceCareOrder.intent = 'order'\n      and PalliativeOrHospiceCareOrder.authoredOn during InpatientEncounter.period)\n    union ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n  with  (["Procedure": "Palliative Care"]\n    \tunion ["Procedure": "Hospice Care"] ) PalliativeOrHospiceCarePerformed\n    \t\t\t\t\tsuch that PalliativeOrHospiceCarePerformed.performed overlaps InpatientEncounter.period)\n*/\n\ndefine "Encounter with a Concurrent Opioid and Benzodiazepine at Discharge":\n  "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n    with "Opioid Prescription" OpioidPrescription\n      such that OpioidPrescription.authoredOn during InpatientEncounter.period\n    with "Benzodiazepine Prescription" BenzodiazepinePrescription\n      such that BenzodiazepinePrescription.authoredOn during InpatientEncounter.period\n\n/*\ndefine "Encounter with a Concurrent Opioid and Benzodiazepine at Discharge":\n\tfrom "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter,\n\t\t[MedicationRequest: "Schedule II and Schedule III Opioids"] OpioidsDischarge,\n\t\t[MedicationRequest: "Schedule IV Benzodiazepines"] BenzodiazepineDischarge\n\t\t\twhere OpioidsDischarge.authoredOn during InpatientEncounter.period\n\t    \tand OpioidsDischarge.intent = 'order'\n\t\t\t\tand BenzodiazepineDischarge.authoredOn during InpatientEncounter.period\n        and BenzodiazepineDischarge.intent = 'order'\n\t\t\treturn InpatientEncounter\n*/\n\ndefine "Encounter with Two or More Concurrent Opioids at Discharge":\n  "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n    where Count(\n      "Opioid Prescription" OpioidPrescription\n        where OpioidPrescription.authoredOn during InpatientEncounter.period\n    ) >= 2\n\n/*\ndefine "Encounter with Two or More Concurrent Opioids at Discharge":\n\t"Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n\t\twhere Count(\n\t\t\t[MedicationRequest: "Schedule II and Schedule III Opioids"] Opioids\n\t\t\t\twhere Opioids.authoredOn during InpatientEncounter.period\n\t\t) >= 2\n*/\n\ndefine "Numerator":\n  "Encounter with Two or More Concurrent Opioids at Discharge"\n    union "Encounter with a Concurrent Opioid and Benzodiazepine at Discharge"\n
\n \n \n
\n
" - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } - } ], - "version": "2.0.000", - "name": "EXM506_FHIR3", + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1125.1", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1", + "title": "Schedule IV Benzodiazepines", "status": "active", - "experimental": true, - "type": { - "coding": [ { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" + "publisher": "Mathematica", + "compose": { + "include": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "version": "2019-11", + "concept": [ { + "code": "1298088", + "display": "Flurazepam Hydrochloride 15 MG Oral Capsule" + }, { + "code": "1298091", + "display": "Flurazepam Hydrochloride 30 MG Oral Capsule" + }, { + "code": "1366192", + "display": "clobazam 2.5 MG/ML Oral Suspension" + }, { + "code": "1551393", + "display": "2 ML Midazolam 5 MG/ML Prefilled Syringe" + }, { + "code": "1551395", + "display": "1 ML Midazolam 5 MG/ML Prefilled Syringe" + }, { + "code": "1665188", + "display": "1 ML Lorazepam 2 MG/ML Injection" + }, { + "code": "1665326", + "display": "1 ML Lorazepam 4 MG/ML Injection" + }, { + "code": "1666777", + "display": "2 ML Midazolam 1 MG/ML Cartridge" + }, { + "code": "1666798", + "display": "2 ML Midazolam 1 MG/ML Injection" + }, { + "code": "1666800", + "display": "5 ML Midazolam 1 MG/ML Injection" + }, { + "code": "1666814", + "display": "1 ML Midazolam 5 MG/ML Injection" + }, { + "code": "1666821", + "display": "1 ML Midazolam 5 MG/ML Cartridge" + }, { + "code": "1666823", + "display": "2 ML Midazolam 5 MG/ML Injection" + }, { + "code": "197321", + "display": "Alprazolam 1 MG Oral Tablet" + }, { + "code": "197322", + "display": "Alprazolam 2 MG Oral Tablet" + }, { + "code": "197464", + "display": "Clorazepate Dipotassium 15 MG Oral Tablet" + }, { + "code": "197465", + "display": "Clorazepate Dipotassium 3.75 MG Oral Tablet" + }, { + "code": "197466", + "display": "Clorazepate Dipotassium 7.5 MG Oral Tablet" + }, { + "code": "197527", + "display": "Clonazepam 0.5 MG Oral Tablet" + }, { + "code": "197528", + "display": "Clonazepam 1 MG Oral Tablet" + }, { + "code": "197529", + "display": "Clonazepam 2 MG Oral Tablet" + }, { + "code": "197589", + "display": "Diazepam 10 MG Oral Tablet" + }, { + "code": "197590", + "display": "Diazepam 2 MG Oral Tablet" + }, { + "code": "197591", + "display": "Diazepam 5 MG Oral Tablet" + }, { + "code": "197653", + "display": "Estazolam 1 MG Oral Tablet" + }, { + "code": "197654", + "display": "Estazolam 2 MG Oral Tablet" + }, { + "code": "197900", + "display": "Lorazepam 0.5 MG Oral Tablet" + }, { + "code": "197901", + "display": "Lorazepam 1 MG Oral Tablet" + }, { + "code": "197902", + "display": "Lorazepam 2 MG Oral Tablet" + }, { + "code": "198057", + "display": "Oxazepam 10 MG Oral Capsule" + }, { + "code": "198059", + "display": "Oxazepam 30 MG Oral Capsule" + }, { + "code": "198183", + "display": "quazepam 15 MG Oral Tablet" + }, { + "code": "198241", + "display": "Temazepam 15 MG Oral Capsule" + }, { + "code": "198242", + "display": "Temazepam 30 MG Oral Capsule" + }, { + "code": "198243", + "display": "Temazepam 7.5 MG Oral Capsule" + }, { + "code": "198317", + "display": "Triazolam 0.125 MG Oral Tablet" + }, { + "code": "198318", + "display": "Triazolam 0.25 MG Oral Tablet" + }, { + "code": "199273", + "display": "Temazepam 10 MG Oral Capsule" + }, { + "code": "199275", + "display": "Lorazepam 2.5 MG Oral Tablet" + }, { + "code": "199278", + "display": "Temazepam 20 MG Oral Capsule" + }, { + "code": "199450", + "display": "clobazam 10 MG Oral Tablet" + }, { + "code": "199775", + "display": "Midazolam 7.5 MG Oral Tablet" + }, { + "code": "199975", + "display": "Temazepam 10 MG Oral Tablet" + }, { + "code": "204892", + "display": "Clonazepam 0.25 MG Oral Tablet" + }, { + "code": "238100", + "display": "Lorazepam 2 MG/ML Injectable Solution" + }, { + "code": "238101", + "display": "Lorazepam 4 MG/ML Injectable Solution" + }, { + "code": "246172", + "display": "clobazam 20 MG Oral Tablet" + }, { + "code": "308047", + "display": "Alprazolam 0.25 MG Oral Tablet" + }, { + "code": "308048", + "display": "Alprazolam 0.5 MG Oral Tablet" + }, { + "code": "308050", + "display": "Alprazolam 1 MG/ML Oral Solution" + }, { + "code": "309843", + "display": "Diazepam 1 MG/ML Oral Solution" + }, { + "code": "309844", + "display": "Diazepam 5 MG/ML Oral Solution" + }, { + "code": "309845", + "display": "Diazepam 5 MG/ML Injectable Solution" + }, { + "code": "311376", + "display": "Lorazepam 2 MG/ML Oral Solution" + }, { + "code": "311700", + "display": "Midazolam 1 MG/ML Injectable Solution" + }, { + "code": "311702", + "display": "Midazolam 5 MG/ML Injectable Solution" + }, { + "code": "312133", + "display": "Oxazepam 10 MG Oral Tablet" + }, { + "code": "312134", + "display": "Oxazepam 15 MG Oral Capsule" + }, { + "code": "312135", + "display": "Oxazepam 30 MG Oral Tablet" + }, { + "code": "349194", + "display": "Clonazepam 0.125 MG Disintegrating Oral Tablet" + }, { + "code": "349195", + "display": "Clonazepam 0.25 MG Disintegrating Oral Tablet" + }, { + "code": "349196", + "display": "Clonazepam 1 MG Disintegrating Oral Tablet" + }, { + "code": "349197", + "display": "Clonazepam 2 MG Disintegrating Oral Tablet" + }, { + "code": "349198", + "display": "Clonazepam 0.5 MG Disintegrating Oral Tablet" + }, { + "code": "422410", + "display": "Midazolam 2 MG/ML Oral Solution" + }, { + "code": "433798", + "display": "24 HR Alprazolam 0.5 MG Extended Release Oral Tablet" + }, { + "code": "433799", + "display": "24 HR Alprazolam 2 MG Extended Release Oral Tablet" + }, { + "code": "433800", + "display": "24 HR Alprazolam 1 MG Extended Release Oral Tablet" + }, { + "code": "433801", + "display": "24 HR Alprazolam 3 MG Extended Release Oral Tablet" + }, { + "code": "485413", + "display": "Alprazolam 0.25 MG Disintegrating Oral Tablet" + }, { + "code": "485414", + "display": "Alprazolam 1 MG Disintegrating Oral Tablet" + }, { + "code": "485415", + "display": "Alprazolam 0.5 MG Disintegrating Oral Tablet" + }, { + "code": "485416", + "display": "Alprazolam 2 MG Disintegrating Oral Tablet" + }, { + "code": "485489", + "display": "Temazepam 22.5 MG Oral Capsule" + }, { + "code": "618737", + "display": "Clorazepate Dipotassium 5 MG Oral Capsule" + }, { + "code": "763028", + "display": "1 ML Lorazepam 2 MG/ML Cartridge" + }, { + "code": "763029", + "display": "1 ML Lorazepam 4 MG/ML Cartridge" + }, { + "code": "801957", + "display": "0.5 ML Diazepam 5 MG/ML Rectal Gel" + }, { + "code": "801961", + "display": "2 ML Diazepam 5 MG/ML Rectal Gel" + }, { + "code": "801966", + "display": "4 ML Diazepam 5 MG/ML Rectal Gel" + }, { + "code": "856769", + "display": "Amitriptyline Hydrochloride 12.5 MG / Chlordiazepoxide 5 MG Oral Tablet" + }, { + "code": "856792", + "display": "Amitriptyline Hydrochloride 25 MG / Chlordiazepoxide 10 MG Oral Tablet" + }, { + "code": "889614", + "display": "Chlordiazepoxide Hydrochloride 5 MG / Clidinium bromide 2.5 MG Oral Capsule" + }, { + "code": "905369", + "display": "Chlordiazepoxide Hydrochloride 10 MG Oral Capsule" + }, { + "code": "905495", + "display": "Chlordiazepoxide Hydrochloride 25 MG Oral Capsule" + }, { + "code": "905516", + "display": "Chlordiazepoxide Hydrochloride 5 MG Oral Capsule" + }, { + "code": "998211", + "display": "2 ML Midazolam 1 MG/ML Prefilled Syringe" + } ] } ] - }, - "content": [ { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE01MDZfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKY29kZXN5c3RlbSAiRGlhZ25vc2lzIFJvbGUiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZScKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5vcmcnCmNvZGVzeXN0ZW0gIlJlcXVlc3RJbnRlbnQiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCcKY29kZXN5c3RlbSAiTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL21lZGljYXRpb24tcmVxdWVzdC1jYXRlZ29yeScKCnZhbHVlc2V0ICJBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciI6ICAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE2MScKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkhvc3BpY2UgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4zMTU3LjEwMDQuMjAnCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlBhbGxpYXRpdmUgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTYyJwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiU2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzIjogICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMicKdmFsdWVzZXQgIlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMScKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiT3JkZXIiOiAnb3JkZXInIGZyb20gIlJlcXVlc3RJbnRlbnQiIGRpc3BsYXkgJ09yZGVyJwpjb2RlICJDb21tdW5pdHkiOiAnY29tbXVuaXR5JyBmcm9tICJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IiBkaXNwbGF5ICdDb21tdW5pdHknCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgICBkZWZhdWx0IEludGVydmFsW0AyMDE5LTAxLTAxVDAwOjAwOjAwLjAsIEAyMDIwLTAxLTAxVDAwOjAwOjAwLjApCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiOgoJWyJFbmNvdW50ZXIiOiAiRW5jb3VudGVyIElucGF0aWVudCJdIEVuY291bnRlcklucGF0aWVudAoJCXdoZXJlIEVuY291bnRlcklucGF0aWVudC5zdGF0dXMgPSAnZmluaXNoZWQnCgkJICBhbmQgR2xvYmFsLiJMZW5ndGhJbkRheXMiKEVuY291bnRlcklucGF0aWVudC5wZXJpb2QpIDw9IDEyMAoJCQlhbmQgRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICBhbmQgR2xvYmFsLkNhbGVuZGFyQWdlSW5ZZWFyc0F0KFRvRGF0ZVRpbWUoUGF0aWVudC5iaXJ0aERhdGUpLCBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEVuY291bnRlcklucGF0aWVudC5wZXJpb2QpKSA+PSAxOAoKLy8gRGVmaW5lcyB0byBjYXB0dXJlIHRoZSByZWxldmFudCBpbmZvcm1hdGlvbiB0aGF0IGNhbiBiZSByZXVzZWQKZGVmaW5lICJPcGlvaWQgUHJlc2NyaXB0aW9uIjoKICBbTWVkaWNhdGlvblJlcXVlc3Q6IG1lZGljYXRpb24gaW4gIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZE1lZGljYXRpb25SZXF1ZXN0CiAgICB3aGVyZSBPcGlvaWRNZWRpY2F0aW9uUmVxdWVzdC5zdGF0dXMgaW4geyAnYWN0aXZlJywgJ2NvbXBsZXRlZCcgfQogICAgICBhbmQgT3Bpb2lkTWVkaWNhdGlvblJlcXVlc3QuaW50ZW50ID0gJ29yZGVyJwogICAgICBhbmQgT3Bpb2lkTWVkaWNhdGlvblJlcXVlc3QuY2F0ZWdvcnkgfiBUb0NvbmNlcHQoIkNvbW11bml0eSIpCgpkZWZpbmUgIkJlbnpvZGlhemVwaW5lIFByZXNjcmlwdGlvbiI6CiAgW01lZGljYXRpb25SZXF1ZXN0OiBtZWRpY2F0aW9uIGluICJTY2hlZHVsZSBJViBCZW56b2RpYXplcGluZXMiXSBCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0CiAgICB3aGVyZSBCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0LnN0YXR1cyBpbiB7ICdhY3RpdmUnLCAnY29tcGxldGVkJyB9CiAgICAgIGFuZCBCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0LmludGVudCA9ICdvcmRlcicKICAgICAgYW5kIEJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3QuY2F0ZWdvcnkgfiBUb0NvbmNlcHQoIkNvbW11bml0eSIpCgovLyBUaGlzIHdhcyBvcmlnaW5hbGx5IHdyaXR0ZW4gYXMgYW4gaW50ZXJzZWN0LCBidXQgdGhlIGRlc2NyaXB0aW9uIGluZGljYXRlcyBlaXRoZXIsIHNvIGl0IHNob3VsZCBiZSBhIHVuaW9uLi4uCmRlZmluZSAiRW5jb3VudGVyIHdpdGggYW4gT3Bpb2lkIG9yIEJlbnpvZGlhemVwaW5lIGF0IERpc2NoYXJnZSI6CiAgKAogICAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICAgICAgd2l0aCAiT3Bpb2lkIFByZXNjcmlwdGlvbiIgT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgICAgc3VjaCB0aGF0IE9waW9pZFByZXNjcmlwdGlvbi5hdXRob3JlZE9uIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICApCiAgdW5pb24gKAogICAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICAgICAgd2l0aCAiQmVuem9kaWF6ZXBpbmUgUHJlc2NyaXB0aW9uIiBCZW56b2RpYXplcGluZVByZXNjcmlwdGlvbgogICAgICAgIHN1Y2ggdGhhdCBCZW56b2RpYXplcGluZVByZXNjcmlwdGlvbi5hdXRob3JlZE9uIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICApCgovKgpkZWZpbmUgIkVuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiOgoJKAoJCSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCgkJd2l0aCBbTWVkaWNhdGlvblJlcXVlc3Q6IG1lZGljYXRpb24gaW4gIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZHNEaXNjaGFyZ2UKICAgIAlzdWNoIHRoYXQgT3Bpb2lkc0Rpc2NoYXJnZS5hdXRob3JlZE9uIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICAJCWFuZCBPcGlvaWRzRGlzY2hhcmdlLmludGVudCA9ICdvcmRlcicKCSkKICAvL01lYXN1cmUgUmV2aWV3OgogIC8vVGhlIHByaW9yIGltcGxlbWVudGF0aW9uIHdhcyByZXN0cmljdGluZyAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiCiAgLy90byBib3RoIE9waW9pZCBBTkQgQmVuem9kaWF6ZXBpbmUgYXQgZGlzY2hhcmdlLgogIC8vVGhlIGZvbGxvd2luZyBpbXBsZW1lbnRhdGlvbiByZXN0cmljdHMgaXQgdG8gT3Bpb2lkIE9SIEJlbnpvZGlhemVwaW5lLCBwZXIgdGhlIGRlc2NyaXB0aW9uLgogIC8vTmVlZCB2YWxpZGF0aW9uIGZyb20gdGhlIG1lYXN1cmUgZGV2ZWxvcGVycyB0aGF0IHRoaXMgbWVldHMgdGhlIGl0ZW50IG9mIHRoZSBzcGVjLgoJCXVuaW9uICgKICAgICAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKCSAgICB3aXRoIFtNZWRpY2F0aW9uUmVxdWVzdDogbWVkaWNhdGlvbiBpbiAiU2NoZWR1bGUgSVYgQmVuem9kaWF6ZXBpbmVzIl0gQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UKCSAgICAgc3VjaCB0aGF0IEJlbnpvZGlhemVwaW5lRGlzY2hhcmdlLmF1dGhvcmVkT24gZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICAJICBhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuaW50ZW50ID0gJ29yZGVyJwoJCSApCiovCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CiAgIkVuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKICAiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJEaWFnbm9zaXMgb2YgUHJpbWFyeSBvciBTZWNvbmRhcnkgQ2FuY2VyIjoKICBbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIkFsbCBQcmltYXJ5IGFuZCBTZWNvbmRhcnkgQ2FuY2VyIl0gQ2FuY2VyCiAgICB3aGVyZSBDYW5jZXIuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJwogICAgICBhbmQgQ2FuY2VyLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCgpkZWZpbmUgIlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIE9yZGVyIjoKICAoWyJQcm9jZWR1cmVSZXF1ZXN0IjogIlBhbGxpYXRpdmUgQ2FyZSJdCiAgICB1bmlvbiBbIlByb2NlZHVyZVJlcXVlc3QiOiAiSG9zcGljZSBDYXJlIl0KICApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlCiAgICB3aGVyZSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZS5zdGF0dXMgaW4geyAnYWN0aXZlJywgJ2NvbXBsZXRlZCcgfQogICAgICBhbmQgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUuaW50ZW50ID0gJ29yZGVyJwoKZGVmaW5lICJQYWxsaWF0aXZlIG9yIEhvc3BpY2UgQ2FyZSBQcm9jZWR1cmUiOgogIChbIlByb2NlZHVyZSI6ICJQYWxsaWF0aXZlIENhcmUiXQogICAgdW5pb24gWyJQcm9jZWR1cmUiOiAiSG9zcGljZSBDYXJlIl0KICApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlCiAgICB3aGVyZSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZS5zdGF0dXMgPSAnY29tcGxldGVkJwoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgogICgiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIElucGF0aWVudEVuY291bnRlcgogICAgd2l0aCAiRGlhZ25vc2lzIG9mIFByaW1hcnkgb3IgU2Vjb25kYXJ5IENhbmNlciIgQ2FuY2VyCiAgICAgIHN1Y2ggdGhhdCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoQ2FuY2VyLm9uc2V0KSBvdmVybGFwcyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgKQogICAgdW5pb24gKCJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCiAgICAgIHdpdGggIlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIE9yZGVyIiBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyCiAgICAgICAgc3VjaCB0aGF0IFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlT3JkZXIuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgKQogICAgdW5pb24gKCJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCiAgICAgIHdpdGggIlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIFByb2NlZHVyZSIgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUKICAgICAgICBzdWNoIHRoYXQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlLnBlcmZvcm1lZCkgZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICkKCi8qCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6CgkoIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKCXdpdGggW0NvbmRpdGlvbjogY29kZSBpbiAiQWxsIFByaW1hcnkgYW5kIFNlY29uZGFyeSBDYW5jZXIiXUNhbmNlcgogICAgICAgc3VjaCB0aGF0IENhbmNlci5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnCiAgICAgICBhbmQgQ2FuY2VyLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCiAgICAgICBhbmQgQ2FuY2VyLm9uc2V0IG92ZXJsYXBzIElucGF0aWVudEVuY291bnRlci5wZXJpb2QpCgkJdW5pb24gKCJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCiAgICAgIHdpdGggKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJQYWxsaWF0aXZlIENhcmUiXQoJCQl1bmlvbiBbIlByb2NlZHVyZVJlcXVlc3QiOiAiSG9zcGljZSBDYXJlIl0gKSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyCgkJCXN1Y2ggdGhhdCAgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlci5pbnRlbnQgPSAnb3JkZXInCiAgICAgIGFuZCBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyLmF1dGhvcmVkT24gZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QpCiAgICB1bmlvbiAoIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICB3aXRoICAoWyJQcm9jZWR1cmUiOiAiUGFsbGlhdGl2ZSBDYXJlIl0KICAgIAl1bmlvbiBbIlByb2NlZHVyZSI6ICJIb3NwaWNlIENhcmUiXSApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlUGVyZm9ybWVkCiAgICAJCQkJCXN1Y2ggdGhhdCBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZVBlcmZvcm1lZC5wZXJmb3JtZWQgb3ZlcmxhcHMgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZCkKKi8KCmRlZmluZSAiRW5jb3VudGVyIHdpdGggYSBDb25jdXJyZW50IE9waW9pZCBhbmQgQmVuem9kaWF6ZXBpbmUgYXQgRGlzY2hhcmdlIjoKICAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIElucGF0aWVudEVuY291bnRlcgogICAgd2l0aCAiT3Bpb2lkIFByZXNjcmlwdGlvbiIgT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgIHN1Y2ggdGhhdCBPcGlvaWRQcmVzY3JpcHRpb24uYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgd2l0aCAiQmVuem9kaWF6ZXBpbmUgUHJlc2NyaXB0aW9uIiBCZW56b2RpYXplcGluZVByZXNjcmlwdGlvbgogICAgICBzdWNoIHRoYXQgQmVuem9kaWF6ZXBpbmVQcmVzY3JpcHRpb24uYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAoKLyoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBhIENvbmN1cnJlbnQgT3Bpb2lkIGFuZCBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiOgoJZnJvbSAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIElucGF0aWVudEVuY291bnRlciwKCQlbTWVkaWNhdGlvblJlcXVlc3Q6ICJTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMiXSBPcGlvaWRzRGlzY2hhcmdlLAoJCVtNZWRpY2F0aW9uUmVxdWVzdDogIlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyJdIEJlbnpvZGlhemVwaW5lRGlzY2hhcmdlCgkJCXdoZXJlIE9waW9pZHNEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAoJICAgIAlhbmQgT3Bpb2lkc0Rpc2NoYXJnZS5pbnRlbnQgPSAnb3JkZXInCgkJCQlhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgICAgIGFuZCBCZW56b2RpYXplcGluZURpc2NoYXJnZS5pbnRlbnQgPSAnb3JkZXInCgkJCXJldHVybiBJbnBhdGllbnRFbmNvdW50ZXIKKi8KCmRlZmluZSAiRW5jb3VudGVyIHdpdGggVHdvIG9yIE1vcmUgQ29uY3VycmVudCBPcGlvaWRzIGF0IERpc2NoYXJnZSI6CiAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICAgIHdoZXJlIENvdW50KAogICAgICAiT3Bpb2lkIFByZXNjcmlwdGlvbiIgT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgICAgd2hlcmUgT3Bpb2lkUHJlc2NyaXB0aW9uLmF1dGhvcmVkT24gZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICkgPj0gMgoKLyoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBUd28gb3IgTW9yZSBDb25jdXJyZW50IE9waW9pZHMgYXQgRGlzY2hhcmdlIjoKCSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCgkJd2hlcmUgQ291bnQoCgkJCVtNZWRpY2F0aW9uUmVxdWVzdDogIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZHMKCQkJCXdoZXJlIE9waW9pZHMuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAoJCSkgPj0gMgoqLwoKZGVmaW5lICJOdW1lcmF0b3IiOgogICJFbmNvdW50ZXIgd2l0aCBUd28gb3IgTW9yZSBDb25jdXJyZW50IE9waW9pZHMgYXQgRGlzY2hhcmdlIgogICAgdW5pb24gIkVuY291bnRlciB3aXRoIGEgQ29uY3VycmVudCBPcGlvaWQgYW5kIEJlbnpvZGlhemVwaW5lIGF0IERpc2NoYXJnZSIK" - } ] + } }, "request": { "method": "PUT", - "url": "Library/library-EXM506-FHIR3-2.0.000" + "url": "ValueSet/2.16.840.1.113762.1.4.1125.1" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.292", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292", + "title": "Emergency Department Visit", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "4525004", + "display": "Emergency department patient visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.292" } }, { "resource": { @@ -390,398 +661,2653 @@ } }, { "resource": { - "resourceType": "Patient", - "id": "denom-EXM506-FHIR3", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2054-5", - "display": "Black or African American" - } - } ] - }, { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2135-2", - "display": "Hispanic or Latino" - } - } ] - } ], - "identifier": [ { - "use": "usual", - "type": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "MR", - "display": "Medical Record Number" + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1111.143", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143", + "title": "Observation Services", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-09", + "concept": [ { + "code": "448851000124103", + "display": "Hospital admission from observation unit (procedure)" + }, { + "code": "448951000124107", + "display": "Admission to observation unit (procedure)" + }, { + "code": "76464004", + "display": "Hospital admission, for observation (procedure)" } ] - }, - "system": "http://hospital.smarthealthit.org", - "value": "9999999910" - } ], - "name": [ { - "family": "Jones", - "given": [ "Rick" ] - } ], - "gender": "male", - "birthDate": "1955-11-05" + } ] + } }, "request": { "method": "PUT", - "url": "Patient/denom-EXM506-FHIR3" + "url": "ValueSet/2.16.840.1.113762.1.4.1111.143" } }, { "resource": { - "resourceType": "Bundle", - "id": "tests-Encounter-bundle", - "type": "transaction", - "entry": [ { - "resource": { - "resourceType": "Encounter", - "id": "numer-EXM506-FHIR3-2", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] - }, - "status": "finished", - "class": { - "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", - "code": "IMP", - "display": "inpatient encounter" - }, - "type": [ { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "32485007", - "display": "Hospital admission (procedure)" - } ] - } ], - "subject": { - "reference": "Patient/numer-EXM506-FHIR3" - }, - "period": { - "start": "2019-08-21T00:00:00-06:00", - "end": "2019-12-18T08:15:00-07:00" - }, - "diagnosis": [ { - "condition": { - "reference": "Condition/numer-EXM506-FHIR3-1" - }, - "role": { - "coding": [ { - "system": "http://hl7.org/fhir/diagnosis-role", - "code": "billing", - "display": "Billing" - } ] - }, - "rank": 1 - } ], - "hospitalization": { - "dischargeDisposition": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "306701001", - "display": "Discharge to community hospital (procedure)" - } ] - } - } - }, - "request": { - "method": "PUT", - "url": "Encounter/numer-EXM506-FHIR3-2" - } - } ] + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1111.162", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162", + "title": "Palliative Care", + "status": "active", + "publisher": "Lantana", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-09", + "concept": [ { + "code": "305496007", + "display": "Under care of palliative care physician (finding)" + } ] + } ] + } }, "request": { "method": "PUT", - "url": "tests-Encounter-bundle" + "url": "ValueSet/2.16.840.1.113762.1.4.1111.162" } }, { "resource": { - "resourceType": "Patient", - "id": "numer-EXM506-FHIR3", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2106-3", - "display": "White" - } - } ] - }, { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2186-5", - "display": "Not Hispanic or Latino" - } - } ] - } ], - "identifier": [ { - "use": "usual", - "type": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "MR", - "display": "Medical Record Number" - } ] - }, - "system": "http://hospital.smarthealthit.org", - "value": "9999999911" - } ], - "name": [ { - "family": "Jones", - "given": [ "Louise" ] - } ], - "gender": "female", - "birthDate": "1971-11-21" - }, - "request": { - "method": "PUT", - "url": "Patient/numer-EXM506-FHIR3" - } - }, { - "resource": { - "resourceType": "MedicationRequest", - "id": "numer-EXM506-FHIR3-7", - "status": "completed", - "intent": "order", - "category": { - "coding": [ { - "system": "http://hl7.org/fhir/medication-request-category", - "code": "community", - "display": "Community" - } ] - }, - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010600", - "display": "Buprenorphine 2 MG / Naloxone 0.5 MG Oral Strip" - } ] - }, - "subject": { - "reference": "Patient/numer-EXM506-FHIR3" - }, - "authoredOn": "2019-08-21T00:00:00-08:00" - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/numer-EXM506-FHIR3-7" - } - }, { - "resource": { - "resourceType": "MedicationRequest", - "id": "numer-EXM506-FHIR3-6", - "status": "completed", - "intent": "order", - "category": { - "coding": [ { - "system": "http://hl7.org/fhir/medication-request-category", - "code": "community", - "display": "Community" - } ] - }, - "medicationCodeableConcept": { - "coding": [ { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1125.2", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2", + "title": "Schedule II and Schedule III Opioids", + "status": "active", + "publisher": "Mathematica", + "compose": { + "include": [ { "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1666777", - "display": "2 ML Midazolam 1 MG/ML Cartridge" - } ] - }, - "subject": { - "reference": "Patient/numer-EXM506-FHIR3" - }, - "authoredOn": "2019-12-18T08:14:00-07:00" - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/numer-EXM506-FHIR3-6" - } - }, { - "resource": { - "resourceType": "MeasureReport", - "id": "measurereport-numer-EXM506-FHIR3", - "contained": [ { - "resourceType": "Bundle", - "id": "4bc15806-5411-4411-9fd0-cb9a9058525b", - "type": "collection", - "entry": [ { - "fullUrl": "Encounter/numer-EXM506-FHIR3-2", - "resource": { - "resourceType": "Encounter", - "id": "numer-EXM506-FHIR3-2", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] - }, - "status": "finished", - "class": { - "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", - "code": "IMP", - "display": "inpatient encounter" - }, - "type": [ { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "32485007", - "display": "Hospital admission (procedure)" - } ] - } ], - "subject": { - "reference": "Patient/numer-EXM506-FHIR3" - }, - "period": { - "start": "2019-08-21T00:00:00-06:00", - "end": "2019-12-18T08:15:00-07:00" - }, - "diagnosis": [ { - "condition": { - "reference": "Condition/numer-EXM506-FHIR3-1" - }, - "role": { - "coding": [ { - "system": "http://hl7.org/fhir/diagnosis-role", - "code": "billing", - "display": "Billing" - } ] - }, - "rank": 1 - } ], - "hospitalization": { - "dischargeDisposition": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "306701001", - "display": "Discharge to community hospital (procedure)" - } ] - } - } - } - }, { - "fullUrl": "MedicationRequest/numer-EXM506-FHIR3-5", - "resource": { - "resourceType": "MedicationRequest", - "id": "numer-EXM506-FHIR3-5", - "meta": { }, - "status": "completed", - "intent": "order", - "category": { - "coding": [ { - "system": "http://hl7.org/fhir/medication-request-category", - "code": "community", - "display": "Community" - } ] - }, - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "892516", - "display": "Morphine Sulfate 10 MG Rectal Suppository" - } ] - }, - "subject": { - "reference": "Patient/numer-EXM506-FHIR3" - }, - "authoredOn": "2019-08-21T00:00:00-07:00" - } - }, { - "fullUrl": "MedicationRequest/numer-EXM506-FHIR3-6", - "resource": { - "resourceType": "MedicationRequest", - "id": "numer-EXM506-FHIR3-6", - "meta": { }, - "status": "completed", - "intent": "order", - "category": { - "coding": [ { - "system": "http://hl7.org/fhir/medication-request-category", - "code": "community", - "display": "Community" - } ] - }, - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1666777", - "display": "2 ML Midazolam 1 MG/ML Cartridge" - } ] - }, - "subject": { - "reference": "Patient/numer-EXM506-FHIR3" - }, - "authoredOn": "2019-12-18T08:14:00-07:00" - } - }, { - "fullUrl": "MedicationRequest/numer-EXM506-FHIR3-7", - "resource": { - "resourceType": "MedicationRequest", - "id": "numer-EXM506-FHIR3-7", - "meta": { }, - "status": "completed", - "intent": "order", - "category": { - "coding": [ { - "system": "http://hl7.org/fhir/medication-request-category", - "code": "community", - "display": "Community" - } ] - }, - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "1010600", - "display": "Buprenorphine 2 MG / Naloxone 0.5 MG Oral Strip" - } ] - }, - "subject": { - "reference": "Patient/numer-EXM506-FHIR3" - }, - "authoredOn": "2019-08-21T00:00:00-08:00" - } - }, { - "fullUrl": "Patient/numer-EXM506-FHIR3", - "resource": { - "resourceType": "Patient", - "id": "numer-EXM506-FHIR3", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] - }, - "extension": [ { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2106-3", - "display": "White" - } - } ] - }, { - "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", - "extension": [ { - "url": "ombCategory", - "valueCoding": { - "system": "urn:oid:2.16.840.1.113883.6.238", - "code": "2186-5", - "display": "Not Hispanic or Latino" - } - } ] - } ], + "version": "2019-11", + "concept": [ { + "code": "1010600", + "display": "Buprenorphine 2 MG / Naloxone 0.5 MG Oral Strip" + }, { + "code": "1010604", + "display": "Buprenorphine 8 MG / Naloxone 2 MG Oral Strip" + }, { + "code": "1014599", + "display": "Acetaminophen 300 MG / Oxycodone Hydrochloride 10 MG Oral Tablet" + }, { + "code": "1014615", + "display": "Acetaminophen 300 MG / Oxycodone Hydrochloride 5 MG Oral Tablet" + }, { + "code": "1014632", + "display": "Acetaminophen 300 MG / Oxycodone Hydrochloride 7.5 MG Oral Tablet" + }, { + "code": "1037259", + "display": "Acetaminophen 300 MG / Oxycodone Hydrochloride 2.5 MG Oral Tablet" + }, { + "code": "1042693", + "display": "Chlorpheniramine Maleate 0.4 MG/ML / Codeine Phosphate 2 MG/ML / Phenylephrine Hydrochloride 1 MG/ML Oral Solution" + }, { + "code": "1044427", + "display": "Acetaminophen 20 MG/ML / Hydrocodone Bitartrate 0.667 MG/ML Oral Solution" + }, { + "code": "1049214", + "display": "Acetaminophen 325 MG / Oxycodone Hydrochloride 10 MG Oral Tablet" + }, { + "code": "1049221", + "display": "Acetaminophen 325 MG / Oxycodone Hydrochloride 5 MG Oral Tablet" + }, { + "code": "1049225", + "display": "Acetaminophen 325 MG / Oxycodone Hydrochloride 7.5 MG Oral Tablet" + }, { + "code": "1049251", + "display": "Acetaminophen 400 MG / Oxycodone Hydrochloride 10 MG Oral Tablet" + }, { + "code": "1049260", + "display": "Acetaminophen 400 MG / Oxycodone Hydrochloride 5 MG Oral Tablet" + }, { + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + }, { + "code": "1049543", + "display": "12 HR Oxycodone Hydrochloride 15 MG Extended Release Oral Tablet" + }, { + "code": "1049563", + "display": "12 HR Oxycodone Hydrochloride 20 MG Extended Release Oral Tablet" + }, { + "code": "1049574", + "display": "12 HR Oxycodone Hydrochloride 30 MG Extended Release Oral Tablet" + }, { + "code": "1049580", + "display": "Acetaminophen 65 MG/ML / Oxycodone Hydrochloride 1 MG/ML Oral Solution" + }, { + "code": "1049584", + "display": "12 HR Oxycodone Hydrochloride 40 MG Extended Release Oral Tablet" + }, { + "code": "1049589", + "display": "Ibuprofen 400 MG / Oxycodone Hydrochloride 5 MG Oral Tablet" + }, { + "code": "1049593", + "display": "12 HR Oxycodone Hydrochloride 60 MG Extended Release Oral Tablet" + }, { + "code": "1049599", + "display": "12 HR Oxycodone Hydrochloride 80 MG Extended Release Oral Tablet" + }, { + "code": "1049604", + "display": "Oxycodone Hydrochloride 1 MG/ML Oral Solution" + }, { + "code": "1049611", + "display": "Oxycodone Hydrochloride 15 MG Oral Tablet" + }, { + "code": "1049615", + "display": "Oxycodone Hydrochloride 20 MG/ML Oral Solution" + }, { + "code": "1049618", + "display": "Oxycodone Hydrochloride 30 MG Oral Tablet" + }, { + "code": "1049621", + "display": "Oxycodone Hydrochloride 5 MG Oral Tablet" + }, { + "code": "1049635", + "display": "Acetaminophen 325 MG / Oxycodone Hydrochloride 2.5 MG Oral Tablet" + }, { + "code": "1049683", + "display": "Oxycodone Hydrochloride 10 MG Oral Tablet" + }, { + "code": "1049686", + "display": "Oxycodone Hydrochloride 20 MG Oral Tablet" + }, { + "code": "1049691", + "display": "Aspirin 325 MG / Oxycodone Hydrochloride 5 MG Oral Tablet" + }, { + "code": "1049696", + "display": "Oxycodone Hydrochloride 5 MG Oral Capsule" + }, { + "code": "1053647", + "display": "Fentanyl 0.1 MG Sublingual Tablet" + }, { + "code": "1053652", + "display": "Fentanyl 0.2 MG Sublingual Tablet" + }, { + "code": "1053655", + "display": "Fentanyl 0.3 MG Sublingual Tablet" + }, { + "code": "1053658", + "display": "Fentanyl 0.4 MG Sublingual Tablet" + }, { + "code": "1053661", + "display": "Fentanyl 0.6 MG Sublingual Tablet" + }, { + "code": "1053664", + "display": "Fentanyl 0.8 MG Sublingual Tablet" + }, { + "code": "1087459", + "display": "12 HR CHLORPHENIRAMINE POLISTIREX 1.6 MG/ML / HYDROCODONE POLISTIREX 2 MG/ML Extended Release Suspension" + }, { + "code": "1089055", + "display": "Codeine Phosphate 10 MG / Guaifenesin 400 MG / Pseudoephedrine Hydrochloride 20 MG Oral Tablet" + }, { + "code": "1089058", + "display": "Codeine Phosphate 10 MG / Guaifenesin 400 MG / Pseudoephedrine Hydrochloride 30 MG Oral Tablet" + }, { + "code": "1089061", + "display": "Codeine Phosphate 10 MG / Guaifenesin 400 MG / Pseudoephedrine Hydrochloride 40 MG Oral Tablet" + }, { + "code": "1089070", + "display": "Codeine Phosphate 10 MG / Guaifenesin 400 MG / Pseudoephedrine Hydrochloride 60 MG Oral Tablet" + }, { + "code": "1099711", + "display": "Codeine Phosphate 20 MG / Pseudoephedrine Hydrochloride 60 MG / Triprolidine Hydrochloride 4 MG Oral Tablet" + }, { + "code": "1112220", + "display": "Chlorpheniramine Maleate 0.8 MG/ML / Hydrocodone Bitartrate 1 MG/ML / Pseudoephedrine Hydrochloride 12 MG/ML Oral Solution" + }, { + "code": "1113314", + "display": "Oxycodone Hydrochloride 7.5 MG Oral Tablet" + }, { + "code": "1113417", + "display": "Chlorpheniramine Maleate 0.4 MG/ML / Codeine Phosphate 2 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "1113998", + "display": "Chlorpheniramine Maleate 0.4 MG/ML / Codeine Phosphate 1.6 MG/ML Oral Solution" + }, { + "code": "1114003", + "display": "Chlorpheniramine Maleate 0.4 MG/ML / Codeine Phosphate 1.6 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "1114026", + "display": "Codeine Phosphate 1.6 MG/ML / Guaifenesin 40 MG/ML Oral Solution" + }, { + "code": "1114110", + "display": "Codeine Phosphate 1.6 MG/ML / Guaifenesin 40 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "1114334", + "display": "Hydrocodone Bitartrate 1 MG/ML / Pseudoephedrine Hydrochloride 12 MG/ML Oral Solution" + }, { + "code": "1114878", + "display": "Codeine Phosphate 1.6 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "1115573", + "display": "Fentanyl 0.1 MG/ACTUAT Metered Dose Nasal Spray" + }, { + "code": "1115577", + "display": "Fentanyl 0.4 MG/ACTUAT Metered Dose Nasal Spray" + }, { + "code": "1148797", + "display": "12 HR tapentadol 100 MG Extended Release Oral Tablet" + }, { + "code": "1148800", + "display": "12 HR tapentadol 150 MG Extended Release Oral Tablet" + }, { + "code": "1148803", + "display": "12 HR tapentadol 200 MG Extended Release Oral Tablet" + }, { + "code": "1148807", + "display": "12 HR tapentadol 250 MG Extended Release Oral Tablet" + }, { + "code": "1148809", + "display": "12 HR tapentadol 50 MG Extended Release Oral Tablet" + }, { + "code": "1190580", + "display": "Codeine Phosphate 1.2 MG/ML / Dexbrompheniramine maleate 0.133 MG/ML / Pseudoephedrine Hydrochloride 4 MG/ML Oral Solution" + }, { + "code": "1232113", + "display": "1 ML Morphine Sulfate 15 MG/ML Prefilled Syringe" + }, { + "code": "1234872", + "display": "Aspirin 356.4 MG / Caffeine 30 MG / dihydrocodeine bitartrate 16 MG Oral Capsule" + }, { + "code": "1234941", + "display": "Chlorpheniramine Maleate 0.4 MG/ML / dihydrocodeine bitartrate 0.6 MG/ML / Phenylephrine Hydrochloride 1.5 MG/ML Oral Solution" + }, { + "code": "1235862", + "display": "Chlorcyclizine hydrochloride 2.5 MG/ML / Codeine Phosphate 1.8 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "1236239", + "display": "dihydrocodeine bitartrate 60 MG Oral Tablet" + }, { + "code": "1237050", + "display": "Fentanyl 0.1 MG/ACTUAT Mucosal Spray" + }, { + "code": "1237057", + "display": "Fentanyl 0.2 MG/ACTUAT Mucosal Spray" + }, { + "code": "1237060", + "display": "Fentanyl 0.4 MG/ACTUAT Mucosal Spray" + }, { + "code": "1237064", + "display": "Fentanyl 0.6 MG/ACTUAT Mucosal Spray" + }, { + "code": "1237068", + "display": "Fentanyl 0.8 MG/ACTUAT Mucosal Spray" + }, { + "code": "1303736", + "display": "Morphine Sulfate 40 MG Extended Release Oral Capsule" + }, { + "code": "1306898", + "display": "24 HR Hydromorphone Hydrochloride 32 MG Extended Release Oral Tablet" + }, { + "code": "1307056", + "display": "Buprenorphine 4 MG / Naloxone 1 MG Oral Strip" + }, { + "code": "1307061", + "display": "Buprenorphine 12 MG / Naloxone 3 MG Oral Strip" + }, { + "code": "1356797", + "display": "Brompheniramine Maleate 4 MG / Codeine Phosphate 10 MG / Phenylephrine Hydrochloride 10 MG Oral Tablet" + }, { + "code": "1356800", + "display": "Brompheniramine Maleate 4 MG / Codeine Phosphate 10 MG Oral Tablet" + }, { + "code": "1356804", + "display": "Brompheniramine Maleate 4 MG / Codeine Phosphate 20 MG / Phenylephrine Hydrochloride 10 MG Oral Tablet" + }, { + "code": "1356807", + "display": "Brompheniramine Maleate 4 MG / Codeine Phosphate 20 MG Oral Tablet" + }, { + "code": "1366873", + "display": "Hydrocodone Bitartrate 5 MG / Pseudoephedrine Hydrochloride 60 MG Oral Tablet" + }, { + "code": "1372265", + "display": "Chlorpheniramine Maleate 0.8 MG/ML / Hydrocodone Bitartrate 1 MG/ML Oral Solution" + }, { + "code": "1424295", + "display": "Acetaminophen 325 MG / Chlorpheniramine Maleate 2 MG / Codeine Phosphate 8 MG / Pseudoephedrine Hydrochloride 30 MG Oral Tablet" + }, { + "code": "1431076", + "display": "Buprenorphine 1.4 MG / Naloxone 0.36 MG Sublingual Tablet" + }, { + "code": "1431102", + "display": "Buprenorphine 5.7 MG / Naloxone 1.4 MG Sublingual Tablet" + }, { + "code": "1431286", + "display": "Acetaminophen 300 MG / butalbital 50 MG / Caffeine 40 MG / Codeine Phosphate 30 MG Oral Capsule" + }, { + "code": "1432969", + "display": "168 HR Buprenorphine 0.015 MG/HR Transdermal System" + }, { + "code": "1433251", + "display": "0.5 ML Hydromorphone Hydrochloride 1 MG/ML Prefilled Syringe" + }, { + "code": "1440003", + "display": "Codeine Phosphate 1.8 MG/ML / Dexchlorpheniramine maleate 0.2 MG/ML / Phenylephrine Hydrochloride 1 MG/ML Oral Solution" + }, { + "code": "1442790", + "display": "1 ML Morphine Sulfate 5 MG/ML Prefilled Syringe" + }, { + "code": "1491832", + "display": "12 HR Acetaminophen 325 MG / Oxycodone Hydrochloride 7.5 MG Extended Release Oral Tablet" + }, { + "code": "1541630", + "display": "Brompheniramine Maleate 0.8 MG/ML / Codeine Phosphate 2 MG/ML / Phenylephrine Hydrochloride 2 MG/ML Oral Solution" + }, { + "code": "1542390", + "display": "Buprenorphine 2.1 MG / Naloxone 0.3 MG Buccal Film" + }, { + "code": "1542997", + "display": "168 HR Buprenorphine 0.0075 MG/HR Transdermal System" + }, { + "code": "1544851", + "display": "Buprenorphine 4.2 MG / Naloxone 0.7 MG Buccal Film" + }, { + "code": "1544854", + "display": "Buprenorphine 6.3 MG / Naloxone 1 MG Buccal Film" + }, { + "code": "1595730", + "display": "Abuse-Deterrent 24 HR Hydrocodone Bitartrate 20 MG Extended Release Oral Tablet" + }, { + "code": "1595740", + "display": "Abuse-Deterrent 24 HR Hydrocodone Bitartrate 30 MG Extended Release Oral Tablet" + }, { + "code": "1595746", + "display": "Abuse-Deterrent 24 HR Hydrocodone Bitartrate 40 MG Extended Release Oral Tablet" + }, { + "code": "1595752", + "display": "Abuse-Deterrent 24 HR Hydrocodone Bitartrate 60 MG Extended Release Oral Tablet" + }, { + "code": "1595758", + "display": "Abuse-Deterrent 24 HR Hydrocodone Bitartrate 80 MG Extended Release Oral Tablet" + }, { + "code": "1595764", + "display": "Abuse-Deterrent 24 HR Hydrocodone Bitartrate 100 MG Extended Release Oral Tablet" + }, { + "code": "1595770", + "display": "Abuse-Deterrent 24 HR Hydrocodone Bitartrate 120 MG Extended Release Oral Tablet" + }, { + "code": "1596108", + "display": "Acetaminophen 320.5 MG / Caffeine 30 MG / dihydrocodeine bitartrate 16 MG Oral Capsule" + }, { + "code": "1597568", + "display": "Buprenorphine 11.4 MG / Naloxone 2.9 MG Sublingual Tablet" + }, { + "code": "1597573", + "display": "Buprenorphine 8.6 MG / Naloxone 2.1 MG Sublingual Tablet" + }, { + "code": "1603495", + "display": "72 HR Fentanyl 0.0375 MG/HR Transdermal System" + }, { + "code": "1603498", + "display": "72 HR Fentanyl 0.0625 MG/HR Transdermal System" + }, { + "code": "1603501", + "display": "72 HR Fentanyl 0.0875 MG/HR Transdermal System" + }, { + "code": "1651558", + "display": "Guaifenesin 40 MG/ML / Hydrocodone Bitartrate 0.5 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "1652087", + "display": "12 HR CHLORPHENIRAMINE POLISTIREX 0.8 MG/ML / CODEINE POLISTIREX 4 MG/ML Extended Release Suspension" + }, { + "code": "1655032", + "display": "1 ML Buprenorphine 0.3 MG/ML Cartridge" + }, { + "code": "1655058", + "display": "Meperidine Hydrochloride 150 MG Oral Tablet" + }, { + "code": "1655060", + "display": "Meperidine Hydrochloride 75 MG Oral Tablet" + }, { + "code": "1661319", + "display": "Codeine Phosphate 2 MG/ML / Phenylephrine Hydrochloride 2 MG/ML / Triprolidine Hydrochloride 0.5 MG/ML Oral Solution" + }, { + "code": "1664543", + "display": "12 HR Chlorpheniramine Maleate 8 MG / Codeine Phosphate 54.3 MG Extended Release Oral Tablet" + }, { + "code": "1666338", + "display": "Buprenorphine 2.9 MG / Naloxone 0.71 MG Sublingual Tablet" + }, { + "code": "1666831", + "display": "80 ACTUAT Fentanyl 0.04 MG/ACTUAT Transdermal System" + }, { + "code": "1716057", + "display": "Buprenorphine 0.15 MG Buccal Film" + }, { + "code": "1716065", + "display": "Buprenorphine 0.3 MG Buccal Film" + }, { + "code": "1716069", + "display": "Buprenorphine 0.45 MG Buccal Film" + }, { + "code": "1716073", + "display": "Buprenorphine 0.6 MG Buccal Film" + }, { + "code": "1716077", + "display": "Buprenorphine 0.075 MG Buccal Film" + }, { + "code": "1716081", + "display": "Buprenorphine 0.75 MG Buccal Film" + }, { + "code": "1716086", + "display": "Buprenorphine 0.9 MG Buccal Film" + }, { + "code": "1724383", + "display": "1 ML Hydromorphone Hydrochloride 1 MG/ML Cartridge" + }, { + "code": "1724644", + "display": "1 ML Hydromorphone Hydrochloride 2 MG/ML Cartridge" + }, { + "code": "1729197", + "display": "1 ML Morphine Sulfate 2 MG/ML Cartridge" + }, { + "code": "1729320", + "display": "Fentanyl 0.3 MG/ACTUAT Metered Dose Nasal Spray" + }, { + "code": "1731995", + "display": "1 ML Morphine Sulfate 10 MG/ML Cartridge" + }, { + "code": "1732003", + "display": "1 ML Morphine Sulfate 8 MG/ML Cartridge" + }, { + "code": "1732014", + "display": "1 ML Morphine Sulfate 4 MG/ML Cartridge" + }, { + "code": "1733080", + "display": "1 ML Morphine Sulfate 15 MG/ML Cartridge" + }, { + "code": "1790527", + "display": "Abuse-Deterrent 12 HR Oxycodone 9 MG Extended Release Oral Capsule" + }, { + "code": "1791558", + "display": "Abuse-Deterrent 12 HR Oxycodone 13.5 MG Extended Release Oral Capsule" + }, { + "code": "1791567", + "display": "Abuse-Deterrent 12 HR Oxycodone 18 MG Extended Release Oral Capsule" + }, { + "code": "1791574", + "display": "Abuse-Deterrent 12 HR Oxycodone 27 MG Extended Release Oral Capsule" + }, { + "code": "1791580", + "display": "Abuse-Deterrent 12 HR Oxycodone 36 MG Extended Release Oral Capsule" + }, { + "code": "1792707", + "display": "Codeine Phosphate 2 MG/ML / Guaifenesin 40 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "1797650", + "display": "Buprenorphine 74.2 MG Drug Implant" + }, { + "code": "1812164", + "display": "Acetaminophen 325 MG / Caffeine 30 MG / dihydrocodeine bitartrate 16 MG Oral Tablet" + }, { + "code": "1860127", + "display": "Abuse-Deterrent 12 HR Oxycodone Hydrochloride 60 MG Extended Release Oral Tablet" + }, { + "code": "1860129", + "display": "Abuse-Deterrent 12 HR Oxycodone Hydrochloride 20 MG Extended Release Oral Tablet" + }, { + "code": "1860137", + "display": "Abuse-Deterrent 12 HR Oxycodone Hydrochloride 40 MG Extended Release Oral Tablet" + }, { + "code": "1860148", + "display": "Abuse-Deterrent 12 HR Oxycodone Hydrochloride 80 MG Extended Release Oral Tablet" + }, { + "code": "1860151", + "display": "Abuse-Deterrent 12 HR Oxycodone Hydrochloride 30 MG Extended Release Oral Tablet" + }, { + "code": "1860154", + "display": "Abuse-Deterrent 12 HR Oxycodone Hydrochloride 15 MG Extended Release Oral Tablet" + }, { + "code": "1860157", + "display": "Abuse-Deterrent 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + }, { + "code": "1860491", + "display": "12 HR Hydrocodone Bitartrate 10 MG Extended Release Oral Capsule" + }, { + "code": "1860493", + "display": "12 HR Hydrocodone Bitartrate 15 MG Extended Release Oral Capsule" + }, { + "code": "1860495", + "display": "12 HR Hydrocodone Bitartrate 20 MG Extended Release Oral Capsule" + }, { + "code": "1860497", + "display": "12 HR Hydrocodone Bitartrate 30 MG Extended Release Oral Capsule" + }, { + "code": "1860499", + "display": "12 HR Hydrocodone Bitartrate 40 MG Extended Release Oral Capsule" + }, { + "code": "1860501", + "display": "12 HR Hydrocodone Bitartrate 50 MG Extended Release Oral Capsule" + }, { + "code": "1864412", + "display": "Buprenorphine 0.7 MG / Naloxone 0.18 MG Sublingual Tablet" + }, { + "code": "1871434", + "display": "Abuse-Deterrent 12 HR Morphine Sulfate 15 MG Extended Release Oral Tablet" + }, { + "code": "1871441", + "display": "Abuse-Deterrent 12 HR Morphine Sulfate 30 MG Extended Release Oral Tablet" + }, { + "code": "1871444", + "display": "Abuse-Deterrent 12 HR Morphine Sulfate 60 MG Extended Release Oral Tablet" + }, { + "code": "1872234", + "display": "Abuse-Deterrent 12 HR Morphine Sulfate 100 MG Extended Release Oral Tablet" + }, { + "code": "1872271", + "display": "1 ML Hydromorphone Hydrochloride 4 MG/ML Prefilled Syringe" + }, { + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + }, { + "code": "197873", + "display": "Levorphanol 2 MG Oral Tablet" + }, { + "code": "200240", + "display": "paregoric 0.4 MG/ML Oral Solution" + }, { + "code": "245134", + "display": "72 HR Fentanyl 0.025 MG/HR Transdermal System" + }, { + "code": "245135", + "display": "72 HR Fentanyl 0.05 MG/HR Transdermal System" + }, { + "code": "245136", + "display": "72 HR Fentanyl 0.1 MG/HR Transdermal System" + }, { + "code": "310293", + "display": "Fentanyl 1.2 MG Oral Lozenge" + }, { + "code": "310294", + "display": "Fentanyl 1.6 MG Oral Lozenge" + }, { + "code": "310295", + "display": "Fentanyl 0.2 MG Oral Lozenge" + }, { + "code": "310297", + "display": "Fentanyl 0.4 MG Oral Lozenge" + }, { + "code": "312104", + "display": "Belladonna Alkaloids 16.2 MG / Opium 30 MG Rectal Suppository" + }, { + "code": "312107", + "display": "Belladonna Alkaloids 16.2 MG / Opium 60 MG Rectal Suppository" + }, { + "code": "313992", + "display": "Fentanyl 0.6 MG Oral Lozenge" + }, { + "code": "313993", + "display": "Fentanyl 0.8 MG Oral Lozenge" + }, { + "code": "351264", + "display": "Buprenorphine 2 MG Sublingual Tablet" + }, { + "code": "351265", + "display": "Buprenorphine 8 MG Sublingual Tablet" + }, { + "code": "351266", + "display": "Buprenorphine 2 MG / Naloxone 0.5 MG Sublingual Tablet" + }, { + "code": "351267", + "display": "Buprenorphine 8 MG / Naloxone 2 MG Sublingual Tablet" + }, { + "code": "577057", + "display": "72 HR Fentanyl 0.012 MG/HR Transdermal System" + }, { + "code": "637540", + "display": "Aspirin 325 MG / Oxycodone Hydrochloride 4.5 MG / oxycodone terephthalate 0.38 MG Oral Tablet" + }, { + "code": "668363", + "display": "Fentanyl 0.1 MG Buccal Tablet" + }, { + "code": "668364", + "display": "Fentanyl 0.2 MG Buccal Tablet" + }, { + "code": "668365", + "display": "Fentanyl 0.4 MG Buccal Tablet" + }, { + "code": "668366", + "display": "Fentanyl 0.6 MG Buccal Tablet" + }, { + "code": "668367", + "display": "Fentanyl 0.8 MG Buccal Tablet" + }, { + "code": "727759", + "display": "2 ML Fentanyl 0.05 MG/ML Cartridge" + }, { + "code": "825409", + "display": "tapentadol 100 MG Oral Tablet" + }, { + "code": "825411", + "display": "tapentadol 50 MG Oral Tablet" + }, { + "code": "825413", + "display": "tapentadol 75 MG Oral Tablet" + }, { + "code": "830196", + "display": "opium tincture 100 MG/ML Oral Solution" + }, { + "code": "848768", + "display": "Aspirin 325 MG / Oxycodone Hydrochloride 4.84 MG Oral Tablet" + }, { + "code": "856908", + "display": "Acetaminophen 660 MG / Hydrocodone Bitartrate 10 MG Oral Tablet" + }, { + "code": "856940", + "display": "Acetaminophen 21.7 MG/ML / Hydrocodone Bitartrate 0.5 MG/ML Oral Solution" + }, { + "code": "856944", + "display": "Acetaminophen 21.7 MG/ML / Hydrocodone Bitartrate 0.67 MG/ML Oral Solution" + }, { + "code": "856980", + "display": "Acetaminophen 300 MG / Hydrocodone Bitartrate 10 MG Oral Tablet" + }, { + "code": "856987", + "display": "Acetaminophen 300 MG / Hydrocodone Bitartrate 5 MG Oral Tablet" + }, { + "code": "856992", + "display": "Acetaminophen 300 MG / Hydrocodone Bitartrate 7.5 MG Oral Tablet" + }, { + "code": "856999", + "display": "Acetaminophen 325 MG / Hydrocodone Bitartrate 10 MG Oral Tablet" + }, { + "code": "857002", + "display": "Acetaminophen 325 MG / Hydrocodone Bitartrate 5 MG Oral Tablet" + }, { + "code": "857005", + "display": "Acetaminophen 325 MG / Hydrocodone Bitartrate 7.5 MG Oral Tablet" + }, { + "code": "857099", + "display": "Acetaminophen 33.3 MG/ML / Hydrocodone Bitartrate 0.5 MG/ML Oral Solution" + }, { + "code": "857131", + "display": "Acetaminophen 400 MG / Hydrocodone Bitartrate 5 MG Oral Tablet" + }, { + "code": "857391", + "display": "Acetaminophen 325 MG / Hydrocodone Bitartrate 2.5 MG Oral Tablet" + }, { + "code": "857510", + "display": "12 HR CHLORPHENIRAMINE POLISTIREX 4 MG / HYDROCODONE POLISTIREX 5 MG Extended Release Oral Capsule" + }, { + "code": "857512", + "display": "12 HR CHLORPHENIRAMINE POLISTIREX 8 MG / HYDROCODONE POLISTIREX 10 MG Extended Release Oral Capsule" + }, { + "code": "858770", + "display": "Hydrocodone Bitartrate 2.5 MG / Ibuprofen 200 MG Oral Tablet" + }, { + "code": "858778", + "display": "Hydrocodone Bitartrate 5 MG / Ibuprofen 200 MG Oral Tablet" + }, { + "code": "858798", + "display": "Hydrocodone Bitartrate 7.5 MG / Ibuprofen 200 MG Oral Tablet" + }, { + "code": "859315", + "display": "Hydrocodone Bitartrate 10 MG / Ibuprofen 200 MG Oral Tablet" + }, { + "code": "859383", + "display": "Guaifenesin 40 MG/ML / Hydrocodone Bitartrate 0.5 MG/ML Oral Solution" + }, { + "code": "860792", + "display": "1 ML Meperidine Hydrochloride 75 MG/ML Cartridge" + }, { + "code": "861447", + "display": "Meperidine Hydrochloride 10 MG/ML Injectable Solution" + }, { + "code": "861455", + "display": "Meperidine Hydrochloride 100 MG Oral Tablet" + }, { + "code": "861459", + "display": "Meperidine Hydrochloride 100 MG/ML Injectable Solution" + }, { + "code": "861463", + "display": "Meperidine Hydrochloride 50 MG/ML Injectable Solution" + }, { + "code": "861467", + "display": "Meperidine Hydrochloride 50 MG Oral Tablet" + }, { + "code": "861473", + "display": "1 ML Meperidine Hydrochloride 50 MG/ML Cartridge" + }, { + "code": "861479", + "display": "Meperidine Hydrochloride 10 MG/ML Oral Solution" + }, { + "code": "861493", + "display": "1 ML Meperidine Hydrochloride 100 MG/ML Cartridge" + }, { + "code": "861494", + "display": "1 ML Meperidine Hydrochloride 25 MG/ML Cartridge" + }, { + "code": "861578", + "display": "Meperidine Hydrochloride 50 MG / Promethazine Hydrochloride 25 MG Oral Capsule" + }, { + "code": "863845", + "display": "Abuse-Deterrent Morphine Sulfate 100 MG / Naltrexone hydrochloride 4 MG Extended Release Oral Capsule" + }, { + "code": "863848", + "display": "Abuse-Deterrent Morphine Sulfate 20 MG / Naltrexone hydrochloride 0.8 MG Extended Release Oral Capsule" + }, { + "code": "863850", + "display": "Abuse-Deterrent Morphine Sulfate 30 MG / Naltrexone hydrochloride 1.2 MG Extended Release Oral Capsule" + }, { + "code": "863852", + "display": "Abuse-Deterrent Morphine Sulfate 50 MG / Naltrexone hydrochloride 2 MG Extended Release Oral Capsule" + }, { + "code": "863854", + "display": "Abuse-Deterrent Morphine Sulfate 60 MG / Naltrexone hydrochloride 2.4 MG Extended Release Oral Capsule" + }, { + "code": "863856", + "display": "Abuse-Deterrent Morphine Sulfate 80 MG / Naltrexone hydrochloride 3.2 MG Extended Release Oral Capsule" + }, { + "code": "864706", + "display": "Methadone Hydrochloride 10 MG Oral Tablet" + }, { + "code": "864714", + "display": "Methadone Hydrochloride 10 MG/ML Injectable Solution" + }, { + "code": "864718", + "display": "Methadone Hydrochloride 5 MG Oral Tablet" + }, { + "code": "864761", + "display": "Methadone Hydrochloride 1 MG/ML Oral Solution" + }, { + "code": "864769", + "display": "Methadone Hydrochloride 2 MG/ML Oral Solution" + }, { + "code": "864978", + "display": "Methadone Hydrochloride 40 MG Tablet for Oral Suspension" + }, { + "code": "891874", + "display": "Morphine Sulfate 100 MG Extended Release Oral Tablet" + }, { + "code": "891878", + "display": "12 HR Morphine Sulfate 15 MG Extended Release Oral Tablet" + }, { + "code": "891881", + "display": "Morphine Sulfate 15 MG Extended Release Oral Tablet" + }, { + "code": "891883", + "display": "12 HR Morphine Sulfate 100 MG Extended Release Oral Tablet" + }, { + "code": "891885", + "display": "12 HR Morphine Sulfate 30 MG Extended Release Oral Tablet" + }, { + "code": "891888", + "display": "Morphine Sulfate 30 MG Extended Release Oral Tablet" + }, { + "code": "891890", + "display": "12 HR Morphine Sulfate 60 MG Extended Release Oral Tablet" + }, { + "code": "891893", + "display": "Morphine Sulfate 60 MG Extended Release Oral Tablet" + }, { + "code": "892297", + "display": "24 HR Morphine Sulfate 120 MG Extended Release Oral Capsule" + }, { + "code": "892342", + "display": "24 HR Morphine Sulfate 30 MG Extended Release Oral Capsule" + }, { + "code": "892345", + "display": "Morphine Sulfate 30 MG Extended Release Oral Capsule" + }, { + "code": "892349", + "display": "24 HR Morphine Sulfate 60 MG Extended Release Oral Capsule" + }, { + "code": "892352", + "display": "Morphine Sulfate 60 MG Extended Release Oral Capsule" + }, { + "code": "892355", + "display": "24 HR Morphine Sulfate 90 MG Extended Release Oral Capsule" + }, { + "code": "892494", + "display": "Morphine Sulfate 10 MG Extended Release Oral Capsule" + }, { + "code": "892516", + "display": "Morphine Sulfate 10 MG Rectal Suppository" + }, { + "code": "892554", + "display": "Morphine Sulfate 100 MG Extended Release Oral Capsule" + }, { + "code": "892582", + "display": "Morphine Sulfate 15 MG Oral Tablet" + }, { + "code": "892589", + "display": "Morphine Sulfate 2 MG/ML Oral Solution" + }, { + "code": "892596", + "display": "Morphine Sulfate 20 MG Extended Release Oral Capsule" + }, { + "code": "892603", + "display": "Morphine Sulfate 20 MG Rectal Suppository" + }, { + "code": "892625", + "display": "Morphine Sulfate 20 MG/ML Oral Solution" + }, { + "code": "892643", + "display": "Morphine Sulfate 200 MG Extended Release Oral Capsule" + }, { + "code": "892646", + "display": "Morphine Sulfate 200 MG Extended Release Oral Tablet" + }, { + "code": "892672", + "display": "Morphine Sulfate 30 MG Oral Tablet" + }, { + "code": "892678", + "display": "Morphine Sulfate 30 MG Rectal Suppository" + }, { + "code": "894780", + "display": "Morphine Sulfate 4 MG/ML Oral Solution" + }, { + "code": "894801", + "display": "Morphine Sulfate 50 MG Extended Release Oral Capsule" + }, { + "code": "894807", + "display": "Morphine Sulfate 5 MG Rectal Suppository" + }, { + "code": "894814", + "display": "Morphine Sulfate 80 MG Extended Release Oral Capsule" + }, { + "code": "894911", + "display": "0.7 ML Morphine Sulfate 14.3 MG/ML Auto-Injector" + }, { + "code": "894912", + "display": "1 ML Morphine Sulfate 10 MG/ML Prefilled Syringe" + }, { + "code": "894914", + "display": "1 ML Morphine Sulfate 8 MG/ML Prefilled Syringe" + }, { + "code": "894918", + "display": "12 HR Morphine Sulfate 200 MG Extended Release Oral Tablet" + }, { + "code": "894942", + "display": "24 HR Morphine Sulfate 45 MG Extended Release Oral Capsule" + }, { + "code": "894970", + "display": "24 HR Morphine Sulfate 75 MG Extended Release Oral Capsule" + }, { + "code": "895201", + "display": "Morphine Sulfate 20 MG Oral Tablet" + }, { + "code": "895217", + "display": "Morphine Sulfate 5 MG Extended Release Oral Tablet" + }, { + "code": "895221", + "display": "Morphine Sulfate 50 MG Oral Tablet" + }, { + "code": "895861", + "display": "Morphine Sulfate 25 MG Oral Tablet" + }, { + "code": "895867", + "display": "Morphine hydrochloride 40 MG Oral Tablet" + }, { + "code": "895869", + "display": "Morphine Sulfate 5 MG Oral Tablet" + }, { + "code": "897657", + "display": "Hydromorphone Hydrochloride 1 MG/ML Oral Solution" + }, { + "code": "897696", + "display": "Hydromorphone Hydrochloride 2 MG Oral Tablet" + }, { + "code": "897702", + "display": "Hydromorphone Hydrochloride 4 MG Oral Tablet" + }, { + "code": "897710", + "display": "Hydromorphone Hydrochloride 8 MG Oral Tablet" + }, { + "code": "897745", + "display": "Hydromorphone Hydrochloride 2 MG/ML Injectable Solution" + }, { + "code": "897749", + "display": "Hydromorphone Hydrochloride 3 MG Rectal Suppository" + }, { + "code": "897756", + "display": "1 ML Hydromorphone Hydrochloride 1 MG/ML Prefilled Syringe" + }, { + "code": "897757", + "display": "1 ML Hydromorphone Hydrochloride 2 MG/ML Prefilled Syringe" + }, { + "code": "897758", + "display": "1 ML Hydromorphone Hydrochloride 4 MG/ML Cartridge" + }, { + "code": "898612", + "display": "12 HR Hydromorphone Hydrochloride 3 MG Extended Release Oral Capsule" + }, { + "code": "898624", + "display": "Hydromorphone Hydrochloride 30 MG Extended Release Oral Capsule" + }, { + "code": "902729", + "display": "24 HR Hydromorphone Hydrochloride 12 MG Extended Release Oral Tablet" + }, { + "code": "902736", + "display": "24 HR Hydromorphone Hydrochloride 16 MG Extended Release Oral Tablet" + }, { + "code": "902741", + "display": "24 HR Hydromorphone Hydrochloride 8 MG Extended Release Oral Tablet" + }, { + "code": "904870", + "display": "168 HR Buprenorphine 0.01 MG/HR Transdermal System" + }, { + "code": "904876", + "display": "168 HR Buprenorphine 0.02 MG/HR Transdermal System" + }, { + "code": "904880", + "display": "168 HR Buprenorphine 0.005 MG/HR Transdermal System" + }, { + "code": "977874", + "display": "12 HR Oxymorphone Hydrochloride 10 MG Extended Release Oral Tablet" + }, { + "code": "977894", + "display": "12 HR Oxymorphone Hydrochloride 15 MG Extended Release Oral Tablet" + }, { + "code": "977902", + "display": "12 HR Oxymorphone Hydrochloride 20 MG Extended Release Oral Tablet" + }, { + "code": "977909", + "display": "12 HR Oxymorphone Hydrochloride 30 MG Extended Release Oral Tablet" + }, { + "code": "977915", + "display": "12 HR Oxymorphone Hydrochloride 40 MG Extended Release Oral Tablet" + }, { + "code": "977923", + "display": "12 HR Oxymorphone Hydrochloride 5 MG Extended Release Oral Tablet" + }, { + "code": "977929", + "display": "12 HR Oxymorphone Hydrochloride 7.5 MG Extended Release Oral Tablet" + }, { + "code": "977939", + "display": "Oxymorphone Hydrochloride 5 MG Oral Tablet" + }, { + "code": "977942", + "display": "Oxymorphone Hydrochloride 10 MG Oral Tablet" + }, { + "code": "991147", + "display": "Methadone Hydrochloride 10 MG/ML Oral Solution" + }, { + "code": "991486", + "display": "Codeine Phosphate 2 MG/ML / Promethazine Hydrochloride 1.25 MG/ML Oral Solution" + }, { + "code": "992656", + "display": "homatropine methylbromide 1.5 MG / Hydrocodone Bitartrate 5 MG Oral Tablet" + }, { + "code": "992668", + "display": "homatropine methylbromide 0.3 MG/ML / Hydrocodone Bitartrate 1 MG/ML Oral Solution" + }, { + "code": "993755", + "display": "Acetaminophen 24 MG/ML / Codeine Phosphate 2.4 MG/ML Oral Solution" + }, { + "code": "993763", + "display": "Acetaminophen 24 MG/ML / Codeine Phosphate 2.4 MG/ML Oral Suspension" + }, { + "code": "993770", + "display": "Acetaminophen 300 MG / Codeine Phosphate 15 MG Oral Tablet" + }, { + "code": "993781", + "display": "Acetaminophen 300 MG / Codeine Phosphate 30 MG Oral Tablet" + }, { + "code": "993890", + "display": "Acetaminophen 300 MG / Codeine Phosphate 60 MG Oral Tablet" + }, { + "code": "993943", + "display": "Acetaminophen 325 MG / butalbital 50 MG / Caffeine 40 MG / Codeine Phosphate 30 MG Oral Capsule" + }, { + "code": "994226", + "display": "Aspirin 325 MG / Carisoprodol 200 MG / Codeine Phosphate 16 MG Oral Tablet" + }, { + "code": "994237", + "display": "Aspirin 325 MG / butalbital 50 MG / Caffeine 40 MG / Codeine Phosphate 30 MG Oral Capsule" + }, { + "code": "994289", + "display": "Brompheniramine Maleate 0.27 MG/ML / Codeine Phosphate 1.27 MG/ML / Pseudoephedrine Hydrochloride 2 MG/ML Oral Solution" + }, { + "code": "994402", + "display": "Brompheniramine Maleate 0.4 MG/ML / Codeine Phosphate 1.5 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "995226", + "display": "Codeine Phosphate 0.5 MG/ML / Guaifenesin 15 MG/ML Oral Solution" + }, { + "code": "995438", + "display": "Codeine Phosphate 1.26 MG/ML / Guaifenesin 20 MG/ML Oral Solution" + }, { + "code": "995441", + "display": "Codeine Phosphate 1.5 MG/ML / Guaifenesin 45 MG/ML Oral Solution" + }, { + "code": "995447", + "display": "Codeine Phosphate 1.8 MG/ML / Pyrilamine Maleate 1.67 MG/ML Oral Solution" + }, { + "code": "995450", + "display": "Codeine Phosphate 10 MG / Guaifenesin 300 MG Oral Tablet" + }, { + "code": "995476", + "display": "Codeine Phosphate 10 MG / Guaifenesin 400 MG Oral Tablet" + }, { + "code": "995483", + "display": "Codeine Phosphate 2 MG/ML / Guaifenesin 40 MG/ML Oral Solution" + }, { + "code": "995868", + "display": "Codeine Phosphate 2 MG/ML / Guaifenesin 20 MG/ML Oral Solution" + }, { + "code": "995983", + "display": "Codeine Phosphate 2 MG/ML / Guaifenesin 20 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "996580", + "display": "Codeine Phosphate 2 MG/ML / Phenylephrine Hydrochloride 1 MG/ML / Pyrilamine Maleate 1 MG/ML Oral Solution" + }, { + "code": "996640", + "display": "Codeine Phosphate 2 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML / Triprolidine Hydrochloride 0.25 MG/ML Oral Solution" + }, { + "code": "996706", + "display": "Codeine Phosphate 20 MG / Guaifenesin 400 MG / Phenylephrine Hydrochloride 10 MG Oral Tablet" + }, { + "code": "996710", + "display": "Codeine Phosphate 20 MG / Guaifenesin 400 MG / Pseudoephedrine Hydrochloride 20 MG Oral Tablet" + }, { + "code": "996714", + "display": "Codeine Phosphate 20 MG / Guaifenesin 400 MG / Pseudoephedrine Hydrochloride 30 MG Oral Tablet" + }, { + "code": "996718", + "display": "Codeine Phosphate 20 MG / Guaifenesin 400 MG / Pseudoephedrine Hydrochloride 40 MG Oral Tablet" + }, { + "code": "996722", + "display": "Codeine Phosphate 20 MG / Guaifenesin 400 MG / Pseudoephedrine Hydrochloride 60 MG Oral Tablet" + }, { + "code": "996725", + "display": "Codeine Phosphate 20 MG / Guaifenesin 400 MG Oral Tablet" + }, { + "code": "996728", + "display": "Codeine Phosphate 20 MG / Pseudoephedrine Hydrochloride 60 MG Oral Capsule" + }, { + "code": "996736", + "display": "Codeine Phosphate 9 MG / Guaifenesin 200 MG Oral Capsule" + }, { + "code": "996757", + "display": "Codeine Phosphate 2 MG/ML / Phenylephrine Hydrochloride 1 MG/ML / Promethazine Hydrochloride 1.25 MG/ML Oral Solution" + }, { + "code": "996988", + "display": "Aspirin 300 MG / Codeine Phosphate 8 MG Oral Tablet" + }, { + "code": "996998", + "display": "Brompheniramine Maleate 0.266 MG/ML / Codeine Phosphate 1.27 MG/ML / Phenylephrine Hydrochloride 0.666 MG/ML Oral Solution" + }, { + "code": "997169", + "display": "Codeine Phosphate 15 MG Oral Tablet" + }, { + "code": "997170", + "display": "Codeine sulfate 15 MG Oral Tablet" + }, { + "code": "997287", + "display": "Codeine sulfate 30 MG Oral Tablet" + }, { + "code": "997296", + "display": "Codeine sulfate 60 MG Oral Tablet" + }, { + "code": "997398", + "display": "Codeine Phosphate 2 MG/ML Oral Solution" + }, { + "code": "998212", + "display": "1 ML Morphine Sulfate 2 MG/ML Prefilled Syringe" + }, { + "code": "998213", + "display": "1 ML Morphine Sulfate 4 MG/ML Prefilled Syringe" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1125.2" + } + }, { + "resource": { + "resourceType": "MedicationRequest", + "id": "numer-EXM506-FHIR3-7", + "status": "completed", + "intent": "order", + "category": { + "coding": [ { + "system": "http://hl7.org/fhir/medication-request-category", + "code": "community", + "display": "Community" + } ] + }, + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010600", + "display": "Buprenorphine 2 MG / Naloxone 0.5 MG Oral Strip" + } ] + }, + "subject": { + "reference": "Patient/numer-EXM506-FHIR3" + }, + "authoredOn": "2019-08-21T00:00:00-08:00" + }, + "request": { + "method": "PUT", + "url": "MedicationRequest/numer-EXM506-FHIR3-7" + } + }, { + "resource": { + "resourceType": "Measure", + "id": "measure-EXM506-FHIR3-2.0.000", + "meta": { + "profile": [ "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" ] + }, + "text": { + "status": "generated" + }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", + "valueCode": "boolean" + } ], + "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-EXM506-FHIR3", + "version": "2.0.000", + "name": "EXM506", + "title": "Safe Use of Opioids - Concurrent Prescribing", + "status": "draft", + "experimental": true, + "publisher": "National Committee for Quality Assurance (NCQA)", + "description": "Proportion of inpatient hospitalizations for patients 18 years of age and older prescribed, or continued on, two or more opioids or an opioid and benzodiazepine concurrently at discharge", + "purpose": "Proportion of inpatient hospitalizations for patients 18 years of age and older prescribed, or continued on, two or more opioids or an opioid and benzodiazepine concurrently at discharge", + "approvalDate": "2016-01-01", + "lastReviewDate": "2019-10-10", + "effectivePeriod": { + "start": "2019-01-01", + "end": "2019-12-31" + }, + "useContext": [ { + "code": { + "code": "program" + }, + "valueCodeableConcept": { + "text": "eligible-provider" + } + } ], + "jurisdiction": [ { + "coding": [ { + "system": "urn:iso:std:iso:3166", + "code": "US" + } ] + } ], + "topic": [ { + "coding": [ { + "system": "http://loinc.org", + "code": "57024-2", + "display": "Health Quality Measure Document" + } ] + } ], + "contributor": [ { + "type": "author", + "name": "National Committee for Quality Assurance" + } ], + "contact": [ { + "telecom": [ { + "system": "url", + "value": "http://www.ncqa.org/" + } ] + } ], + "copyright": "This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved.
Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications.
CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.", + "relatedArtifact": [ { + "type": "citation", + "citation": "American Academy of Emergency Medicine (AAEM). (2013). Emergency department opioid-prescribing guidelines for the treatment of non-cancer-related pain. Retrieved from https://www.deepdyve.com/lp/elsevier/american-academy-of-emergency-medicine-PlQtPNi8J4" + }, { + "type": "citation", + "citation": "American Society of Interventional Pain Physicians (ASIPP). (2012). Guidelines for responsible opioid prescribing in chronic noncancer pain. Retrieved from https://www.asipp.org/opioidguidelines.htm " + }, { + "type": "citation", + "citation": "Dasgupta, N., Jonsson Funk, M., Proescholdbell, S., et al. (2015, September). Cohort study of the impact of high-dose opioid analgesics on overdose mortality. Pain Medicine. Retrieved from http://onlinelibrary.wiley.com/doi/10.1111/pme.12907/abstract" + }, { + "type": "citation", + "citation": "Dowell, D., Haegerich, T., & Chou, R. (2016). CDC guideline for prescribing opioids for chronic pain—United States, 2016. MMWR Recommendations and Reports, 65. Retrieved from http://www.cdc.gov/media/dpk/2016/dpk-opioid-prescription-guidelines.html" + }, { + "type": "citation", + "citation": "Herzig, S., Rothberg, M., Cheung, M., et al. (2014). Opioid utilization and opioid-related adverse events in nonsurgical patients in U.S. hospitals. Journal of Hospital Medicine, 9(2), 73-81." + }, { + "type": "citation", + "citation": "Jena, A., Goldman, D., Schaeffer, L. D., et al. (2014). Opioid prescribing by multiple providers in Medicare: Retrospective observational study of insurance claims. BMJ, 348, g1393. DOI: 10.1136/bmj.g1393" + }, { + "type": "citation", + "citation": "Liu, Y., Logan, J., Paulozzi, L., et al. (2013). Potential misuse and inappropriate prescription practices involving opioid analgesics. American Journal of Managed Care, 19(8), 648–665. Retrieved from http://www.ajmc.com/journals/issue/2013/2013-1-vol19-n8/Potential-Misuse-and-Inappropriate-Prescription-Practices-Involving-Opioid-Analgesics/" + }, { + "type": "citation", + "citation": "Lin, L. A., Bohnert, A. S., Kerns, R. D., et al. (2017). Impact of the opioid safety initiative on opioid-related prescribing in veterans. Pain, 158(5), 833–839. Retrieved from https://www.ncbi.nlm.nih.gov/pubmed/28240996" + }, { + "type": "citation", + "citation": "Mack, K., Zhang, K., Paulozzi, L., et al. (2015, February). Prescription practices involving opioid analgesics among Americans with Medicaid, 2010. Journal of Health Care for the Poor and Underserved, 26(1), 182–198. Retrieved from http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4365785" + }, { + "type": "citation", + "citation": "National Institute on Drug Abuse. (2011). Analysis of opioid prescription practices finds areas of concern. Retrieved from https://www.drugabuse.gov/news-events/news-releases/2011/04/analysis-opioid-prescription-practices-finds-areas-concern" + }, { + "type": "citation", + "citation": "New York City (NYC) Department of Health and Mental Hygiene (NYC DOHMH). (2013). NYC emergency department discharge opioid-prescribing guidelines. Retrieved from https://www1.nyc.gov/site/doh/providers/health-topics/opioid-prescribing-resources-for-emergency-departments.page" + }, { + "type": "citation", + "citation": "Park, T., Saitz, R., Ganoczy, D., et al. (2015). Benzodiazepine-prescribing patterns and deaths from drug overdose among U.S. veterans receiving opioid analgesics: Case-cohort study. BMJ, 350, h2698. Retrieved from http://www.bmj.com/content/350/bmj.h2698" + }, { + "type": "citation", + "citation": "Rudd, R., Aleshire, N., Zibbell, J., et al. (2016, January). Increases in drug and opioid overdose deaths—United States, 2000–2014. Morbidity and Mortality Weekly Report, 64(50), 1378–1382. Retrieved from http://www.cdc.gov/mmwr/preview/mmwrhtml/mm6450a3.htm" + }, { + "type": "citation", + "citation": "Sun, E., Dixit, A., Humphreys, K., et al. (2017). Association between concurrent use of prescription opioids and benzodiazepines and overdose: Retrospective analysis. BMJ, 356, j760. Retrieved from http://www.bmj.com/content/356/bmj.j760" + }, { + "type": "citation", + "citation": "U.S. Department of Veterans Affairs. (2014). Opioid safety initiative toolkit. Retrieved from https://www.va.gov/PAINMANAGEMENT/Opioid_Safety_Initiative_OSI.asp" + }, { + "type": "citation", + "citation": "U.S. Department of Veterans Affairs. (2016). Opioid safety initiative: Opioids (including tramadol) used in combination with benzodiazepine derivative sedatives/hypnotics. Unpublished manuscript." + }, { + "type": "citation", + "citation": "Washington Agency Medical Directors’ Group (WAMDG). (2015). Interagency guideline on prescribing opioids for pain, Part II: Prescribing opioids in the acute and subacute phase. Retrieved from http://www.agencymeddirectors.wa.gov/Files/2015AMDGOpioidGuideline.pdf" + } ], + "library": [ { + "reference": "Library/library-EXM506-FHIR3-2.0.000" + } ], + "disclaimer": "These performance measures are not clinical guidelines and do not establish a standard of medical care and have not been tested for all potential applications. The measures and specifications are provided without warranty. CMS has contracted with Mathematica for the continued maintenance of this electronic measure.", + "scoring": { + "coding": [ { + "system": "http://hl7.org/fhir/measure-scoring", + "code": "proportion" + } ] + }, + "type": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-type", + "code": "process" + } ] + } ], + "rationale": "Unintentional opioid overdose fatalities have become a major public health concern in the United States (Rudd et al., 2016). Reducing the number of unintentional overdoses has become a priority for numerous federal organizations including, but not limited to, the Centers for Disease Control and Prevention (CDC), the Federal Interagency Workgroup for Opioid Adverse Drug Events, and the Substance Abuse and Mental Health Services Administration. Concurrent prescriptions of opioids or opioids and benzodiazepines places patients at a greater risk of unintentional overdose due to the increased risk of respiratory depression (Dowell, Haegerich, & Chou, 2016). An analysis of national prescribing patterns shows that more than half of patients who received an opioid prescription in 2009 had filled another opioid prescription within the previous 30 days (National Institute on Drug Abuse, 2011). Studies of multiple claims and prescription databases have shown that between 5%-15% of patients receive concurrent opioid prescriptions and 5%-20% of patients receive concurrent opioid and benzodiazepine prescriptions across various settings (Liu et al., 2013; Mack et al., 2015, Park et al., 2015). Patients who have multiple opioid prescriptions have an increased risk for overdose (Jena et al., 2014). Rates of fatal overdose are ten times higher in patients who are co-dispensed opioid analgesics and benzodiazepines than opioids alone (Dasgupta et al., 2015). The number of opioid overdose deaths involving benzodiazepines increased 14% on average each year from 2006 to 2011, while the number of opioid analgesic overdose deaths not involving benzodiazepines did not change significantly (Jones & McAninch, 2015). Furthermore, concurrent use of benzodiazepines with opioids was prevalent in 31%-51% of fatal overdoses (Dowell, Haegerich, & Chou, 2016). One study found that eliminating concurrent use of opioids and benzodiazepines could reduce the risk of opioid overdose-related ED and inpatient visits by 15% and potentially could have prevented an estimated 2,630 deaths related to opioid painkiller overdoses in 2015 (Sun et al., 2017). A study on The Opioid Safety Initiative in the Veterans Health Administration (VHA), which includes an opioid and benzodiazepine concurrent prescribing measure that this measure is based on, was associated with a decrease of 20.67% overall and 0.86% patients per month (781 patients per month) receiving concurrent benzodiazepine with an opioid among all adult VHA patients who filled outpatient opioid prescriptions from October 2012 to September 2014 (Lin et al., 2017). Adopting a measure that calculates the proportion of patients with two or more opioids or opioids and benzodiazepines concurrently has the potential to reduce preventable mortality and reduce the costs associated with adverse events related to opioid use by (1) encouraging providers to identify patients with concurrent prescriptions of opioids or opioids and benzodiazepines and (2) discouraging providers from prescribing two or more opioids or opioids and benzodiazepines concurrently.", + "clinicalRecommendationStatement": "The 2016 CDC Guideline for Prescribing Opioids for Chronic Pain also recommends that: - \"Clinicians should avoid prescribing opioids and benzodiazepines concurrently whenever possible. Clinicians should communicate with others managing the patient to discuss the patient's needs, prioritize patient goals, weigh risks of concurrent benzodiazepine and opioid exposure, and coordinate care.\" \n- \"Clinicians should check the PDMP for concurrent controlled medications prescribed by other clinicians and should consider involving pharmacists and pain specialists as part of the management team when opioids are co-prescribed with other central nervous system depressants.\"\n- \"Experts emphasized that clinicians should communicate with mental health professionals managing the patient to discuss the patient's needs, prioritize patient goals, weigh risks of concurrent benzodiazepine and opioid exposure, and coordinate care.\" \nIn addition to the 2016 CDC Guideline for Prescribing Opioids for Chronic Pain, opioid prescribing guidelines issued by various state agencies and professional societies for various settings agree with the recommendation to avoid concurrently prescribing opioids (AAEM, WAMDG) and opioids and benzodiazepines (WAMDG, ASIPP, NYC DOHMH) whenever possible as the combination of these medications may potentiate opioid-induced respiratory depression. \n The CDC Guideline for Prescribing Opioids for Chronic Pain (Dowell, 2016) also recommends that for patients found to have multiple opioid prescriptions clinicians should: \n- \"Discuss information from the PDMP with their patient and confirm that the patient is aware of the additional prescriptions.\" \n - \"Discuss safety concerns, including increased risk for respiratory depression and overdose, with patients found to be receiving opioids from more than one prescriber or receiving medications that increase risk when combined with opioids and consider offering naloxone.\" \n - \"Discuss safety concerns with other clinicians who are prescribing controlled substances for their patient. Ideally clinicians should first discuss concerns with their patient and inform him or her that they plan to coordinate care with the patient's other prescribers to improve the patient's safety.\"", + "improvementNotation": "decrease", + "guidance": "Clinician judgement, clinical appropriateness, or both may indicate concurrent prescribing of two unique opioids or an opioid and benzodiazepine is medically necessary, thus the measure is not expected to have a zero rate. \n Inpatient hospitalizations with discharge medications of a new or continuing opioid or a new or continuing benzodiazepine prescription should be included in the initial population. \n Inpatient hospitalizations with discharge medications of two or more new or continuing opioids or new or continuing opioid and benzodiazepine resulting in concurrent therapy at discharge should be included in the numerator.", + "group": [ { + "identifier": { + "value": "group-1" + }, + "population": [ { + "identifier": { + "value": "initial-population-identifier" + }, + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population", + "display": "Initial Population" + } ] + }, + "criteria": "Initial Population" + }, { + "identifier": { + "value": "numerator-identifier" + }, + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "numerator", + "display": "Numerator" + } ] + }, + "criteria": "Numerator" + }, { + "identifier": { + "value": "denominator-identifier" + }, + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator", + "display": "Denominator" + } ] + }, + "criteria": "Denominator" + }, { + "identifier": { + "value": "denominator-exclusions-identifier" + }, + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator-exclusion", + "display": "Denominator Exclusion" + } ] + }, + "criteria": "Denominator Exclusion" + } ] + } ], + "supplementalData": [ { + "identifier": { + "value": "sde-ethnicity" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Ethnicity" + }, { + "identifier": { + "value": "sde-payer" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Payer" + }, { + "identifier": { + "value": "sde-race" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Race" + }, { + "identifier": { + "value": "sde-sex" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Sex" + } ] + }, + "request": { + "method": "PUT", + "url": "Measure/measure-EXM506-FHIR3-2.0.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-SupplementalDataElements-FHIR3-1.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-SupplementalDataElements-FHIR3-1.0.0
Type: Logic Library
Version: 1.0.0
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Coverage

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591

Content: type: text/cql
library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Payer":\n    [Coverage: type in "Payer"] Payer\n      return {\n        code: Payer.type,\n        period: Payer.period\n      }\n\ndefine "SDE Race":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Sex":\n  case\n    when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n    when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n    else null\n  end\n
\n \n \n
\n
" + }, + "version": "1.0.0", + "name": "SupplementalDataElements_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1" + } ], + "version": "20150331", + "name": "ONCAdministrativeSex", + "title": "ONC Administrative Sex", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + }, { + "code": "M", + "display": "Male" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.837", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.837" + } ], + "version": "20121025", + "name": "Ethnicity", + "title": "Ethnicity", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "2135-2", + "display": "Hispanic or Latino" + }, { + "code": "2186-5", + "display": "Not Hispanic or Latino" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.3591", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.3591" + } ], + "version": "20180718", + "name": "Payer", + "title": "Payer", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.phdsc.org/standards/pdfs/SourceofPaymentTypologyVersion6FINALSeptember2015.pdf", + "version": "8.0", + "concept": [ { + "code": "1", + "display": "MEDICARE" + }, { + "code": "11", + "display": "Medicare (Managed Care)" + }, { + "code": "111", + "display": "Medicare HMO" + }, { + "code": "112", + "display": "Medicare PPO" + }, { + "code": "113", + "display": "Medicare POS" + }, { + "code": "119", + "display": "Medicare Managed Care Other" + }, { + "code": "12", + "display": "Medicare (Non-managed Care)" + }, { + "code": "121", + "display": "Medicare FFS" + }, { + "code": "122", + "display": "Medicare Drug Benefit" + }, { + "code": "123", + "display": "Medicare Medical Savings Account (MSA)" + }, { + "code": "129", + "display": "Medicare Non-managed Care Other" + }, { + "code": "13", + "display": "Medicare Hospice" + }, { + "code": "14", + "display": "Dual Eligibility Medicare/Medicaid Organization" + }, { + "code": "19", + "display": "Medicare Other" + }, { + "code": "191", + "display": "Medicare Pharmacy Benefit Manager" + }, { + "code": "2", + "display": "MEDICAID" + }, { + "code": "21", + "display": "Medicaid (Managed Care)" + }, { + "code": "211", + "display": "Medicaid HMO" + }, { + "code": "212", + "display": "Medicaid PPO" + }, { + "code": "213", + "display": "Medicaid PCCM (Primary Care Case Management)" + }, { + "code": "219", + "display": "Medicaid Managed Care Other" + }, { + "code": "22", + "display": "Medicaid (Non-managed Care Plan)" + }, { + "code": "23", + "display": "Medicaid/SCHIP" + }, { + "code": "25", + "display": "Medicaid - Out of State" + }, { + "code": "26", + "display": "Medicaid -- Long Term Care" + }, { + "code": "29", + "display": "Medicaid Other" + }, { + "code": "291", + "display": "Medicaid Pharmacy Benefit Manager" + }, { + "code": "299", + "display": "Medicaid - Dental" + }, { + "code": "3", + "display": "OTHER GOVERNMENT (Federal/State/Local) (excluding Department of Corrections)" + }, { + "code": "31", + "display": "Department of Defense" + }, { + "code": "311", + "display": "TRICARE (CHAMPUS)" + }, { + "code": "3111", + "display": "TRICARE Prime--HMO" + }, { + "code": "3112", + "display": "TRICARE Extra--PPO" + }, { + "code": "3113", + "display": "TRICARE Standard - Fee For Service" + }, { + "code": "3114", + "display": "TRICARE For Life--Medicare Supplement" + }, { + "code": "3115", + "display": "TRICARE Reserve Select" + }, { + "code": "3116", + "display": "Uniformed Services Family Health Plan (USFHP) -- HMO" + }, { + "code": "3119", + "display": "Department of Defense - (other)" + }, { + "code": "312", + "display": "Military Treatment Facility" + }, { + "code": "3121", + "display": "Enrolled Prime--HMO" + }, { + "code": "3122", + "display": "Non-enrolled Space Available" + }, { + "code": "3123", + "display": "TRICARE For Life (TFL)" + }, { + "code": "313", + "display": "Dental --Stand Alone" + }, { + "code": "32", + "display": "Department of Veterans Affairs" + }, { + "code": "321", + "display": "Veteran care--Care provided to Veterans" + }, { + "code": "3211", + "display": "Direct Care--Care provided in VA facilities" + }, { + "code": "3212", + "display": "Indirect Care--Care provided outside VA facilities" + }, { + "code": "32121", + "display": "Fee Basis" + }, { + "code": "32122", + "display": "Foreign Fee/Foreign Medical Program (FMP)" + }, { + "code": "32123", + "display": "Contract Nursing Home/Community Nursing Home" + }, { + "code": "32124", + "display": "State Veterans Home" + }, { + "code": "32125", + "display": "Sharing Agreements" + }, { + "code": "32126", + "display": "Other Federal Agency" + }, { + "code": "32127", + "display": "Dental Care" + }, { + "code": "32128", + "display": "Vision Care" + }, { + "code": "322", + "display": "Non-veteran care" + }, { + "code": "3221", + "display": "Civilian Health and Medical Program for the VA (CHAMPVA)" + }, { + "code": "3222", + "display": "Spina Bifida Health Care Program (SB)" + }, { + "code": "3223", + "display": "Children of Women Vietnam Veterans (CWVV)" + }, { + "code": "3229", + "display": "Other non-veteran care" + }, { + "code": "33", + "display": "Indian Health Service or Tribe" + }, { + "code": "331", + "display": "Indian Health Service -- Regular" + }, { + "code": "332", + "display": "Indian Health Service -- Contract" + }, { + "code": "333", + "display": "Indian Health Service - Managed Care" + }, { + "code": "334", + "display": "Indian Tribe - Sponsored Coverage" + }, { + "code": "34", + "display": "HRSA Program" + }, { + "code": "341", + "display": "Title V (MCH Block Grant)" + }, { + "code": "342", + "display": "Migrant Health Program" + }, { + "code": "343", + "display": "Ryan White Act" + }, { + "code": "349", + "display": "Other" + }, { + "code": "35", + "display": "Black Lung" + }, { + "code": "36", + "display": "State Government" + }, { + "code": "361", + "display": "State SCHIP program (codes for individual states)" + }, { + "code": "362", + "display": "Specific state programs (list/ local code)" + }, { + "code": "369", + "display": "State, not otherwise specified (other state)" + }, { + "code": "37", + "display": "Local Government" + }, { + "code": "371", + "display": "Local - Managed care" + }, { + "code": "3711", + "display": "HMO" + }, { + "code": "3712", + "display": "PPO" + }, { + "code": "3713", + "display": "POS" + }, { + "code": "372", + "display": "FFS/Indemnity" + }, { + "code": "379", + "display": "Local, not otherwise specified (other local, county)" + }, { + "code": "38", + "display": "Other Government (Federal, State, Local not specified)" + }, { + "code": "381", + "display": "Federal, State, Local not specified managed care" + }, { + "code": "3811", + "display": "Federal, State, Local not specified - HMO" + }, { + "code": "3812", + "display": "Federal, State, Local not specified - PPO" + }, { + "code": "3813", + "display": "Federal, State, Local not specified - POS" + }, { + "code": "3819", + "display": "Federal, State, Local not specified - not specified managed care" + }, { + "code": "382", + "display": "Federal, State, Local not specified - FFS" + }, { + "code": "389", + "display": "Federal, State, Local not specified - Other" + }, { + "code": "39", + "display": "Other Federal" + }, { + "code": "391", + "display": "Federal Employee Health Plan - Use when known" + }, { + "code": "4", + "display": "DEPARTMENTS OF CORRECTIONS" + }, { + "code": "41", + "display": "Corrections Federal" + }, { + "code": "42", + "display": "Corrections State" + }, { + "code": "43", + "display": "Corrections Local" + }, { + "code": "44", + "display": "Corrections Unknown Level" + }, { + "code": "5", + "display": "PRIVATE HEALTH INSURANCE" + }, { + "code": "51", + "display": "Managed Care (Private)" + }, { + "code": "511", + "display": "Commercial Managed Care - HMO" + }, { + "code": "512", + "display": "Commercial Managed Care - PPO" + }, { + "code": "513", + "display": "Commercial Managed Care - POS" + }, { + "code": "514", + "display": "Exclusive Provider Organization" + }, { + "code": "515", + "display": "Gatekeeper PPO (GPPO)" + }, { + "code": "516", + "display": "Commercial Managed Care - Pharmacy Benefit Manager" + }, { + "code": "517", + "display": "Commercial Managed Care - Dental" + }, { + "code": "519", + "display": "Managed Care, Other (non HMO)" + }, { + "code": "52", + "display": "Private Health Insurance - Indemnity" + }, { + "code": "521", + "display": "Commercial Indemnity" + }, { + "code": "522", + "display": "Self-insured (ERISA) Administrative Services Only (ASO) plan" + }, { + "code": "523", + "display": "Medicare supplemental policy (as second payer)" + }, { + "code": "524", + "display": "Indemnity Insurance - Dental" + }, { + "code": "529", + "display": "Private health insurance--other commercial Indemnity" + }, { + "code": "53", + "display": "Managed Care (private) or private health insurance (indemnity), not otherwise specified" + }, { + "code": "54", + "display": "Organized Delivery System" + }, { + "code": "55", + "display": "Small Employer Purchasing Group" + }, { + "code": "56", + "display": "Specialized Stand Alone Plan" + }, { + "code": "561", + "display": "Dental" + }, { + "code": "562", + "display": "Vision" + }, { + "code": "59", + "display": "Other Private Insurance" + }, { + "code": "6", + "display": "BLUE CROSS/BLUE SHIELD" + }, { + "code": "61", + "display": "BC Managed Care" + }, { + "code": "611", + "display": "BC Managed Care -- HMO" + }, { + "code": "612", + "display": "BC Managed Care -- PPO" + }, { + "code": "613", + "display": "BC Managed Care -- POS" + }, { + "code": "614", + "display": "BC Managed Care - Dental" + }, { + "code": "619", + "display": "BC Managed Care -- Other" + }, { + "code": "62", + "display": "BC Insurance Indemnity" + }, { + "code": "621", + "display": "BC Indemnity" + }, { + "code": "622", + "display": "BC Self-insured (ERISA) Administrative Services Only (ASO)Plan" + }, { + "code": "623", + "display": "BC Medicare Supplemental Plan" + }, { + "code": "629", + "display": "BC Indemnity - Dental" + }, { + "code": "7", + "display": "MANAGED CARE, UNSPECIFIED (to be used only if one can't distinguish public from private)" + }, { + "code": "71", + "display": "HMO" + }, { + "code": "72", + "display": "PPO" + }, { + "code": "73", + "display": "POS" + }, { + "code": "79", + "display": "Other Managed Care" + }, { + "code": "8", + "display": "NO PAYMENT from an Organization/Agency/Program/Private Payer Listed" + }, { + "code": "81", + "display": "Self-pay (Includes applicants for insurance and Medicaid applicants)" + }, { + "code": "82", + "display": "No Charge" + }, { + "code": "821", + "display": "Charity" + }, { + "code": "822", + "display": "Professional Courtesy" + }, { + "code": "823", + "display": "Research/Clinical Trial" + }, { + "code": "83", + "display": "Refusal to Pay/Bad Debt" + }, { + "code": "84", + "display": "Hill Burton Free Care" + }, { + "code": "85", + "display": "Research/Donor" + }, { + "code": "89", + "display": "No Payment, Other" + }, { + "code": "9", + "display": "MISCELLANEOUS/OTHER" + }, { + "code": "91", + "display": "Foreign National" + }, { + "code": "92", + "display": "Other (Non-government)" + }, { + "code": "93", + "display": "Disability Insurance" + }, { + "code": "94", + "display": "Long-term Care Insurance" + }, { + "code": "95", + "display": "Worker's Compensation" + }, { + "code": "951", + "display": "Worker's Comp HMO" + }, { + "code": "953", + "display": "Worker's Comp Fee-for-Service" + }, { + "code": "954", + "display": "Worker's Comp Other Managed Care" + }, { + "code": "959", + "display": "Worker's Comp, Other unspecified" + }, { + "code": "96", + "display": "Auto Insurance (includes no fault)" + }, { + "code": "97", + "display": "Legal Liability / Liability Insurance" + }, { + "code": "98", + "display": "Other specified but not otherwise classifiable (includes Hospice - Unspecified plan)" + }, { + "code": "99", + "display": "No Typology Code available for payment source" + }, { + "code": "9999", + "display": "Unavailable / No Payer Specified / Blank" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-EXM506-FHIR3-2.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-EXM506-FHIR3-2.0.000
Type: Logic Library
Version: 2.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

type: depends-on

Resource:
reference: Library/library-SupplementalDataElements-FHIR3-1.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: MedicationRequest

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2

type: MedicationRequest

code filter:
path: medication
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1

type: Condition

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162

type: ProcedureRequest

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162

type: Procedure

code filter:
path: code
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20

Content: type: text/cql
library EXM506_FHIR3 version '2.0.000'\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.org'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\ncodesystem "MedicationRequestCategory": 'http://hl7.org/fhir/medication-request-category'\n\nvalueset "All Primary and Secondary Cancer":  'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Palliative Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Schedule II and Schedule III Opioids":  'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2'\nvalueset "Schedule IV Benzodiazepines": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Order": 'order' from "RequestIntent" display 'Order'\ncode "Community": 'community' from "MedicationRequestCategory" display 'Community'\n\nparameter "Measurement Period" Interval<DateTime>\n    default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "Inpatient Encounter with Age Greater than or Equal to 18":\n\t["Encounter": "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t  and Global."LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n      and Global.CalendarAgeInYearsAt(ToDateTime(Patient.birthDate), start of FHIRHelpers.ToInterval(EncounterInpatient.period)) >= 18\n\n// Defines to capture the relevant information that can be reused\ndefine "Opioid Prescription":\n  [MedicationRequest: medication in "Schedule II and Schedule III Opioids"] OpioidMedicationRequest\n    where OpioidMedicationRequest.status in { 'active', 'completed' }\n      and OpioidMedicationRequest.intent = 'order'\n      and OpioidMedicationRequest.category ~ ToConcept("Community")\n\ndefine "Benzodiazepine Prescription":\n  [MedicationRequest: medication in "Schedule IV Benzodiazepines"] BenzodiazepineMedicationRequest\n    where BenzodiazepineMedicationRequest.status in { 'active', 'completed' }\n      and BenzodiazepineMedicationRequest.intent = 'order'\n      and BenzodiazepineMedicationRequest.category ~ ToConcept("Community")\n\n// This was originally written as an intersect, but the description indicates either, so it should be a union...\ndefine "Encounter with an Opioid or Benzodiazepine at Discharge":\n  (\n    "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n      with "Opioid Prescription" OpioidPrescription\n        such that OpioidPrescription.authoredOn during InpatientEncounter.period\n    )\n  union (\n    "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n      with "Benzodiazepine Prescription" BenzodiazepinePrescription\n        such that BenzodiazepinePrescription.authoredOn during InpatientEncounter.period\n    )\n\n/*\ndefine "Encounter with an Opioid or Benzodiazepine at Discharge":\n\t(\n\t\t"Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n\t\twith [MedicationRequest: medication in "Schedule II and Schedule III Opioids"] OpioidsDischarge\n    \tsuch that OpioidsDischarge.authoredOn during InpatientEncounter.period\n    \t\tand OpioidsDischarge.intent = 'order'\n\t)\n  //Measure Review:\n  //The prior implementation was restricting "Inpatient Encounter with Age Greater than or Equal to 18"\n  //to both Opioid AND Benzodiazepine at discharge.\n  //The following implementation restricts it to Opioid OR Benzodiazepine, per the description.\n  //Need validation from the measure developers that this meets the itent of the spec.\n\t\tunion (\n      "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n\t    with [MedicationRequest: medication in "Schedule IV Benzodiazepines"] BenzodiazepineDischarge\n\t     such that BenzodiazepineDischarge.authoredOn during InpatientEncounter.period\n     \t  and BenzodiazepineDischarge.intent = 'order'\n\t\t )\n*/\n\ndefine "Initial Population":\n  "Encounter with an Opioid or Benzodiazepine at Discharge"\n\ndefine "Denominator":\n  "Initial Population"\n\ndefine "Diagnosis of Primary or Secondary Cancer":\n  ["Condition": code in "All Primary and Secondary Cancer"] Cancer\n    where Cancer.clinicalStatus = 'active'\n      and Cancer.verificationStatus = 'confirmed'\n\ndefine "Palliative or Hospice Care Order":\n  (["ProcedureRequest": "Palliative Care"]\n    union ["ProcedureRequest": "Hospice Care"]\n  ) PalliativeOrHospiceCare\n    where PalliativeOrHospiceCare.status in { 'active', 'completed' }\n      and PalliativeOrHospiceCare.intent = 'order'\n\ndefine "Palliative or Hospice Care Procedure":\n  (["Procedure": "Palliative Care"]\n    union ["Procedure": "Hospice Care"]\n  ) PalliativeOrHospiceCare\n    where PalliativeOrHospiceCare.status = 'completed'\n\ndefine "Denominator Exclusion":\n  ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n    with "Diagnosis of Primary or Secondary Cancer" Cancer\n      such that Global."Normalize Onset"(Cancer.onset) overlaps InpatientEncounter.period\n  )\n    union ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n      with "Palliative or Hospice Care Order" PalliativeOrHospiceCareOrder\n        such that PalliativeOrHospiceCareOrder.authoredOn during InpatientEncounter.period\n    )\n    union ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n      with "Palliative or Hospice Care Procedure" PalliativeOrHospiceCare\n        such that Global."Normalize Interval"(PalliativeOrHospiceCare.performed) during InpatientEncounter.period\n    )\n\n/*\ndefine "Denominator Exclusions":\n\t("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n\twith [Condition: code in "All Primary and Secondary Cancer"]Cancer\n       such that Cancer.clinicalStatus = 'active'\n       and Cancer.verificationStatus = 'confirmed'\n       and Cancer.onset overlaps InpatientEncounter.period)\n\t\tunion ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n      with (["ProcedureRequest": "Palliative Care"]\n\t\t\tunion ["ProcedureRequest": "Hospice Care"] ) PalliativeOrHospiceCareOrder\n\t\t\tsuch that  PalliativeOrHospiceCareOrder.intent = 'order'\n      and PalliativeOrHospiceCareOrder.authoredOn during InpatientEncounter.period)\n    union ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n  with  (["Procedure": "Palliative Care"]\n    \tunion ["Procedure": "Hospice Care"] ) PalliativeOrHospiceCarePerformed\n    \t\t\t\t\tsuch that PalliativeOrHospiceCarePerformed.performed overlaps InpatientEncounter.period)\n*/\n\ndefine "Encounter with a Concurrent Opioid and Benzodiazepine at Discharge":\n  "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n    with "Opioid Prescription" OpioidPrescription\n      such that OpioidPrescription.authoredOn during InpatientEncounter.period\n    with "Benzodiazepine Prescription" BenzodiazepinePrescription\n      such that BenzodiazepinePrescription.authoredOn during InpatientEncounter.period\n\n/*\ndefine "Encounter with a Concurrent Opioid and Benzodiazepine at Discharge":\n\tfrom "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter,\n\t\t[MedicationRequest: "Schedule II and Schedule III Opioids"] OpioidsDischarge,\n\t\t[MedicationRequest: "Schedule IV Benzodiazepines"] BenzodiazepineDischarge\n\t\t\twhere OpioidsDischarge.authoredOn during InpatientEncounter.period\n\t    \tand OpioidsDischarge.intent = 'order'\n\t\t\t\tand BenzodiazepineDischarge.authoredOn during InpatientEncounter.period\n        and BenzodiazepineDischarge.intent = 'order'\n\t\t\treturn InpatientEncounter\n*/\n\ndefine "Encounter with Two or More Concurrent Opioids at Discharge":\n  "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n    where Count(\n      "Opioid Prescription" OpioidPrescription\n        where OpioidPrescription.authoredOn during InpatientEncounter.period\n    ) >= 2\n\n/*\ndefine "Encounter with Two or More Concurrent Opioids at Discharge":\n\t"Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n\t\twhere Count(\n\t\t\t[MedicationRequest: "Schedule II and Schedule III Opioids"] Opioids\n\t\t\t\twhere Opioids.authoredOn during InpatientEncounter.period\n\t\t) >= 2\n*/\n\ndefine "Numerator":\n  "Encounter with Two or More Concurrent Opioids at Discharge"\n    union "Encounter with a Concurrent Opioid and Benzodiazepine at Discharge"\n
\n \n \n
\n
" + }, + "version": "2.0.000", + "name": "EXM506_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2" + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161" + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162" + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTUwNl9GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9Ikdsb2JhbCIgcGF0aD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSI0LjAuMDAwIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlNERSIgcGF0aD0iU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIiB2ZXJzaW9uPSIxLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGRlZmF1bHQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAxOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICA8L2RlZmF1bHQ+DQogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPg0KICAgICAgPC9kZWY+DQogICA8L3BhcmFtZXRlcnM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IkRpYWdub3NpcyBSb2xlIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLm9yZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSZXF1ZXN0SW50ZW50IiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9tZWRpY2F0aW9uLXJlcXVlc3QtY2F0ZWdvcnkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFdGhuaWNpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGljZSBDYXJlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMzE1Ny4xMDA0LjIwIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUGFsbGlhdGl2ZSBDYXJlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE2MiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJTY2hlZHVsZSBJViBCZW56b2RpYXplcGluZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC92YWx1ZVNldHM+DQogICA8Y29kZXM+DQogICAgICA8ZGVmIG5hbWU9IkJpcnRoZGF0ZSIgaWQ9IjIxMTEyLTgiIGRpc3BsYXk9IkJpcnRoIGRhdGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iTE9JTkMiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJPcmRlciIgaWQ9Im9yZGVyIiBkaXNwbGF5PSJPcmRlciIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJSZXF1ZXN0SW50ZW50Ii8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ29tbXVuaXR5IiBpZD0iY29tbXVuaXR5IiBkaXNwbGF5PSJDb21tdW5pdHkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIvPg0KICAgICAgPC9kZWY+DQogICA8L2NvZGVzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkVuY291bnRlcklucGF0aWVudCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxOCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iT3Bpb2lkIFByZXNjcmlwdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iT3Bpb2lkTWVkaWNhdGlvblJlcXVlc3QiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iT3Bpb2lkTWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9Ik9waW9pZE1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvcmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2F0ZWdvcnkiIHNjb3BlPSJPcGlvaWRNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNvbW11bml0eSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmVuem9kaWF6ZXBpbmUgUHJlc2NyaXB0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iU2NoZWR1bGUgSVYgQmVuem9kaWF6ZXBpbmVzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IkJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9IkJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvQ29uY2VwdCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDb21tdW5pdHkiIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnBhdGllbnRFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9Ik9waW9pZFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iT3Bpb2lkIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik9waW9pZFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iQmVuem9kaWF6ZXBpbmVQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkJlbnpvZGlhemVwaW5lIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkJlbnpvZGlhemVwaW5lUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRpYWdub3NpcyBvZiBQcmltYXJ5IG9yIFNlY29uZGFyeSBDYW5jZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkNhbmNlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJDYW5jZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmVyaWZpY2F0aW9uU3RhdHVzIiBzY29wZT0iQ2FuY2VyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb25maXJtZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIE9yZGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlBhbGxpYXRpdmUgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSG9zcGljZSBDYXJlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYWN0aXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaW50ZW50IiBzY29wZT0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQYWxsaWF0aXZlIG9yIEhvc3BpY2UgQ2FyZSBQcm9jZWR1cmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBhbGxpYXRpdmVPckhvc3BpY2VDYXJlIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYWxsaWF0aXZlIENhcmUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSG9zcGljZSBDYXJlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IgRXhjbHVzaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iQ2FuY2VyIiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJEaWFnbm9zaXMgb2YgUHJpbWFyeSBvciBTZWNvbmRhcnkgQ2FuY2VyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJPdmVybGFwcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgT25zZXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJvbnNldCIgc2NvcGU9IkNhbmNlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlciIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUGFsbGlhdGl2ZSBvciBIb3NwaWNlIENhcmUgT3JkZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSW5wYXRpZW50RW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUGFsbGlhdGl2ZSBvciBIb3NwaWNlIENhcmUgUHJvY2VkdXJlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJJbmNsdWRlZEluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IlBhbGxpYXRpdmVPckhvc3BpY2VDYXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIHdpdGggYSBDb25jdXJyZW50IE9waW9pZCBhbmQgQmVuem9kaWF6ZXBpbmUgYXQgRGlzY2hhcmdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnBhdGllbnRFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9Ik9waW9pZFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iT3Bpb2lkIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik9waW9pZFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iQmVuem9kaWF6ZXBpbmVQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkJlbnpvZGlhemVwaW5lIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkJlbnpvZGlhemVwaW5lUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIHdpdGggVHdvIG9yIE1vcmUgQ29uY3VycmVudCBPcGlvaWRzIGF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSW5wYXRpZW50RW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb3VudCI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJPcGlvaWRQcmVzY3JpcHRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iT3Bpb2lkIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iT3Bpb2lkUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik51bWVyYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIHdpdGggVHdvIG9yIE1vcmUgQ29uY3VycmVudCBPcGlvaWRzIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciB3aXRoIGEgQ29uY3VycmVudCBPcGlvaWQgYW5kIEJlbnpvZGlhemVwaW5lIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE01MDZfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKY29kZXN5c3RlbSAiRGlhZ25vc2lzIFJvbGUiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZScKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5vcmcnCmNvZGVzeXN0ZW0gIlJlcXVlc3RJbnRlbnQiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCcKY29kZXN5c3RlbSAiTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL21lZGljYXRpb24tcmVxdWVzdC1jYXRlZ29yeScKCnZhbHVlc2V0ICJBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciI6ICAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE2MScKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkhvc3BpY2UgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4zMTU3LjEwMDQuMjAnCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlBhbGxpYXRpdmUgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTYyJwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiU2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzIjogICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMicKdmFsdWVzZXQgIlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMScKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiT3JkZXIiOiAnb3JkZXInIGZyb20gIlJlcXVlc3RJbnRlbnQiIGRpc3BsYXkgJ09yZGVyJwpjb2RlICJDb21tdW5pdHkiOiAnY29tbXVuaXR5JyBmcm9tICJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IiBkaXNwbGF5ICdDb21tdW5pdHknCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgICBkZWZhdWx0IEludGVydmFsW0AyMDE5LTAxLTAxVDAwOjAwOjAwLjAsIEAyMDIwLTAxLTAxVDAwOjAwOjAwLjApCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiOgoJWyJFbmNvdW50ZXIiOiAiRW5jb3VudGVyIElucGF0aWVudCJdIEVuY291bnRlcklucGF0aWVudAoJCXdoZXJlIEVuY291bnRlcklucGF0aWVudC5zdGF0dXMgPSAnZmluaXNoZWQnCgkJICBhbmQgR2xvYmFsLiJMZW5ndGhJbkRheXMiKEVuY291bnRlcklucGF0aWVudC5wZXJpb2QpIDw9IDEyMAoJCQlhbmQgRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICBhbmQgR2xvYmFsLkNhbGVuZGFyQWdlSW5ZZWFyc0F0KFRvRGF0ZVRpbWUoUGF0aWVudC5iaXJ0aERhdGUpLCBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEVuY291bnRlcklucGF0aWVudC5wZXJpb2QpKSA+PSAxOAoKLy8gRGVmaW5lcyB0byBjYXB0dXJlIHRoZSByZWxldmFudCBpbmZvcm1hdGlvbiB0aGF0IGNhbiBiZSByZXVzZWQKZGVmaW5lICJPcGlvaWQgUHJlc2NyaXB0aW9uIjoKICBbTWVkaWNhdGlvblJlcXVlc3Q6IG1lZGljYXRpb24gaW4gIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZE1lZGljYXRpb25SZXF1ZXN0CiAgICB3aGVyZSBPcGlvaWRNZWRpY2F0aW9uUmVxdWVzdC5zdGF0dXMgaW4geyAnYWN0aXZlJywgJ2NvbXBsZXRlZCcgfQogICAgICBhbmQgT3Bpb2lkTWVkaWNhdGlvblJlcXVlc3QuaW50ZW50ID0gJ29yZGVyJwogICAgICBhbmQgT3Bpb2lkTWVkaWNhdGlvblJlcXVlc3QuY2F0ZWdvcnkgfiBUb0NvbmNlcHQoIkNvbW11bml0eSIpCgpkZWZpbmUgIkJlbnpvZGlhemVwaW5lIFByZXNjcmlwdGlvbiI6CiAgW01lZGljYXRpb25SZXF1ZXN0OiBtZWRpY2F0aW9uIGluICJTY2hlZHVsZSBJViBCZW56b2RpYXplcGluZXMiXSBCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0CiAgICB3aGVyZSBCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0LnN0YXR1cyBpbiB7ICdhY3RpdmUnLCAnY29tcGxldGVkJyB9CiAgICAgIGFuZCBCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0LmludGVudCA9ICdvcmRlcicKICAgICAgYW5kIEJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3QuY2F0ZWdvcnkgfiBUb0NvbmNlcHQoIkNvbW11bml0eSIpCgovLyBUaGlzIHdhcyBvcmlnaW5hbGx5IHdyaXR0ZW4gYXMgYW4gaW50ZXJzZWN0LCBidXQgdGhlIGRlc2NyaXB0aW9uIGluZGljYXRlcyBlaXRoZXIsIHNvIGl0IHNob3VsZCBiZSBhIHVuaW9uLi4uCmRlZmluZSAiRW5jb3VudGVyIHdpdGggYW4gT3Bpb2lkIG9yIEJlbnpvZGlhemVwaW5lIGF0IERpc2NoYXJnZSI6CiAgKAogICAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICAgICAgd2l0aCAiT3Bpb2lkIFByZXNjcmlwdGlvbiIgT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgICAgc3VjaCB0aGF0IE9waW9pZFByZXNjcmlwdGlvbi5hdXRob3JlZE9uIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICApCiAgdW5pb24gKAogICAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICAgICAgd2l0aCAiQmVuem9kaWF6ZXBpbmUgUHJlc2NyaXB0aW9uIiBCZW56b2RpYXplcGluZVByZXNjcmlwdGlvbgogICAgICAgIHN1Y2ggdGhhdCBCZW56b2RpYXplcGluZVByZXNjcmlwdGlvbi5hdXRob3JlZE9uIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICApCgovKgpkZWZpbmUgIkVuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiOgoJKAoJCSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCgkJd2l0aCBbTWVkaWNhdGlvblJlcXVlc3Q6IG1lZGljYXRpb24gaW4gIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZHNEaXNjaGFyZ2UKICAgIAlzdWNoIHRoYXQgT3Bpb2lkc0Rpc2NoYXJnZS5hdXRob3JlZE9uIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICAJCWFuZCBPcGlvaWRzRGlzY2hhcmdlLmludGVudCA9ICdvcmRlcicKCSkKICAvL01lYXN1cmUgUmV2aWV3OgogIC8vVGhlIHByaW9yIGltcGxlbWVudGF0aW9uIHdhcyByZXN0cmljdGluZyAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiCiAgLy90byBib3RoIE9waW9pZCBBTkQgQmVuem9kaWF6ZXBpbmUgYXQgZGlzY2hhcmdlLgogIC8vVGhlIGZvbGxvd2luZyBpbXBsZW1lbnRhdGlvbiByZXN0cmljdHMgaXQgdG8gT3Bpb2lkIE9SIEJlbnpvZGlhemVwaW5lLCBwZXIgdGhlIGRlc2NyaXB0aW9uLgogIC8vTmVlZCB2YWxpZGF0aW9uIGZyb20gdGhlIG1lYXN1cmUgZGV2ZWxvcGVycyB0aGF0IHRoaXMgbWVldHMgdGhlIGl0ZW50IG9mIHRoZSBzcGVjLgoJCXVuaW9uICgKICAgICAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKCSAgICB3aXRoIFtNZWRpY2F0aW9uUmVxdWVzdDogbWVkaWNhdGlvbiBpbiAiU2NoZWR1bGUgSVYgQmVuem9kaWF6ZXBpbmVzIl0gQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UKCSAgICAgc3VjaCB0aGF0IEJlbnpvZGlhemVwaW5lRGlzY2hhcmdlLmF1dGhvcmVkT24gZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICAJICBhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuaW50ZW50ID0gJ29yZGVyJwoJCSApCiovCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CiAgIkVuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKICAiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJEaWFnbm9zaXMgb2YgUHJpbWFyeSBvciBTZWNvbmRhcnkgQ2FuY2VyIjoKICBbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIkFsbCBQcmltYXJ5IGFuZCBTZWNvbmRhcnkgQ2FuY2VyIl0gQ2FuY2VyCiAgICB3aGVyZSBDYW5jZXIuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJwogICAgICBhbmQgQ2FuY2VyLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCgpkZWZpbmUgIlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIE9yZGVyIjoKICAoWyJQcm9jZWR1cmVSZXF1ZXN0IjogIlBhbGxpYXRpdmUgQ2FyZSJdCiAgICB1bmlvbiBbIlByb2NlZHVyZVJlcXVlc3QiOiAiSG9zcGljZSBDYXJlIl0KICApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlCiAgICB3aGVyZSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZS5zdGF0dXMgaW4geyAnYWN0aXZlJywgJ2NvbXBsZXRlZCcgfQogICAgICBhbmQgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUuaW50ZW50ID0gJ29yZGVyJwoKZGVmaW5lICJQYWxsaWF0aXZlIG9yIEhvc3BpY2UgQ2FyZSBQcm9jZWR1cmUiOgogIChbIlByb2NlZHVyZSI6ICJQYWxsaWF0aXZlIENhcmUiXQogICAgdW5pb24gWyJQcm9jZWR1cmUiOiAiSG9zcGljZSBDYXJlIl0KICApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlCiAgICB3aGVyZSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZS5zdGF0dXMgPSAnY29tcGxldGVkJwoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgogICgiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIElucGF0aWVudEVuY291bnRlcgogICAgd2l0aCAiRGlhZ25vc2lzIG9mIFByaW1hcnkgb3IgU2Vjb25kYXJ5IENhbmNlciIgQ2FuY2VyCiAgICAgIHN1Y2ggdGhhdCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoQ2FuY2VyLm9uc2V0KSBvdmVybGFwcyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgKQogICAgdW5pb24gKCJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCiAgICAgIHdpdGggIlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIE9yZGVyIiBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyCiAgICAgICAgc3VjaCB0aGF0IFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlT3JkZXIuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgKQogICAgdW5pb24gKCJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCiAgICAgIHdpdGggIlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIFByb2NlZHVyZSIgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUKICAgICAgICBzdWNoIHRoYXQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlLnBlcmZvcm1lZCkgZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICkKCi8qCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6CgkoIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKCXdpdGggW0NvbmRpdGlvbjogY29kZSBpbiAiQWxsIFByaW1hcnkgYW5kIFNlY29uZGFyeSBDYW5jZXIiXUNhbmNlcgogICAgICAgc3VjaCB0aGF0IENhbmNlci5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnCiAgICAgICBhbmQgQ2FuY2VyLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCiAgICAgICBhbmQgQ2FuY2VyLm9uc2V0IG92ZXJsYXBzIElucGF0aWVudEVuY291bnRlci5wZXJpb2QpCgkJdW5pb24gKCJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCiAgICAgIHdpdGggKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJQYWxsaWF0aXZlIENhcmUiXQoJCQl1bmlvbiBbIlByb2NlZHVyZVJlcXVlc3QiOiAiSG9zcGljZSBDYXJlIl0gKSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyCgkJCXN1Y2ggdGhhdCAgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlci5pbnRlbnQgPSAnb3JkZXInCiAgICAgIGFuZCBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyLmF1dGhvcmVkT24gZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QpCiAgICB1bmlvbiAoIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICB3aXRoICAoWyJQcm9jZWR1cmUiOiAiUGFsbGlhdGl2ZSBDYXJlIl0KICAgIAl1bmlvbiBbIlByb2NlZHVyZSI6ICJIb3NwaWNlIENhcmUiXSApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlUGVyZm9ybWVkCiAgICAJCQkJCXN1Y2ggdGhhdCBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZVBlcmZvcm1lZC5wZXJmb3JtZWQgb3ZlcmxhcHMgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZCkKKi8KCmRlZmluZSAiRW5jb3VudGVyIHdpdGggYSBDb25jdXJyZW50IE9waW9pZCBhbmQgQmVuem9kaWF6ZXBpbmUgYXQgRGlzY2hhcmdlIjoKICAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIElucGF0aWVudEVuY291bnRlcgogICAgd2l0aCAiT3Bpb2lkIFByZXNjcmlwdGlvbiIgT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgIHN1Y2ggdGhhdCBPcGlvaWRQcmVzY3JpcHRpb24uYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgd2l0aCAiQmVuem9kaWF6ZXBpbmUgUHJlc2NyaXB0aW9uIiBCZW56b2RpYXplcGluZVByZXNjcmlwdGlvbgogICAgICBzdWNoIHRoYXQgQmVuem9kaWF6ZXBpbmVQcmVzY3JpcHRpb24uYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAoKLyoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBhIENvbmN1cnJlbnQgT3Bpb2lkIGFuZCBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiOgoJZnJvbSAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIElucGF0aWVudEVuY291bnRlciwKCQlbTWVkaWNhdGlvblJlcXVlc3Q6ICJTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMiXSBPcGlvaWRzRGlzY2hhcmdlLAoJCVtNZWRpY2F0aW9uUmVxdWVzdDogIlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyJdIEJlbnpvZGlhemVwaW5lRGlzY2hhcmdlCgkJCXdoZXJlIE9waW9pZHNEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAoJICAgIAlhbmQgT3Bpb2lkc0Rpc2NoYXJnZS5pbnRlbnQgPSAnb3JkZXInCgkJCQlhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgICAgIGFuZCBCZW56b2RpYXplcGluZURpc2NoYXJnZS5pbnRlbnQgPSAnb3JkZXInCgkJCXJldHVybiBJbnBhdGllbnRFbmNvdW50ZXIKKi8KCmRlZmluZSAiRW5jb3VudGVyIHdpdGggVHdvIG9yIE1vcmUgQ29uY3VycmVudCBPcGlvaWRzIGF0IERpc2NoYXJnZSI6CiAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICAgIHdoZXJlIENvdW50KAogICAgICAiT3Bpb2lkIFByZXNjcmlwdGlvbiIgT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgICAgd2hlcmUgT3Bpb2lkUHJlc2NyaXB0aW9uLmF1dGhvcmVkT24gZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICkgPj0gMgoKLyoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBUd28gb3IgTW9yZSBDb25jdXJyZW50IE9waW9pZHMgYXQgRGlzY2hhcmdlIjoKCSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCgkJd2hlcmUgQ291bnQoCgkJCVtNZWRpY2F0aW9uUmVxdWVzdDogIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZHMKCQkJCXdoZXJlIE9waW9pZHMuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAoJCSkgPj0gMgoqLwoKZGVmaW5lICJOdW1lcmF0b3IiOgogICJFbmNvdW50ZXIgd2l0aCBUd28gb3IgTW9yZSBDb25jdXJyZW50IE9waW9pZHMgYXQgRGlzY2hhcmdlIgogICAgdW5pb24gIkVuY291bnRlciB3aXRoIGEgQ29uY3VycmVudCBPcGlvaWQgYW5kIEJlbnpvZGlhemVwaW5lIGF0IERpc2NoYXJnZSIK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-EXM506-FHIR3-2.0.000" + } + }, { + "resource": { + "resourceType": "Patient", + "id": "denom-EXM506-FHIR3", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] + }, + "extension": [ { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2054-5", + "display": "Black or African American" + } + } ] + }, { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2135-2", + "display": "Hispanic or Latino" + } + } ] + } ], + "identifier": [ { + "use": "usual", + "type": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MR", + "display": "Medical Record Number" + } ] + }, + "system": "http://hospital.smarthealthit.org", + "value": "9999999910" + } ], + "name": [ { + "family": "Jones", + "given": [ "Rick" ] + } ], + "gender": "male", + "birthDate": "1955-11-05" + }, + "request": { + "method": "PUT", + "url": "Patient/denom-EXM506-FHIR3" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.836", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.836" + } ], + "version": "20121025", + "name": "Race", + "title": "Race", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "1002-5", + "display": "American Indian or Alaska Native" + }, { + "code": "2028-9", + "display": "Asian" + }, { + "code": "2054-5", + "display": "Black or African American" + }, { + "code": "2076-8", + "display": "Native Hawaiian or Other Pacific Islander" + }, { + "code": "2106-3", + "display": "White" + }, { + "code": "2131-1", + "display": "Other Race" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-4.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-4.0.000
Type: Logic Library
Version: 4.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '4.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t  and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "HospitalizationWithObservation"(TheEncounter FHIR.Encounter):\n\tTheEncounter Visit\n\t\tlet ObsVisit: Last([Encounter: "Observation Services"] LastObs\n\t\t\t\twhere LastObs.period ends 1 hour or less on or before start of Visit.period\n\t\t\t\tsort by end of period\n\t\t\t),\n\t\t\tVisitStart: Coalesce(start of ObsVisit.period, start of Visit.period),\n\t\t\tEDVisit: Last([Encounter: "Emergency Department Visit"] LastED\n\t\t\t\twhere LastED.period ends 1 hour or less on or before VisitStart\n\t\t\t\tsort by end of period\n\t\t\t)\n\t\treturn Interval[Coalesce(start of EDVisit.period, VisitStart), end of Visit.period]\n\ndefine function "HospitalizationWithObservationLengthofStay"(Encounter FHIR.Encounter):\n\t"LengthInDays"("HospitalizationWithObservation"(Encounter))\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] Condition where Condition.id.value = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t//"GetId"(uri String): returns the last String of a Split by / List therefor cannot use in\n\t\treturn singleton from ([Condition] Condition where Condition.id.value = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "4.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMjMiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIyMyIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSI0LjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT2JzZXJ2YXRpb24gU2VydmljZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTQzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iQmlydGhkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlYWQiIGlkPSI0MTkwOTkwMDkiIGRpc3BsYXk9IkRlYWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEQ1QiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFUiIgaWQ9IkVSIiBkaXNwbGF5PSJFbWVyZ2VuY3kgcm9vbSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJSb2xlQ29kZSIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IklDVSIgaWQ9IklDVSIgZGlzcGxheT0iSW50ZW5zaXZlIGNhcmUgdW5pdCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJSb2xlQ29kZSIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkJpbGxpbmciIGlkPSJiaWxsaW5nIiBkaXNwbGF5PSJCaWxsaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkRpYWdub3NpcyBSb2xlIi8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJMZW5ndGhJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkRpZmZlcmVuY2VCZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRW5jb3VudGVySW5wYXRpZW50Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVuY291bnRlciBJbnBhdGllbnQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICA8eWVhciBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3llYXI+DQogICAgICAgICAgICA8bW9udGggcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvbW9udGg+DQogICAgICAgICAgICA8ZGF5IHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9kYXk+DQogICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDx0aW1lem9uZU9mZnNldCB4c2k6dHlwZT0iVGltZXpvbmVGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC90aW1lem9uZU9mZnNldD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRUQgVmlzaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJob3VyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJYIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRURFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgcGF0aD0ibG9jYXRpb24iIHNjb3BlPSJFREVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTGVuZ3RoSW5EYXlzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIEFkbWlzc2lvbiBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQXJyaXZhbCBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IkZpcnN0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikhvc3BpdGFsTG9jYXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9IklkZW50aWZpZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvcnQ+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWaXNpdCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxsZXQgaWRlbnRpZmllcj0iT2JzVmlzaXQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9Ikxhc3QiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTGFzdE9icyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMYXN0T2JzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJJZGVudGlmaWVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2J5Pg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3J0Pg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L2xldD4NCiAgICAgICAgICAgIDxsZXQgaWRlbnRpZmllcj0iVmlzaXRTdGFydCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iT2JzVmlzaXQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvbGV0Pg0KICAgICAgICAgICAgPGxldCBpZGVudGlmaWVyPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikxhc3RFRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMYXN0RUQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmlzaXRTdGFydCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlZpc2l0U3RhcnQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3J0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGJ5IGRpcmVjdGlvbj0iYXNjIiB4c2k6dHlwZT0iQnlFeHByZXNzaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9sZXQ+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iRURWaXNpdCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWaXNpdFN0YXJ0IiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb25MZW5ndGhvZlN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJDb25kaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb25kaXRpb24iIHNjb3BlPSJEIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUEQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icm9sZSIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvQ29uY2VwdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaWxsaW5nIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZWdlciIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmFuayIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJDb25kaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb25kaXRpb24iIHNjb3BlPSJQRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0TG9jYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTG9jYXRpb24iPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TG9jYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJpZCIgc2NvcGU9IkxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVmZXJlbmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlZmVyZW5jZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkUiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRCYXNlRXh0ZW5zaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0UHJvdmVuYW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb3ZlbmFuY2UiIGNvZGVQcm9wZXJ0eT0idGFyZ2V0IiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0TWVkaWNhdGlvbkNvZGUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXF1ZXN0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXF1ZXN0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXF1ZXN0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MycKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiRGVhZCI6ICc0MTkwOTkwMDknIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdEZWFkJwpjb2RlICJFUiI6ICdFUicgZnJvbSAiUm9sZUNvZGUiIGRpc3BsYXkgJ0VtZXJnZW5jeSByb29tJwpjb2RlICJJQ1UiOiAnSUNVJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnSW50ZW5zaXZlIGNhcmUgdW5pdCcKY29kZSAiQmlsbGluZyI6ICdiaWxsaW5nJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAnQmlsbGluZycKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJJbnBhdGllbnQgRW5jb3VudGVyIjoKCVtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRW5jb3VudGVySW5wYXRpZW50CgkJd2hlcmUgRW5jb3VudGVySW5wYXRpZW50LnN0YXR1cyA9ICdmaW5pc2hlZCcKCQkgIGFuZCAiTGVuZ3RoSW5EYXlzIihFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kKSA8PSAxMjAKCQkJYW5kIEVuY291bnRlcklucGF0aWVudC5wZXJpb2QgZW5kcyBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSBmdW5jdGlvbiAiVG9EYXRlIihWYWx1ZSBEYXRlVGltZSk6CglEYXRlVGltZSh5ZWFyIGZyb20gVmFsdWUsIG1vbnRoIGZyb20gVmFsdWUsIGRheSBmcm9tIFZhbHVlLCAwLCAwLCAwLCAwLCB0aW1lem9uZSBmcm9tIFZhbHVlKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5c0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCWRheXMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5EYXlzIihCaXJ0aERhdGVUaW1lIERhdGVUaW1lKToKCUNhbGVuZGFyQWdlSW5EYXlzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCW1vbnRocyBiZXR3ZWVuIFRvRGF0ZShCaXJ0aERhdGVUaW1lKWFuZCBUb0RhdGUoQXNPZikKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbk1vbnRocyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluTW9udGhzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUsIEFzT2YgRGF0ZVRpbWUpOgoJeWVhcnMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFycyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluWWVhcnNBdChCaXJ0aERhdGVUaW1lLCBUb2RheSgpKQoKZGVmaW5lIGZ1bmN0aW9uICJMZW5ndGhJbkRheXMiKFZhbHVlIEludGVydmFsPERhdGVUaW1lPik6CglkaWZmZXJlbmNlIGluIGRheXMgYmV0d2VlbiBzdGFydCBvZiBWYWx1ZSBhbmQgZW5kIG9mIFZhbHVlCgpkZWZpbmUgZnVuY3Rpb24gIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgogICAgc2luZ2xldG9uIGZyb20gKAogICAgICAgIFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIEVEVmlzaXQKICAgICAgICAgICAgd2hlcmUgRURWaXNpdC5zdGF0dXMgPSAnZmluaXNoZWQnCiAgICAgICAgICAgICAgICBhbmQgRURWaXNpdC5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQogICAgKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIFgKICAgIHJldHVybgogICAgICAgIGlmIFggaXMgbnVsbCB0aGVuIFRoZUVuY291bnRlci5wZXJpb2QKICAgICAgICBlbHNlIEludGVydmFsW3N0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoWC5wZXJpb2QpLCBlbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKV0KCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCSggIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIpICkgRURFbmNvdW50ZXIKICAgIHJldHVybgogICAgICAgIGlmIEVERW5jb3VudGVyIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIubG9jYXRpb24KICAgICAgICBlbHNlIGZsYXR0ZW4geyBFREVuY291bnRlci5sb2NhdGlvbiwgVGhlRW5jb3VudGVyLmxvY2F0aW9uIH0KCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJTGVuZ3RoSW5EYXlzKCJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikpCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIEFkbWlzc2lvbiBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJc3RhcnQgb2YgIkhvc3BpdGFsaXphdGlvbiIoVGhlRW5jb3VudGVyKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCWVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFRoZUVuY291bnRlci5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRmlyc3QoCgkgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglUaGVFbmNvdW50ZXIgVmlzaXQKCQlsZXQgT2JzVmlzaXQ6IExhc3QoW0VuY291bnRlcjogIk9ic2VydmF0aW9uIFNlcnZpY2VzIl0gTGFzdE9icwoJCQkJd2hlcmUgTGFzdE9icy5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgVmlzaXQucGVyaW9kCgkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKCQkJKSwKCQkJVmlzaXRTdGFydDogQ29hbGVzY2Uoc3RhcnQgb2YgT2JzVmlzaXQucGVyaW9kLCBzdGFydCBvZiBWaXNpdC5wZXJpb2QpLAoJCQlFRFZpc2l0OiBMYXN0KFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIExhc3RFRAoJCQkJd2hlcmUgTGFzdEVELnBlcmlvZCBlbmRzIDEgaG91ciBvciBsZXNzIG9uIG9yIGJlZm9yZSBWaXNpdFN0YXJ0CgkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKCQkJKQoJCXJldHVybiBJbnRlcnZhbFtDb2FsZXNjZShzdGFydCBvZiBFRFZpc2l0LnBlcmlvZCwgVmlzaXRTdGFydCksIGVuZCBvZiBWaXNpdC5wZXJpb2RdCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbkxlbmd0aG9mU3RheSIoRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCSJMZW5ndGhJbkRheXMiKCJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKEVuY291bnRlcikpCgovLyBUT0RPIC0gZml4IHRoZXNlIChtdXN0IGZldGNoIExvY2F0aW9uIHJlc291cmNlcyBhbmQgY29tcGFyZSBpZCB0byByZWZlcmVuY2UpCi8qZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBEZXBhcnR1cmUgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCWVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKExhc3QoCgkgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKCgKCSAgICBzaW5nbGV0b24gZnJvbSAoCgkgICAgICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCQl3aGVyZSBIb3NwaXRhbExvY2F0aW9uLnR5cGUgfiAiRVIiCgkJKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkZpcnN0IElucGF0aWVudCBJbnRlbnNpdmUgQ2FyZSBVbml0IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJRmlyc3QoCgkgICAgKCBUaGVFbmNvdW50ZXIubG9jYXRpb24gKSBIb3NwaXRhbExvY2F0aW9uCgkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJJQ1UiCgkJCQlhbmQgSG9zcGl0YWxMb2NhdGlvbi5wZXJpb2QgZHVyaW5nIFRoZUVuY291bnRlci5wZXJpb2QKCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkqLwoKLyoKKgoqICAgIENRRk1lYXN1cmVzIENvbW1vbiBMb2dpYwoqCiovCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBPbnNldCIob25zZXQgQ2hvaWNlPEZISVIuZGF0ZVRpbWUsIEZISVIuQWdlLCBGSElSLlBlcmlvZCwgRkhJUi5SYW5nZSwgRkhJUi5zdHJpbmc+KToKICBpZiBvbnNldCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShvbnNldCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShvbnNldCBhcyBGSElSLmRhdGVUaW1lKV0KCWVsc2UgaWYgb25zZXQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKG9uc2V0IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLkFnZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KG9uc2V0IGFzIEZISVIuQWdlKSwKCQkgIEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KG9uc2V0IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24gQ29uZGl0aW9uKToKCWlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5kYXRlVGltZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuUGVyaW9kIHRoZW4KCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuQWdlIHRoZW4KCQlJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSwKCQkJRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLkFnZSkgKyAxIHllYXIpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5ib29sZWFuIHRoZW4KCSAgSW50ZXJ2YWxbZW5kIG9mICJOb3JtYWxpemUgT25zZXQiKGNvbmRpdGlvbi5vbnNldCksIGNvbmRpdGlvbi5hc3NlcnRlZERhdGUpCgllbHNlIG51bGwKCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJldmFsZW5jZVBlcmlvZCIoY29uZGl0aW9uIENvbmRpdGlvbik6CiAgSW50ZXJ2YWxbc3RhcnQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgZW5kIG9mICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24pKQoKZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgSW50ZXJ2YWwiKGNob2ljZSBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5QZXJpb2Q+KToKICBpZiBjaG9pY2UgaXMgRkhJUi5kYXRlVGltZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNob2ljZSBhcyBGSElSLmRhdGVUaW1lKV0KCWVsc2UKCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjaG9pY2UgYXMgRkhJUi5QZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkdldElkIih1cmkgU3RyaW5nKToKCUxhc3QoU3BsaXQodXJpLCAnLycpKQoKZGVmaW5lIGZ1bmN0aW9uICJFbmNvdW50ZXJEaWFnbm9zaXMiKEVuY291bnRlciBFbmNvdW50ZXIpOgogIEVuY291bnRlci5kaWFnbm9zaXMgRAogICAgcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDb25kaXRpb24gd2hlcmUgQ29uZGl0aW9uLmlkLnZhbHVlID0gIkdldElkIihELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgY29uZGl0aW9uIHRoYXQgaXMgc3BlY2lmaWVkIGFzIHRoZSBwcmluY2lwYWwgZGlhZ25vc2lzIGZvciB0aGUgZW5jb3VudGVyCmRlZmluZSBmdW5jdGlvbiAiUHJpbmNpcGFsRGlhZ25vc2lzIihFbmNvdW50ZXIgRW5jb3VudGVyKToKCShzaW5nbGV0b24gZnJvbSAoRW5jb3VudGVyLmRpYWdub3NpcyBEIHdoZXJlIEQucm9sZSB+IFRvQ29uY2VwdCgiQmlsbGluZyIpIGFuZCBELnJhbmsgPSAxKSkgUEQKCS8vIkdldElkIih1cmkgU3RyaW5nKTogcmV0dXJucyB0aGUgbGFzdCBTdHJpbmcgb2YgYSBTcGxpdCBieSAvIExpc3QgdGhlcmVmb3IgY2Fubm90IHVzZSBpbgoJCXJldHVybiBzaW5nbGV0b24gZnJvbSAoW0NvbmRpdGlvbl0gQ29uZGl0aW9uIHdoZXJlIENvbmRpdGlvbi5pZC52YWx1ZSA9ICJHZXRJZCIoUEQuY29uZGl0aW9uLnJlZmVyZW5jZSkpCgovLyBSZXR1cm5zIHRoZSBsb2NhdGlvbiBmb3IgdGhlIGdpdmVuIGxvY2F0aW9uIHJlZmVyZW5jZQpkZWZpbmUgZnVuY3Rpb24gR2V0TG9jYXRpb24ocmVmZXJlbmNlIFJlZmVyZW5jZSk6CiAgc2luZ2xldG9uIGZyb20gKAogICAgW0xvY2F0aW9uXSBMb2NhdGlvbiB3aGVyZSBMb2NhdGlvbi5pZC52YWx1ZSA9IEdldElkKHJlZmVyZW5jZS5yZWZlcmVuY2UpCiAgKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9uIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6CiAgc2luZ2xldG9uIGZyb20gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlLCB1cmwpCgovKgpOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcwpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZQpDUUwgbW9kZWwgaW5mby4KKi8KZGVmaW5lIGZ1bmN0aW9uICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJyArIHVybCkKCQlyZXR1cm4gRQoKZGVmaW5lIGZ1bmN0aW9uICJHZXRCYXNlRXh0ZW5zaW9uIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6CiAgc2luZ2xldG9uIGZyb20gIkdldEJhc2VFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogUHJvdmVuYW5jZSBpcyBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgdGhpcyBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGlsbHVzdHJhdGlvbgpmb3Igd2hhdCB1c2luZyBQcm92ZW5hbmNlIGNvdWxkIGxvb2sgbGlrZSwgYW5kIGlzIG5vdCBhIHRlc3RlZCBwYXR0ZXJuCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJvdmVuYW5jZSIocmVzb3VyY2UgUmVzb3VyY2UpOgogIHNpbmdsZXRvbiBmcm9tIChbUHJvdmVuYW5jZTogdGFyZ2V0IGluIHJlc291cmNlLmlkXSkKCmRlZmluZSBmdW5jdGlvbiAiR2V0TWVkaWNhdGlvbkNvZGUiKHJlcXVlc3QgTWVkaWNhdGlvblJlcXVlc3QpOgogIGlmIHJlcXVlc3QubWVkaWNhdGlvbiBpcyBDb2RlYWJsZUNvbmNlcHQgdGhlbgoJICByZXF1ZXN0Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0CgllbHNlCgkgIChzaW5nbGV0b24gZnJvbSAoW01lZGljYXRpb246IGlkIGluIEdldElkKChyZXF1ZXN0Lm1lZGljYXRpb24gYXMgUmVmZXJlbmNlKS5yZWZlcmVuY2UpXSkpLmNvZGUK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.666.5.307", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.666.5.307" + } ], + "version": "20170504", + "name": "EncounterInpatient", + "title": "Encounter Inpatient", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + }, { + "code": "8715000", + "display": "Hospital admission, elective (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "resource": { + "resourceType": "Bundle", + "id": "tests-Encounter-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Encounter", + "id": "numer-EXM506-FHIR3-2", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] + }, + "status": "finished", + "class": { + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", + "code": "IMP", + "display": "inpatient encounter" + }, + "type": [ { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "32485007", + "display": "Hospital admission (procedure)" + } ] + } ], + "subject": { + "reference": "Patient/numer-EXM506-FHIR3" + }, + "period": { + "start": "2019-08-21T00:00:00-06:00", + "end": "2019-12-18T08:15:00-07:00" + }, + "diagnosis": [ { + "condition": { + "reference": "Condition/numer-EXM506-FHIR3-1" + }, + "role": { + "coding": [ { + "system": "http://hl7.org/fhir/diagnosis-role", + "code": "billing", + "display": "Billing" + } ] + }, + "rank": 1 + } ], + "hospitalization": { + "dischargeDisposition": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "306701001", + "display": "Discharge to community hospital (procedure)" + } ] + } + } + }, + "request": { + "method": "PUT", + "url": "Encounter/numer-EXM506-FHIR3-2" + } + } ] + }, + "request": { + "method": "PUT", + "url": "tests-Encounter-bundle" + } + }, { + "resource": { + "resourceType": "Patient", + "id": "numer-EXM506-FHIR3", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] + }, + "extension": [ { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2106-3", + "display": "White" + } + } ] + }, { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2186-5", + "display": "Not Hispanic or Latino" + } + } ] + } ], + "identifier": [ { + "use": "usual", + "type": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MR", + "display": "Medical Record Number" + } ] + }, + "system": "http://hospital.smarthealthit.org", + "value": "9999999911" + } ], + "name": [ { + "family": "Jones", + "given": [ "Louise" ] + } ], + "gender": "female", + "birthDate": "1971-11-21" + }, + "request": { + "method": "PUT", + "url": "Patient/numer-EXM506-FHIR3" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.3157.1004.20", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20", + "title": "Hospice Care", + "status": "active", + "publisher": "Mathematica", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-09", + "concept": [ { + "code": "170935008", + "display": "Full care by hospice (finding)" + }, { + "code": "170936009", + "display": "Shared care - hospice and general practitioner (finding)" + }, { + "code": "1891000124102", + "display": "Transition from acute care to hospice (finding)" + }, { + "code": "1921000124108", + "display": "Transition from home-health care to hospice (finding)" + }, { + "code": "1951000124104", + "display": "Transition from long-term care to hospice (finding)" + }, { + "code": "1981000124107", + "display": "Transition from hospice to long-term care (finding)" + }, { + "code": "305911006", + "display": "Seen in hospice (finding)" + }, { + "code": "313372007", + "display": "Patient died in hospice (finding)" + }, { + "code": "448451000124101", + "display": "Transition from self-care to hospice (finding)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.3157.1004.20" + } + }, { + "resource": { + "resourceType": "MedicationRequest", + "id": "numer-EXM506-FHIR3-6", + "status": "completed", + "intent": "order", + "category": { + "coding": [ { + "system": "http://hl7.org/fhir/medication-request-category", + "code": "community", + "display": "Community" + } ] + }, + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1666777", + "display": "2 ML Midazolam 1 MG/ML Cartridge" + } ] + }, + "subject": { + "reference": "Patient/numer-EXM506-FHIR3" + }, + "authoredOn": "2019-12-18T08:14:00-07:00" + }, + "request": { + "method": "PUT", + "url": "MedicationRequest/numer-EXM506-FHIR3-6" + } + }, { + "resource": { + "resourceType": "MeasureReport", + "id": "measurereport-numer-EXM506-FHIR3", + "contained": [ { + "resourceType": "Bundle", + "id": "4bc15806-5411-4411-9fd0-cb9a9058525b", + "type": "collection", + "entry": [ { + "fullUrl": "Encounter/numer-EXM506-FHIR3-2", + "resource": { + "resourceType": "Encounter", + "id": "numer-EXM506-FHIR3-2", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] + }, + "status": "finished", + "class": { + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", + "code": "IMP", + "display": "inpatient encounter" + }, + "type": [ { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "32485007", + "display": "Hospital admission (procedure)" + } ] + } ], + "subject": { + "reference": "Patient/numer-EXM506-FHIR3" + }, + "period": { + "start": "2019-08-21T00:00:00-06:00", + "end": "2019-12-18T08:15:00-07:00" + }, + "diagnosis": [ { + "condition": { + "reference": "Condition/numer-EXM506-FHIR3-1" + }, + "role": { + "coding": [ { + "system": "http://hl7.org/fhir/diagnosis-role", + "code": "billing", + "display": "Billing" + } ] + }, + "rank": 1 + } ], + "hospitalization": { + "dischargeDisposition": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "306701001", + "display": "Discharge to community hospital (procedure)" + } ] + } + } + } + }, { + "fullUrl": "MedicationRequest/numer-EXM506-FHIR3-5", + "resource": { + "resourceType": "MedicationRequest", + "id": "numer-EXM506-FHIR3-5", + "meta": { }, + "status": "completed", + "intent": "order", + "category": { + "coding": [ { + "system": "http://hl7.org/fhir/medication-request-category", + "code": "community", + "display": "Community" + } ] + }, + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "892516", + "display": "Morphine Sulfate 10 MG Rectal Suppository" + } ] + }, + "subject": { + "reference": "Patient/numer-EXM506-FHIR3" + }, + "authoredOn": "2019-08-21T00:00:00-07:00" + } + }, { + "fullUrl": "MedicationRequest/numer-EXM506-FHIR3-6", + "resource": { + "resourceType": "MedicationRequest", + "id": "numer-EXM506-FHIR3-6", + "meta": { }, + "status": "completed", + "intent": "order", + "category": { + "coding": [ { + "system": "http://hl7.org/fhir/medication-request-category", + "code": "community", + "display": "Community" + } ] + }, + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1666777", + "display": "2 ML Midazolam 1 MG/ML Cartridge" + } ] + }, + "subject": { + "reference": "Patient/numer-EXM506-FHIR3" + }, + "authoredOn": "2019-12-18T08:14:00-07:00" + } + }, { + "fullUrl": "MedicationRequest/numer-EXM506-FHIR3-7", + "resource": { + "resourceType": "MedicationRequest", + "id": "numer-EXM506-FHIR3-7", + "meta": { }, + "status": "completed", + "intent": "order", + "category": { + "coding": [ { + "system": "http://hl7.org/fhir/medication-request-category", + "code": "community", + "display": "Community" + } ] + }, + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "1010600", + "display": "Buprenorphine 2 MG / Naloxone 0.5 MG Oral Strip" + } ] + }, + "subject": { + "reference": "Patient/numer-EXM506-FHIR3" + }, + "authoredOn": "2019-08-21T00:00:00-08:00" + } + }, { + "fullUrl": "Patient/numer-EXM506-FHIR3", + "resource": { + "resourceType": "Patient", + "id": "numer-EXM506-FHIR3", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" ] + }, + "extension": [ { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2106-3", + "display": "White" + } + } ] + }, { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ { + "url": "ombCategory", + "valueCoding": { + "system": "urn:oid:2.16.840.1.113883.6.238", + "code": "2186-5", + "display": "Not Hispanic or Latino" + } + } ] + } ], "identifier": [ { "use": "usual", "type": { @@ -931,107 +3457,12131 @@ }, "count": 1 }, { - "code": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator-exclusion", - "display": "Denominator Exclusion" - } ] - }, - "count": 0 - } ], - "measureScore": 1.0 - } ], - "evaluatedResources": { - "reference": "#4bc15806-5411-4411-9fd0-cb9a9058525b" - } - }, - "request": { - "method": "PUT", - "url": "MeasureReport/measurereport-numer-EXM506-FHIR3" - } - }, { - "resource": { - "resourceType": "MedicationRequest", - "id": "numer-EXM506-FHIR3-5", - "status": "completed", - "intent": "order", - "category": { - "coding": [ { - "system": "http://hl7.org/fhir/medication-request-category", - "code": "community", - "display": "Community" - } ] - }, - "medicationCodeableConcept": { - "coding": [ { - "system": "http://www.nlm.nih.gov/research/umls/rxnorm", - "code": "892516", - "display": "Morphine Sulfate 10 MG Rectal Suppository" - } ] - }, - "subject": { - "reference": "Patient/numer-EXM506-FHIR3" - }, - "authoredOn": "2019-08-21T00:00:00-07:00" - }, - "request": { - "method": "PUT", - "url": "MedicationRequest/numer-EXM506-FHIR3-5" - } - }, { - "resource": { - "resourceType": "Encounter", - "id": "denom-EXM506-FHIR3-2", - "meta": { - "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] - }, - "status": "finished", - "class": { - "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", - "code": "IMP", - "display": "inpatient encounter" - }, - "type": [ { - "coding": [ { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator-exclusion", + "display": "Denominator Exclusion" + } ] + }, + "count": 0 + } ], + "measureScore": 1.0 + } ], + "evaluatedResources": { + "reference": "#4bc15806-5411-4411-9fd0-cb9a9058525b" + } + }, + "request": { + "method": "PUT", + "url": "MeasureReport/measurereport-numer-EXM506-FHIR3" + } + }, { + "resource": { + "resourceType": "MedicationRequest", + "id": "numer-EXM506-FHIR3-5", + "status": "completed", + "intent": "order", + "category": { + "coding": [ { + "system": "http://hl7.org/fhir/medication-request-category", + "code": "community", + "display": "Community" + } ] + }, + "medicationCodeableConcept": { + "coding": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "code": "892516", + "display": "Morphine Sulfate 10 MG Rectal Suppository" + } ] + }, + "subject": { + "reference": "Patient/numer-EXM506-FHIR3" + }, + "authoredOn": "2019-08-21T00:00:00-07:00" + }, + "request": { + "method": "PUT", + "url": "MedicationRequest/numer-EXM506-FHIR3-5" + } + }, { + "resource": { + "resourceType": "Encounter", + "id": "denom-EXM506-FHIR3-2", + "meta": { + "profile": [ "http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter" ] + }, + "status": "finished", + "class": { + "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", + "code": "IMP", + "display": "inpatient encounter" + }, + "type": [ { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "32485007", + "display": "Hospital admission (procedure)" + } ] + } ], + "subject": { + "reference": "Patient/denom-EXM506-FHIR3" + }, + "period": { + "start": "2019-08-21T00:00:00-06:00", + "end": "2019-12-18T08:15:00-07:00" + }, + "diagnosis": [ { + "condition": { + "reference": "Condition/denom-EXM506-FHIR3-1" + }, + "role": { + "coding": [ { + "system": "http://hl7.org/fhir/diagnosis-role", + "code": "billing", + "display": "Billing" + } ] + }, + "rank": 1 + } ], + "hospitalization": { + "dischargeDisposition": { + "coding": [ { + "system": "http://snomed.info/sct", + "code": "306701001", + "display": "Discharge to community hospital (procedure)" + } ] + } + } + }, + "request": { + "method": "PUT", + "url": "Encounter/denom-EXM506-FHIR3-2" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1111.161", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161", + "title": "All Primary and Secondary Cancer", + "status": "active", + "publisher": "Lantana", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2020", + "concept": [ { + "code": "C00.0", + "display": "Malignant neoplasm of external upper lip" + }, { + "code": "C00.1", + "display": "Malignant neoplasm of external lower lip" + }, { + "code": "C00.2", + "display": "Malignant neoplasm of external lip, unspecified" + }, { + "code": "C00.3", + "display": "Malignant neoplasm of upper lip, inner aspect" + }, { + "code": "C00.4", + "display": "Malignant neoplasm of lower lip, inner aspect" + }, { + "code": "C00.5", + "display": "Malignant neoplasm of lip, unspecified, inner aspect" + }, { + "code": "C00.6", + "display": "Malignant neoplasm of commissure of lip, unspecified" + }, { + "code": "C00.8", + "display": "Malignant neoplasm of overlapping sites of lip" + }, { + "code": "C00.9", + "display": "Malignant neoplasm of lip, unspecified" + }, { + "code": "C01", + "display": "Malignant neoplasm of base of tongue" + }, { + "code": "C02.0", + "display": "Malignant neoplasm of dorsal surface of tongue" + }, { + "code": "C02.1", + "display": "Malignant neoplasm of border of tongue" + }, { + "code": "C02.2", + "display": "Malignant neoplasm of ventral surface of tongue" + }, { + "code": "C02.3", + "display": "Malignant neoplasm of anterior two-thirds of tongue, part unspecified" + }, { + "code": "C02.4", + "display": "Malignant neoplasm of lingual tonsil" + }, { + "code": "C02.8", + "display": "Malignant neoplasm of overlapping sites of tongue" + }, { + "code": "C02.9", + "display": "Malignant neoplasm of tongue, unspecified" + }, { + "code": "C03.0", + "display": "Malignant neoplasm of upper gum" + }, { + "code": "C03.1", + "display": "Malignant neoplasm of lower gum" + }, { + "code": "C03.9", + "display": "Malignant neoplasm of gum, unspecified" + }, { + "code": "C04.0", + "display": "Malignant neoplasm of anterior floor of mouth" + }, { + "code": "C04.1", + "display": "Malignant neoplasm of lateral floor of mouth" + }, { + "code": "C04.8", + "display": "Malignant neoplasm of overlapping sites of floor of mouth" + }, { + "code": "C04.9", + "display": "Malignant neoplasm of floor of mouth, unspecified" + }, { + "code": "C05.0", + "display": "Malignant neoplasm of hard palate" + }, { + "code": "C05.1", + "display": "Malignant neoplasm of soft palate" + }, { + "code": "C05.2", + "display": "Malignant neoplasm of uvula" + }, { + "code": "C05.8", + "display": "Malignant neoplasm of overlapping sites of palate" + }, { + "code": "C05.9", + "display": "Malignant neoplasm of palate, unspecified" + }, { + "code": "C06.0", + "display": "Malignant neoplasm of cheek mucosa" + }, { + "code": "C06.1", + "display": "Malignant neoplasm of vestibule of mouth" + }, { + "code": "C06.2", + "display": "Malignant neoplasm of retromolar area" + }, { + "code": "C06.80", + "display": "Malignant neoplasm of overlapping sites of unspecified parts of mouth" + }, { + "code": "C06.89", + "display": "Malignant neoplasm of overlapping sites of other parts of mouth" + }, { + "code": "C06.9", + "display": "Malignant neoplasm of mouth, unspecified" + }, { + "code": "C07", + "display": "Malignant neoplasm of parotid gland" + }, { + "code": "C08.0", + "display": "Malignant neoplasm of submandibular gland" + }, { + "code": "C08.1", + "display": "Malignant neoplasm of sublingual gland" + }, { + "code": "C08.9", + "display": "Malignant neoplasm of major salivary gland, unspecified" + }, { + "code": "C09.0", + "display": "Malignant neoplasm of tonsillar fossa" + }, { + "code": "C09.1", + "display": "Malignant neoplasm of tonsillar pillar (anterior) (posterior)" + }, { + "code": "C09.8", + "display": "Malignant neoplasm of overlapping sites of tonsil" + }, { + "code": "C09.9", + "display": "Malignant neoplasm of tonsil, unspecified" + }, { + "code": "C10.0", + "display": "Malignant neoplasm of vallecula" + }, { + "code": "C10.1", + "display": "Malignant neoplasm of anterior surface of epiglottis" + }, { + "code": "C10.2", + "display": "Malignant neoplasm of lateral wall of oropharynx" + }, { + "code": "C10.3", + "display": "Malignant neoplasm of posterior wall of oropharynx" + }, { + "code": "C10.4", + "display": "Malignant neoplasm of branchial cleft" + }, { + "code": "C10.8", + "display": "Malignant neoplasm of overlapping sites of oropharynx" + }, { + "code": "C10.9", + "display": "Malignant neoplasm of oropharynx, unspecified" + }, { + "code": "C11.0", + "display": "Malignant neoplasm of superior wall of nasopharynx" + }, { + "code": "C11.1", + "display": "Malignant neoplasm of posterior wall of nasopharynx" + }, { + "code": "C11.2", + "display": "Malignant neoplasm of lateral wall of nasopharynx" + }, { + "code": "C11.3", + "display": "Malignant neoplasm of anterior wall of nasopharynx" + }, { + "code": "C11.8", + "display": "Malignant neoplasm of overlapping sites of nasopharynx" + }, { + "code": "C11.9", + "display": "Malignant neoplasm of nasopharynx, unspecified" + }, { + "code": "C12", + "display": "Malignant neoplasm of pyriform sinus" + }, { + "code": "C13.0", + "display": "Malignant neoplasm of postcricoid region" + }, { + "code": "C13.1", + "display": "Malignant neoplasm of aryepiglottic fold, hypopharyngeal aspect" + }, { + "code": "C13.2", + "display": "Malignant neoplasm of posterior wall of hypopharynx" + }, { + "code": "C13.8", + "display": "Malignant neoplasm of overlapping sites of hypopharynx" + }, { + "code": "C13.9", + "display": "Malignant neoplasm of hypopharynx, unspecified" + }, { + "code": "C14.0", + "display": "Malignant neoplasm of pharynx, unspecified" + }, { + "code": "C14.2", + "display": "Malignant neoplasm of Waldeyer's ring" + }, { + "code": "C14.8", + "display": "Malignant neoplasm of overlapping sites of lip, oral cavity and pharynx" + }, { + "code": "C15.3", + "display": "Malignant neoplasm of upper third of esophagus" + }, { + "code": "C15.4", + "display": "Malignant neoplasm of middle third of esophagus" + }, { + "code": "C15.5", + "display": "Malignant neoplasm of lower third of esophagus" + }, { + "code": "C15.8", + "display": "Malignant neoplasm of overlapping sites of esophagus" + }, { + "code": "C15.9", + "display": "Malignant neoplasm of esophagus, unspecified" + }, { + "code": "C16.0", + "display": "Malignant neoplasm of cardia" + }, { + "code": "C16.1", + "display": "Malignant neoplasm of fundus of stomach" + }, { + "code": "C16.2", + "display": "Malignant neoplasm of body of stomach" + }, { + "code": "C16.3", + "display": "Malignant neoplasm of pyloric antrum" + }, { + "code": "C16.4", + "display": "Malignant neoplasm of pylorus" + }, { + "code": "C16.5", + "display": "Malignant neoplasm of lesser curvature of stomach, unspecified" + }, { + "code": "C16.6", + "display": "Malignant neoplasm of greater curvature of stomach, unspecified" + }, { + "code": "C16.8", + "display": "Malignant neoplasm of overlapping sites of stomach" + }, { + "code": "C16.9", + "display": "Malignant neoplasm of stomach, unspecified" + }, { + "code": "C17.0", + "display": "Malignant neoplasm of duodenum" + }, { + "code": "C17.1", + "display": "Malignant neoplasm of jejunum" + }, { + "code": "C17.2", + "display": "Malignant neoplasm of ileum" + }, { + "code": "C17.3", + "display": "Meckel's diverticulum, malignant" + }, { + "code": "C17.8", + "display": "Malignant neoplasm of overlapping sites of small intestine" + }, { + "code": "C17.9", + "display": "Malignant neoplasm of small intestine, unspecified" + }, { + "code": "C18.0", + "display": "Malignant neoplasm of cecum" + }, { + "code": "C18.1", + "display": "Malignant neoplasm of appendix" + }, { + "code": "C18.2", + "display": "Malignant neoplasm of ascending colon" + }, { + "code": "C18.3", + "display": "Malignant neoplasm of hepatic flexure" + }, { + "code": "C18.4", + "display": "Malignant neoplasm of transverse colon" + }, { + "code": "C18.5", + "display": "Malignant neoplasm of splenic flexure" + }, { + "code": "C18.6", + "display": "Malignant neoplasm of descending colon" + }, { + "code": "C18.7", + "display": "Malignant neoplasm of sigmoid colon" + }, { + "code": "C18.8", + "display": "Malignant neoplasm of overlapping sites of colon" + }, { + "code": "C18.9", + "display": "Malignant neoplasm of colon, unspecified" + }, { + "code": "C19", + "display": "Malignant neoplasm of rectosigmoid junction" + }, { + "code": "C20", + "display": "Malignant neoplasm of rectum" + }, { + "code": "C21.0", + "display": "Malignant neoplasm of anus, unspecified" + }, { + "code": "C21.1", + "display": "Malignant neoplasm of anal canal" + }, { + "code": "C21.2", + "display": "Malignant neoplasm of cloacogenic zone" + }, { + "code": "C21.8", + "display": "Malignant neoplasm of overlapping sites of rectum, anus and anal canal" + }, { + "code": "C22.0", + "display": "Liver cell carcinoma" + }, { + "code": "C22.1", + "display": "Intrahepatic bile duct carcinoma" + }, { + "code": "C22.2", + "display": "Hepatoblastoma" + }, { + "code": "C22.3", + "display": "Angiosarcoma of liver" + }, { + "code": "C22.4", + "display": "Other sarcomas of liver" + }, { + "code": "C22.7", + "display": "Other specified carcinomas of liver" + }, { + "code": "C22.8", + "display": "Malignant neoplasm of liver, primary, unspecified as to type" + }, { + "code": "C22.9", + "display": "Malignant neoplasm of liver, not specified as primary or secondary" + }, { + "code": "C23", + "display": "Malignant neoplasm of gallbladder" + }, { + "code": "C24.0", + "display": "Malignant neoplasm of extrahepatic bile duct" + }, { + "code": "C24.1", + "display": "Malignant neoplasm of ampulla of Vater" + }, { + "code": "C24.8", + "display": "Malignant neoplasm of overlapping sites of biliary tract" + }, { + "code": "C24.9", + "display": "Malignant neoplasm of biliary tract, unspecified" + }, { + "code": "C25.0", + "display": "Malignant neoplasm of head of pancreas" + }, { + "code": "C25.1", + "display": "Malignant neoplasm of body of pancreas" + }, { + "code": "C25.2", + "display": "Malignant neoplasm of tail of pancreas" + }, { + "code": "C25.3", + "display": "Malignant neoplasm of pancreatic duct" + }, { + "code": "C25.4", + "display": "Malignant neoplasm of endocrine pancreas" + }, { + "code": "C25.7", + "display": "Malignant neoplasm of other parts of pancreas" + }, { + "code": "C25.8", + "display": "Malignant neoplasm of overlapping sites of pancreas" + }, { + "code": "C25.9", + "display": "Malignant neoplasm of pancreas, unspecified" + }, { + "code": "C26.0", + "display": "Malignant neoplasm of intestinal tract, part unspecified" + }, { + "code": "C26.1", + "display": "Malignant neoplasm of spleen" + }, { + "code": "C26.9", + "display": "Malignant neoplasm of ill-defined sites within the digestive system" + }, { + "code": "C30.0", + "display": "Malignant neoplasm of nasal cavity" + }, { + "code": "C30.1", + "display": "Malignant neoplasm of middle ear" + }, { + "code": "C31.0", + "display": "Malignant neoplasm of maxillary sinus" + }, { + "code": "C31.1", + "display": "Malignant neoplasm of ethmoidal sinus" + }, { + "code": "C31.2", + "display": "Malignant neoplasm of frontal sinus" + }, { + "code": "C31.3", + "display": "Malignant neoplasm of sphenoid sinus" + }, { + "code": "C31.8", + "display": "Malignant neoplasm of overlapping sites of accessory sinuses" + }, { + "code": "C31.9", + "display": "Malignant neoplasm of accessory sinus, unspecified" + }, { + "code": "C32.0", + "display": "Malignant neoplasm of glottis" + }, { + "code": "C32.1", + "display": "Malignant neoplasm of supraglottis" + }, { + "code": "C32.2", + "display": "Malignant neoplasm of subglottis" + }, { + "code": "C32.3", + "display": "Malignant neoplasm of laryngeal cartilage" + }, { + "code": "C32.8", + "display": "Malignant neoplasm of overlapping sites of larynx" + }, { + "code": "C32.9", + "display": "Malignant neoplasm of larynx, unspecified" + }, { + "code": "C33", + "display": "Malignant neoplasm of trachea" + }, { + "code": "C34.00", + "display": "Malignant neoplasm of unspecified main bronchus" + }, { + "code": "C34.01", + "display": "Malignant neoplasm of right main bronchus" + }, { + "code": "C34.02", + "display": "Malignant neoplasm of left main bronchus" + }, { + "code": "C34.10", + "display": "Malignant neoplasm of upper lobe, unspecified bronchus or lung" + }, { + "code": "C34.11", + "display": "Malignant neoplasm of upper lobe, right bronchus or lung" + }, { + "code": "C34.12", + "display": "Malignant neoplasm of upper lobe, left bronchus or lung" + }, { + "code": "C34.2", + "display": "Malignant neoplasm of middle lobe, bronchus or lung" + }, { + "code": "C34.30", + "display": "Malignant neoplasm of lower lobe, unspecified bronchus or lung" + }, { + "code": "C34.31", + "display": "Malignant neoplasm of lower lobe, right bronchus or lung" + }, { + "code": "C34.32", + "display": "Malignant neoplasm of lower lobe, left bronchus or lung" + }, { + "code": "C34.80", + "display": "Malignant neoplasm of overlapping sites of unspecified bronchus and lung" + }, { + "code": "C34.81", + "display": "Malignant neoplasm of overlapping sites of right bronchus and lung" + }, { + "code": "C34.82", + "display": "Malignant neoplasm of overlapping sites of left bronchus and lung" + }, { + "code": "C34.90", + "display": "Malignant neoplasm of unspecified part of unspecified bronchus or lung" + }, { + "code": "C34.91", + "display": "Malignant neoplasm of unspecified part of right bronchus or lung" + }, { + "code": "C34.92", + "display": "Malignant neoplasm of unspecified part of left bronchus or lung" + }, { + "code": "C37", + "display": "Malignant neoplasm of thymus" + }, { + "code": "C38.0", + "display": "Malignant neoplasm of heart" + }, { + "code": "C38.1", + "display": "Malignant neoplasm of anterior mediastinum" + }, { + "code": "C38.2", + "display": "Malignant neoplasm of posterior mediastinum" + }, { + "code": "C38.3", + "display": "Malignant neoplasm of mediastinum, part unspecified" + }, { + "code": "C38.4", + "display": "Malignant neoplasm of pleura" + }, { + "code": "C38.8", + "display": "Malignant neoplasm of overlapping sites of heart, mediastinum and pleura" + }, { + "code": "C39.0", + "display": "Malignant neoplasm of upper respiratory tract, part unspecified" + }, { + "code": "C39.9", + "display": "Malignant neoplasm of lower respiratory tract, part unspecified" + }, { + "code": "C40.00", + "display": "Malignant neoplasm of scapula and long bones of unspecified upper limb" + }, { + "code": "C40.01", + "display": "Malignant neoplasm of scapula and long bones of right upper limb" + }, { + "code": "C40.02", + "display": "Malignant neoplasm of scapula and long bones of left upper limb" + }, { + "code": "C40.10", + "display": "Malignant neoplasm of short bones of unspecified upper limb" + }, { + "code": "C40.11", + "display": "Malignant neoplasm of short bones of right upper limb" + }, { + "code": "C40.12", + "display": "Malignant neoplasm of short bones of left upper limb" + }, { + "code": "C40.20", + "display": "Malignant neoplasm of long bones of unspecified lower limb" + }, { + "code": "C40.21", + "display": "Malignant neoplasm of long bones of right lower limb" + }, { + "code": "C40.22", + "display": "Malignant neoplasm of long bones of left lower limb" + }, { + "code": "C40.30", + "display": "Malignant neoplasm of short bones of unspecified lower limb" + }, { + "code": "C40.31", + "display": "Malignant neoplasm of short bones of right lower limb" + }, { + "code": "C40.32", + "display": "Malignant neoplasm of short bones of left lower limb" + }, { + "code": "C40.80", + "display": "Malignant neoplasm of overlapping sites of bone and articular cartilage of unspecified limb" + }, { + "code": "C40.81", + "display": "Malignant neoplasm of overlapping sites of bone and articular cartilage of right limb" + }, { + "code": "C40.82", + "display": "Malignant neoplasm of overlapping sites of bone and articular cartilage of left limb" + }, { + "code": "C40.90", + "display": "Malignant neoplasm of unspecified bones and articular cartilage of unspecified limb" + }, { + "code": "C40.91", + "display": "Malignant neoplasm of unspecified bones and articular cartilage of right limb" + }, { + "code": "C40.92", + "display": "Malignant neoplasm of unspecified bones and articular cartilage of left limb" + }, { + "code": "C41.0", + "display": "Malignant neoplasm of bones of skull and face" + }, { + "code": "C41.1", + "display": "Malignant neoplasm of mandible" + }, { + "code": "C41.2", + "display": "Malignant neoplasm of vertebral column" + }, { + "code": "C41.3", + "display": "Malignant neoplasm of ribs, sternum and clavicle" + }, { + "code": "C41.4", + "display": "Malignant neoplasm of pelvic bones, sacrum and coccyx" + }, { + "code": "C41.9", + "display": "Malignant neoplasm of bone and articular cartilage, unspecified" + }, { + "code": "C43.0", + "display": "Malignant melanoma of lip" + }, { + "code": "C43.10", + "display": "Malignant melanoma of unspecified eyelid, including canthus" + }, { + "code": "C43.111", + "display": "Malignant melanoma of right upper eyelid, including canthus" + }, { + "code": "C43.112", + "display": "Malignant melanoma of right lower eyelid, including canthus" + }, { + "code": "C43.121", + "display": "Malignant melanoma of left upper eyelid, including canthus" + }, { + "code": "C43.122", + "display": "Malignant melanoma of left lower eyelid, including canthus" + }, { + "code": "C43.20", + "display": "Malignant melanoma of unspecified ear and external auricular canal" + }, { + "code": "C43.21", + "display": "Malignant melanoma of right ear and external auricular canal" + }, { + "code": "C43.22", + "display": "Malignant melanoma of left ear and external auricular canal" + }, { + "code": "C43.30", + "display": "Malignant melanoma of unspecified part of face" + }, { + "code": "C43.31", + "display": "Malignant melanoma of nose" + }, { + "code": "C43.39", + "display": "Malignant melanoma of other parts of face" + }, { + "code": "C43.4", + "display": "Malignant melanoma of scalp and neck" + }, { + "code": "C43.51", + "display": "Malignant melanoma of anal skin" + }, { + "code": "C43.52", + "display": "Malignant melanoma of skin of breast" + }, { + "code": "C43.59", + "display": "Malignant melanoma of other part of trunk" + }, { + "code": "C43.60", + "display": "Malignant melanoma of unspecified upper limb, including shoulder" + }, { + "code": "C43.61", + "display": "Malignant melanoma of right upper limb, including shoulder" + }, { + "code": "C43.62", + "display": "Malignant melanoma of left upper limb, including shoulder" + }, { + "code": "C43.70", + "display": "Malignant melanoma of unspecified lower limb, including hip" + }, { + "code": "C43.71", + "display": "Malignant melanoma of right lower limb, including hip" + }, { + "code": "C43.72", + "display": "Malignant melanoma of left lower limb, including hip" + }, { + "code": "C43.8", + "display": "Malignant melanoma of overlapping sites of skin" + }, { + "code": "C43.9", + "display": "Malignant melanoma of skin, unspecified" + }, { + "code": "C44.00", + "display": "Unspecified malignant neoplasm of skin of lip" + }, { + "code": "C44.01", + "display": "Basal cell carcinoma of skin of lip" + }, { + "code": "C44.02", + "display": "Squamous cell carcinoma of skin of lip" + }, { + "code": "C44.09", + "display": "Other specified malignant neoplasm of skin of lip" + }, { + "code": "C44.101", + "display": "Unspecified malignant neoplasm of skin of unspecified eyelid, including canthus" + }, { + "code": "C44.1021", + "display": "Unspecified malignant neoplasm of skin of right upper eyelid, including canthus" + }, { + "code": "C44.1022", + "display": "Unspecified malignant neoplasm of skin of right lower eyelid, including canthus" + }, { + "code": "C44.1091", + "display": "Unspecified malignant neoplasm of skin of left upper eyelid, including canthus" + }, { + "code": "C44.1092", + "display": "Unspecified malignant neoplasm of skin of left lower eyelid, including canthus" + }, { + "code": "C44.111", + "display": "Basal cell carcinoma of skin of unspecified eyelid, including canthus" + }, { + "code": "C44.1121", + "display": "Basal cell carcinoma of skin of right upper eyelid, including canthus" + }, { + "code": "C44.1122", + "display": "Basal cell carcinoma of skin of right lower eyelid, including canthus" + }, { + "code": "C44.1191", + "display": "Basal cell carcinoma of skin of left upper eyelid, including canthus" + }, { + "code": "C44.1192", + "display": "Basal cell carcinoma of skin of left lower eyelid, including canthus" + }, { + "code": "C44.121", + "display": "Squamous cell carcinoma of skin of unspecified eyelid, including canthus" + }, { + "code": "C44.1221", + "display": "Squamous cell carcinoma of skin of right upper eyelid, including canthus" + }, { + "code": "C44.1222", + "display": "Squamous cell carcinoma of skin of right lower eyelid, including canthus" + }, { + "code": "C44.1291", + "display": "Squamous cell carcinoma of skin of left upper eyelid, including canthus" + }, { + "code": "C44.1292", + "display": "Squamous cell carcinoma of skin of left lower eyelid, including canthus" + }, { + "code": "C44.191", + "display": "Other specified malignant neoplasm of skin of unspecified eyelid, including canthus" + }, { + "code": "C44.1921", + "display": "Other specified malignant neoplasm of skin of right upper eyelid, including canthus" + }, { + "code": "C44.1922", + "display": "Other specified malignant neoplasm of skin of right lower eyelid, including canthus" + }, { + "code": "C44.1991", + "display": "Other specified malignant neoplasm of skin of left upper eyelid, including canthus" + }, { + "code": "C44.1992", + "display": "Other specified malignant neoplasm of skin of left lower eyelid, including canthus" + }, { + "code": "C44.201", + "display": "Unspecified malignant neoplasm of skin of unspecified ear and external auricular canal" + }, { + "code": "C44.202", + "display": "Unspecified malignant neoplasm of skin of right ear and external auricular canal" + }, { + "code": "C44.209", + "display": "Unspecified malignant neoplasm of skin of left ear and external auricular canal" + }, { + "code": "C44.211", + "display": "Basal cell carcinoma of skin of unspecified ear and external auricular canal" + }, { + "code": "C44.212", + "display": "Basal cell carcinoma of skin of right ear and external auricular canal" + }, { + "code": "C44.219", + "display": "Basal cell carcinoma of skin of left ear and external auricular canal" + }, { + "code": "C44.221", + "display": "Squamous cell carcinoma of skin of unspecified ear and external auricular canal" + }, { + "code": "C44.222", + "display": "Squamous cell carcinoma of skin of right ear and external auricular canal" + }, { + "code": "C44.229", + "display": "Squamous cell carcinoma of skin of left ear and external auricular canal" + }, { + "code": "C44.291", + "display": "Other specified malignant neoplasm of skin of unspecified ear and external auricular canal" + }, { + "code": "C44.292", + "display": "Other specified malignant neoplasm of skin of right ear and external auricular canal" + }, { + "code": "C44.299", + "display": "Other specified malignant neoplasm of skin of left ear and external auricular canal" + }, { + "code": "C44.300", + "display": "Unspecified malignant neoplasm of skin of unspecified part of face" + }, { + "code": "C44.301", + "display": "Unspecified malignant neoplasm of skin of nose" + }, { + "code": "C44.309", + "display": "Unspecified malignant neoplasm of skin of other parts of face" + }, { + "code": "C44.310", + "display": "Basal cell carcinoma of skin of unspecified parts of face" + }, { + "code": "C44.311", + "display": "Basal cell carcinoma of skin of nose" + }, { + "code": "C44.319", + "display": "Basal cell carcinoma of skin of other parts of face" + }, { + "code": "C44.320", + "display": "Squamous cell carcinoma of skin of unspecified parts of face" + }, { + "code": "C44.321", + "display": "Squamous cell carcinoma of skin of nose" + }, { + "code": "C44.329", + "display": "Squamous cell carcinoma of skin of other parts of face" + }, { + "code": "C44.390", + "display": "Other specified malignant neoplasm of skin of unspecified parts of face" + }, { + "code": "C44.391", + "display": "Other specified malignant neoplasm of skin of nose" + }, { + "code": "C44.399", + "display": "Other specified malignant neoplasm of skin of other parts of face" + }, { + "code": "C44.40", + "display": "Unspecified malignant neoplasm of skin of scalp and neck" + }, { + "code": "C44.41", + "display": "Basal cell carcinoma of skin of scalp and neck" + }, { + "code": "C44.42", + "display": "Squamous cell carcinoma of skin of scalp and neck" + }, { + "code": "C44.49", + "display": "Other specified malignant neoplasm of skin of scalp and neck" + }, { + "code": "C44.500", + "display": "Unspecified malignant neoplasm of anal skin" + }, { + "code": "C44.501", + "display": "Unspecified malignant neoplasm of skin of breast" + }, { + "code": "C44.509", + "display": "Unspecified malignant neoplasm of skin of other part of trunk" + }, { + "code": "C44.510", + "display": "Basal cell carcinoma of anal skin" + }, { + "code": "C44.511", + "display": "Basal cell carcinoma of skin of breast" + }, { + "code": "C44.519", + "display": "Basal cell carcinoma of skin of other part of trunk" + }, { + "code": "C44.520", + "display": "Squamous cell carcinoma of anal skin" + }, { + "code": "C44.521", + "display": "Squamous cell carcinoma of skin of breast" + }, { + "code": "C44.529", + "display": "Squamous cell carcinoma of skin of other part of trunk" + }, { + "code": "C44.590", + "display": "Other specified malignant neoplasm of anal skin" + }, { + "code": "C44.591", + "display": "Other specified malignant neoplasm of skin of breast" + }, { + "code": "C44.599", + "display": "Other specified malignant neoplasm of skin of other part of trunk" + }, { + "code": "C44.601", + "display": "Unspecified malignant neoplasm of skin of unspecified upper limb, including shoulder" + }, { + "code": "C44.602", + "display": "Unspecified malignant neoplasm of skin of right upper limb, including shoulder" + }, { + "code": "C44.609", + "display": "Unspecified malignant neoplasm of skin of left upper limb, including shoulder" + }, { + "code": "C44.611", + "display": "Basal cell carcinoma of skin of unspecified upper limb, including shoulder" + }, { + "code": "C44.612", + "display": "Basal cell carcinoma of skin of right upper limb, including shoulder" + }, { + "code": "C44.619", + "display": "Basal cell carcinoma of skin of left upper limb, including shoulder" + }, { + "code": "C44.621", + "display": "Squamous cell carcinoma of skin of unspecified upper limb, including shoulder" + }, { + "code": "C44.622", + "display": "Squamous cell carcinoma of skin of right upper limb, including shoulder" + }, { + "code": "C44.629", + "display": "Squamous cell carcinoma of skin of left upper limb, including shoulder" + }, { + "code": "C44.691", + "display": "Other specified malignant neoplasm of skin of unspecified upper limb, including shoulder" + }, { + "code": "C44.692", + "display": "Other specified malignant neoplasm of skin of right upper limb, including shoulder" + }, { + "code": "C44.699", + "display": "Other specified malignant neoplasm of skin of left upper limb, including shoulder" + }, { + "code": "C44.701", + "display": "Unspecified malignant neoplasm of skin of unspecified lower limb, including hip" + }, { + "code": "C44.702", + "display": "Unspecified malignant neoplasm of skin of right lower limb, including hip" + }, { + "code": "C44.709", + "display": "Unspecified malignant neoplasm of skin of left lower limb, including hip" + }, { + "code": "C44.711", + "display": "Basal cell carcinoma of skin of unspecified lower limb, including hip" + }, { + "code": "C44.712", + "display": "Basal cell carcinoma of skin of right lower limb, including hip" + }, { + "code": "C44.719", + "display": "Basal cell carcinoma of skin of left lower limb, including hip" + }, { + "code": "C44.721", + "display": "Squamous cell carcinoma of skin of unspecified lower limb, including hip" + }, { + "code": "C44.722", + "display": "Squamous cell carcinoma of skin of right lower limb, including hip" + }, { + "code": "C44.729", + "display": "Squamous cell carcinoma of skin of left lower limb, including hip" + }, { + "code": "C44.791", + "display": "Other specified malignant neoplasm of skin of unspecified lower limb, including hip" + }, { + "code": "C44.792", + "display": "Other specified malignant neoplasm of skin of right lower limb, including hip" + }, { + "code": "C44.799", + "display": "Other specified malignant neoplasm of skin of left lower limb, including hip" + }, { + "code": "C44.80", + "display": "Unspecified malignant neoplasm of overlapping sites of skin" + }, { + "code": "C44.81", + "display": "Basal cell carcinoma of overlapping sites of skin" + }, { + "code": "C44.82", + "display": "Squamous cell carcinoma of overlapping sites of skin" + }, { + "code": "C44.89", + "display": "Other specified malignant neoplasm of overlapping sites of skin" + }, { + "code": "C44.90", + "display": "Unspecified malignant neoplasm of skin, unspecified" + }, { + "code": "C44.91", + "display": "Basal cell carcinoma of skin, unspecified" + }, { + "code": "C44.92", + "display": "Squamous cell carcinoma of skin, unspecified" + }, { + "code": "C44.99", + "display": "Other specified malignant neoplasm of skin, unspecified" + }, { + "code": "C45.0", + "display": "Mesothelioma of pleura" + }, { + "code": "C45.1", + "display": "Mesothelioma of peritoneum" + }, { + "code": "C45.2", + "display": "Mesothelioma of pericardium" + }, { + "code": "C45.7", + "display": "Mesothelioma of other sites" + }, { + "code": "C45.9", + "display": "Mesothelioma, unspecified" + }, { + "code": "C46.0", + "display": "Kaposi's sarcoma of skin" + }, { + "code": "C46.1", + "display": "Kaposi's sarcoma of soft tissue" + }, { + "code": "C46.2", + "display": "Kaposi's sarcoma of palate" + }, { + "code": "C46.3", + "display": "Kaposi's sarcoma of lymph nodes" + }, { + "code": "C46.4", + "display": "Kaposi's sarcoma of gastrointestinal sites" + }, { + "code": "C46.50", + "display": "Kaposi's sarcoma of unspecified lung" + }, { + "code": "C46.51", + "display": "Kaposi's sarcoma of right lung" + }, { + "code": "C46.52", + "display": "Kaposi's sarcoma of left lung" + }, { + "code": "C46.7", + "display": "Kaposi's sarcoma of other sites" + }, { + "code": "C46.9", + "display": "Kaposi's sarcoma, unspecified" + }, { + "code": "C47.0", + "display": "Malignant neoplasm of peripheral nerves of head, face and neck" + }, { + "code": "C47.10", + "display": "Malignant neoplasm of peripheral nerves of unspecified upper limb, including shoulder" + }, { + "code": "C47.11", + "display": "Malignant neoplasm of peripheral nerves of right upper limb, including shoulder" + }, { + "code": "C47.12", + "display": "Malignant neoplasm of peripheral nerves of left upper limb, including shoulder" + }, { + "code": "C47.20", + "display": "Malignant neoplasm of peripheral nerves of unspecified lower limb, including hip" + }, { + "code": "C47.21", + "display": "Malignant neoplasm of peripheral nerves of right lower limb, including hip" + }, { + "code": "C47.22", + "display": "Malignant neoplasm of peripheral nerves of left lower limb, including hip" + }, { + "code": "C47.3", + "display": "Malignant neoplasm of peripheral nerves of thorax" + }, { + "code": "C47.4", + "display": "Malignant neoplasm of peripheral nerves of abdomen" + }, { + "code": "C47.5", + "display": "Malignant neoplasm of peripheral nerves of pelvis" + }, { + "code": "C47.6", + "display": "Malignant neoplasm of peripheral nerves of trunk, unspecified" + }, { + "code": "C47.8", + "display": "Malignant neoplasm of overlapping sites of peripheral nerves and autonomic nervous system" + }, { + "code": "C47.9", + "display": "Malignant neoplasm of peripheral nerves and autonomic nervous system, unspecified" + }, { + "code": "C48.0", + "display": "Malignant neoplasm of retroperitoneum" + }, { + "code": "C48.1", + "display": "Malignant neoplasm of specified parts of peritoneum" + }, { + "code": "C48.2", + "display": "Malignant neoplasm of peritoneum, unspecified" + }, { + "code": "C48.8", + "display": "Malignant neoplasm of overlapping sites of retroperitoneum and peritoneum" + }, { + "code": "C49.0", + "display": "Malignant neoplasm of connective and soft tissue of head, face and neck" + }, { + "code": "C49.10", + "display": "Malignant neoplasm of connective and soft tissue of unspecified upper limb, including shoulder" + }, { + "code": "C49.11", + "display": "Malignant neoplasm of connective and soft tissue of right upper limb, including shoulder" + }, { + "code": "C49.12", + "display": "Malignant neoplasm of connective and soft tissue of left upper limb, including shoulder" + }, { + "code": "C49.20", + "display": "Malignant neoplasm of connective and soft tissue of unspecified lower limb, including hip" + }, { + "code": "C49.21", + "display": "Malignant neoplasm of connective and soft tissue of right lower limb, including hip" + }, { + "code": "C49.22", + "display": "Malignant neoplasm of connective and soft tissue of left lower limb, including hip" + }, { + "code": "C49.3", + "display": "Malignant neoplasm of connective and soft tissue of thorax" + }, { + "code": "C49.4", + "display": "Malignant neoplasm of connective and soft tissue of abdomen" + }, { + "code": "C49.5", + "display": "Malignant neoplasm of connective and soft tissue of pelvis" + }, { + "code": "C49.6", + "display": "Malignant neoplasm of connective and soft tissue of trunk, unspecified" + }, { + "code": "C49.8", + "display": "Malignant neoplasm of overlapping sites of connective and soft tissue" + }, { + "code": "C49.9", + "display": "Malignant neoplasm of connective and soft tissue, unspecified" + }, { + "code": "C49.A0", + "display": "Gastrointestinal stromal tumor, unspecified site" + }, { + "code": "C49.A1", + "display": "Gastrointestinal stromal tumor of esophagus" + }, { + "code": "C49.A2", + "display": "Gastrointestinal stromal tumor of stomach" + }, { + "code": "C49.A3", + "display": "Gastrointestinal stromal tumor of small intestine" + }, { + "code": "C49.A4", + "display": "Gastrointestinal stromal tumor of large intestine" + }, { + "code": "C49.A5", + "display": "Gastrointestinal stromal tumor of rectum" + }, { + "code": "C49.A9", + "display": "Gastrointestinal stromal tumor of other sites" + }, { + "code": "C4A.0", + "display": "Merkel cell carcinoma of lip" + }, { + "code": "C4A.10", + "display": "Merkel cell carcinoma of unspecified eyelid, including canthus" + }, { + "code": "C4A.111", + "display": "Merkel cell carcinoma of right upper eyelid, including canthus" + }, { + "code": "C4A.112", + "display": "Merkel cell carcinoma of right lower eyelid, including canthus" + }, { + "code": "C4A.121", + "display": "Merkel cell carcinoma of left upper eyelid, including canthus" + }, { + "code": "C4A.122", + "display": "Merkel cell carcinoma of left lower eyelid, including canthus" + }, { + "code": "C4A.20", + "display": "Merkel cell carcinoma of unspecified ear and external auricular canal" + }, { + "code": "C4A.21", + "display": "Merkel cell carcinoma of right ear and external auricular canal" + }, { + "code": "C4A.22", + "display": "Merkel cell carcinoma of left ear and external auricular canal" + }, { + "code": "C4A.30", + "display": "Merkel cell carcinoma of unspecified part of face" + }, { + "code": "C4A.31", + "display": "Merkel cell carcinoma of nose" + }, { + "code": "C4A.39", + "display": "Merkel cell carcinoma of other parts of face" + }, { + "code": "C4A.4", + "display": "Merkel cell carcinoma of scalp and neck" + }, { + "code": "C4A.51", + "display": "Merkel cell carcinoma of anal skin" + }, { + "code": "C4A.52", + "display": "Merkel cell carcinoma of skin of breast" + }, { + "code": "C4A.59", + "display": "Merkel cell carcinoma of other part of trunk" + }, { + "code": "C4A.60", + "display": "Merkel cell carcinoma of unspecified upper limb, including shoulder" + }, { + "code": "C4A.61", + "display": "Merkel cell carcinoma of right upper limb, including shoulder" + }, { + "code": "C4A.62", + "display": "Merkel cell carcinoma of left upper limb, including shoulder" + }, { + "code": "C4A.70", + "display": "Merkel cell carcinoma of unspecified lower limb, including hip" + }, { + "code": "C4A.71", + "display": "Merkel cell carcinoma of right lower limb, including hip" + }, { + "code": "C4A.72", + "display": "Merkel cell carcinoma of left lower limb, including hip" + }, { + "code": "C4A.8", + "display": "Merkel cell carcinoma of overlapping sites" + }, { + "code": "C4A.9", + "display": "Merkel cell carcinoma, unspecified" + }, { + "code": "C50.011", + "display": "Malignant neoplasm of nipple and areola, right female breast" + }, { + "code": "C50.012", + "display": "Malignant neoplasm of nipple and areola, left female breast" + }, { + "code": "C50.019", + "display": "Malignant neoplasm of nipple and areola, unspecified female breast" + }, { + "code": "C50.021", + "display": "Malignant neoplasm of nipple and areola, right male breast" + }, { + "code": "C50.022", + "display": "Malignant neoplasm of nipple and areola, left male breast" + }, { + "code": "C50.029", + "display": "Malignant neoplasm of nipple and areola, unspecified male breast" + }, { + "code": "C50.111", + "display": "Malignant neoplasm of central portion of right female breast" + }, { + "code": "C50.112", + "display": "Malignant neoplasm of central portion of left female breast" + }, { + "code": "C50.119", + "display": "Malignant neoplasm of central portion of unspecified female breast" + }, { + "code": "C50.121", + "display": "Malignant neoplasm of central portion of right male breast" + }, { + "code": "C50.122", + "display": "Malignant neoplasm of central portion of left male breast" + }, { + "code": "C50.129", + "display": "Malignant neoplasm of central portion of unspecified male breast" + }, { + "code": "C50.211", + "display": "Malignant neoplasm of upper-inner quadrant of right female breast" + }, { + "code": "C50.212", + "display": "Malignant neoplasm of upper-inner quadrant of left female breast" + }, { + "code": "C50.219", + "display": "Malignant neoplasm of upper-inner quadrant of unspecified female breast" + }, { + "code": "C50.221", + "display": "Malignant neoplasm of upper-inner quadrant of right male breast" + }, { + "code": "C50.222", + "display": "Malignant neoplasm of upper-inner quadrant of left male breast" + }, { + "code": "C50.229", + "display": "Malignant neoplasm of upper-inner quadrant of unspecified male breast" + }, { + "code": "C50.311", + "display": "Malignant neoplasm of lower-inner quadrant of right female breast" + }, { + "code": "C50.312", + "display": "Malignant neoplasm of lower-inner quadrant of left female breast" + }, { + "code": "C50.319", + "display": "Malignant neoplasm of lower-inner quadrant of unspecified female breast" + }, { + "code": "C50.321", + "display": "Malignant neoplasm of lower-inner quadrant of right male breast" + }, { + "code": "C50.322", + "display": "Malignant neoplasm of lower-inner quadrant of left male breast" + }, { + "code": "C50.329", + "display": "Malignant neoplasm of lower-inner quadrant of unspecified male breast" + }, { + "code": "C50.411", + "display": "Malignant neoplasm of upper-outer quadrant of right female breast" + }, { + "code": "C50.412", + "display": "Malignant neoplasm of upper-outer quadrant of left female breast" + }, { + "code": "C50.419", + "display": "Malignant neoplasm of upper-outer quadrant of unspecified female breast" + }, { + "code": "C50.421", + "display": "Malignant neoplasm of upper-outer quadrant of right male breast" + }, { + "code": "C50.422", + "display": "Malignant neoplasm of upper-outer quadrant of left male breast" + }, { + "code": "C50.429", + "display": "Malignant neoplasm of upper-outer quadrant of unspecified male breast" + }, { + "code": "C50.511", + "display": "Malignant neoplasm of lower-outer quadrant of right female breast" + }, { + "code": "C50.512", + "display": "Malignant neoplasm of lower-outer quadrant of left female breast" + }, { + "code": "C50.519", + "display": "Malignant neoplasm of lower-outer quadrant of unspecified female breast" + }, { + "code": "C50.521", + "display": "Malignant neoplasm of lower-outer quadrant of right male breast" + }, { + "code": "C50.522", + "display": "Malignant neoplasm of lower-outer quadrant of left male breast" + }, { + "code": "C50.529", + "display": "Malignant neoplasm of lower-outer quadrant of unspecified male breast" + }, { + "code": "C50.611", + "display": "Malignant neoplasm of axillary tail of right female breast" + }, { + "code": "C50.612", + "display": "Malignant neoplasm of axillary tail of left female breast" + }, { + "code": "C50.619", + "display": "Malignant neoplasm of axillary tail of unspecified female breast" + }, { + "code": "C50.621", + "display": "Malignant neoplasm of axillary tail of right male breast" + }, { + "code": "C50.622", + "display": "Malignant neoplasm of axillary tail of left male breast" + }, { + "code": "C50.629", + "display": "Malignant neoplasm of axillary tail of unspecified male breast" + }, { + "code": "C50.811", + "display": "Malignant neoplasm of overlapping sites of right female breast" + }, { + "code": "C50.812", + "display": "Malignant neoplasm of overlapping sites of left female breast" + }, { + "code": "C50.819", + "display": "Malignant neoplasm of overlapping sites of unspecified female breast" + }, { + "code": "C50.821", + "display": "Malignant neoplasm of overlapping sites of right male breast" + }, { + "code": "C50.822", + "display": "Malignant neoplasm of overlapping sites of left male breast" + }, { + "code": "C50.829", + "display": "Malignant neoplasm of overlapping sites of unspecified male breast" + }, { + "code": "C50.911", + "display": "Malignant neoplasm of unspecified site of right female breast" + }, { + "code": "C50.912", + "display": "Malignant neoplasm of unspecified site of left female breast" + }, { + "code": "C50.919", + "display": "Malignant neoplasm of unspecified site of unspecified female breast" + }, { + "code": "C50.921", + "display": "Malignant neoplasm of unspecified site of right male breast" + }, { + "code": "C50.922", + "display": "Malignant neoplasm of unspecified site of left male breast" + }, { + "code": "C50.929", + "display": "Malignant neoplasm of unspecified site of unspecified male breast" + }, { + "code": "C51.0", + "display": "Malignant neoplasm of labium majus" + }, { + "code": "C51.1", + "display": "Malignant neoplasm of labium minus" + }, { + "code": "C51.2", + "display": "Malignant neoplasm of clitoris" + }, { + "code": "C51.8", + "display": "Malignant neoplasm of overlapping sites of vulva" + }, { + "code": "C51.9", + "display": "Malignant neoplasm of vulva, unspecified" + }, { + "code": "C52", + "display": "Malignant neoplasm of vagina" + }, { + "code": "C53.0", + "display": "Malignant neoplasm of endocervix" + }, { + "code": "C53.1", + "display": "Malignant neoplasm of exocervix" + }, { + "code": "C53.8", + "display": "Malignant neoplasm of overlapping sites of cervix uteri" + }, { + "code": "C53.9", + "display": "Malignant neoplasm of cervix uteri, unspecified" + }, { + "code": "C54.0", + "display": "Malignant neoplasm of isthmus uteri" + }, { + "code": "C54.1", + "display": "Malignant neoplasm of endometrium" + }, { + "code": "C54.2", + "display": "Malignant neoplasm of myometrium" + }, { + "code": "C54.3", + "display": "Malignant neoplasm of fundus uteri" + }, { + "code": "C54.8", + "display": "Malignant neoplasm of overlapping sites of corpus uteri" + }, { + "code": "C54.9", + "display": "Malignant neoplasm of corpus uteri, unspecified" + }, { + "code": "C55", + "display": "Malignant neoplasm of uterus, part unspecified" + }, { + "code": "C56.1", + "display": "Malignant neoplasm of right ovary" + }, { + "code": "C56.2", + "display": "Malignant neoplasm of left ovary" + }, { + "code": "C56.9", + "display": "Malignant neoplasm of unspecified ovary" + }, { + "code": "C57.00", + "display": "Malignant neoplasm of unspecified fallopian tube" + }, { + "code": "C57.01", + "display": "Malignant neoplasm of right fallopian tube" + }, { + "code": "C57.02", + "display": "Malignant neoplasm of left fallopian tube" + }, { + "code": "C57.10", + "display": "Malignant neoplasm of unspecified broad ligament" + }, { + "code": "C57.11", + "display": "Malignant neoplasm of right broad ligament" + }, { + "code": "C57.12", + "display": "Malignant neoplasm of left broad ligament" + }, { + "code": "C57.20", + "display": "Malignant neoplasm of unspecified round ligament" + }, { + "code": "C57.21", + "display": "Malignant neoplasm of right round ligament" + }, { + "code": "C57.22", + "display": "Malignant neoplasm of left round ligament" + }, { + "code": "C57.3", + "display": "Malignant neoplasm of parametrium" + }, { + "code": "C57.4", + "display": "Malignant neoplasm of uterine adnexa, unspecified" + }, { + "code": "C57.7", + "display": "Malignant neoplasm of other specified female genital organs" + }, { + "code": "C57.8", + "display": "Malignant neoplasm of overlapping sites of female genital organs" + }, { + "code": "C57.9", + "display": "Malignant neoplasm of female genital organ, unspecified" + }, { + "code": "C58", + "display": "Malignant neoplasm of placenta" + }, { + "code": "C60.0", + "display": "Malignant neoplasm of prepuce" + }, { + "code": "C60.1", + "display": "Malignant neoplasm of glans penis" + }, { + "code": "C60.2", + "display": "Malignant neoplasm of body of penis" + }, { + "code": "C60.8", + "display": "Malignant neoplasm of overlapping sites of penis" + }, { + "code": "C60.9", + "display": "Malignant neoplasm of penis, unspecified" + }, { + "code": "C61", + "display": "Malignant neoplasm of prostate" + }, { + "code": "C62.00", + "display": "Malignant neoplasm of unspecified undescended testis" + }, { + "code": "C62.01", + "display": "Malignant neoplasm of undescended right testis" + }, { + "code": "C62.02", + "display": "Malignant neoplasm of undescended left testis" + }, { + "code": "C62.10", + "display": "Malignant neoplasm of unspecified descended testis" + }, { + "code": "C62.11", + "display": "Malignant neoplasm of descended right testis" + }, { + "code": "C62.12", + "display": "Malignant neoplasm of descended left testis" + }, { + "code": "C62.90", + "display": "Malignant neoplasm of unspecified testis, unspecified whether descended or undescended" + }, { + "code": "C62.91", + "display": "Malignant neoplasm of right testis, unspecified whether descended or undescended" + }, { + "code": "C62.92", + "display": "Malignant neoplasm of left testis, unspecified whether descended or undescended" + }, { + "code": "C63.00", + "display": "Malignant neoplasm of unspecified epididymis" + }, { + "code": "C63.01", + "display": "Malignant neoplasm of right epididymis" + }, { + "code": "C63.02", + "display": "Malignant neoplasm of left epididymis" + }, { + "code": "C63.10", + "display": "Malignant neoplasm of unspecified spermatic cord" + }, { + "code": "C63.11", + "display": "Malignant neoplasm of right spermatic cord" + }, { + "code": "C63.12", + "display": "Malignant neoplasm of left spermatic cord" + }, { + "code": "C63.2", + "display": "Malignant neoplasm of scrotum" + }, { + "code": "C63.7", + "display": "Malignant neoplasm of other specified male genital organs" + }, { + "code": "C63.8", + "display": "Malignant neoplasm of overlapping sites of male genital organs" + }, { + "code": "C63.9", + "display": "Malignant neoplasm of male genital organ, unspecified" + }, { + "code": "C64.1", + "display": "Malignant neoplasm of right kidney, except renal pelvis" + }, { + "code": "C64.2", + "display": "Malignant neoplasm of left kidney, except renal pelvis" + }, { + "code": "C64.9", + "display": "Malignant neoplasm of unspecified kidney, except renal pelvis" + }, { + "code": "C65.1", + "display": "Malignant neoplasm of right renal pelvis" + }, { + "code": "C65.2", + "display": "Malignant neoplasm of left renal pelvis" + }, { + "code": "C65.9", + "display": "Malignant neoplasm of unspecified renal pelvis" + }, { + "code": "C66.1", + "display": "Malignant neoplasm of right ureter" + }, { + "code": "C66.2", + "display": "Malignant neoplasm of left ureter" + }, { + "code": "C66.9", + "display": "Malignant neoplasm of unspecified ureter" + }, { + "code": "C67.0", + "display": "Malignant neoplasm of trigone of bladder" + }, { + "code": "C67.1", + "display": "Malignant neoplasm of dome of bladder" + }, { + "code": "C67.2", + "display": "Malignant neoplasm of lateral wall of bladder" + }, { + "code": "C67.3", + "display": "Malignant neoplasm of anterior wall of bladder" + }, { + "code": "C67.4", + "display": "Malignant neoplasm of posterior wall of bladder" + }, { + "code": "C67.5", + "display": "Malignant neoplasm of bladder neck" + }, { + "code": "C67.6", + "display": "Malignant neoplasm of ureteric orifice" + }, { + "code": "C67.7", + "display": "Malignant neoplasm of urachus" + }, { + "code": "C67.8", + "display": "Malignant neoplasm of overlapping sites of bladder" + }, { + "code": "C67.9", + "display": "Malignant neoplasm of bladder, unspecified" + }, { + "code": "C68.0", + "display": "Malignant neoplasm of urethra" + }, { + "code": "C68.1", + "display": "Malignant neoplasm of paraurethral glands" + }, { + "code": "C68.8", + "display": "Malignant neoplasm of overlapping sites of urinary organs" + }, { + "code": "C68.9", + "display": "Malignant neoplasm of urinary organ, unspecified" + }, { + "code": "C69.00", + "display": "Malignant neoplasm of unspecified conjunctiva" + }, { + "code": "C69.01", + "display": "Malignant neoplasm of right conjunctiva" + }, { + "code": "C69.02", + "display": "Malignant neoplasm of left conjunctiva" + }, { + "code": "C69.10", + "display": "Malignant neoplasm of unspecified cornea" + }, { + "code": "C69.11", + "display": "Malignant neoplasm of right cornea" + }, { + "code": "C69.12", + "display": "Malignant neoplasm of left cornea" + }, { + "code": "C69.20", + "display": "Malignant neoplasm of unspecified retina" + }, { + "code": "C69.21", + "display": "Malignant neoplasm of right retina" + }, { + "code": "C69.22", + "display": "Malignant neoplasm of left retina" + }, { + "code": "C69.30", + "display": "Malignant neoplasm of unspecified choroid" + }, { + "code": "C69.31", + "display": "Malignant neoplasm of right choroid" + }, { + "code": "C69.32", + "display": "Malignant neoplasm of left choroid" + }, { + "code": "C69.40", + "display": "Malignant neoplasm of unspecified ciliary body" + }, { + "code": "C69.41", + "display": "Malignant neoplasm of right ciliary body" + }, { + "code": "C69.42", + "display": "Malignant neoplasm of left ciliary body" + }, { + "code": "C69.50", + "display": "Malignant neoplasm of unspecified lacrimal gland and duct" + }, { + "code": "C69.51", + "display": "Malignant neoplasm of right lacrimal gland and duct" + }, { + "code": "C69.52", + "display": "Malignant neoplasm of left lacrimal gland and duct" + }, { + "code": "C69.60", + "display": "Malignant neoplasm of unspecified orbit" + }, { + "code": "C69.61", + "display": "Malignant neoplasm of right orbit" + }, { + "code": "C69.62", + "display": "Malignant neoplasm of left orbit" + }, { + "code": "C69.80", + "display": "Malignant neoplasm of overlapping sites of unspecified eye and adnexa" + }, { + "code": "C69.81", + "display": "Malignant neoplasm of overlapping sites of right eye and adnexa" + }, { + "code": "C69.82", + "display": "Malignant neoplasm of overlapping sites of left eye and adnexa" + }, { + "code": "C69.90", + "display": "Malignant neoplasm of unspecified site of unspecified eye" + }, { + "code": "C69.91", + "display": "Malignant neoplasm of unspecified site of right eye" + }, { + "code": "C69.92", + "display": "Malignant neoplasm of unspecified site of left eye" + }, { + "code": "C70.0", + "display": "Malignant neoplasm of cerebral meninges" + }, { + "code": "C70.1", + "display": "Malignant neoplasm of spinal meninges" + }, { + "code": "C70.9", + "display": "Malignant neoplasm of meninges, unspecified" + }, { + "code": "C71.0", + "display": "Malignant neoplasm of cerebrum, except lobes and ventricles" + }, { + "code": "C71.1", + "display": "Malignant neoplasm of frontal lobe" + }, { + "code": "C71.2", + "display": "Malignant neoplasm of temporal lobe" + }, { + "code": "C71.3", + "display": "Malignant neoplasm of parietal lobe" + }, { + "code": "C71.4", + "display": "Malignant neoplasm of occipital lobe" + }, { + "code": "C71.5", + "display": "Malignant neoplasm of cerebral ventricle" + }, { + "code": "C71.6", + "display": "Malignant neoplasm of cerebellum" + }, { + "code": "C71.7", + "display": "Malignant neoplasm of brain stem" + }, { + "code": "C71.8", + "display": "Malignant neoplasm of overlapping sites of brain" + }, { + "code": "C71.9", + "display": "Malignant neoplasm of brain, unspecified" + }, { + "code": "C72.0", + "display": "Malignant neoplasm of spinal cord" + }, { + "code": "C72.1", + "display": "Malignant neoplasm of cauda equina" + }, { + "code": "C72.20", + "display": "Malignant neoplasm of unspecified olfactory nerve" + }, { + "code": "C72.21", + "display": "Malignant neoplasm of right olfactory nerve" + }, { + "code": "C72.22", + "display": "Malignant neoplasm of left olfactory nerve" + }, { + "code": "C72.30", + "display": "Malignant neoplasm of unspecified optic nerve" + }, { + "code": "C72.31", + "display": "Malignant neoplasm of right optic nerve" + }, { + "code": "C72.32", + "display": "Malignant neoplasm of left optic nerve" + }, { + "code": "C72.40", + "display": "Malignant neoplasm of unspecified acoustic nerve" + }, { + "code": "C72.41", + "display": "Malignant neoplasm of right acoustic nerve" + }, { + "code": "C72.42", + "display": "Malignant neoplasm of left acoustic nerve" + }, { + "code": "C72.50", + "display": "Malignant neoplasm of unspecified cranial nerve" + }, { + "code": "C72.59", + "display": "Malignant neoplasm of other cranial nerves" + }, { + "code": "C72.9", + "display": "Malignant neoplasm of central nervous system, unspecified" + }, { + "code": "C73", + "display": "Malignant neoplasm of thyroid gland" + }, { + "code": "C74.00", + "display": "Malignant neoplasm of cortex of unspecified adrenal gland" + }, { + "code": "C74.01", + "display": "Malignant neoplasm of cortex of right adrenal gland" + }, { + "code": "C74.02", + "display": "Malignant neoplasm of cortex of left adrenal gland" + }, { + "code": "C74.10", + "display": "Malignant neoplasm of medulla of unspecified adrenal gland" + }, { + "code": "C74.11", + "display": "Malignant neoplasm of medulla of right adrenal gland" + }, { + "code": "C74.12", + "display": "Malignant neoplasm of medulla of left adrenal gland" + }, { + "code": "C74.90", + "display": "Malignant neoplasm of unspecified part of unspecified adrenal gland" + }, { + "code": "C74.91", + "display": "Malignant neoplasm of unspecified part of right adrenal gland" + }, { + "code": "C74.92", + "display": "Malignant neoplasm of unspecified part of left adrenal gland" + }, { + "code": "C75.0", + "display": "Malignant neoplasm of parathyroid gland" + }, { + "code": "C75.1", + "display": "Malignant neoplasm of pituitary gland" + }, { + "code": "C75.2", + "display": "Malignant neoplasm of craniopharyngeal duct" + }, { + "code": "C75.3", + "display": "Malignant neoplasm of pineal gland" + }, { + "code": "C75.4", + "display": "Malignant neoplasm of carotid body" + }, { + "code": "C75.5", + "display": "Malignant neoplasm of aortic body and other paraganglia" + }, { + "code": "C75.8", + "display": "Malignant neoplasm with pluriglandular involvement, unspecified" + }, { + "code": "C75.9", + "display": "Malignant neoplasm of endocrine gland, unspecified" + }, { + "code": "C76.0", + "display": "Malignant neoplasm of head, face and neck" + }, { + "code": "C76.1", + "display": "Malignant neoplasm of thorax" + }, { + "code": "C76.2", + "display": "Malignant neoplasm of abdomen" + }, { + "code": "C76.3", + "display": "Malignant neoplasm of pelvis" + }, { + "code": "C76.40", + "display": "Malignant neoplasm of unspecified upper limb" + }, { + "code": "C76.41", + "display": "Malignant neoplasm of right upper limb" + }, { + "code": "C76.42", + "display": "Malignant neoplasm of left upper limb" + }, { + "code": "C76.50", + "display": "Malignant neoplasm of unspecified lower limb" + }, { + "code": "C76.51", + "display": "Malignant neoplasm of right lower limb" + }, { + "code": "C76.52", + "display": "Malignant neoplasm of left lower limb" + }, { + "code": "C76.8", + "display": "Malignant neoplasm of other specified ill-defined sites" + }, { + "code": "C77.0", + "display": "Secondary and unspecified malignant neoplasm of lymph nodes of head, face and neck" + }, { + "code": "C77.1", + "display": "Secondary and unspecified malignant neoplasm of intrathoracic lymph nodes" + }, { + "code": "C77.2", + "display": "Secondary and unspecified malignant neoplasm of intra-abdominal lymph nodes" + }, { + "code": "C77.3", + "display": "Secondary and unspecified malignant neoplasm of axilla and upper limb lymph nodes" + }, { + "code": "C77.4", + "display": "Secondary and unspecified malignant neoplasm of inguinal and lower limb lymph nodes" + }, { + "code": "C77.5", + "display": "Secondary and unspecified malignant neoplasm of intrapelvic lymph nodes" + }, { + "code": "C77.8", + "display": "Secondary and unspecified malignant neoplasm of lymph nodes of multiple regions" + }, { + "code": "C77.9", + "display": "Secondary and unspecified malignant neoplasm of lymph node, unspecified" + }, { + "code": "C78.00", + "display": "Secondary malignant neoplasm of unspecified lung" + }, { + "code": "C78.01", + "display": "Secondary malignant neoplasm of right lung" + }, { + "code": "C78.02", + "display": "Secondary malignant neoplasm of left lung" + }, { + "code": "C78.1", + "display": "Secondary malignant neoplasm of mediastinum" + }, { + "code": "C78.2", + "display": "Secondary malignant neoplasm of pleura" + }, { + "code": "C78.30", + "display": "Secondary malignant neoplasm of unspecified respiratory organ" + }, { + "code": "C78.39", + "display": "Secondary malignant neoplasm of other respiratory organs" + }, { + "code": "C78.4", + "display": "Secondary malignant neoplasm of small intestine" + }, { + "code": "C78.5", + "display": "Secondary malignant neoplasm of large intestine and rectum" + }, { + "code": "C78.6", + "display": "Secondary malignant neoplasm of retroperitoneum and peritoneum" + }, { + "code": "C78.7", + "display": "Secondary malignant neoplasm of liver and intrahepatic bile duct" + }, { + "code": "C78.80", + "display": "Secondary malignant neoplasm of unspecified digestive organ" + }, { + "code": "C78.89", + "display": "Secondary malignant neoplasm of other digestive organs" + }, { + "code": "C79.00", + "display": "Secondary malignant neoplasm of unspecified kidney and renal pelvis" + }, { + "code": "C79.01", + "display": "Secondary malignant neoplasm of right kidney and renal pelvis" + }, { + "code": "C79.02", + "display": "Secondary malignant neoplasm of left kidney and renal pelvis" + }, { + "code": "C79.10", + "display": "Secondary malignant neoplasm of unspecified urinary organs" + }, { + "code": "C79.11", + "display": "Secondary malignant neoplasm of bladder" + }, { + "code": "C79.19", + "display": "Secondary malignant neoplasm of other urinary organs" + }, { + "code": "C79.2", + "display": "Secondary malignant neoplasm of skin" + }, { + "code": "C79.31", + "display": "Secondary malignant neoplasm of brain" + }, { + "code": "C79.32", + "display": "Secondary malignant neoplasm of cerebral meninges" + }, { + "code": "C79.40", + "display": "Secondary malignant neoplasm of unspecified part of nervous system" + }, { + "code": "C79.49", + "display": "Secondary malignant neoplasm of other parts of nervous system" + }, { + "code": "C79.51", + "display": "Secondary malignant neoplasm of bone" + }, { + "code": "C79.52", + "display": "Secondary malignant neoplasm of bone marrow" + }, { + "code": "C79.60", + "display": "Secondary malignant neoplasm of unspecified ovary" + }, { + "code": "C79.61", + "display": "Secondary malignant neoplasm of right ovary" + }, { + "code": "C79.62", + "display": "Secondary malignant neoplasm of left ovary" + }, { + "code": "C79.70", + "display": "Secondary malignant neoplasm of unspecified adrenal gland" + }, { + "code": "C79.71", + "display": "Secondary malignant neoplasm of right adrenal gland" + }, { + "code": "C79.72", + "display": "Secondary malignant neoplasm of left adrenal gland" + }, { + "code": "C79.81", + "display": "Secondary malignant neoplasm of breast" + }, { + "code": "C79.82", + "display": "Secondary malignant neoplasm of genital organs" + }, { + "code": "C79.89", + "display": "Secondary malignant neoplasm of other specified sites" + }, { + "code": "C79.9", + "display": "Secondary malignant neoplasm of unspecified site" + }, { + "code": "C7A.00", + "display": "Malignant carcinoid tumor of unspecified site" + }, { + "code": "C7A.010", + "display": "Malignant carcinoid tumor of the duodenum" + }, { + "code": "C7A.011", + "display": "Malignant carcinoid tumor of the jejunum" + }, { + "code": "C7A.012", + "display": "Malignant carcinoid tumor of the ileum" + }, { + "code": "C7A.019", + "display": "Malignant carcinoid tumor of the small intestine, unspecified portion" + }, { + "code": "C7A.020", + "display": "Malignant carcinoid tumor of the appendix" + }, { + "code": "C7A.021", + "display": "Malignant carcinoid tumor of the cecum" + }, { + "code": "C7A.022", + "display": "Malignant carcinoid tumor of the ascending colon" + }, { + "code": "C7A.023", + "display": "Malignant carcinoid tumor of the transverse colon" + }, { + "code": "C7A.024", + "display": "Malignant carcinoid tumor of the descending colon" + }, { + "code": "C7A.025", + "display": "Malignant carcinoid tumor of the sigmoid colon" + }, { + "code": "C7A.026", + "display": "Malignant carcinoid tumor of the rectum" + }, { + "code": "C7A.029", + "display": "Malignant carcinoid tumor of the large intestine, unspecified portion" + }, { + "code": "C7A.090", + "display": "Malignant carcinoid tumor of the bronchus and lung" + }, { + "code": "C7A.091", + "display": "Malignant carcinoid tumor of the thymus" + }, { + "code": "C7A.092", + "display": "Malignant carcinoid tumor of the stomach" + }, { + "code": "C7A.093", + "display": "Malignant carcinoid tumor of the kidney" + }, { + "code": "C7A.094", + "display": "Malignant carcinoid tumor of the foregut, unspecified" + }, { + "code": "C7A.095", + "display": "Malignant carcinoid tumor of the midgut, unspecified" + }, { + "code": "C7A.096", + "display": "Malignant carcinoid tumor of the hindgut, unspecified" + }, { + "code": "C7A.098", + "display": "Malignant carcinoid tumors of other sites" + }, { + "code": "C7A.1", + "display": "Malignant poorly differentiated neuroendocrine tumors" + }, { + "code": "C7A.8", + "display": "Other malignant neuroendocrine tumors" + }, { + "code": "C7B.00", + "display": "Secondary carcinoid tumors, unspecified site" + }, { + "code": "C7B.01", + "display": "Secondary carcinoid tumors of distant lymph nodes" + }, { + "code": "C7B.02", + "display": "Secondary carcinoid tumors of liver" + }, { + "code": "C7B.03", + "display": "Secondary carcinoid tumors of bone" + }, { + "code": "C7B.04", + "display": "Secondary carcinoid tumors of peritoneum" + }, { + "code": "C7B.09", + "display": "Secondary carcinoid tumors of other sites" + }, { + "code": "C7B.1", + "display": "Secondary Merkel cell carcinoma" + }, { + "code": "C7B.8", + "display": "Other secondary neuroendocrine tumors" + }, { + "code": "C80.0", + "display": "Disseminated malignant neoplasm, unspecified" + }, { + "code": "C80.1", + "display": "Malignant (primary) neoplasm, unspecified" + }, { + "code": "C80.2", + "display": "Malignant neoplasm associated with transplanted organ" + }, { + "code": "C81.00", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, unspecified site" + }, { + "code": "C81.01", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C81.02", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, intrathoracic lymph nodes" + }, { + "code": "C81.03", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C81.04", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C81.05", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C81.06", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, intrapelvic lymph nodes" + }, { + "code": "C81.07", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, spleen" + }, { + "code": "C81.08", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, lymph nodes of multiple sites" + }, { + "code": "C81.09", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, extranodal and solid organ sites" + }, { + "code": "C81.10", + "display": "Nodular sclerosis Hodgkin lymphoma, unspecified site" + }, { + "code": "C81.11", + "display": "Nodular sclerosis Hodgkin lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C81.12", + "display": "Nodular sclerosis Hodgkin lymphoma, intrathoracic lymph nodes" + }, { + "code": "C81.13", + "display": "Nodular sclerosis Hodgkin lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C81.14", + "display": "Nodular sclerosis Hodgkin lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C81.15", + "display": "Nodular sclerosis Hodgkin lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C81.16", + "display": "Nodular sclerosis Hodgkin lymphoma, intrapelvic lymph nodes" + }, { + "code": "C81.17", + "display": "Nodular sclerosis Hodgkin lymphoma, spleen" + }, { + "code": "C81.18", + "display": "Nodular sclerosis Hodgkin lymphoma, lymph nodes of multiple sites" + }, { + "code": "C81.19", + "display": "Nodular sclerosis Hodgkin lymphoma, extranodal and solid organ sites" + }, { + "code": "C81.20", + "display": "Mixed cellularity Hodgkin lymphoma, unspecified site" + }, { + "code": "C81.21", + "display": "Mixed cellularity Hodgkin lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C81.22", + "display": "Mixed cellularity Hodgkin lymphoma, intrathoracic lymph nodes" + }, { + "code": "C81.23", + "display": "Mixed cellularity Hodgkin lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C81.24", + "display": "Mixed cellularity Hodgkin lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C81.25", + "display": "Mixed cellularity Hodgkin lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C81.26", + "display": "Mixed cellularity Hodgkin lymphoma, intrapelvic lymph nodes" + }, { + "code": "C81.27", + "display": "Mixed cellularity Hodgkin lymphoma, spleen" + }, { + "code": "C81.28", + "display": "Mixed cellularity Hodgkin lymphoma, lymph nodes of multiple sites" + }, { + "code": "C81.29", + "display": "Mixed cellularity Hodgkin lymphoma, extranodal and solid organ sites" + }, { + "code": "C81.30", + "display": "Lymphocyte depleted Hodgkin lymphoma, unspecified site" + }, { + "code": "C81.31", + "display": "Lymphocyte depleted Hodgkin lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C81.32", + "display": "Lymphocyte depleted Hodgkin lymphoma, intrathoracic lymph nodes" + }, { + "code": "C81.33", + "display": "Lymphocyte depleted Hodgkin lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C81.34", + "display": "Lymphocyte depleted Hodgkin lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C81.35", + "display": "Lymphocyte depleted Hodgkin lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C81.36", + "display": "Lymphocyte depleted Hodgkin lymphoma, intrapelvic lymph nodes" + }, { + "code": "C81.37", + "display": "Lymphocyte depleted Hodgkin lymphoma, spleen" + }, { + "code": "C81.38", + "display": "Lymphocyte depleted Hodgkin lymphoma, lymph nodes of multiple sites" + }, { + "code": "C81.39", + "display": "Lymphocyte depleted Hodgkin lymphoma, extranodal and solid organ sites" + }, { + "code": "C81.40", + "display": "Lymphocyte-rich Hodgkin lymphoma, unspecified site" + }, { + "code": "C81.41", + "display": "Lymphocyte-rich Hodgkin lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C81.42", + "display": "Lymphocyte-rich Hodgkin lymphoma, intrathoracic lymph nodes" + }, { + "code": "C81.43", + "display": "Lymphocyte-rich Hodgkin lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C81.44", + "display": "Lymphocyte-rich Hodgkin lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C81.45", + "display": "Lymphocyte-rich Hodgkin lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C81.46", + "display": "Lymphocyte-rich Hodgkin lymphoma, intrapelvic lymph nodes" + }, { + "code": "C81.47", + "display": "Lymphocyte-rich Hodgkin lymphoma, spleen" + }, { + "code": "C81.48", + "display": "Lymphocyte-rich Hodgkin lymphoma, lymph nodes of multiple sites" + }, { + "code": "C81.49", + "display": "Lymphocyte-rich Hodgkin lymphoma, extranodal and solid organ sites" + }, { + "code": "C81.70", + "display": "Other Hodgkin lymphoma, unspecified site" + }, { + "code": "C81.71", + "display": "Other Hodgkin lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C81.72", + "display": "Other Hodgkin lymphoma, intrathoracic lymph nodes" + }, { + "code": "C81.73", + "display": "Other Hodgkin lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C81.74", + "display": "Other Hodgkin lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C81.75", + "display": "Other Hodgkin lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C81.76", + "display": "Other Hodgkin lymphoma, intrapelvic lymph nodes" + }, { + "code": "C81.77", + "display": "Other Hodgkin lymphoma, spleen" + }, { + "code": "C81.78", + "display": "Other Hodgkin lymphoma, lymph nodes of multiple sites" + }, { + "code": "C81.79", + "display": "Other Hodgkin lymphoma, extranodal and solid organ sites" + }, { + "code": "C81.90", + "display": "Hodgkin lymphoma, unspecified, unspecified site" + }, { + "code": "C81.91", + "display": "Hodgkin lymphoma, unspecified, lymph nodes of head, face, and neck" + }, { + "code": "C81.92", + "display": "Hodgkin lymphoma, unspecified, intrathoracic lymph nodes" + }, { + "code": "C81.93", + "display": "Hodgkin lymphoma, unspecified, intra-abdominal lymph nodes" + }, { + "code": "C81.94", + "display": "Hodgkin lymphoma, unspecified, lymph nodes of axilla and upper limb" + }, { + "code": "C81.95", + "display": "Hodgkin lymphoma, unspecified, lymph nodes of inguinal region and lower limb" + }, { + "code": "C81.96", + "display": "Hodgkin lymphoma, unspecified, intrapelvic lymph nodes" + }, { + "code": "C81.97", + "display": "Hodgkin lymphoma, unspecified, spleen" + }, { + "code": "C81.98", + "display": "Hodgkin lymphoma, unspecified, lymph nodes of multiple sites" + }, { + "code": "C81.99", + "display": "Hodgkin lymphoma, unspecified, extranodal and solid organ sites" + }, { + "code": "C82.00", + "display": "Follicular lymphoma grade I, unspecified site" + }, { + "code": "C82.01", + "display": "Follicular lymphoma grade I, lymph nodes of head, face, and neck" + }, { + "code": "C82.02", + "display": "Follicular lymphoma grade I, intrathoracic lymph nodes" + }, { + "code": "C82.03", + "display": "Follicular lymphoma grade I, intra-abdominal lymph nodes" + }, { + "code": "C82.04", + "display": "Follicular lymphoma grade I, lymph nodes of axilla and upper limb" + }, { + "code": "C82.05", + "display": "Follicular lymphoma grade I, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.06", + "display": "Follicular lymphoma grade I, intrapelvic lymph nodes" + }, { + "code": "C82.07", + "display": "Follicular lymphoma grade I, spleen" + }, { + "code": "C82.08", + "display": "Follicular lymphoma grade I, lymph nodes of multiple sites" + }, { + "code": "C82.09", + "display": "Follicular lymphoma grade I, extranodal and solid organ sites" + }, { + "code": "C82.10", + "display": "Follicular lymphoma grade II, unspecified site" + }, { + "code": "C82.11", + "display": "Follicular lymphoma grade II, lymph nodes of head, face, and neck" + }, { + "code": "C82.12", + "display": "Follicular lymphoma grade II, intrathoracic lymph nodes" + }, { + "code": "C82.13", + "display": "Follicular lymphoma grade II, intra-abdominal lymph nodes" + }, { + "code": "C82.14", + "display": "Follicular lymphoma grade II, lymph nodes of axilla and upper limb" + }, { + "code": "C82.15", + "display": "Follicular lymphoma grade II, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.16", + "display": "Follicular lymphoma grade II, intrapelvic lymph nodes" + }, { + "code": "C82.17", + "display": "Follicular lymphoma grade II, spleen" + }, { + "code": "C82.18", + "display": "Follicular lymphoma grade II, lymph nodes of multiple sites" + }, { + "code": "C82.19", + "display": "Follicular lymphoma grade II, extranodal and solid organ sites" + }, { + "code": "C82.20", + "display": "Follicular lymphoma grade III, unspecified, unspecified site" + }, { + "code": "C82.21", + "display": "Follicular lymphoma grade III, unspecified, lymph nodes of head, face, and neck" + }, { + "code": "C82.22", + "display": "Follicular lymphoma grade III, unspecified, intrathoracic lymph nodes" + }, { + "code": "C82.23", + "display": "Follicular lymphoma grade III, unspecified, intra-abdominal lymph nodes" + }, { + "code": "C82.24", + "display": "Follicular lymphoma grade III, unspecified, lymph nodes of axilla and upper limb" + }, { + "code": "C82.25", + "display": "Follicular lymphoma grade III, unspecified, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.26", + "display": "Follicular lymphoma grade III, unspecified, intrapelvic lymph nodes" + }, { + "code": "C82.27", + "display": "Follicular lymphoma grade III, unspecified, spleen" + }, { + "code": "C82.28", + "display": "Follicular lymphoma grade III, unspecified, lymph nodes of multiple sites" + }, { + "code": "C82.29", + "display": "Follicular lymphoma grade III, unspecified, extranodal and solid organ sites" + }, { + "code": "C82.30", + "display": "Follicular lymphoma grade IIIa, unspecified site" + }, { + "code": "C82.31", + "display": "Follicular lymphoma grade IIIa, lymph nodes of head, face, and neck" + }, { + "code": "C82.32", + "display": "Follicular lymphoma grade IIIa, intrathoracic lymph nodes" + }, { + "code": "C82.33", + "display": "Follicular lymphoma grade IIIa, intra-abdominal lymph nodes" + }, { + "code": "C82.34", + "display": "Follicular lymphoma grade IIIa, lymph nodes of axilla and upper limb" + }, { + "code": "C82.35", + "display": "Follicular lymphoma grade IIIa, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.36", + "display": "Follicular lymphoma grade IIIa, intrapelvic lymph nodes" + }, { + "code": "C82.37", + "display": "Follicular lymphoma grade IIIa, spleen" + }, { + "code": "C82.38", + "display": "Follicular lymphoma grade IIIa, lymph nodes of multiple sites" + }, { + "code": "C82.39", + "display": "Follicular lymphoma grade IIIa, extranodal and solid organ sites" + }, { + "code": "C82.40", + "display": "Follicular lymphoma grade IIIb, unspecified site" + }, { + "code": "C82.41", + "display": "Follicular lymphoma grade IIIb, lymph nodes of head, face, and neck" + }, { + "code": "C82.42", + "display": "Follicular lymphoma grade IIIb, intrathoracic lymph nodes" + }, { + "code": "C82.43", + "display": "Follicular lymphoma grade IIIb, intra-abdominal lymph nodes" + }, { + "code": "C82.44", + "display": "Follicular lymphoma grade IIIb, lymph nodes of axilla and upper limb" + }, { + "code": "C82.45", + "display": "Follicular lymphoma grade IIIb, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.46", + "display": "Follicular lymphoma grade IIIb, intrapelvic lymph nodes" + }, { + "code": "C82.47", + "display": "Follicular lymphoma grade IIIb, spleen" + }, { + "code": "C82.48", + "display": "Follicular lymphoma grade IIIb, lymph nodes of multiple sites" + }, { + "code": "C82.49", + "display": "Follicular lymphoma grade IIIb, extranodal and solid organ sites" + }, { + "code": "C82.50", + "display": "Diffuse follicle center lymphoma, unspecified site" + }, { + "code": "C82.51", + "display": "Diffuse follicle center lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C82.52", + "display": "Diffuse follicle center lymphoma, intrathoracic lymph nodes" + }, { + "code": "C82.53", + "display": "Diffuse follicle center lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C82.54", + "display": "Diffuse follicle center lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C82.55", + "display": "Diffuse follicle center lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.56", + "display": "Diffuse follicle center lymphoma, intrapelvic lymph nodes" + }, { + "code": "C82.57", + "display": "Diffuse follicle center lymphoma, spleen" + }, { + "code": "C82.58", + "display": "Diffuse follicle center lymphoma, lymph nodes of multiple sites" + }, { + "code": "C82.59", + "display": "Diffuse follicle center lymphoma, extranodal and solid organ sites" + }, { + "code": "C82.60", + "display": "Cutaneous follicle center lymphoma, unspecified site" + }, { + "code": "C82.61", + "display": "Cutaneous follicle center lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C82.62", + "display": "Cutaneous follicle center lymphoma, intrathoracic lymph nodes" + }, { + "code": "C82.63", + "display": "Cutaneous follicle center lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C82.64", + "display": "Cutaneous follicle center lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C82.65", + "display": "Cutaneous follicle center lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.66", + "display": "Cutaneous follicle center lymphoma, intrapelvic lymph nodes" + }, { + "code": "C82.67", + "display": "Cutaneous follicle center lymphoma, spleen" + }, { + "code": "C82.68", + "display": "Cutaneous follicle center lymphoma, lymph nodes of multiple sites" + }, { + "code": "C82.69", + "display": "Cutaneous follicle center lymphoma, extranodal and solid organ sites" + }, { + "code": "C82.80", + "display": "Other types of follicular lymphoma, unspecified site" + }, { + "code": "C82.81", + "display": "Other types of follicular lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C82.82", + "display": "Other types of follicular lymphoma, intrathoracic lymph nodes" + }, { + "code": "C82.83", + "display": "Other types of follicular lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C82.84", + "display": "Other types of follicular lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C82.85", + "display": "Other types of follicular lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.86", + "display": "Other types of follicular lymphoma, intrapelvic lymph nodes" + }, { + "code": "C82.87", + "display": "Other types of follicular lymphoma, spleen" + }, { + "code": "C82.88", + "display": "Other types of follicular lymphoma, lymph nodes of multiple sites" + }, { + "code": "C82.89", + "display": "Other types of follicular lymphoma, extranodal and solid organ sites" + }, { + "code": "C82.90", + "display": "Follicular lymphoma, unspecified, unspecified site" + }, { + "code": "C82.91", + "display": "Follicular lymphoma, unspecified, lymph nodes of head, face, and neck" + }, { + "code": "C82.92", + "display": "Follicular lymphoma, unspecified, intrathoracic lymph nodes" + }, { + "code": "C82.93", + "display": "Follicular lymphoma, unspecified, intra-abdominal lymph nodes" + }, { + "code": "C82.94", + "display": "Follicular lymphoma, unspecified, lymph nodes of axilla and upper limb" + }, { + "code": "C82.95", + "display": "Follicular lymphoma, unspecified, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.96", + "display": "Follicular lymphoma, unspecified, intrapelvic lymph nodes" + }, { + "code": "C82.97", + "display": "Follicular lymphoma, unspecified, spleen" + }, { + "code": "C82.98", + "display": "Follicular lymphoma, unspecified, lymph nodes of multiple sites" + }, { + "code": "C82.99", + "display": "Follicular lymphoma, unspecified, extranodal and solid organ sites" + }, { + "code": "C83.00", + "display": "Small cell B-cell lymphoma, unspecified site" + }, { + "code": "C83.01", + "display": "Small cell B-cell lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C83.02", + "display": "Small cell B-cell lymphoma, intrathoracic lymph nodes" + }, { + "code": "C83.03", + "display": "Small cell B-cell lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C83.04", + "display": "Small cell B-cell lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C83.05", + "display": "Small cell B-cell lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C83.06", + "display": "Small cell B-cell lymphoma, intrapelvic lymph nodes" + }, { + "code": "C83.07", + "display": "Small cell B-cell lymphoma, spleen" + }, { + "code": "C83.08", + "display": "Small cell B-cell lymphoma, lymph nodes of multiple sites" + }, { + "code": "C83.09", + "display": "Small cell B-cell lymphoma, extranodal and solid organ sites" + }, { + "code": "C83.10", + "display": "Mantle cell lymphoma, unspecified site" + }, { + "code": "C83.11", + "display": "Mantle cell lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C83.12", + "display": "Mantle cell lymphoma, intrathoracic lymph nodes" + }, { + "code": "C83.13", + "display": "Mantle cell lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C83.14", + "display": "Mantle cell lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C83.15", + "display": "Mantle cell lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C83.16", + "display": "Mantle cell lymphoma, intrapelvic lymph nodes" + }, { + "code": "C83.17", + "display": "Mantle cell lymphoma, spleen" + }, { + "code": "C83.18", + "display": "Mantle cell lymphoma, lymph nodes of multiple sites" + }, { + "code": "C83.19", + "display": "Mantle cell lymphoma, extranodal and solid organ sites" + }, { + "code": "C83.30", + "display": "Diffuse large B-cell lymphoma, unspecified site" + }, { + "code": "C83.31", + "display": "Diffuse large B-cell lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C83.32", + "display": "Diffuse large B-cell lymphoma, intrathoracic lymph nodes" + }, { + "code": "C83.33", + "display": "Diffuse large B-cell lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C83.34", + "display": "Diffuse large B-cell lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C83.35", + "display": "Diffuse large B-cell lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C83.36", + "display": "Diffuse large B-cell lymphoma, intrapelvic lymph nodes" + }, { + "code": "C83.37", + "display": "Diffuse large B-cell lymphoma, spleen" + }, { + "code": "C83.38", + "display": "Diffuse large B-cell lymphoma, lymph nodes of multiple sites" + }, { + "code": "C83.39", + "display": "Diffuse large B-cell lymphoma, extranodal and solid organ sites" + }, { + "code": "C83.50", + "display": "Lymphoblastic (diffuse) lymphoma, unspecified site" + }, { + "code": "C83.51", + "display": "Lymphoblastic (diffuse) lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C83.52", + "display": "Lymphoblastic (diffuse) lymphoma, intrathoracic lymph nodes" + }, { + "code": "C83.53", + "display": "Lymphoblastic (diffuse) lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C83.54", + "display": "Lymphoblastic (diffuse) lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C83.55", + "display": "Lymphoblastic (diffuse) lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C83.56", + "display": "Lymphoblastic (diffuse) lymphoma, intrapelvic lymph nodes" + }, { + "code": "C83.57", + "display": "Lymphoblastic (diffuse) lymphoma, spleen" + }, { + "code": "C83.58", + "display": "Lymphoblastic (diffuse) lymphoma, lymph nodes of multiple sites" + }, { + "code": "C83.59", + "display": "Lymphoblastic (diffuse) lymphoma, extranodal and solid organ sites" + }, { + "code": "C83.70", + "display": "Burkitt lymphoma, unspecified site" + }, { + "code": "C83.71", + "display": "Burkitt lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C83.72", + "display": "Burkitt lymphoma, intrathoracic lymph nodes" + }, { + "code": "C83.73", + "display": "Burkitt lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C83.74", + "display": "Burkitt lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C83.75", + "display": "Burkitt lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C83.76", + "display": "Burkitt lymphoma, intrapelvic lymph nodes" + }, { + "code": "C83.77", + "display": "Burkitt lymphoma, spleen" + }, { + "code": "C83.78", + "display": "Burkitt lymphoma, lymph nodes of multiple sites" + }, { + "code": "C83.79", + "display": "Burkitt lymphoma, extranodal and solid organ sites" + }, { + "code": "C83.80", + "display": "Other non-follicular lymphoma, unspecified site" + }, { + "code": "C83.81", + "display": "Other non-follicular lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C83.82", + "display": "Other non-follicular lymphoma, intrathoracic lymph nodes" + }, { + "code": "C83.83", + "display": "Other non-follicular lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C83.84", + "display": "Other non-follicular lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C83.85", + "display": "Other non-follicular lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C83.86", + "display": "Other non-follicular lymphoma, intrapelvic lymph nodes" + }, { + "code": "C83.87", + "display": "Other non-follicular lymphoma, spleen" + }, { + "code": "C83.88", + "display": "Other non-follicular lymphoma, lymph nodes of multiple sites" + }, { + "code": "C83.89", + "display": "Other non-follicular lymphoma, extranodal and solid organ sites" + }, { + "code": "C83.90", + "display": "Non-follicular (diffuse) lymphoma, unspecified, unspecified site" + }, { + "code": "C83.91", + "display": "Non-follicular (diffuse) lymphoma, unspecified, lymph nodes of head, face, and neck" + }, { + "code": "C83.92", + "display": "Non-follicular (diffuse) lymphoma, unspecified, intrathoracic lymph nodes" + }, { + "code": "C83.93", + "display": "Non-follicular (diffuse) lymphoma, unspecified, intra-abdominal lymph nodes" + }, { + "code": "C83.94", + "display": "Non-follicular (diffuse) lymphoma, unspecified, lymph nodes of axilla and upper limb" + }, { + "code": "C83.95", + "display": "Non-follicular (diffuse) lymphoma, unspecified, lymph nodes of inguinal region and lower limb" + }, { + "code": "C83.96", + "display": "Non-follicular (diffuse) lymphoma, unspecified, intrapelvic lymph nodes" + }, { + "code": "C83.97", + "display": "Non-follicular (diffuse) lymphoma, unspecified, spleen" + }, { + "code": "C83.98", + "display": "Non-follicular (diffuse) lymphoma, unspecified, lymph nodes of multiple sites" + }, { + "code": "C83.99", + "display": "Non-follicular (diffuse) lymphoma, unspecified, extranodal and solid organ sites" + }, { + "code": "C84.00", + "display": "Mycosis fungoides, unspecified site" + }, { + "code": "C84.01", + "display": "Mycosis fungoides, lymph nodes of head, face, and neck" + }, { + "code": "C84.02", + "display": "Mycosis fungoides, intrathoracic lymph nodes" + }, { + "code": "C84.03", + "display": "Mycosis fungoides, intra-abdominal lymph nodes" + }, { + "code": "C84.04", + "display": "Mycosis fungoides, lymph nodes of axilla and upper limb" + }, { + "code": "C84.05", + "display": "Mycosis fungoides, lymph nodes of inguinal region and lower limb" + }, { + "code": "C84.06", + "display": "Mycosis fungoides, intrapelvic lymph nodes" + }, { + "code": "C84.07", + "display": "Mycosis fungoides, spleen" + }, { + "code": "C84.08", + "display": "Mycosis fungoides, lymph nodes of multiple sites" + }, { + "code": "C84.09", + "display": "Mycosis fungoides, extranodal and solid organ sites" + }, { + "code": "C84.10", + "display": "Sézary disease, unspecified site" + }, { + "code": "C84.11", + "display": "Sézary disease, lymph nodes of head, face, and neck" + }, { + "code": "C84.12", + "display": "Sézary disease, intrathoracic lymph nodes" + }, { + "code": "C84.13", + "display": "Sézary disease, intra-abdominal lymph nodes" + }, { + "code": "C84.14", + "display": "Sézary disease, lymph nodes of axilla and upper limb" + }, { + "code": "C84.15", + "display": "Sézary disease, lymph nodes of inguinal region and lower limb" + }, { + "code": "C84.16", + "display": "Sézary disease, intrapelvic lymph nodes" + }, { + "code": "C84.17", + "display": "Sézary disease, spleen" + }, { + "code": "C84.18", + "display": "Sézary disease, lymph nodes of multiple sites" + }, { + "code": "C84.19", + "display": "Sézary disease, extranodal and solid organ sites" + }, { + "code": "C84.40", + "display": "Peripheral T-cell lymphoma, not classified, unspecified site" + }, { + "code": "C84.41", + "display": "Peripheral T-cell lymphoma, not classified, lymph nodes of head, face, and neck" + }, { + "code": "C84.42", + "display": "Peripheral T-cell lymphoma, not classified, intrathoracic lymph nodes" + }, { + "code": "C84.43", + "display": "Peripheral T-cell lymphoma, not classified, intra-abdominal lymph nodes" + }, { + "code": "C84.44", + "display": "Peripheral T-cell lymphoma, not classified, lymph nodes of axilla and upper limb" + }, { + "code": "C84.45", + "display": "Peripheral T-cell lymphoma, not classified, lymph nodes of inguinal region and lower limb" + }, { + "code": "C84.46", + "display": "Peripheral T-cell lymphoma, not classified, intrapelvic lymph nodes" + }, { + "code": "C84.47", + "display": "Peripheral T-cell lymphoma, not classified, spleen" + }, { + "code": "C84.48", + "display": "Peripheral T-cell lymphoma, not classified, lymph nodes of multiple sites" + }, { + "code": "C84.49", + "display": "Peripheral T-cell lymphoma, not classified, extranodal and solid organ sites" + }, { + "code": "C84.60", + "display": "Anaplastic large cell lymphoma, ALK-positive, unspecified site" + }, { + "code": "C84.61", + "display": "Anaplastic large cell lymphoma, ALK-positive, lymph nodes of head, face, and neck" + }, { + "code": "C84.62", + "display": "Anaplastic large cell lymphoma, ALK-positive, intrathoracic lymph nodes" + }, { + "code": "C84.63", + "display": "Anaplastic large cell lymphoma, ALK-positive, intra-abdominal lymph nodes" + }, { + "code": "C84.64", + "display": "Anaplastic large cell lymphoma, ALK-positive, lymph nodes of axilla and upper limb" + }, { + "code": "C84.65", + "display": "Anaplastic large cell lymphoma, ALK-positive, lymph nodes of inguinal region and lower limb" + }, { + "code": "C84.66", + "display": "Anaplastic large cell lymphoma, ALK-positive, intrapelvic lymph nodes" + }, { + "code": "C84.67", + "display": "Anaplastic large cell lymphoma, ALK-positive, spleen" + }, { + "code": "C84.68", + "display": "Anaplastic large cell lymphoma, ALK-positive, lymph nodes of multiple sites" + }, { + "code": "C84.69", + "display": "Anaplastic large cell lymphoma, ALK-positive, extranodal and solid organ sites" + }, { + "code": "C84.70", + "display": "Anaplastic large cell lymphoma, ALK-negative, unspecified site" + }, { + "code": "C84.71", + "display": "Anaplastic large cell lymphoma, ALK-negative, lymph nodes of head, face, and neck" + }, { + "code": "C84.72", + "display": "Anaplastic large cell lymphoma, ALK-negative, intrathoracic lymph nodes" + }, { + "code": "C84.73", + "display": "Anaplastic large cell lymphoma, ALK-negative, intra-abdominal lymph nodes" + }, { + "code": "C84.74", + "display": "Anaplastic large cell lymphoma, ALK-negative, lymph nodes of axilla and upper limb" + }, { + "code": "C84.75", + "display": "Anaplastic large cell lymphoma, ALK-negative, lymph nodes of inguinal region and lower limb" + }, { + "code": "C84.76", + "display": "Anaplastic large cell lymphoma, ALK-negative, intrapelvic lymph nodes" + }, { + "code": "C84.77", + "display": "Anaplastic large cell lymphoma, ALK-negative, spleen" + }, { + "code": "C84.78", + "display": "Anaplastic large cell lymphoma, ALK-negative, lymph nodes of multiple sites" + }, { + "code": "C84.79", + "display": "Anaplastic large cell lymphoma, ALK-negative, extranodal and solid organ sites" + }, { + "code": "C84.90", + "display": "Mature T/NK-cell lymphomas, unspecified, unspecified site" + }, { + "code": "C84.91", + "display": "Mature T/NK-cell lymphomas, unspecified, lymph nodes of head, face, and neck" + }, { + "code": "C84.92", + "display": "Mature T/NK-cell lymphomas, unspecified, intrathoracic lymph nodes" + }, { + "code": "C84.93", + "display": "Mature T/NK-cell lymphomas, unspecified, intra-abdominal lymph nodes" + }, { + "code": "C84.94", + "display": "Mature T/NK-cell lymphomas, unspecified, lymph nodes of axilla and upper limb" + }, { + "code": "C84.95", + "display": "Mature T/NK-cell lymphomas, unspecified, lymph nodes of inguinal region and lower limb" + }, { + "code": "C84.96", + "display": "Mature T/NK-cell lymphomas, unspecified, intrapelvic lymph nodes" + }, { + "code": "C84.97", + "display": "Mature T/NK-cell lymphomas, unspecified, spleen" + }, { + "code": "C84.98", + "display": "Mature T/NK-cell lymphomas, unspecified, lymph nodes of multiple sites" + }, { + "code": "C84.99", + "display": "Mature T/NK-cell lymphomas, unspecified, extranodal and solid organ sites" + }, { + "code": "C84.A0", + "display": "Cutaneous T-cell lymphoma, unspecified, unspecified site" + }, { + "code": "C84.A1", + "display": "Cutaneous T-cell lymphoma, unspecified lymph nodes of head, face, and neck" + }, { + "code": "C84.A2", + "display": "Cutaneous T-cell lymphoma, unspecified, intrathoracic lymph nodes" + }, { + "code": "C84.A3", + "display": "Cutaneous T-cell lymphoma, unspecified, intra-abdominal lymph nodes" + }, { + "code": "C84.A4", + "display": "Cutaneous T-cell lymphoma, unspecified, lymph nodes of axilla and upper limb" + }, { + "code": "C84.A5", + "display": "Cutaneous T-cell lymphoma, unspecified, lymph nodes of inguinal region and lower limb" + }, { + "code": "C84.A6", + "display": "Cutaneous T-cell lymphoma, unspecified, intrapelvic lymph nodes" + }, { + "code": "C84.A7", + "display": "Cutaneous T-cell lymphoma, unspecified, spleen" + }, { + "code": "C84.A8", + "display": "Cutaneous T-cell lymphoma, unspecified, lymph nodes of multiple sites" + }, { + "code": "C84.A9", + "display": "Cutaneous T-cell lymphoma, unspecified, extranodal and solid organ sites" + }, { + "code": "C84.Z0", + "display": "Other mature T/NK-cell lymphomas, unspecified site" + }, { + "code": "C84.Z1", + "display": "Other mature T/NK-cell lymphomas, lymph nodes of head, face, and neck" + }, { + "code": "C84.Z2", + "display": "Other mature T/NK-cell lymphomas, intrathoracic lymph nodes" + }, { + "code": "C84.Z3", + "display": "Other mature T/NK-cell lymphomas, intra-abdominal lymph nodes" + }, { + "code": "C84.Z4", + "display": "Other mature T/NK-cell lymphomas, lymph nodes of axilla and upper limb" + }, { + "code": "C84.Z5", + "display": "Other mature T/NK-cell lymphomas, lymph nodes of inguinal region and lower limb" + }, { + "code": "C84.Z6", + "display": "Other mature T/NK-cell lymphomas, intrapelvic lymph nodes" + }, { + "code": "C84.Z7", + "display": "Other mature T/NK-cell lymphomas, spleen" + }, { + "code": "C84.Z8", + "display": "Other mature T/NK-cell lymphomas, lymph nodes of multiple sites" + }, { + "code": "C84.Z9", + "display": "Other mature T/NK-cell lymphomas, extranodal and solid organ sites" + }, { + "code": "C85.10", + "display": "Unspecified B-cell lymphoma, unspecified site" + }, { + "code": "C85.11", + "display": "Unspecified B-cell lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C85.12", + "display": "Unspecified B-cell lymphoma, intrathoracic lymph nodes" + }, { + "code": "C85.13", + "display": "Unspecified B-cell lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C85.14", + "display": "Unspecified B-cell lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C85.15", + "display": "Unspecified B-cell lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C85.16", + "display": "Unspecified B-cell lymphoma, intrapelvic lymph nodes" + }, { + "code": "C85.17", + "display": "Unspecified B-cell lymphoma, spleen" + }, { + "code": "C85.18", + "display": "Unspecified B-cell lymphoma, lymph nodes of multiple sites" + }, { + "code": "C85.19", + "display": "Unspecified B-cell lymphoma, extranodal and solid organ sites" + }, { + "code": "C85.20", + "display": "Mediastinal (thymic) large B-cell lymphoma, unspecified site" + }, { + "code": "C85.21", + "display": "Mediastinal (thymic) large B-cell lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C85.22", + "display": "Mediastinal (thymic) large B-cell lymphoma, intrathoracic lymph nodes" + }, { + "code": "C85.23", + "display": "Mediastinal (thymic) large B-cell lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C85.24", + "display": "Mediastinal (thymic) large B-cell lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C85.25", + "display": "Mediastinal (thymic) large B-cell lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C85.26", + "display": "Mediastinal (thymic) large B-cell lymphoma, intrapelvic lymph nodes" + }, { + "code": "C85.27", + "display": "Mediastinal (thymic) large B-cell lymphoma, spleen" + }, { + "code": "C85.28", + "display": "Mediastinal (thymic) large B-cell lymphoma, lymph nodes of multiple sites" + }, { + "code": "C85.29", + "display": "Mediastinal (thymic) large B-cell lymphoma, extranodal and solid organ sites" + }, { + "code": "C85.80", + "display": "Other specified types of non-Hodgkin lymphoma, unspecified site" + }, { + "code": "C85.81", + "display": "Other specified types of non-Hodgkin lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C85.82", + "display": "Other specified types of non-Hodgkin lymphoma, intrathoracic lymph nodes" + }, { + "code": "C85.83", + "display": "Other specified types of non-Hodgkin lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C85.84", + "display": "Other specified types of non-Hodgkin lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C85.85", + "display": "Other specified types of non-Hodgkin lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C85.86", + "display": "Other specified types of non-Hodgkin lymphoma, intrapelvic lymph nodes" + }, { + "code": "C85.87", + "display": "Other specified types of non-Hodgkin lymphoma, spleen" + }, { + "code": "C85.88", + "display": "Other specified types of non-Hodgkin lymphoma, lymph nodes of multiple sites" + }, { + "code": "C85.89", + "display": "Other specified types of non-Hodgkin lymphoma, extranodal and solid organ sites" + }, { + "code": "C85.90", + "display": "Non-Hodgkin lymphoma, unspecified, unspecified site" + }, { + "code": "C85.91", + "display": "Non-Hodgkin lymphoma, unspecified, lymph nodes of head, face, and neck" + }, { + "code": "C85.92", + "display": "Non-Hodgkin lymphoma, unspecified, intrathoracic lymph nodes" + }, { + "code": "C85.93", + "display": "Non-Hodgkin lymphoma, unspecified, intra-abdominal lymph nodes" + }, { + "code": "C85.94", + "display": "Non-Hodgkin lymphoma, unspecified, lymph nodes of axilla and upper limb" + }, { + "code": "C85.95", + "display": "Non-Hodgkin lymphoma, unspecified, lymph nodes of inguinal region and lower limb" + }, { + "code": "C85.96", + "display": "Non-Hodgkin lymphoma, unspecified, intrapelvic lymph nodes" + }, { + "code": "C85.97", + "display": "Non-Hodgkin lymphoma, unspecified, spleen" + }, { + "code": "C85.98", + "display": "Non-Hodgkin lymphoma, unspecified, lymph nodes of multiple sites" + }, { + "code": "C85.99", + "display": "Non-Hodgkin lymphoma, unspecified, extranodal and solid organ sites" + }, { + "code": "C86.0", + "display": "Extranodal NK/T-cell lymphoma, nasal type" + }, { + "code": "C86.1", + "display": "Hepatosplenic T-cell lymphoma" + }, { + "code": "C86.2", + "display": "Enteropathy-type (intestinal) T-cell lymphoma" + }, { + "code": "C86.3", + "display": "Subcutaneous panniculitis-like T-cell lymphoma" + }, { + "code": "C86.4", + "display": "Blastic NK-cell lymphoma" + }, { + "code": "C86.5", + "display": "Angioimmunoblastic T-cell lymphoma" + }, { + "code": "C86.6", + "display": "Primary cutaneous CD30-positive T-cell proliferations" + }, { + "code": "C88.0", + "display": "Waldenström macroglobulinemia" + }, { + "code": "C88.2", + "display": "Heavy chain disease" + }, { + "code": "C88.3", + "display": "Immunoproliferative small intestinal disease" + }, { + "code": "C88.4", + "display": "Extranodal marginal zone B-cell lymphoma of mucosa-associated lymphoid tissue [MALT-lymphoma]" + }, { + "code": "C88.8", + "display": "Other malignant immunoproliferative diseases" + }, { + "code": "C88.9", + "display": "Malignant immunoproliferative disease, unspecified" + }, { + "code": "C90.00", + "display": "Multiple myeloma not having achieved remission" + }, { + "code": "C90.02", + "display": "Multiple myeloma in relapse" + }, { + "code": "C90.10", + "display": "Plasma cell leukemia not having achieved remission" + }, { + "code": "C90.12", + "display": "Plasma cell leukemia in relapse" + }, { + "code": "C90.20", + "display": "Extramedullary plasmacytoma not having achieved remission" + }, { + "code": "C90.22", + "display": "Extramedullary plasmacytoma in relapse" + }, { + "code": "C90.30", + "display": "Solitary plasmacytoma not having achieved remission" + }, { + "code": "C90.32", + "display": "Solitary plasmacytoma in relapse" + }, { + "code": "C91.00", + "display": "Acute lymphoblastic leukemia not having achieved remission" + }, { + "code": "C91.02", + "display": "Acute lymphoblastic leukemia, in relapse" + }, { + "code": "C91.10", + "display": "Chronic lymphocytic leukemia of B-cell type not having achieved remission" + }, { + "code": "C91.12", + "display": "Chronic lymphocytic leukemia of B-cell type in relapse" + }, { + "code": "C91.30", + "display": "Prolymphocytic leukemia of B-cell type not having achieved remission" + }, { + "code": "C91.32", + "display": "Prolymphocytic leukemia of B-cell type, in relapse" + }, { + "code": "C91.40", + "display": "Hairy cell leukemia not having achieved remission" + }, { + "code": "C91.42", + "display": "Hairy cell leukemia, in relapse" + }, { + "code": "C91.50", + "display": "Adult T-cell lymphoma/leukemia (HTLV-1-associated) not having achieved remission" + }, { + "code": "C91.52", + "display": "Adult T-cell lymphoma/leukemia (HTLV-1-associated), in relapse" + }, { + "code": "C91.60", + "display": "Prolymphocytic leukemia of T-cell type not having achieved remission" + }, { + "code": "C91.62", + "display": "Prolymphocytic leukemia of T-cell type, in relapse" + }, { + "code": "C91.90", + "display": "Lymphoid leukemia, unspecified not having achieved remission" + }, { + "code": "C91.92", + "display": "Lymphoid leukemia, unspecified, in relapse" + }, { + "code": "C91.A0", + "display": "Mature B-cell leukemia Burkitt-type not having achieved remission" + }, { + "code": "C91.A2", + "display": "Mature B-cell leukemia Burkitt-type, in relapse" + }, { + "code": "C91.Z0", + "display": "Other lymphoid leukemia not having achieved remission" + }, { + "code": "C91.Z2", + "display": "Other lymphoid leukemia, in relapse" + }, { + "code": "C92.00", + "display": "Acute myeloblastic leukemia, not having achieved remission" + }, { + "code": "C92.02", + "display": "Acute myeloblastic leukemia, in relapse" + }, { + "code": "C92.10", + "display": "Chronic myeloid leukemia, BCR/ABL-positive, not having achieved remission" + }, { + "code": "C92.12", + "display": "Chronic myeloid leukemia, BCR/ABL-positive, in relapse" + }, { + "code": "C92.20", + "display": "Atypical chronic myeloid leukemia, BCR/ABL-negative, not having achieved remission" + }, { + "code": "C92.22", + "display": "Atypical chronic myeloid leukemia, BCR/ABL-negative, in relapse" + }, { + "code": "C92.30", + "display": "Myeloid sarcoma, not having achieved remission" + }, { + "code": "C92.32", + "display": "Myeloid sarcoma, in relapse" + }, { + "code": "C92.40", + "display": "Acute promyelocytic leukemia, not having achieved remission" + }, { + "code": "C92.42", + "display": "Acute promyelocytic leukemia, in relapse" + }, { + "code": "C92.50", + "display": "Acute myelomonocytic leukemia, not having achieved remission" + }, { + "code": "C92.52", + "display": "Acute myelomonocytic leukemia, in relapse" + }, { + "code": "C92.60", + "display": "Acute myeloid leukemia with 11q23-abnormality not having achieved remission" + }, { + "code": "C92.62", + "display": "Acute myeloid leukemia with 11q23-abnormality in relapse" + }, { + "code": "C92.90", + "display": "Myeloid leukemia, unspecified, not having achieved remission" + }, { + "code": "C92.92", + "display": "Myeloid leukemia, unspecified in relapse" + }, { + "code": "C92.A0", + "display": "Acute myeloid leukemia with multilineage dysplasia, not having achieved remission" + }, { + "code": "C92.A2", + "display": "Acute myeloid leukemia with multilineage dysplasia, in relapse" + }, { + "code": "C92.Z0", + "display": "Other myeloid leukemia not having achieved remission" + }, { + "code": "C92.Z2", + "display": "Other myeloid leukemia, in relapse" + }, { + "code": "C93.00", + "display": "Acute monoblastic/monocytic leukemia, not having achieved remission" + }, { + "code": "C93.02", + "display": "Acute monoblastic/monocytic leukemia, in relapse" + }, { + "code": "C93.10", + "display": "Chronic myelomonocytic leukemia not having achieved remission" + }, { + "code": "C93.12", + "display": "Chronic myelomonocytic leukemia, in relapse" + }, { + "code": "C93.30", + "display": "Juvenile myelomonocytic leukemia, not having achieved remission" + }, { + "code": "C93.32", + "display": "Juvenile myelomonocytic leukemia, in relapse" + }, { + "code": "C93.90", + "display": "Monocytic leukemia, unspecified, not having achieved remission" + }, { + "code": "C93.92", + "display": "Monocytic leukemia, unspecified in relapse" + }, { + "code": "C93.Z0", + "display": "Other monocytic leukemia, not having achieved remission" + }, { + "code": "C93.Z2", + "display": "Other monocytic leukemia, in relapse" + }, { + "code": "C94.00", + "display": "Acute erythroid leukemia, not having achieved remission" + }, { + "code": "C94.02", + "display": "Acute erythroid leukemia, in relapse" + }, { + "code": "C94.20", + "display": "Acute megakaryoblastic leukemia not having achieved remission" + }, { + "code": "C94.22", + "display": "Acute megakaryoblastic leukemia, in relapse" + }, { + "code": "C94.30", + "display": "Mast cell leukemia not having achieved remission" + }, { + "code": "C94.32", + "display": "Mast cell leukemia, in relapse" + }, { + "code": "C94.40", + "display": "Acute panmyelosis with myelofibrosis not having achieved remission" + }, { + "code": "C94.42", + "display": "Acute panmyelosis with myelofibrosis, in relapse" + }, { + "code": "C94.6", + "display": "Myelodysplastic disease, not classified" + }, { + "code": "C94.80", + "display": "Other specified leukemias not having achieved remission" + }, { + "code": "C94.82", + "display": "Other specified leukemias, in relapse" + }, { + "code": "C95.00", + "display": "Acute leukemia of unspecified cell type not having achieved remission" + }, { + "code": "C95.02", + "display": "Acute leukemia of unspecified cell type, in relapse" + }, { + "code": "C95.10", + "display": "Chronic leukemia of unspecified cell type not having achieved remission" + }, { + "code": "C95.12", + "display": "Chronic leukemia of unspecified cell type, in relapse" + }, { + "code": "C95.90", + "display": "Leukemia, unspecified not having achieved remission" + }, { + "code": "C95.92", + "display": "Leukemia, unspecified, in relapse" + }, { + "code": "C96.0", + "display": "Multifocal and multisystemic (disseminated) Langerhans-cell histiocytosis" + }, { + "code": "C96.20", + "display": "Malignant mast cell neoplasm, unspecified" + }, { + "code": "C96.21", + "display": "Aggressive systemic mastocytosis" + }, { + "code": "C96.22", + "display": "Mast cell sarcoma" + }, { + "code": "C96.29", + "display": "Other malignant mast cell neoplasm" + }, { + "code": "C96.4", + "display": "Sarcoma of dendritic cells (accessory cells)" + }, { + "code": "C96.5", + "display": "Multifocal and unisystemic Langerhans-cell histiocytosis" + }, { + "code": "C96.6", + "display": "Unifocal Langerhans-cell histiocytosis" + }, { + "code": "C96.9", + "display": "Malignant neoplasm of lymphoid, hematopoietic and related tissue, unspecified" + }, { + "code": "C96.A", + "display": "Histiocytic sarcoma" + }, { + "code": "C96.Z", + "display": "Other specified malignant neoplasms of lymphoid, hematopoietic and related tissue" + } ] + }, { "system": "http://snomed.info/sct", - "code": "32485007", - "display": "Hospital admission (procedure)" - } ] - } ], - "subject": { - "reference": "Patient/denom-EXM506-FHIR3" - }, - "period": { - "start": "2019-08-21T00:00:00-06:00", - "end": "2019-12-18T08:15:00-07:00" - }, - "diagnosis": [ { - "condition": { - "reference": "Condition/denom-EXM506-FHIR3-1" - }, - "role": { - "coding": [ { - "system": "http://hl7.org/fhir/diagnosis-role", - "code": "billing", - "display": "Billing" - } ] - }, - "rank": 1 - } ], - "hospitalization": { - "dischargeDisposition": { - "coding": [ { - "system": "http://snomed.info/sct", - "code": "306701001", - "display": "Discharge to community hospital (procedure)" + "version": "2019-09", + "concept": [ { + "code": "101371000119101", + "display": "Adamantinoma of long bone of lower limb (disorder)" + }, { + "code": "105111000119109", + "display": "Primary squamous cell carcinoma of thymus (disorder)" + }, { + "code": "105121000119102", + "display": "Squamous cell carcinoma of vagina (disorder)" + }, { + "code": "107571000119101", + "display": "Oligodendroglioma of brain stem (disorder)" + }, { + "code": "107581000119103", + "display": "Astrocytoma of brain stem (disorder)" + }, { + "code": "107591000119100", + "display": "Primary squamous cell carcinoma of urethra (disorder)" + }, { + "code": "107691000119101", + "display": "Non-seminomatous germ cell neoplasm of testis (disorder)" + }, { + "code": "107771000119106", + "display": "Primary malignant clear cell neoplasm of endometrium (disorder)" + }, { + "code": "107781000119109", + "display": "Primary papillary serous cystadenocarcinoma of endometrium (disorder)" + }, { + "code": "107791000119107", + "display": "Primary adenosquamous carcinoma of endometrium (disorder)" + }, { + "code": "1078881000119102", + "display": "Primary adenocarcinoma of lower lobe of left lung (disorder)" + }, { + "code": "1078901000119100", + "display": "Primary adenocarcinoma of upper lobe of left lung (disorder)" + }, { + "code": "1078931000119107", + "display": "Primary adenocarcinoma of lower lobe of right lung (disorder)" + }, { + "code": "1078961000119104", + "display": "Primary adenocarcinoma of upper lobe of right lung (disorder)" + }, { + "code": "1079091000119100", + "display": "Primary basal cell carcinoma of left upper limb (disorder)" + }, { + "code": "1079171000119100", + "display": "Primary basal cell carcinoma of right eyelid (disorder)" + }, { + "code": "108211000119108", + "display": "Secondary adenocarcinoma of kidney (disorder)" + }, { + "code": "1082191000119100", + "display": "Primary squamous cell carcinoma of right ear (disorder)" + }, { + "code": "109264009", + "display": "Overlapping malignant neoplasm of skin (disorder)" + }, { + "code": "109267002", + "display": "Overlapping malignant melanoma of skin (disorder)" + }, { + "code": "109347009", + "display": "Overlapping malignant neoplasm of bone and articular cartilage (disorder)" + }, { + "code": "109348004", + "display": "Overlapping malignant neoplasm of bone and articular cartilage of limbs (disorder)" + }, { + "code": "109349007", + "display": "Overlapping malignant neoplasm of soft tissues (disorder)" + }, { + "code": "109366009", + "display": "Overlapping malignant neoplasm of accessory sinuses (disorder)" + }, { + "code": "109367000", + "display": "Overlapping malignant neoplasm of nasopharynx (disorder)" + }, { + "code": "109368005", + "display": "Overlapping malignant neoplasm of hypopharynx (disorder)" + }, { + "code": "109369002", + "display": "Overlapping malignant neoplasm of larynx (disorder)" + }, { + "code": "109370001", + "display": "Primary malignant neoplasm of laryngeal cartilage (disorder)" + }, { + "code": "109371002", + "display": "Overlapping malignant neoplasm of bronchus and lung (disorder)" + }, { + "code": "109374005", + "display": "Overlapping malignant neoplasm of mediastinum and pleura (disorder)" + }, { + "code": "109383000", + "display": "Malignant mesothelioma of pericardium (disorder)" + }, { + "code": "109384006", + "display": "Overlapping malignant neoplasm of heart, mediastinum and pleura (disorder)" + }, { + "code": "109385007", + "display": "Kaposi's sarcoma (disorder)" + }, { + "code": "109386008", + "display": "Kaposi's sarcoma of skin (disorder)" + }, { + "code": "109388009", + "display": "Kaposi's sarcoma of palate (disorder)" + }, { + "code": "109389001", + "display": "Kaposi's sarcoma of gastrointestinal tract (disorder)" + }, { + "code": "109390005", + "display": "Kaposi's sarcoma of lung (disorder)" + }, { + "code": "109392002", + "display": "Kaposi's sarcoma of multiple organs (disorder)" + }, { + "code": "109821008", + "display": "Overlapping malignant neoplasm of gastrointestinal tract (disorder)" + }, { + "code": "109822001", + "display": "Overlapping malignant neoplasm of lip (disorder)" + }, { + "code": "109823006", + "display": "Overlapping malignant neoplasm of tongue (disorder)" + }, { + "code": "109824000", + "display": "Overlapping malignant neoplasm of major salivary gland (disorder)" + }, { + "code": "109828002", + "display": "Primary malignant neoplasm of salivary gland duct (disorder)" + }, { + "code": "109830000", + "display": "Overlapping malignant neoplasm of floor of mouth (disorder)" + }, { + "code": "109831001", + "display": "Overlapping malignant neoplasm of palate (disorder)" + }, { + "code": "109832008", + "display": "Overlapping malignant neoplasm of oropharynx (disorder)" + }, { + "code": "109835005", + "display": "Overlapping malignant neoplasm of esophagus (disorder)" + }, { + "code": "109836006", + "display": "Overlapping malignant neoplasm of stomach (disorder)" + }, { + "code": "109837002", + "display": "Overlapping malignant neoplasm of small intestine (disorder)" + }, { + "code": "109838007", + "display": "Overlapping malignant neoplasm of colon (disorder)" + }, { + "code": "109839004", + "display": "Overlapping malignant neoplasm of rectum, anus and anal canal (disorder)" + }, { + "code": "109840002", + "display": "Primary malignant neoplasm of cloacogenic zone (disorder)" + }, { + "code": "109841003", + "display": "Liver cell carcinoma (disorder)" + }, { + "code": "109844006", + "display": "Angiosarcoma of liver (disorder)" + }, { + "code": "109847004", + "display": "Overlapping malignant neoplasm of biliary tract (disorder)" + }, { + "code": "109848009", + "display": "Overlapping malignant neoplasm of pancreas (disorder)" + }, { + "code": "109851002", + "display": "Overlapping malignant neoplasm of retroperitoneum and peritoneum (disorder)" + }, { + "code": "109853004", + "display": "Malignant mesothelioma of peritoneum (disorder)" + }, { + "code": "109854005", + "display": "Malignant mesothelioma of parietal peritoneum (disorder)" + }, { + "code": "109855006", + "display": "Malignant mesothelioma of pelvic peritoneum (disorder)" + }, { + "code": "109856007", + "display": "Malignant mesothelioma of mesentery (disorder)" + }, { + "code": "109858008", + "display": "Malignant mesothelioma of omentum (disorder)" + }, { + "code": "109870007", + "display": "Overlapping malignant neoplasm of urinary system (disorder)" + }, { + "code": "109874003", + "display": "Overlapping malignant neoplasm of male genital organs (disorder)" + }, { + "code": "109875002", + "display": "Overlapping malignant neoplasm of penis (disorder)" + }, { + "code": "109876001", + "display": "Primary malignant neoplasm of descended testis (disorder)" + }, { + "code": "109878000", + "display": "Overlapping malignant neoplasm of female genital organs (disorder)" + }, { + "code": "109879008", + "display": "Overlapping malignant neoplasm of body of uterus (disorder)" + }, { + "code": "109880006", + "display": "Overlapping malignant neoplasm of uterine cervix (disorder)" + }, { + "code": "109882003", + "display": "Primary malignant neoplasm of fundus uteri (disorder)" + }, { + "code": "109885001", + "display": "Overlapping malignant neoplasm of vulva (disorder)" + }, { + "code": "109886000", + "display": "Overlapping malignant neoplasm of female breast (disorder)" + }, { + "code": "109911004", + "display": "Overlapping malignant neoplasm of brain and other parts of the central nervous system (disorder)" + }, { + "code": "109912006", + "display": "Overlapping malignant neoplasm of brain (disorder)" + }, { + "code": "109915008", + "display": "Primary malignant neoplasm of meninges (disorder)" + }, { + "code": "109923005", + "display": "Primary malignant neoplasm of peripheral nerves of head (disorder)" + }, { + "code": "109927006", + "display": "Primary malignant neoplasm of peripheral nerves of neck (disorder)" + }, { + "code": "109939003", + "display": "Primary malignant neoplasm of peripheral nerves of hip (disorder)" + }, { + "code": "109941002", + "display": "Primary malignant neoplasm of peripheral nerves of thorax (disorder)" + }, { + "code": "109948008", + "display": "Overlapping malignant neoplasm of eye and adnexa, primary (disorder)" + }, { + "code": "109951001", + "display": "Overlapping malignant neoplasm of multiple endocrine glands (disorder)" + }, { + "code": "109962001", + "display": "Diffuse non-Hodgkin's lymphoma (disorder)" + }, { + "code": "109964000", + "display": "Diffuse non-Hodgkin's lymphoma, undifferentiated (disorder)" + }, { + "code": "109965004", + "display": "Diffuse non-Hodgkin's lymphoma, lymphoblastic (disorder)" + }, { + "code": "109966003", + "display": "Diffuse non-Hodgkin's lymphoma, immunoblastic (disorder)" + }, { + "code": "109967007", + "display": "Diffuse non-Hodgkin's lymphoma, small cleaved cell (disorder)" + }, { + "code": "109968002", + "display": "Diffuse non-Hodgkin's lymphoma, small cell (disorder)" + }, { + "code": "109969005", + "display": "Diffuse non-Hodgkin's lymphoma, large cell (disorder)" + }, { + "code": "109970006", + "display": "Follicular non-Hodgkin's lymphoma, small cleaved cell (disorder)" + }, { + "code": "109971005", + "display": "Follicular non-Hodgkin's lymphoma, mixed small cleaved cell and large cell (disorder)" + }, { + "code": "109972003", + "display": "Follicular non-Hodgkin's lymphoma, large cell (disorder)" + }, { + "code": "109975001", + "display": "T-zone lymphoma (disorder)" + }, { + "code": "109976000", + "display": "Lymphoepithelioid lymphoma (disorder)" + }, { + "code": "109977009", + "display": "Peripheral T-cell lymphoma (disorder)" + }, { + "code": "109978004", + "display": "T-cell lymphoma (disorder)" + }, { + "code": "109979007", + "display": "B-cell lymphoma (disorder)" + }, { + "code": "109980005", + "display": "Malignant immunoproliferative disease (disorder)" + }, { + "code": "109988003", + "display": "Histiocytic sarcoma (disorder)" + }, { + "code": "109991003", + "display": "Acute myelofibrosis (disorder)" + }, { + "code": "109994006", + "display": "Essential thrombocythemia (disorder)" + }, { + "code": "109995007", + "display": "Myelodysplastic syndrome (disorder)" + }, { + "code": "109996008", + "display": "Myelodysplastic syndrome: Refractory anemia, without ringed sideroblasts, without excess blasts (disorder)" + }, { + "code": "110000005", + "display": "Refractory anemia with excess blasts in transformation (disorder)" + }, { + "code": "110002002", + "display": "Mast cell leukemia (disorder)" + }, { + "code": "110004001", + "display": "Acute promyelocytic leukemia, FAB M3 (disorder)" + }, { + "code": "110005000", + "display": "Acute myelomonocytic leukemia, FAB M4 (disorder)" + }, { + "code": "110006004", + "display": "Prolymphocytic leukemia (disorder)" + }, { + "code": "110007008", + "display": "Adult T-cell leukemia/lymphoma (disorder)" + }, { + "code": "110013004", + "display": "Overlapping malignant neoplasm of tonsil (disorder)" + }, { + "code": "116711000119103", + "display": "Marginal zone lymphoma of inguinal lymph node (disorder)" + }, { + "code": "116741000119104", + "display": "Marginal zone lymphoma of thoracic lymph node (disorder)" + }, { + "code": "116811000119106", + "display": "Non-Hodgkin lymphoma of central nervous system metastatic to lymph node of lower limb (disorder)" + }, { + "code": "116821000119104", + "display": "Non-Hodgkin lymphoma of central nervous system metastatic to lymph node of upper limb (disorder)" + }, { + "code": "117061000119101", + "display": "Peripheral T-cell lymphoma of spleen (disorder)" + }, { + "code": "117091000119108", + "display": "Peripheral T-cell lymphoma of axillary lymph node (disorder)" + }, { + "code": "117111000119100", + "display": "Peripheral T-cell lymphoma of thoracic lymph node (disorder)" + }, { + "code": "118599009", + "display": "Hodgkin's disease (disorder)" + }, { + "code": "118600007", + "display": "Malignant lymphoma (disorder)" + }, { + "code": "118601006", + "display": "Non-Hodgkin's lymphoma (disorder)" + }, { + "code": "118602004", + "display": "Hodgkin's granuloma (disorder)" + }, { + "code": "118605002", + "display": "Hodgkin lymphoma, nodular lymphocyte predominance (disorder)" + }, { + "code": "118606001", + "display": "Hodgkin's sarcoma (disorder)" + }, { + "code": "118607005", + "display": "Hodgkin lymphoma, lymphocyte-rich (disorder)" + }, { + "code": "118608000", + "display": "Hodgkin's disease, nodular sclerosis (disorder)" + }, { + "code": "118609008", + "display": "Hodgkin's disease, mixed cellularity (disorder)" + }, { + "code": "118610003", + "display": "Hodgkin's disease, lymphocytic depletion (disorder)" + }, { + "code": "118611004", + "display": "Sézary's disease (disorder)" + }, { + "code": "118612006", + "display": "Malignant histiocytosis (disorder)" + }, { + "code": "118613001", + "display": "Hairy cell leukemia (disorder)" + }, { + "code": "118614007", + "display": "Langerhans cell histiocytosis, disseminated (disorder)" + }, { + "code": "118615008", + "display": "Malignant mast cell tumor (disorder)" + }, { + "code": "118617000", + "display": "Burkitt's lymphoma (disorder)" + }, { + "code": "118618005", + "display": "Mycosis fungoides (disorder)" + }, { + "code": "122881000119107", + "display": "Chronic monocytic leukemia in relapse (disorder)" + }, { + "code": "122901000119109", + "display": "Myeloid leukemia in relapse (disorder)" + }, { + "code": "122951000119108", + "display": "Lymphoid leukemia in relapse (disorder)" + }, { + "code": "122961000119105", + "display": "Chronic lymphoid leukemia in relapse (disorder)" + }, { + "code": "122981000119101", + "display": "Plasma cell leukemia in relapse (disorder)" + }, { + "code": "12301000132103", + "display": "Acute lymphoid leukemia relapse (disorder)" + }, { + "code": "12311000132101", + "display": "Refractory acute lymphoid leukemia (disorder)" + }, { + "code": "123661000119106", + "display": "Malignant carcinoid tumor of lung (disorder)" + }, { + "code": "123701000119104", + "display": "Malignant carcinoid tumor of descending colon (disorder)" + }, { + "code": "123721000119108", + "display": "Malignant carcinoid tumor of ascending colon (disorder)" + }, { + "code": "123731000119106", + "display": "Malignant carcinoid tumor of cecum (disorder)" + }, { + "code": "123741000119102", + "display": "Malignant carcinoid tumor of large intestine (disorder)" + }, { + "code": "123751000119100", + "display": "Malignant carcinoid tumor of jejunum (disorder)" + }, { + "code": "123761000119103", + "display": "Malignant carcinoid tumor of duodenum (disorder)" + }, { + "code": "123781000119107", + "display": "Chronic leukemia in relapse (disorder)" + }, { + "code": "123842006", + "display": "Endocervical adenocarcinoma (disorder)" + }, { + "code": "127070008", + "display": "Malignant histiocytic disorder (disorder)" + }, { + "code": "127220001", + "display": "Malignant lymphoma of lymph nodes (disorder)" + }, { + "code": "127225006", + "display": "Chronic myelomonocytic leukemia (disorder)" + }, { + "code": "127961000119108", + "display": "Aleukemic myeloid leukemia in relapse (disorder)" + }, { + "code": "128041000119107", + "display": "Primary adenocarcinoma of distal third of esophagus (disorder)" + }, { + "code": "128874001", + "display": "Cutaneous CD30+ lymphoproliferative disorder (disorder)" + }, { + "code": "128875000", + "display": "Primary cutaneous CD30 antigen positive large T-cell lymphoma (disorder)" + }, { + "code": "130381000119103", + "display": "Primary malignant neuroendocrine neoplasm of ascending colon (disorder)" + }, { + "code": "13048006", + "display": "Orbital lymphoma (disorder)" + }, { + "code": "133751000119102", + "display": "Lymphoma of colon (disorder)" + }, { + "code": "133851000119107", + "display": "Merkel cell carcinoma of neck (disorder)" + }, { + "code": "133861000119109", + "display": "Merkel cell carcinoma of scalp (disorder)" + }, { + "code": "133871000119103", + "display": "Merkel cell carcinoma of upper limb (disorder)" + }, { + "code": "133881000119100", + "display": "Merkel cell carcinoma of lower limb (disorder)" + }, { + "code": "133891000119102", + "display": "Merkel cell carcinoma of trunk (disorder)" + }, { + "code": "134312002", + "display": "Odontogenic ghost cell carcinoma (disorder)" + }, { + "code": "134871000119100", + "display": "Poorly differentiated malignant carcinoid tumor (disorder)" + }, { + "code": "135931000119106", + "display": "Merkel cell carcinoma of buttock (disorder)" + }, { + "code": "143401000119106", + "display": "Malignant carcinoid tumor of pancreas (disorder)" + }, { + "code": "147131000119101", + "display": "Glioblastoma multiforme of central nervous system (disorder)" + }, { + "code": "1651000119109", + "display": "Primary adenocarcinoma of pancreas (disorder)" + }, { + "code": "1661000119106", + "display": "Metastasis to lung from adenocarcinoma (disorder)" + }, { + "code": "1681000119102", + "display": "Metastasis to lymph node from adenocarcinoma (disorder)" + }, { + "code": "1691000119104", + "display": "Metastasis to liver from adenocarcinoma (disorder)" + }, { + "code": "1701000119104", + "display": "Primary adenocarcinoma of colon (disorder)" + }, { + "code": "18121000119104", + "display": "Primary squamous cell carcinoma of palatine tonsil (disorder)" + }, { + "code": "184741000119107", + "display": "Primary adenocarcinoma of anus (disorder)" + }, { + "code": "184781000119102", + "display": "Primary adenocarcinoma of cervix uteri (disorder)" + }, { + "code": "184881000119106", + "display": "Primary adenocarcinoma of rectosigmoid junction (disorder)" + }, { + "code": "187601000", + "display": "Malignant neoplasm of upper lip, lipstick area (disorder)" + }, { + "code": "187604008", + "display": "Malignant neoplasm of lower lip, external (disorder)" + }, { + "code": "187606005", + "display": "Malignant tumor of upper labial mucosa (disorder)" + }, { + "code": "187608006", + "display": "Malignant tumor of frenum of upper lip (disorder)" + }, { + "code": "187613005", + "display": "Malignant neoplasm of lower lip, buccal aspect (disorder)" + }, { + "code": "187614004", + "display": "Malignant tumor of frenum of lower lip (disorder)" + }, { + "code": "187622006", + "display": "Malignant tumor of labial mucosa (disorder)" + }, { + "code": "187624007", + "display": "Malignant neoplasm of overlapping lesion of lip (disorder)" + }, { + "code": "187631006", + "display": "Malignant neoplasm of base of tongue dorsal surface (disorder)" + }, { + "code": "187634003", + "display": "Malignant tumor of anterior two-thirds of tongue - dorsal surface (disorder)" + }, { + "code": "187635002", + "display": "Malignant neoplasm of midline of tongue (disorder)" + }, { + "code": "187637005", + "display": "Malignant neoplasm of tongue, tip and lateral border (disorder)" + }, { + "code": "187640005", + "display": "Malignant tumor of anterior two-thirds of tongue - ventral surface (disorder)" + }, { + "code": "187641009", + "display": "Malignant tumor of frenum linguae (disorder)" + }, { + "code": "187644001", + "display": "Malignant tumor of junctional zone of tongue (disorder)" + }, { + "code": "187652003", + "display": "Malignant tumor of anterior floor of mouth (disorder)" + }, { + "code": "187653008", + "display": "Malignant tumor of lateral floor of mouth (disorder)" + }, { + "code": "187658004", + "display": "Malignant tumor of vestibule of mouth (disorder)" + }, { + "code": "187659007", + "display": "Malignant tumor of upper buccal sulcus (disorder)" + }, { + "code": "187660002", + "display": "Malignant tumor of lower buccal sulcus (disorder)" + }, { + "code": "187661003", + "display": "Malignant tumor of upper labial sulcus (disorder)" + }, { + "code": "187662005", + "display": "Malignant tumor of lower labial sulcus (disorder)" + }, { + "code": "187666008", + "display": "Malignant neoplasm of junction of hard and soft palate (disorder)" + }, { + "code": "187675005", + "display": "Malignant tumor of tonsillar pillar (disorder)" + }, { + "code": "187681002", + "display": "Malignant neoplasm of anterior epiglottis (disorder)" + }, { + "code": "187682009", + "display": "Malignant neoplasm of epiglottis, free border (disorder)" + }, { + "code": "187683004", + "display": "Malignant neoplasm of glossoepiglottic fold (disorder)" + }, { + "code": "187685006", + "display": "Malignant neoplasm of junctional region of epiglottis (disorder)" + }, { + "code": "187688008", + "display": "Malignant tumor of posterior wall of oropharynx (disorder)" + }, { + "code": "187692001", + "display": "Malignant tumor of nasopharynx (disorder)" + }, { + "code": "187693006", + "display": "Malignant tumor of posterior wall of nasopharynx (disorder)" + }, { + "code": "187694000", + "display": "Malignant tumor of adenoid (disorder)" + }, { + "code": "187697007", + "display": "Malignant tumor of pharyngeal recess (disorder)" + }, { + "code": "187698002", + "display": "Malignant tumor of opening of auditory tube (disorder)" + }, { + "code": "187700006", + "display": "Malignant tumor of anterior wall of nasopharynx (disorder)" + }, { + "code": "187701005", + "display": "Malignant neoplasm of floor of nasopharynx (disorder)" + }, { + "code": "187702003", + "display": "Malignant tumor of nasopharyngeal soft palate surface (disorder)" + }, { + "code": "187708004", + "display": "Malignant tumor aryepiglottic fold - hypopharyngeal aspect (disorder)" + }, { + "code": "187709007", + "display": "Malignant neoplasm of posterior pharynx (disorder)" + }, { + "code": "187716008", + "display": "Malignant tumor of Waldeyer's ring (disorder)" + }, { + "code": "187722004", + "display": "Malignant tumor of cervical part of esophagus (disorder)" + }, { + "code": "187723009", + "display": "Malignant tumor of thoracic part of esophagus (disorder)" + }, { + "code": "187724003", + "display": "Malignant tumor of abdominal part of esophagus (disorder)" + }, { + "code": "187725002", + "display": "Malignant tumor of upper third of esophagus (disorder)" + }, { + "code": "187726001", + "display": "Malignant tumor of middle third of esophagus (disorder)" + }, { + "code": "187727005", + "display": "Malignant tumor of lower third of esophagus (disorder)" + }, { + "code": "187732006", + "display": "Malignant tumor of cardia (disorder)" + }, { + "code": "187733001", + "display": "Malignant neoplasm of cardiac orifice of stomach (disorder)" + }, { + "code": "187734007", + "display": "Malignant neoplasm of cardioesophageal junction of stomach (disorder)" + }, { + "code": "187736009", + "display": "Malignant tumor of pylorus (disorder)" + }, { + "code": "187738005", + "display": "Malignant neoplasm of pyloric canal of stomach (disorder)" + }, { + "code": "187740000", + "display": "Malignant tumor of pyloric antrum (disorder)" + }, { + "code": "187741001", + "display": "Malignant tumor of fundus of stomach (disorder)" + }, { + "code": "187742008", + "display": "Malignant tumor of body of stomach (disorder)" + }, { + "code": "187757001", + "display": "Malignant neoplasm, overlapping lesion of colon (disorder)" + }, { + "code": "187760008", + "display": "Malignant neoplasm of rectum, rectosigmoid junction and anus (disorder)" + }, { + "code": "187786003", + "display": "Malignant neoplasm of sphincter of Oddi (disorder)" + }, { + "code": "187794005", + "display": "Malignant tumor of Islets of Langerhans (disorder)" + }, { + "code": "187798008", + "display": "Malignant neoplasm of ectopic pancreatic tissue (disorder)" + }, { + "code": "187801002", + "display": "Malignant tumor of peritoneum and retroperitoneum (disorder)" + }, { + "code": "187803004", + "display": "Malignant neoplasm of perinephric tissue (disorder)" + }, { + "code": "187807003", + "display": "Overlapping malignant lesion of retroperitoneum and peritoneum (disorder)" + }, { + "code": "187808008", + "display": "Malignant neoplasm of specified parts of peritoneum (disorder)" + }, { + "code": "187809000", + "display": "Malignant neoplasm of mesocolon (disorder)" + }, { + "code": "187810005", + "display": "Malignant neoplasm of mesocecum (disorder)" + }, { + "code": "187811009", + "display": "Malignant neoplasm of mesorectum (disorder)" + }, { + "code": "187814001", + "display": "Malignant neoplasm of the pouch of Douglas (disorder)" + }, { + "code": "187821001", + "display": "Angiosarcoma of spleen (disorder)" + }, { + "code": "187822008", + "display": "Fibrosarcoma of spleen (disorder)" + }, { + "code": "187824009", + "display": "Malignant neoplasm, overlapping lesion of digestive system (disorder)" + }, { + "code": "187829004", + "display": "Malignant neoplasm of cartilage of nose (disorder)" + }, { + "code": "187830009", + "display": "Malignant neoplasm of nasal conchae (disorder)" + }, { + "code": "187831008", + "display": "Malignant tumor of nasal vestibule (disorder)" + }, { + "code": "187833006", + "display": "Malignant neoplasm of auditory tube, middle ear and mastoid air cells (disorder)" + }, { + "code": "187834000", + "display": "Malignant tumor of Eustachian tube (disorder)" + }, { + "code": "187835004", + "display": "Malignant tumor of tympanic cavity (disorder)" + }, { + "code": "187836003", + "display": "Malignant tumor of tympanic antrum (disorder)" + }, { + "code": "187838002", + "display": "Malignant neoplasm, overlapping lesion of accessory sinuses (disorder)" + }, { + "code": "187841006", + "display": "Malignant tumor of glottis (disorder)" + }, { + "code": "187842004", + "display": "Malignant tumor of supraglottis (disorder)" + }, { + "code": "187843009", + "display": "Malignant neoplasm of arytenoid cartilage (disorder)" + }, { + "code": "187844003", + "display": "Malignant neoplasm of cricoid cartilage (disorder)" + }, { + "code": "187845002", + "display": "Malignant neoplasm of cuneiform cartilage (disorder)" + }, { + "code": "187846001", + "display": "Malignant neoplasm of thyroid cartilage (disorder)" + }, { + "code": "187853005", + "display": "Malignant neoplasm of cartilage of trachea (disorder)" + }, { + "code": "187854004", + "display": "Malignant neoplasm of mucosa of trachea (disorder)" + }, { + "code": "187857006", + "display": "Malignant neoplasm of carina of bronchus (disorder)" + }, { + "code": "187861000", + "display": "Malignant neoplasm of upper lobe bronchus (disorder)" + }, { + "code": "187862007", + "display": "Malignant neoplasm of upper lobe of lung (disorder)" + }, { + "code": "187864008", + "display": "Malignant neoplasm of middle lobe, bronchus or lung (disorder)" + }, { + "code": "187865009", + "display": "Malignant neoplasm of middle lobe bronchus (disorder)" + }, { + "code": "187866005", + "display": "Malignant neoplasm of middle lobe of lung (disorder)" + }, { + "code": "187868006", + "display": "Malignant neoplasm of lower lobe, bronchus or lung (disorder)" + }, { + "code": "187869003", + "display": "Malignant neoplasm of lower lobe bronchus (disorder)" + }, { + "code": "187870002", + "display": "Malignant neoplasm of lower lobe of lung (disorder)" + }, { + "code": "187881004", + "display": "Malignant neoplasm of thymus, heart and mediastinum (disorder)" + }, { + "code": "187900002", + "display": "Malignant neoplasm of bones of skull and face (disorder)" + }, { + "code": "187903000", + "display": "Malignant neoplasm of malar bone (disorder)" + }, { + "code": "187906008", + "display": "Malignant neoplasm of orbital bone (disorder)" + }, { + "code": "187916000", + "display": "Malignant neoplasm of cervical vertebra (disorder)" + }, { + "code": "187917009", + "display": "Malignant neoplasm of thoracic vertebra (disorder)" + }, { + "code": "187918004", + "display": "Malignant neoplasm of lumbar vertebra (disorder)" + }, { + "code": "187920001", + "display": "Malignant neoplasm of ribs and/or sternum and/or clavicle (disorder)" + }, { + "code": "187925006", + "display": "Malignant neoplasm of costal cartilage (disorder)" + }, { + "code": "187926007", + "display": "Malignant neoplasm of costovertebral joint (disorder)" + }, { + "code": "187927003", + "display": "Malignant neoplasm of xiphoid process (disorder)" + }, { + "code": "187929000", + "display": "Malignant neoplasm of scapula and long bones of upper arm (disorder)" + }, { + "code": "187932002", + "display": "Malignant neoplasm of humerus (disorder)" + }, { + "code": "187937008", + "display": "Malignant neoplasm of carpal bone - scaphoid (disorder)" + }, { + "code": "187938003", + "display": "Malignant neoplasm of carpal bone - lunate (disorder)" + }, { + "code": "187939006", + "display": "Malignant neoplasm of carpal bone - triquetrum (disorder)" + }, { + "code": "187940008", + "display": "Malignant neoplasm of carpal bone - pisiform (disorder)" + }, { + "code": "187941007", + "display": "Malignant neoplasm of carpal bone - trapezium (disorder)" + }, { + "code": "187942000", + "display": "Malignant neoplasm of carpal bone - trapezoid (disorder)" + }, { + "code": "187943005", + "display": "Malignant neoplasm of carpal bone - capitate (disorder)" + }, { + "code": "187944004", + "display": "Malignant neoplasm of carpal bone - hamate (disorder)" + }, { + "code": "187945003", + "display": "Malignant neoplasm of first metacarpal bone (disorder)" + }, { + "code": "187946002", + "display": "Malignant neoplasm of second metacarpal bone (disorder)" + }, { + "code": "187947006", + "display": "Malignant neoplasm of third metacarpal bone (disorder)" + }, { + "code": "187948001", + "display": "Malignant neoplasm of fourth metacarpal bone (disorder)" + }, { + "code": "187949009", + "display": "Malignant neoplasm of fifth metacarpal bone (disorder)" + }, { + "code": "187950009", + "display": "Malignant neoplasm of phalanges of hand (disorder)" + }, { + "code": "187952001", + "display": "Malignant neoplasm of pelvic bones, sacrum and coccyx (disorder)" + }, { + "code": "187956003", + "display": "Malignant neoplasm of sacral vertebra (disorder)" + }, { + "code": "187957007", + "display": "Malignant neoplasm of coccygeal vertebra (disorder)" + }, { + "code": "187967002", + "display": "Malignant neoplasm of calcaneum (disorder)" + }, { + "code": "187968007", + "display": "Malignant neoplasm of medial cuneiform (disorder)" + }, { + "code": "187969004", + "display": "Malignant neoplasm of intermediate cuneiform (disorder)" + }, { + "code": "187970003", + "display": "Malignant neoplasm of lateral cuneiform (disorder)" + }, { + "code": "187972006", + "display": "Malignant neoplasm of navicular (disorder)" + }, { + "code": "187973001", + "display": "Malignant neoplasm of first metatarsal bone (disorder)" + }, { + "code": "187974007", + "display": "Malignant neoplasm of second metatarsal bone (disorder)" + }, { + "code": "187975008", + "display": "Malignant neoplasm of third metatarsal bone (disorder)" + }, { + "code": "187976009", + "display": "Malignant neoplasm of fourth metatarsal bone (disorder)" + }, { + "code": "187977000", + "display": "Malignant neoplasm of fifth metatarsal bone (disorder)" + }, { + "code": "187978005", + "display": "Malignant neoplasm of phalanges of foot (disorder)" + }, { + "code": "187987001", + "display": "Malignant neoplasm of cartilage of ear (disorder)" + }, { + "code": "187988006", + "display": "Malignant neoplasm of tarsus of eyelid (disorder)" + }, { + "code": "187991006", + "display": "Malignant neoplasm of connective and soft tissue of upper limb and shoulder (disorder)" + }, { + "code": "187992004", + "display": "Malignant neoplasm of connective and soft tissue of shoulder (disorder)" + }, { + "code": "187993009", + "display": "Malignant neoplasm of connective and soft tissue, upper arm (disorder)" + }, { + "code": "187994003", + "display": "Malignant neoplasm of connective and soft tissue of forearm (disorder)" + }, { + "code": "187995002", + "display": "Malignant neoplasm of connective and soft tissue of hand (disorder)" + }, { + "code": "187996001", + "display": "Malignant neoplasm of connective and soft tissue of finger (disorder)" + }, { + "code": "187997005", + "display": "Malignant neoplasm of connective and soft tissue of thumb (disorder)" + }, { + "code": "187999008", + "display": "Malignant neoplasm of connective and soft tissue of hip and lower limb (disorder)" + }, { + "code": "188000002", + "display": "Malignant neoplasm of connective and soft tissue of hip (disorder)" + }, { + "code": "188001003", + "display": "Malignant neoplasm of connective and soft tissue of thigh and upper leg (disorder)" + }, { + "code": "188002005", + "display": "Malignant neoplasm of connective and soft tissue of popliteal space (disorder)" + }, { + "code": "188003000", + "display": "Malignant neoplasm of connective and soft tissue of lower leg (disorder)" + }, { + "code": "188004006", + "display": "Malignant neoplasm of connective and soft tissue of foot (disorder)" + }, { + "code": "188005007", + "display": "Malignant neoplasm of connective and soft tissue of toe (disorder)" + }, { + "code": "188009001", + "display": "Malignant neoplasm of connective and soft tissue of thorax (disorder)" + }, { + "code": "188010006", + "display": "Malignant neoplasm of connective and soft tissue of axilla (disorder)" + }, { + "code": "188013008", + "display": "Malignant neoplasm of connective and soft tissues of thoracic spine (disorder)" + }, { + "code": "188015001", + "display": "Malignant neoplasm of connective and soft tissue of abdomen (disorder)" + }, { + "code": "188016000", + "display": "Malignant neoplasm of connective and soft tissue of abdominal wall (disorder)" + }, { + "code": "188017009", + "display": "Malignant neoplasm of connective and soft tissues of lumbar spine (disorder)" + }, { + "code": "188019007", + "display": "Malignant neoplasm of connective and soft tissue of pelvis (disorder)" + }, { + "code": "188020001", + "display": "Malignant neoplasm of connective and soft tissue of buttock (disorder)" + }, { + "code": "188021002", + "display": "Malignant neoplasm of connective and soft tissue of inguinal region (disorder)" + }, { + "code": "188022009", + "display": "Malignant neoplasm of connective and soft tissue of perineum (disorder)" + }, { + "code": "188023004", + "display": "Malignant neoplasm of connective and soft tissue of sacrum or coccyx (disorder)" + }, { + "code": "188029000", + "display": "Kaposi's sarcoma of soft tissue (disorder)" + }, { + "code": "188030005", + "display": "Malignant melanoma of lip (disorder)" + }, { + "code": "188033007", + "display": "Malignant melanoma of auricle (ear) (disorder)" + }, { + "code": "188049009", + "display": "Malignant melanoma of axilla (disorder)" + }, { + "code": "188050009", + "display": "Malignant melanoma of breast (disorder)" + }, { + "code": "188051008", + "display": "Malignant melanoma of buttock (disorder)" + }, { + "code": "188052001", + "display": "Malignant melanoma of groin (disorder)" + }, { + "code": "188055004", + "display": "Malignant melanoma of umbilicus (disorder)" + }, { + "code": "188060000", + "display": "Malignant melanoma of shoulder (disorder)" + }, { + "code": "188061001", + "display": "Malignant melanoma of upper arm (disorder)" + }, { + "code": "188062008", + "display": "Malignant melanoma of forearm (disorder)" + }, { + "code": "188064009", + "display": "Malignant melanoma of finger (disorder)" + }, { + "code": "188065005", + "display": "Malignant melanoma of thumb (disorder)" + }, { + "code": "188068007", + "display": "Malignant melanoma of hip (disorder)" + }, { + "code": "188069004", + "display": "Malignant melanoma of thigh (disorder)" + }, { + "code": "188070003", + "display": "Malignant melanoma of knee (disorder)" + }, { + "code": "188071004", + "display": "Malignant melanoma of popliteal fossa area (disorder)" + }, { + "code": "188072006", + "display": "Malignant melanoma of lower leg (disorder)" + }, { + "code": "188073001", + "display": "Malignant melanoma of ankle (disorder)" + }, { + "code": "188074007", + "display": "Malignant melanoma of heel (disorder)" + }, { + "code": "188075008", + "display": "Malignant melanoma of foot (disorder)" + }, { + "code": "188076009", + "display": "Malignant melanoma of toe (disorder)" + }, { + "code": "188077000", + "display": "Malignant melanoma of great toe (disorder)" + }, { + "code": "188089003", + "display": "Malignant neoplasm of skin of ear and external auditory canal (disorder)" + }, { + "code": "188095002", + "display": "Malignant neoplasm of skin of cheek, external (disorder)" + }, { + "code": "188099008", + "display": "Malignant neoplasm of skin of nose (external) (disorder)" + }, { + "code": "188100000", + "display": "Malignant neoplasm of skin of temple (disorder)" + }, { + "code": "188102008", + "display": "Malignant neoplasm of scalp AND/OR skin of neck (disorder)" + }, { + "code": "188103003", + "display": "Malignant neoplasm of skin of scalp (disorder)" + }, { + "code": "188107002", + "display": "Malignant neoplasm of skin of axillary fold (disorder)" + }, { + "code": "188110009", + "display": "Malignant neoplasm of skin of abdominal wall (disorder)" + }, { + "code": "188122007", + "display": "Malignant neoplasm of skin of forearm (disorder)" + }, { + "code": "188125009", + "display": "Malignant neoplasm of skin of thumb (disorder)" + }, { + "code": "188135003", + "display": "Malignant neoplasm of skin of heel (disorder)" + }, { + "code": "188147009", + "display": "Malignant neoplasm of nipple and areola of female breast (disorder)" + }, { + "code": "188151006", + "display": "Malignant neoplasm of central part of female breast (disorder)" + }, { + "code": "188152004", + "display": "Malignant neoplasm of upper-inner quadrant of female breast (disorder)" + }, { + "code": "188153009", + "display": "Malignant neoplasm of lower-inner quadrant of female breast (disorder)" + }, { + "code": "188154003", + "display": "Malignant neoplasm of upper-outer quadrant of female breast (disorder)" + }, { + "code": "188155002", + "display": "Malignant neoplasm of lower-outer quadrant of female breast (disorder)" + }, { + "code": "188156001", + "display": "Malignant neoplasm of axillary tail of female breast (disorder)" + }, { + "code": "188157005", + "display": "Malignant neoplasm, overlapping lesion of breast (disorder)" + }, { + "code": "188159008", + "display": "Malignant neoplasm of ectopic site of female breast (disorder)" + }, { + "code": "188168005", + "display": "Malignant neoplasm of ectopic site of male breast (disorder)" + }, { + "code": "188176007", + "display": "Malignant neoplasm of endocervical canal (disorder)" + }, { + "code": "188177003", + "display": "Malignant neoplasm of endocervical gland (disorder)" + }, { + "code": "188180002", + "display": "Malignant neoplasm, overlapping lesion of cervix uteri (disorder)" + }, { + "code": "188183000", + "display": "Malignant neoplasm of cervical stump (disorder)" + }, { + "code": "188184006", + "display": "Malignant neoplasm of squamocolumnar junction of cervix (disorder)" + }, { + "code": "188189001", + "display": "Malignant neoplasm of corpus uteri, excluding isthmus (disorder)" + }, { + "code": "188190005", + "display": "Malignant neoplasm of cornu of corpus uteri (disorder)" + }, { + "code": "188191009", + "display": "Malignant neoplasm of fundus of corpus uteri (disorder)" + }, { + "code": "188192002", + "display": "Malignant neoplasm of endometrium of corpus uteri (disorder)" + }, { + "code": "188193007", + "display": "Malignant neoplasm of myometrium of corpus uteri (disorder)" + }, { + "code": "188195000", + "display": "Malignant neoplasm of isthmus of uterine body (disorder)" + }, { + "code": "188198003", + "display": "Malignant neoplasm of overlapping lesion of corpus uteri (disorder)" + }, { + "code": "188204000", + "display": "Malignant neoplasm of round ligament (disorder)" + }, { + "code": "188209005", + "display": "Malignant neoplasm of vaginal vault (disorder)" + }, { + "code": "188219004", + "display": "Malignant tumor of undescended testis (disorder)" + }, { + "code": "188220005", + "display": "Malignant tumor of ectopic testis (disorder)" + }, { + "code": "188230001", + "display": "Malignant tumor of body of penis (disorder)" + }, { + "code": "188234005", + "display": "Malignant tumor of seminal vesicle (disorder)" + }, { + "code": "188235006", + "display": "Malignant tumor of tunica vaginalis (disorder)" + }, { + "code": "188239000", + "display": "Malignant tumor of trigone of urinary bladder (disorder)" + }, { + "code": "188240003", + "display": "Malignant tumor of vault of bladder (disorder)" + }, { + "code": "188241004", + "display": "Malignant neoplasm of lateral wall of urinary bladder (disorder)" + }, { + "code": "188242006", + "display": "Malignant neoplasm of anterior wall of urinary bladder (disorder)" + }, { + "code": "188243001", + "display": "Malignant neoplasm of posterior wall of urinary bladder (disorder)" + }, { + "code": "188244007", + "display": "Malignant tumor of bladder neck (disorder)" + }, { + "code": "188245008", + "display": "Malignant tumor of ureteric orifice (disorder)" + }, { + "code": "188247000", + "display": "Malignant neoplasm, overlapping lesion of bladder (disorder)" + }, { + "code": "188250002", + "display": "Malignant tumor of kidney parenchyma (disorder)" + }, { + "code": "188252005", + "display": "Malignant tumor of renal calyx (disorder)" + }, { + "code": "188253000", + "display": "Malignant tumor of pelviureteric junction (disorder)" + }, { + "code": "188256008", + "display": "Malignant neoplasm of overlapping lesion of urinary organs (disorder)" + }, { + "code": "188261005", + "display": "Malignant neoplasm of eyeball excluding conjunctiva, cornea, retina and choroid (disorder)" + }, { + "code": "188263008", + "display": "Malignant tumor of ciliary body (disorder)" + }, { + "code": "188264002", + "display": "Malignant tumor of iris (disorder)" + }, { + "code": "188265001", + "display": "Malignant neoplasm of crystalline lens (disorder)" + }, { + "code": "188266000", + "display": "Malignant neoplasm of sclera (disorder)" + }, { + "code": "188268004", + "display": "Malignant neoplasm of connective tissue of orbit (disorder)" + }, { + "code": "188269007", + "display": "Malignant neoplasm of extraocular muscle of orbit (disorder)" + }, { + "code": "188272000", + "display": "Malignant tumor of lacrimal gland (disorder)" + }, { + "code": "188273005", + "display": "Malignant neoplasm of lacrimal sac (disorder)" + }, { + "code": "188274004", + "display": "Malignant neoplasm of nasolacrimal duct (disorder)" + }, { + "code": "188280007", + "display": "Malignant neoplasm of cerebrum (excluding lobes and ventricles) (disorder)" + }, { + "code": "188281006", + "display": "Malignant neoplasm of basal ganglia (disorder)" + }, { + "code": "188282004", + "display": "Malignant neoplasm of cerebral cortex (disorder)" + }, { + "code": "188283009", + "display": "Malignant neoplasm of corpus striatum (disorder)" + }, { + "code": "188285002", + "display": "Malignant neoplasm of globus pallidus (disorder)" + }, { + "code": "188286001", + "display": "Malignant tumor of hypothalamus (disorder)" + }, { + "code": "188287005", + "display": "Malignant neoplasm of thalamus (disorder)" + }, { + "code": "188289008", + "display": "Malignant neoplasm of hippocampus (disorder)" + }, { + "code": "188290004", + "display": "Malignant neoplasm of uncus (disorder)" + }, { + "code": "188292007", + "display": "Malignant tumor of choroid plexus (disorder)" + }, { + "code": "188293002", + "display": "Malignant neoplasm of floor of cerebral ventricle (disorder)" + }, { + "code": "188295009", + "display": "Malignant neoplasm of cerebral peduncle (disorder)" + }, { + "code": "188296005", + "display": "Malignant neoplasm of medulla oblongata (disorder)" + }, { + "code": "188297001", + "display": "Malignant neoplasm of midbrain (disorder)" + }, { + "code": "188298006", + "display": "Malignant neoplasm of pons (disorder)" + }, { + "code": "188301005", + "display": "Malignant neoplasm of corpus callosum (disorder)" + }, { + "code": "188302003", + "display": "Malignant neoplasm of tapetum (disorder)" + }, { + "code": "188308004", + "display": "Malignant neoplasm of olfactory bulb (disorder)" + }, { + "code": "188312005", + "display": "Malignant neoplasm of cerebral dura mater (disorder)" + }, { + "code": "188313000", + "display": "Malignant neoplasm of cerebral arachnoid mater (disorder)" + }, { + "code": "188315007", + "display": "Malignant neoplasm of cerebral pia mater (disorder)" + }, { + "code": "188317004", + "display": "Malignant neoplasm of spinal dura mater (disorder)" + }, { + "code": "188318009", + "display": "Malignant neoplasm of spinal arachnoid mater (disorder)" + }, { + "code": "188319001", + "display": "Malignant neoplasm of spinal pia mater (disorder)" + }, { + "code": "188325002", + "display": "Malignant neoplasm of peripheral nerve of thorax (disorder)" + }, { + "code": "188326001", + "display": "Malignant neoplasm of peripheral nerve of abdomen (disorder)" + }, { + "code": "188327005", + "display": "Malignant neoplasm of peripheral nerve of pelvis (disorder)" + }, { + "code": "188339002", + "display": "Malignant neoplasm of pituitary gland and craniopharyngeal duct (disorder)" + }, { + "code": "188340000", + "display": "Malignant tumor of craniopharyngeal duct (disorder)" + }, { + "code": "188361007", + "display": "Malignant neoplasm of thorax (disorder)" + }, { + "code": "188471005", + "display": "Secondary malignant neoplasm of epididymis AND vas deferens (disorder)" + }, { + "code": "188487008", + "display": "Lymphosarcoma and reticulosarcoma (disorder)" + }, { + "code": "188489006", + "display": "Reticulosarcoma of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188492005", + "display": "Reticulosarcoma of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188493000", + "display": "Reticulosarcoma of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188498009", + "display": "Lymphosarcoma (disorder)" + }, { + "code": "188500005", + "display": "Lymphosarcoma of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188501009", + "display": "Lymphosarcoma of intrathoracic lymph nodes (disorder)" + }, { + "code": "188502002", + "display": "Lymphosarcoma of intra-abdominal lymph nodes (disorder)" + }, { + "code": "188503007", + "display": "Lymphosarcoma of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188504001", + "display": "Lymphosarcoma of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188505000", + "display": "Lymphosarcoma of intrapelvic lymph nodes (disorder)" + }, { + "code": "188506004", + "display": "Lymphosarcoma of spleen (disorder)" + }, { + "code": "188507008", + "display": "Lymphosarcoma of lymph nodes of multiple sites (disorder)" + }, { + "code": "188511002", + "display": "Burkitt's lymphoma of intrathoracic lymph nodes (disorder)" + }, { + "code": "188512009", + "display": "Burkitt's lymphoma of intra-abdominal lymph nodes (disorder)" + }, { + "code": "188513004", + "display": "Burkitt's lymphoma of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188514005", + "display": "Burkitt's lymphoma of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188515006", + "display": "Burkitt's lymphoma of intrapelvic lymph nodes (disorder)" + }, { + "code": "188516007", + "display": "Burkitt's lymphoma of spleen (disorder)" + }, { + "code": "188517003", + "display": "Burkitt's lymphoma of lymph nodes of multiple sites (disorder)" + }, { + "code": "188524002", + "display": "Hodgkin's paragranuloma of intrathoracic lymph nodes (disorder)" + }, { + "code": "188529007", + "display": "Hodgkin's paragranuloma of intrapelvic lymph nodes (disorder)" + }, { + "code": "188531003", + "display": "Hodgkin's paragranuloma of lymph nodes of multiple sites (disorder)" + }, { + "code": "188536008", + "display": "Hodgkin's granuloma of intra-abdominal lymph nodes (disorder)" + }, { + "code": "188537004", + "display": "Hodgkin's granuloma of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188538009", + "display": "Hodgkin's granuloma of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188541000", + "display": "Hodgkin's granuloma of lymph nodes of multiple sites (disorder)" + }, { + "code": "188547001", + "display": "Hodgkin's sarcoma of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188548006", + "display": "Hodgkin's sarcoma of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188551004", + "display": "Hodgkin's sarcoma of lymph nodes of multiple sites (disorder)" + }, { + "code": "188554007", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188558005", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188559002", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188562004", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of lymph nodes of multiple sites (disorder)" + }, { + "code": "188565002", + "display": "Hodgkin's disease, nodular sclerosis of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188566001", + "display": "Hodgkin's disease, nodular sclerosis of intrathoracic lymph nodes (disorder)" + }, { + "code": "188567005", + "display": "Hodgkin's disease, nodular sclerosis of intra-abdominal lymph nodes (disorder)" + }, { + "code": "188568000", + "display": "Hodgkin's disease, nodular sclerosis of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188569008", + "display": "Hodgkin's disease, nodular sclerosis of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188570009", + "display": "Hodgkin's disease, nodular sclerosis of intrapelvic lymph nodes (disorder)" + }, { + "code": "188572001", + "display": "Hodgkin's disease, nodular sclerosis of lymph nodes of multiple sites (disorder)" + }, { + "code": "188575004", + "display": "Hodgkin's disease, mixed cellularity of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188576003", + "display": "Hodgkin's disease, mixed cellularity of intrathoracic lymph nodes (disorder)" + }, { + "code": "188577007", + "display": "Hodgkin's disease, mixed cellularity of intra-abdominal lymph nodes (disorder)" + }, { + "code": "188578002", + "display": "Hodgkin's disease, mixed cellularity of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188579005", + "display": "Hodgkin's disease, mixed cellularity of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188580008", + "display": "Hodgkin's disease, mixed cellularity of intrapelvic lymph nodes (disorder)" + }, { + "code": "188582000", + "display": "Hodgkin's disease, mixed cellularity of lymph nodes of multiple sites (disorder)" + }, { + "code": "188585003", + "display": "Hodgkin's disease, lymphocytic depletion of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188586002", + "display": "Hodgkin's disease, lymphocytic depletion of intrathoracic lymph nodes (disorder)" + }, { + "code": "188587006", + "display": "Hodgkin's disease, lymphocytic depletion of intra-abdominal lymph nodes (disorder)" + }, { + "code": "188589009", + "display": "Hodgkin's disease, lymphocytic depletion of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188590000", + "display": "Hodgkin's disease, lymphocytic depletion of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188591001", + "display": "Hodgkin's disease, lymphocytic depletion of intrapelvic lymph nodes (disorder)" + }, { + "code": "188592008", + "display": "Hodgkin's disease, lymphocytic depletion of spleen (disorder)" + }, { + "code": "188593003", + "display": "Hodgkin's disease, lymphocytic depletion of lymph nodes of multiple sites (disorder)" + }, { + "code": "188609000", + "display": "Nodular lymphoma of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188612002", + "display": "Nodular lymphoma of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188613007", + "display": "Nodular lymphoma of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188627002", + "display": "Mycosis fungoides of lymph nodes of multiple sites (disorder)" + }, { + "code": "188631008", + "display": "Sézary's disease of intrathoracic lymph nodes (disorder)" + }, { + "code": "188632001", + "display": "Sézary's disease of intra-abdominal lymph nodes (disorder)" + }, { + "code": "188633006", + "display": "Sézary's disease of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188634000", + "display": "Sézary's disease of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188635004", + "display": "Sézary's disease of intrapelvic lymph nodes (disorder)" + }, { + "code": "188637007", + "display": "Sézary's disease of lymph nodes of multiple sites (disorder)" + }, { + "code": "188641006", + "display": "Malignant histiocytosis of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188642004", + "display": "Malignant histiocytosis of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188645002", + "display": "Leukemic reticuloendotheliosis of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188648000", + "display": "Leukemic reticuloendotheliosis of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188649008", + "display": "Leukemic reticuloendotheliosis of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188660004", + "display": "Malignant mast cell tumors (disorder)" + }, { + "code": "188662007", + "display": "Mast cell malignancy of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188663002", + "display": "Mast cell malignancy of intrathoracic lymph nodes (disorder)" + }, { + "code": "188664008", + "display": "Mast cell malignancy of intra-abdominal lymph nodes (disorder)" + }, { + "code": "188665009", + "display": "Mast cell malignancy of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188666005", + "display": "Mast cell malignancy of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188667001", + "display": "Mast cell malignancy of intrapelvic lymph nodes (disorder)" + }, { + "code": "188668006", + "display": "Mast cell malignancy of spleen (disorder)" + }, { + "code": "188669003", + "display": "Mast cell malignancy of lymph nodes of multiple sites (disorder)" + }, { + "code": "188672005", + "display": "Follicular non-Hodgkin's mixed small cleaved and large cell lymphoma (disorder)" + }, { + "code": "188674006", + "display": "Diffuse malignant lymphoma - small non-cleaved cell (disorder)" + }, { + "code": "188675007", + "display": "Malignant lymphoma - small cleaved cell (disorder)" + }, { + "code": "188676008", + "display": "Malignant lymphoma - mixed small and large cell (disorder)" + }, { + "code": "188679001", + "display": "Diffuse non-Hodgkin's lymphoma undifferentiated (diffuse) (disorder)" + }, { + "code": "188718006", + "display": "Malignant plasma cell neoplasm, extramedullary plasmacytoma (disorder)" + }, { + "code": "188725004", + "display": "Lymphoid leukemia (disorder)" + }, { + "code": "188726003", + "display": "Subacute lymphoid leukemia (disorder)" + }, { + "code": "188728002", + "display": "Aleukemic lymphoid leukemia (disorder)" + }, { + "code": "188729005", + "display": "Adult T-cell leukemia (disorder)" + }, { + "code": "188732008", + "display": "Myeloid leukemia (disorder)" + }, { + "code": "188733003", + "display": "Chronic eosinophilic leukemia (disorder)" + }, { + "code": "188734009", + "display": "Chronic neutrophilic leukemia (disorder)" + }, { + "code": "188736006", + "display": "Subacute myeloid leukemia (disorder)" + }, { + "code": "188737002", + "display": "Chloroma (disorder)" + }, { + "code": "188738007", + "display": "Granulocytic sarcoma (disorder)" + }, { + "code": "188741003", + "display": "Aleukemic myeloid leukemia (disorder)" + }, { + "code": "188744006", + "display": "Monocytic leukemia (disorder)" + }, { + "code": "188745007", + "display": "Chronic monocytic leukemia (disorder)" + }, { + "code": "188746008", + "display": "Subacute monocytic leukemia (disorder)" + }, { + "code": "188748009", + "display": "Aleukemic monocytic leukemia (disorder)" + }, { + "code": "188754005", + "display": "Megakaryocytic leukemia (disorder)" + }, { + "code": "188768003", + "display": "Myelomonocytic leukemia (disorder)" + }, { + "code": "188770007", + "display": "Subacute myelomonocytic leukemia (disorder)" + }, { + "code": "190030009", + "display": "Compound leukemias (disorder)" + }, { + "code": "190818004", + "display": "Waldenström macroglobulinemia (disorder)" + }, { + "code": "192681000119104", + "display": "Malignant carcinoid tumor of appendix (disorder)" + }, { + "code": "192701000119101", + "display": "Malignant carcinoid tumor of ileum (disorder)" + }, { + "code": "208041000119100", + "display": "Primary adenocarcinoma of endocervix (disorder)" + }, { + "code": "230156002", + "display": "Malignant meningitis (disorder)" + }, { + "code": "231829006", + "display": "Malignant neoplasm of eyelid (disorder)" + }, { + "code": "231831002", + "display": "Squamous cell carcinoma of eyelid (disorder)" + }, { + "code": "231832009", + "display": "Basal cell carcinoma of eyelid (disorder)" + }, { + "code": "231833004", + "display": "Sebaceous adenocarcinoma of eyelid (disorder)" + }, { + "code": "231834005", + "display": "Malignant melanoma of eyelid (disorder)" + }, { + "code": "231835006", + "display": "Kaposi's sarcoma of eyelid (disorder)" + }, { + "code": "232075002", + "display": "Lymphoma of retina (disorder)" + }, { + "code": "235966007", + "display": "Cystadenocarcinoma of pancreas (disorder)" + }, { + "code": "236512004", + "display": "Leukemic infiltrate of kidney (disorder)" + }, { + "code": "236513009", + "display": "Lymphoma of kidney (disorder)" + }, { + "code": "240163000", + "display": "Malignant neoplasm of nasopharyngeal wall (disorder)" + }, { + "code": "240531002", + "display": "African Burkitt's lymphoma (disorder)" + }, { + "code": "24111000119105", + "display": "Primary squamous cell carcinoma of upper limb (disorder)" + }, { + "code": "241861008", + "display": "Metastatic malignant neoplasm to nasopharynx (disorder)" + }, { + "code": "242862004", + "display": "Secondary malignant neoplasm of nasopharyngeal wall (disorder)" + }, { + "code": "253001006", + "display": "Merkel cell carcinoma (disorder)" + }, { + "code": "253003009", + "display": "Carcinoid bronchial adenoma (disorder)" + }, { + "code": "253017000", + "display": "Klatskin's tumor (disorder)" + }, { + "code": "253018005", + "display": "Fibrolamellar hepatocellular carcinoma (disorder)" + }, { + "code": "254389005", + "display": "Carcinoma of vermilion border of upper lip (disorder)" + }, { + "code": "254390001", + "display": "Carcinoma of vermilion border of lower lip (disorder)" + }, { + "code": "254393004", + "display": "Carcinoma of frenum of lip (disorder)" + }, { + "code": "254398008", + "display": "Carcinoma of frenum of upper lip (disorder)" + }, { + "code": "254402004", + "display": "Carcinoma of frenum of lower lip (disorder)" + }, { + "code": "254404003", + "display": "Carcinoma of commissure of lip (disorder)" + }, { + "code": "254408000", + "display": "Malignant tumor of anterior two-thirds of tongue - lateral margin (disorder)" + }, { + "code": "254412006", + "display": "Malignant tumor of tip of tongue (disorder)" + }, { + "code": "254417000", + "display": "Carcinoma of frenum linguae (disorder)" + }, { + "code": "254423005", + "display": "Carcinoma of lingual tonsil (disorder)" + }, { + "code": "254424004", + "display": "Carcinoma of upper gum (disorder)" + }, { + "code": "254425003", + "display": "Carcinoma of lower gum (disorder)" + }, { + "code": "254427006", + "display": "Carcinoma of anterior part of floor of mouth (disorder)" + }, { + "code": "254431000", + "display": "Carcinoma of lateral part of floor of mouth (disorder)" + }, { + "code": "254434008", + "display": "Carcinoma of hard palate (disorder)" + }, { + "code": "254435009", + "display": "Carcinoma of soft palate (disorder)" + }, { + "code": "254436005", + "display": "Carcinoma of uvula (disorder)" + }, { + "code": "254437001", + "display": "Squamous cell carcinoma of buccal mucosa (disorder)" + }, { + "code": "254441002", + "display": "Carcinoma of upper buccal sulcus (disorder)" + }, { + "code": "254445006", + "display": "Carcinoma of lower buccal sulcus (disorder)" + }, { + "code": "254450000", + "display": "Carcinoma of upper labial sulcus (disorder)" + }, { + "code": "254454009", + "display": "Carcinoma of lower labial sulcus (disorder)" + }, { + "code": "254457002", + "display": "Carcinoma of retromolar area (disorder)" + }, { + "code": "254459004", + "display": "Malignant tumor of anterior pillar of fauces (disorder)" + }, { + "code": "254462001", + "display": "Carcinoma of parotid gland (disorder)" + }, { + "code": "254465004", + "display": "Carcinoma of submandibular gland (disorder)" + }, { + "code": "254466003", + "display": "Carcinoma of sublingual gland (disorder)" + }, { + "code": "254478004", + "display": "Malignant tumor of inferior turbinate (disorder)" + }, { + "code": "254481009", + "display": "Malignant tumor of middle turbinate (disorder)" + }, { + "code": "254484001", + "display": "Malignant tumor of posterior margin of nasal septum and choanae (disorder)" + }, { + "code": "254503007", + "display": "Malignant tumor of inferior surface of soft palate (disorder)" + }, { + "code": "254509006", + "display": "Malignant tumor of anterior commissure (disorder)" + }, { + "code": "254513004", + "display": "Malignant tumor of posterior commissure (disorder)" + }, { + "code": "254517003", + "display": "Malignant tumor of suprahyoid epiglottis (disorder)" + }, { + "code": "254520006", + "display": "Malignant tumor of infrahyoid epiglottis (disorder)" + }, { + "code": "254526000", + "display": "Malignant tumor of laryngeal ventricle (disorder)" + }, { + "code": "254530002", + "display": "Malignant tumor of parapharyngeal space (disorder)" + }, { + "code": "254535007", + "display": "Carcinoma of cervical part of esophagus (disorder)" + }, { + "code": "254539001", + "display": "Carcinoma of thoracic part of esophagus (disorder)" + }, { + "code": "254543002", + "display": "Carcinoma of abdominal part of esophagus (disorder)" + }, { + "code": "254547001", + "display": "Carcinoma of upper third of esophagus (disorder)" + }, { + "code": "254549003", + "display": "Carcinoma of middle third of esophagus (disorder)" + }, { + "code": "254551004", + "display": "Carcinoma of lower third of esophagus (disorder)" + }, { + "code": "254553001", + "display": "Carcinoma of cardia (disorder)" + }, { + "code": "254555008", + "display": "Carcinoma of fundus of stomach (disorder)" + }, { + "code": "254557000", + "display": "Carcinoma of body of stomach (disorder)" + }, { + "code": "254559002", + "display": "Carcinoma of pyloric antrum (disorder)" + }, { + "code": "254561006", + "display": "Carcinoma of pylorus (disorder)" + }, { + "code": "254563009", + "display": "Carcinoma of lesser curve of stomach (disorder)" + }, { + "code": "254567005", + "display": "Carcinoma of greater curve of stomach (disorder)" + }, { + "code": "254570009", + "display": "Carcinoma of duodenum (disorder)" + }, { + "code": "254582000", + "display": "Adenocarcinoma of rectum (disorder)" + }, { + "code": "254586002", + "display": "Malignant tumor of anorectal junction (disorder)" + }, { + "code": "254601002", + "display": "Sarcoma of liver (disorder)" + }, { + "code": "254609000", + "display": "Carcinoma of ampulla of Vater (disorder)" + }, { + "code": "254611009", + "display": "Malignant tumor of endocrine pancreas (disorder)" + }, { + "code": "254612002", + "display": "Carcinoma of endocrine pancreas (disorder)" + }, { + "code": "254613007", + "display": "Carcinoid tumor of pancreas (disorder)" + }, { + "code": "254619006", + "display": "Adenoid cystic carcinoma of trachea (disorder)" + }, { + "code": "254620000", + "display": "Squamous cell carcinoma of trachea (disorder)" + }, { + "code": "254622008", + "display": "Squamous cell carcinoma of bronchus (disorder)" + }, { + "code": "254625005", + "display": "Malignant tumor of lung parenchyma (disorder)" + }, { + "code": "254626006", + "display": "Adenocarcinoma of lung (disorder)" + }, { + "code": "254627002", + "display": "Carcinoid tumor of lung (disorder)" + }, { + "code": "254629004", + "display": "Large cell carcinoma of lung (disorder)" + }, { + "code": "254631008", + "display": "Giant cell carcinoma of lung (disorder)" + }, { + "code": "254632001", + "display": "Small cell carcinoma of lung (disorder)" + }, { + "code": "254633006", + "display": "Oat cell carcinoma of lung (disorder)" + }, { + "code": "254634000", + "display": "Squamous cell carcinoma of lung (disorder)" + }, { + "code": "254635004", + "display": "Epithelioid hemangioendothelioma of lung (disorder)" + }, { + "code": "254637007", + "display": "Non-small cell lung cancer (disorder)" + }, { + "code": "254638002", + "display": "Pancoast tumor (disorder)" + }, { + "code": "254645002", + "display": "Malignant mesothelioma of pleura (disorder)" + }, { + "code": "254701007", + "display": "Basal cell carcinoma of skin (disorder)" + }, { + "code": "254711000", + "display": "Adenoid cystic eccrine carcinoma of skin (disorder)" + }, { + "code": "254713002", + "display": "Mucoepidermoid carcinoma of skin (disorder)" + }, { + "code": "254714008", + "display": "Mucinous eccrine carcinoma of skin (disorder)" + }, { + "code": "254730000", + "display": "Superficial spreading malignant melanoma of skin (disorder)" + }, { + "code": "254731001", + "display": "Nodular malignant melanoma of skin (disorder)" + }, { + "code": "254732008", + "display": "Acral lentiginous malignant melanoma of skin (disorder)" + }, { + "code": "254733003", + "display": "Malignant melanoma arising in intradermal nevus (disorder)" + }, { + "code": "254734009", + "display": "Malignant melanoma arising in congenital nevus (disorder)" + }, { + "code": "254792006", + "display": "Proliferating angioendotheliomatosis (disorder)" + }, { + "code": "254797000", + "display": "Malignant hemangiopericytoma of skin (disorder)" + }, { + "code": "254838004", + "display": "Carcinoma of breast (disorder)" + }, { + "code": "254839007", + "display": "Scirrhous carcinoma of breast (disorder)" + }, { + "code": "254849005", + "display": "Malignant epithelial tumor of ovary (disorder)" + }, { + "code": "254850005", + "display": "Serous papillary cystadenocarcinoma ovary (disorder)" + }, { + "code": "254851009", + "display": "Mucinous cystadenocarcinoma of ovary (disorder)" + }, { + "code": "254852002", + "display": "Endometrioid carcinoma ovary (disorder)" + }, { + "code": "254856004", + "display": "Undifferentiated carcinoma of ovary (disorder)" + }, { + "code": "254860001", + "display": "Malignant sex cord tumor of ovary (disorder)" + }, { + "code": "254861002", + "display": "Malignant granulosa cell tumor of ovary (disorder)" + }, { + "code": "254863004", + "display": "Granulosa cell tumor of ovary (disorder)" + }, { + "code": "254869000", + "display": "Malignant germ cell tumor of ovary (disorder)" + }, { + "code": "254870004", + "display": "Choriocarcinoma of ovary (disorder)" + }, { + "code": "254871000", + "display": "Immature teratoma of ovary (disorder)" + }, { + "code": "254872007", + "display": "Embryonal carcinoma of ovary (disorder)" + }, { + "code": "254874008", + "display": "Dysgerminoma of ovary (disorder)" + }, { + "code": "254876005", + "display": "Endodermal sinus tumor of ovary (disorder)" + }, { + "code": "254877001", + "display": "Sarcoma of uterus (disorder)" + }, { + "code": "254878006", + "display": "Endometrial carcinoma (disorder)" + }, { + "code": "254886006", + "display": "Squamous cell carcinoma of cervix (disorder)" + }, { + "code": "254887002", + "display": "Adenocarcinoma of cervix (disorder)" + }, { + "code": "254888007", + "display": "Adenosquamous carcinoma of cervix (disorder)" + }, { + "code": "254889004", + "display": "Carcinoma of cervix stage 0 (disorder)" + }, { + "code": "254893005", + "display": "Carcinoma of vagina (disorder)" + }, { + "code": "254895003", + "display": "Squamous cell carcinoma of vulva (disorder)" + }, { + "code": "254896002", + "display": "Malignant melanoma of vulva (disorder)" + }, { + "code": "254900004", + "display": "Carcinoma of prostate (disorder)" + }, { + "code": "254904008", + "display": "Carcinoma of glans penis (disorder)" + }, { + "code": "254908006", + "display": "Malignant tumor of skin of penis (disorder)" + }, { + "code": "254909003", + "display": "Carcinoma of foreskin (disorder)" + }, { + "code": "254912000", + "display": "Regressed malignant testicular tumor (disorder)" + }, { + "code": "254915003", + "display": "Clear cell carcinoma of kidney (disorder)" + }, { + "code": "254916002", + "display": "Cystadenocarcinoma of kidney (disorder)" + }, { + "code": "254917006", + "display": "Papillary cystadenocarcinoma of kidney (disorder)" + }, { + "code": "254918001", + "display": "Sarcoma of kidney (disorder)" + }, { + "code": "254920003", + "display": "Cystadenoma of kidney (disorder)" + }, { + "code": "254934003", + "display": "Malignant tumor of urethral stump (disorder)" + }, { + "code": "254936001", + "display": "Glial tumor of brain (disorder)" + }, { + "code": "254938000", + "display": "Astrocytoma of brain (disorder)" + }, { + "code": "254940005", + "display": "Oligodendroglioma of brain (disorder)" + }, { + "code": "254941009", + "display": "Mixed glial tumor of brain (disorder)" + }, { + "code": "254945000", + "display": "Embryonal tumor of brain (disorder)" + }, { + "code": "254946004", + "display": "Glial tumor of spinal cord (disorder)" + }, { + "code": "254947008", + "display": "Glioma of spinal cord (disorder)" + }, { + "code": "254948003", + "display": "Astrocytoma of spinal cord (disorder)" + }, { + "code": "254950006", + "display": "Oligodendroglioma of spinal cord (disorder)" + }, { + "code": "254951005", + "display": "Mixed glial tumor of spinal cord (disorder)" + }, { + "code": "254954002", + "display": "Embryonal tumor of spinal cord (disorder)" + }, { + "code": "254955001", + "display": "Pituitary carcinoma (disorder)" + }, { + "code": "254969001", + "display": "Malignant tumor of olfactory tract (disorder)" + }, { + "code": "254972008", + "display": "Malignant tumor of optic nerve and sheath (disorder)" + }, { + "code": "254973003", + "display": "Malignant astrocytoma of optic nerve (disorder)" + }, { + "code": "254974009", + "display": "Malignant tumor of optic nerve sheath (disorder)" + }, { + "code": "254975005", + "display": "Malignant meningioma of optic nerve sheath (disorder)" + }, { + "code": "254987003", + "display": "Adenoid cystic carcinoma of lacrimal gland (disorder)" + }, { + "code": "254988008", + "display": "Adenocarcinoma of lacrimal gland (disorder)" + }, { + "code": "254989000", + "display": "Carcinoma ex pleomorphic adenoma of lacrimal gland (disorder)" + }, { + "code": "254990009", + "display": "Mucoepidermoid tumor of lacrimal gland (disorder)" + }, { + "code": "254993006", + "display": "Liposarcoma of orbit (disorder)" + }, { + "code": "254994000", + "display": "Rhabdomyosarcoma of orbit (disorder)" + }, { + "code": "254995004", + "display": "Malignant hemangiopericytoma of orbit (disorder)" + }, { + "code": "254996003", + "display": "Malignant fibrous histiocytoma of orbit (disorder)" + }, { + "code": "255003007", + "display": "Squamous cell carcinoma of conjunctiva (disorder)" + }, { + "code": "255004001", + "display": "Malignant melanoma of conjunctiva (disorder)" + }, { + "code": "255008003", + "display": "Squamous cell carcinoma of cornea (disorder)" + }, { + "code": "255012009", + "display": "Malignant melanoma of iris (disorder)" + }, { + "code": "255015006", + "display": "Malignant melanoma of ciliary body (disorder)" + }, { + "code": "255016007", + "display": "Adenocarcinoma of pigmented epithelium of ciliary body (disorder)" + }, { + "code": "255017003", + "display": "Adenocarcinoma of non-pigmented epithelium of ciliary body (disorder)" + }, { + "code": "255021005", + "display": "Malignant melanoma of choroid (disorder)" + }, { + "code": "255026000", + "display": "Astrocytoma of retina (disorder)" + }, { + "code": "255028004", + "display": "Follicular thyroid carcinoma (disorder)" + }, { + "code": "255029007", + "display": "Papillary thyroid carcinoma (disorder)" + }, { + "code": "255030002", + "display": "Mixed follicular and papillary thyroid carcinoma (disorder)" + }, { + "code": "255031003", + "display": "Anaplastic thyroid carcinoma (disorder)" + }, { + "code": "255032005", + "display": "Medullary thyroid carcinoma (disorder)" + }, { + "code": "255035007", + "display": "Adrenal carcinoma (disorder)" + }, { + "code": "255037004", + "display": "Parathyroid carcinoma (disorder)" + }, { + "code": "255067005", + "display": "Sarcoma of bone and connective tissue (disorder)" + }, { + "code": "255071008", + "display": "Squamous cell carcinoma of lip (disorder)" + }, { + "code": "255072001", + "display": "Malignant tumor of salivary gland (disorder)" + }, { + "code": "255074000", + "display": "Malignant tumor of nasal cavity and nasopharynx (disorder)" + }, { + "code": "255075004", + "display": "Malignant tumor of lateral nasal wall (disorder)" + }, { + "code": "255078002", + "display": "Malignant tumor of esophagus, stomach and duodenum (disorder)" + }, { + "code": "255081007", + "display": "Carcinoma of cecum (disorder)" + }, { + "code": "255083005", + "display": "Malignant tumor of anus and anal canal (disorder)" + }, { + "code": "255084004", + "display": "Squamous cell carcinoma of anal margin (disorder)" + }, { + "code": "255090000", + "display": "Malignant neoplasm of carpal bones (disorder)" + }, { + "code": "255091001", + "display": "Malignant neoplasm of metacarpal bones (disorder)" + }, { + "code": "255101006", + "display": "Sézary disease of skin (disorder)" + }, { + "code": "255108000", + "display": "Carcinoma of bladder (disorder)" + }, { + "code": "255109008", + "display": "Transitional cell carcinoma of bladder (disorder)" + }, { + "code": "255110003", + "display": "Adenocarcinoma of bladder (disorder)" + }, { + "code": "255111004", + "display": "Squamous cell carcinoma of bladder (disorder)" + }, { + "code": "255112006", + "display": "Malignant tumor of pituitary and hypothalamus (disorder)" + }, { + "code": "255114007", + "display": "Kaposi's sarcoma of conjunctiva (disorder)" + }, { + "code": "255115008", + "display": "Kaposi's sarcoma of cornea (disorder)" + }, { + "code": "255119002", + "display": "Lymphangitis carcinomatosa (disorder)" + }, { + "code": "255121007", + "display": "Carcinomatosis of peritoneal cavity (disorder)" + }, { + "code": "255123005", + "display": "Metastasis to nervous system and eye (disorder)" + }, { + "code": "255124004", + "display": "Metastasis to peripheral nerve (disorder)" + }, { + "code": "255128001", + "display": "Malignant infiltration of peripheral nerve (disorder)" + }, { + "code": "255129009", + "display": "Malignant infiltration of peripheral nerve plexus (disorder)" + }, { + "code": "269459004", + "display": "Malignant tumor of lesser curve of stomach (disorder)" + }, { + "code": "269460009", + "display": "Malignant tumor of greater curve of stomach (disorder)" + }, { + "code": "269463006", + "display": "Malignant tumor of middle ear and mastoid (disorder)" + }, { + "code": "269464000", + "display": "Malignant neoplasm of upper lobe, bronchus or lung (disorder)" + }, { + "code": "269467007", + "display": "Malignant neoplasm of hand bones (disorder)" + }, { + "code": "269475001", + "display": "Malignant tumor of lymphoid, hemopoietic AND/OR related tissue (disorder)" + }, { + "code": "269476000", + "display": "Nodular lymphoma (disorder)" + }, { + "code": "269515006", + "display": "Carcinoma of lip (disorder)" + }, { + "code": "269516007", + "display": "Tongue carcinoma (disorder)" + }, { + "code": "269533000", + "display": "Carcinoma of colon (disorder)" + }, { + "code": "269544008", + "display": "Carcinoma of the rectosigmoid junction (disorder)" + }, { + "code": "269578002", + "display": "Malignant melanoma of head and neck (disorder)" + }, { + "code": "269580008", + "display": "Malignant melanoma of upper limb (disorder)" + }, { + "code": "269581007", + "display": "Malignant melanoma of lower limb (disorder)" + }, { + "code": "271323007", + "display": "Malignant neoplasm of lip, oral cavity and/or pharynx (disorder)" + }, { + "code": "271568003", + "display": "Malignant tumor of lower labial mucosa (disorder)" + }, { + "code": "271943005", + "display": "Carcinoma of base of tongue (disorder)" + }, { + "code": "274084007", + "display": "Palate carcinoma (disorder)" + }, { + "code": "274085008", + "display": "Tonsil carcinoma (disorder)" + }, { + "code": "274087000", + "display": "Malignant melanoma of eye (disorder)" + }, { + "code": "274902006", + "display": "Combined hepatocellular carcinoma and cholangiocarcinoma (disorder)" + }, { + "code": "274905008", + "display": "Malignant lymphoma - lymphocytic, intermediate differentiation (disorder)" + }, { + "code": "275266006", + "display": "Metastasis to digestive organs (disorder)" + }, { + "code": "275394001", + "display": "Carcinoma ventral surface of tongue (disorder)" + }, { + "code": "275395000", + "display": "Carcinoma anterior 2/3 tongue ventrum (disorder)" + }, { + "code": "275396004", + "display": "Carcinoma of anterior two-thirds of tongue - dorsal surface (disorder)" + }, { + "code": "275397008", + "display": "Carcinoma of midline of tongue (disorder)" + }, { + "code": "275399006", + "display": "Malignant tumor of lipstick area of lip (disorder)" + }, { + "code": "275490009", + "display": "Carcinoma of tongue base - dorsal surface (disorder)" + }, { + "code": "276419004", + "display": "Malignant tumor of corpus spongiosum (disorder)" + }, { + "code": "276420005", + "display": "Malignant tumor of corpus cavernosum (disorder)" + }, { + "code": "276751004", + "display": "Amelanotic malignant melanoma of skin (disorder)" + }, { + "code": "276803003", + "display": "Adenocarcinoma of esophagus (disorder)" + }, { + "code": "276804009", + "display": "Squamous cell carcinoma of esophagus (disorder)" + }, { + "code": "276808007", + "display": "Carcinoid tumor of stomach (disorder)" + }, { + "code": "276809004", + "display": "Early gastric cancer (disorder)" + }, { + "code": "276810009", + "display": "Late gastric cancer (disorder)" + }, { + "code": "276811008", + "display": "Gastric lymphoma (disorder)" + }, { + "code": "276815004", + "display": "Lymphoma of intestine (disorder)" + }, { + "code": "276816003", + "display": "Carcinoid tumor of intestine (disorder)" + }, { + "code": "276821000", + "display": "Malignant melanoma of anus (disorder)" + }, { + "code": "276822007", + "display": "Malignant melanoma of rectum (disorder)" + }, { + "code": "276826005", + "display": "Malignant glioma of brain (disorder)" + }, { + "code": "276827001", + "display": "Malignant glioma of spinal cord (disorder)" + }, { + "code": "276828006", + "display": "Glioblastoma multiforme of brain (disorder)" + }, { + "code": "276829003", + "display": "Glioblastoma multiforme of spinal cord (disorder)" + }, { + "code": "276836002", + "display": "Primary cerebral lymphoma (disorder)" + }, { + "code": "276860003", + "display": "Squamous cell carcinoma of scrotum (disorder)" + }, { + "code": "276870001", + "display": "Carcinoma of fallopian tube (disorder)" + }, { + "code": "276876007", + "display": "Carcinoma of Bartholin's gland (disorder)" + }, { + "code": "276952000", + "display": "Squamous cell carcinoma of tongue (disorder)" + }, { + "code": "276953005", + "display": "Squamous cell carcinoma of gum (disorder)" + }, { + "code": "276954004", + "display": "Squamous cell carcinoma of floor of mouth (disorder)" + }, { + "code": "276962007", + "display": "Squamous cell carcinoma of palate (disorder)" + }, { + "code": "276975007", + "display": "Carcinoma of larynx (disorder)" + }, { + "code": "277456001", + "display": "Suprasellar germ cell tumor (disorder)" + }, { + "code": "277461004", + "display": "Anaplastic astrocytoma of brain (disorder)" + }, { + "code": "277473004", + "display": "B-cell chronic lymphocytic leukemia (disorder)" + }, { + "code": "277474005", + "display": "B-cell chronic lymphocytic leukemia variant (disorder)" + }, { + "code": "277505007", + "display": "Medulloblastoma of cerebellum (disorder)" + }, { + "code": "277508009", + "display": "Pineal germ cell tumor (disorder)" + }, { + "code": "277530005", + "display": "Malignant melanoma of meninges (disorder)" + }, { + "code": "277545003", + "display": "T-cell chronic lymphocytic leukemia (disorder)" + }, { + "code": "277549009", + "display": "Chronic lymphocytic prolymphocytic leukemia syndrome (disorder)" + }, { + "code": "277550009", + "display": "Richter's syndrome (disorder)" + }, { + "code": "277551008", + "display": "Splenic lymphoma with villous lymphocytes (disorder)" + }, { + "code": "277567002", + "display": "T-cell prolymphocytic leukemia (disorder)" + }, { + "code": "277568007", + "display": "Hairy cell leukemia variant (disorder)" + }, { + "code": "277569004", + "display": "Large granular lymphocytic leukemia (disorder)" + }, { + "code": "277570003", + "display": "Lymphoma with spill (disorder)" + }, { + "code": "277571004", + "display": "B-cell acute lymphoblastic leukemia (disorder)" + }, { + "code": "277572006", + "display": "Pre B-cell acute lymphoblastic leukemia (disorder)" + }, { + "code": "277573001", + "display": "Common acute lymphoblastic leukemia (disorder)" + }, { + "code": "277574007", + "display": "Null cell acute lymphoblastic leukemia (disorder)" + }, { + "code": "277575008", + "display": "T-cell acute lymphoblastic leukemia (disorder)" + }, { + "code": "277587001", + "display": "Juvenile chronic myeloid leukemia (disorder)" + }, { + "code": "277589003", + "display": "Atypical chronic myeloid leukemia (disorder)" + }, { + "code": "277597005", + "display": "Myelodysplastic syndrome with isolated del(5q) (disorder)" + }, { + "code": "277601005", + "display": "Acute monoblastic leukemia (disorder)" + }, { + "code": "277602003", + "display": "Acute megakaryoblastic leukemia (disorder)" + }, { + "code": "277604002", + "display": "Acute eosinophilic leukemia (disorder)" + }, { + "code": "277609007", + "display": "Hodgkin's disease, lymphocytic predominance - diffuse (disorder)" + }, { + "code": "277610002", + "display": "Hodgkin's disease, nodular sclerosis - lymphocytic predominance (disorder)" + }, { + "code": "277611003", + "display": "Hodgkin's disease, nodular sclerosis - mixed cellularity (disorder)" + }, { + "code": "277612005", + "display": "Hodgkin's disease, nodular sclerosis - lymphocytic depletion (disorder)" + }, { + "code": "277613000", + "display": "Cutaneous/peripheral T-cell lymphoma (disorder)" + }, { + "code": "277614006", + "display": "Prethymic and thymic T-cell lymphoma/leukemia (disorder)" + }, { + "code": "277615007", + "display": "Low grade B-cell lymphoma (disorder)" + }, { + "code": "277616008", + "display": "Diffuse low grade B-cell lymphoma (disorder)" + }, { + "code": "277617004", + "display": "High grade B-cell lymphoma (disorder)" + }, { + "code": "277618009", + "display": "Follicular low grade B-cell lymphoma (disorder)" + }, { + "code": "277619001", + "display": "B-cell prolymphocytic leukemia (disorder)" + }, { + "code": "277622004", + "display": "Mucosa-associated lymphoma (disorder)" + }, { + "code": "277623009", + "display": "Monocytoid B-cell lymphoma (disorder)" + }, { + "code": "277624003", + "display": "Follicular malignant lymphoma - mixed cell type (disorder)" + }, { + "code": "277625002", + "display": "Follicular malignant lymphoma - small cleaved cell (disorder)" + }, { + "code": "277626001", + "display": "Diffuse high grade B-cell lymphoma (disorder)" + }, { + "code": "277627005", + "display": "Nodular high grade B-cell lymphoma (disorder)" + }, { + "code": "277628000", + "display": "Diffuse malignant lymphoma - large cleaved cell (disorder)" + }, { + "code": "277629008", + "display": "Diffuse malignant lymphoma - large non-cleaved cell (disorder)" + }, { + "code": "277632006", + "display": "Diffuse malignant lymphoma - centroblastic polymorphic (disorder)" + }, { + "code": "277637000", + "display": "Large cell anaplastic lymphoma (disorder)" + }, { + "code": "277642008", + "display": "Low grade T-cell lymphoma (disorder)" + }, { + "code": "277643003", + "display": "High grade T-cell lymphoma (disorder)" + }, { + "code": "277651000", + "display": "Peripheral T-cell lymphoma - pleomorphic small cell (disorder)" + }, { + "code": "277653002", + "display": "Peripheral T-cell lymphoma - pleomorphic medium and large cell (disorder)" + }, { + "code": "277654008", + "display": "Enteropathy-associated T-cell lymphoma (disorder)" + }, { + "code": "277664004", + "display": "Malignant lymphoma of testis (disorder)" + }, { + "code": "277782009", + "display": "Malignant peritoneal local recurrence (disorder)" + }, { + "code": "278024000", + "display": "Rhabdomyosarcoma of bladder (disorder)" + }, { + "code": "278042005", + "display": "Malignant teratoma of mediastinum (disorder)" + }, { + "code": "278043000", + "display": "Malignant seminoma of mediastinum (disorder)" + }, { + "code": "278044006", + "display": "Malignant neuroma of mediastinum (disorder)" + }, { + "code": "278046008", + "display": "Sarcoma of bladder (disorder)" + }, { + "code": "278050001", + "display": "Sarcoma of breast (disorder)" + }, { + "code": "278051002", + "display": "Malignant lymphoma of thyroid gland (disorder)" + }, { + "code": "278052009", + "display": "Malignant lymphoma of breast (disorder)" + }, { + "code": "278055006", + "display": "Malignant Leydig cell tumor of testis (disorder)" + }, { + "code": "278060005", + "display": "Endometrioid carcinoma of prostate (disorder)" + }, { + "code": "278189009", + "display": "Hypergranular promyelocytic leukemia (disorder)" + }, { + "code": "278433008", + "display": "Malignant infiltration of soft tissue (disorder)" + }, { + "code": "278453007", + "display": "Acute biphenotypic leukemia (disorder)" + }, { + "code": "278491007", + "display": "Mixed seminoma teratoma of testis (disorder)" + }, { + "code": "280959007", + "display": "Malignant tumor of lacrimal drainage structure (disorder)" + }, { + "code": "28122003", + "display": "Pulmonary eosinophilic granuloma (disorder)" + }, { + "code": "281560004", + "display": "Neuroblastoma of brain (disorder)" + }, { + "code": "281562007", + "display": "Adrenal neuroblastoma (disorder)" + }, { + "code": "281563002", + "display": "Thoracic neuroblastoma (disorder)" + }, { + "code": "281564008", + "display": "Pelvic neuroblastoma (disorder)" + }, { + "code": "281565009", + "display": "Paraspinal neuroblastoma (disorder)" + }, { + "code": "281566005", + "display": "Abdominothoracic neuroblastoma (disorder)" + }, { + "code": "281702006", + "display": "Tibial adamantinoma (disorder)" + }, { + "code": "285307007", + "display": "Squamous cell carcinoma of skin of upper lip (disorder)" + }, { + "code": "285308002", + "display": "Squamous cell carcinoma of skin of lower lip (disorder)" + }, { + "code": "285309005", + "display": "Squamous cell carcinoma of skin of cheek (disorder)" + }, { + "code": "285310000", + "display": "Carcinoma of anal canal (disorder)" + }, { + "code": "285312008", + "display": "Carcinoma of sigmoid colon (disorder)" + }, { + "code": "285432005", + "display": "Carcinoma of cervix (disorder)" + }, { + "code": "285598005", + "display": "Metastasis to trachea of unknown primary (disorder)" + }, { + "code": "285603002", + "display": "Metastasis to bronchus of unknown primary (disorder)" + }, { + "code": "285604008", + "display": "Metastasis to lung of unknown primary (disorder)" + }, { + "code": "285605009", + "display": "Metastasis to pleura of unknown primary (disorder)" + }, { + "code": "285606005", + "display": "Metastasis to heart of unknown primary (disorder)" + }, { + "code": "285607001", + "display": "Metastasis to mediastinum of unknown primary (disorder)" + }, { + "code": "285608006", + "display": "Metastasis to thymus of unknown primary (disorder)" + }, { + "code": "285611007", + "display": "Metastasis to colon of unknown primary (disorder)" + }, { + "code": "285612000", + "display": "Metastasis to rectum of unknown primary (disorder)" + }, { + "code": "285613005", + "display": "Metastasis to liver of unknown primary (disorder)" + }, { + "code": "285614004", + "display": "Metastasis to pancreas of unknown primary (disorder)" + }, { + "code": "285615003", + "display": "Metastasis to spleen of unknown primary (disorder)" + }, { + "code": "285616002", + "display": "Metastasis to peritoneum of unknown primary (disorder)" + }, { + "code": "285618001", + "display": "Metastasis to bone of unknown primary (disorder)" + }, { + "code": "285619009", + "display": "Metastasis to vertebral column of unknown primary (disorder)" + }, { + "code": "285631006", + "display": "Metastasis to skin of unknown primary (disorder)" + }, { + "code": "285633009", + "display": "Metastasis to soft tissue of unknown primary (disorder)" + }, { + "code": "285634003", + "display": "Metastasis to breast of unknown primary (disorder)" + }, { + "code": "285635002", + "display": "Metastasis to uterus of unknown primary (disorder)" + }, { + "code": "285637005", + "display": "Metastasis to ovary of unknown primary (disorder)" + }, { + "code": "285638000", + "display": "Metastasis to vagina of unknown primary (disorder)" + }, { + "code": "285639008", + "display": "Metastasis to kidney of unknown primary (disorder)" + }, { + "code": "285640005", + "display": "Metastasis to bladder of unknown primary (disorder)" + }, { + "code": "285641009", + "display": "Metastasis to brain of unknown primary (disorder)" + }, { + "code": "285642002", + "display": "Metastasis to eye of unknown primary (disorder)" + }, { + "code": "285643007", + "display": "Metastasis to adrenal gland of unknown primary (disorder)" + }, { + "code": "285644001", + "display": "Metastasis to lymph node of unknown primary (disorder)" + }, { + "code": "285769009", + "display": "Acute promyelocytic leukemia - hypogranular variant (disorder)" + }, { + "code": "285776004", + "display": "Intermediate grade B-cell lymphoma (disorder)" + }, { + "code": "285839005", + "display": "Acute myelomonocytic leukemia - eosinophilic variant (disorder)" + }, { + "code": "286889008", + "display": "Carcinoma of upper limb bones/scapula (disorder)" + }, { + "code": "286890004", + "display": "Carcinoma of lower limb bones (disorder)" + }, { + "code": "286893002", + "display": "Carcinoma of breast - upper, inner quadrant (disorder)" + }, { + "code": "286894008", + "display": "Carcinoma of breast - lower, inner quadrant (disorder)" + }, { + "code": "286895009", + "display": "Carcinoma of breast - upper, outer quadrant (disorder)" + }, { + "code": "286896005", + "display": "Carcinoma breast - lower, outer quadrant (disorder)" + }, { + "code": "286897001", + "display": "Carcinoma of breast - axillary tail (disorder)" + }, { + "code": "286900008", + "display": "Carcinoma of epididymis/spermatic cord (disorder)" + }, { + "code": "29421000119105", + "display": "Adenocarcinoma in adenomatous polyp (disorder)" + }, { + "code": "29431000119108", + "display": "Adenocarcinoma in villous adenoma (disorder)" + }, { + "code": "300988009", + "display": "Transitional cell carcinoma of ureter (disorder)" + }, { + "code": "301756000", + "display": "Adenocarcinoma of sigmoid colon (disorder)" + }, { + "code": "302815008", + "display": "Malignant tumor of frenum of lip (disorder)" + }, { + "code": "302820008", + "display": "Intracranial meningioma (disorder)" + }, { + "code": "302826002", + "display": "Adrenal cortical adenoma (disorder)" + }, { + "code": "302837001", + "display": "Lentigo maligna melanoma (disorder)" + }, { + "code": "302841002", + "display": "Malignant lymphoma - small lymphocytic (disorder)" + }, { + "code": "302842009", + "display": "Diffuse malignant lymphoma - centroblastic (disorder)" + }, { + "code": "302845006", + "display": "Nodular malignant lymphoma, lymphocytic - well differentiated (disorder)" + }, { + "code": "302848008", + "display": "Nodular malignant lymphoma, lymphocytic - intermediate differentiation (disorder)" + }, { + "code": "302849000", + "display": "Nephroblastoma (disorder)" + }, { + "code": "302855005", + "display": "Subacute leukemia (disorder)" + }, { + "code": "302856006", + "display": "Aleukemic leukemia (disorder)" + }, { + "code": "303012000", + "display": "Malignant tumor of posterior wall of hypopharynx (disorder)" + }, { + "code": "303017006", + "display": "Malignant lymphoma, convoluted cell type (disorder)" + }, { + "code": "303055001", + "display": "Malignant lymphoma, follicular center cell (disorder)" + }, { + "code": "303056000", + "display": "Malignant lymphoma, follicular center cell, cleaved (disorder)" + }, { + "code": "303057009", + "display": "Malignant lymphoma, follicular center cell, non-cleaved (disorder)" + }, { + "code": "303194003", + "display": "Metastasis to head and neck lymph node (disorder)" + }, { + "code": "303201005", + "display": "Metastasis to multiple lymph nodes (disorder)" + }, { + "code": "304545002", + "display": "Adenocarcinoma of ileum (disorder)" + }, { + "code": "307216009", + "display": "Perforated carcinoma of esophagus (disorder)" + }, { + "code": "307226002", + "display": "Metastatic adenocarcinoma of unknown origin (disorder)" + }, { + "code": "307340003", + "display": "Monosomy 7 syndrome (disorder)" + }, { + "code": "307341004", + "display": "Atypical hairy cell leukemia (disorder)" + }, { + "code": "307502000", + "display": "Squamous cell carcinoma of mouth (disorder)" + }, { + "code": "307576001", + "display": "Osteosarcoma of bone (disorder)" + }, { + "code": "307592006", + "display": "Basophilic leukemia (disorder)" + }, { + "code": "307599002", + "display": "Sebaceous adenocarcinoma (disorder)" + }, { + "code": "307601000", + "display": "Pseudomyxoma peritonei (disorder)" + }, { + "code": "307603002", + "display": "Malignant blue nevus of skin (disorder)" + }, { + "code": "307608006", + "display": "Ewing's sarcoma of bone (disorder)" + }, { + "code": "307609003", + "display": "Adamantinoma of long bone (disorder)" + }, { + "code": "307617006", + "display": "Neutrophilic leukemia (disorder)" + }, { + "code": "307622006", + "display": "Prolymphocytic lymphosarcoma (disorder)" + }, { + "code": "307623001", + "display": "Malignant lymphoma - lymphoplasmacytic (disorder)" + }, { + "code": "307624007", + "display": "Diffuse malignant lymphoma - centroblastic-centrocytic (disorder)" + }, { + "code": "307625008", + "display": "Malignant lymphoma - centrocytic (disorder)" + }, { + "code": "307633009", + "display": "Hodgkin's disease, lymphocytic depletion, diffuse fibrosis (disorder)" + }, { + "code": "307634003", + "display": "Hodgkin's disease, lymphocytic depletion, reticular type (disorder)" + }, { + "code": "307635002", + "display": "Hodgkin's disease, nodular sclerosis - cellular phase (disorder)" + }, { + "code": "307636001", + "display": "Malignant lymphoma, mixed lymphocytic-histiocytic, nodular (disorder)" + }, { + "code": "307637005", + "display": "Malignant lymphoma, centroblastic-centrocytic, follicular (disorder)" + }, { + "code": "307646004", + "display": "Malignant lymphoma, lymphocytic, poorly differentiated, nodular (disorder)" + }, { + "code": "307647008", + "display": "Malignant lymphoma, centroblastic type, follicular (disorder)" + }, { + "code": "307649006", + "display": "Microglioma (disorder)" + }, { + "code": "307650006", + "display": "Histiocytic medullary reticulosis (disorder)" + }, { + "code": "308121000", + "display": "Follicular non-Hodgkin's lymphoma (disorder)" + }, { + "code": "309245001", + "display": "Adenocarcinoma of uterus (disorder)" + }, { + "code": "31047003", + "display": "Lymphomatoid papulosis (disorder)" + }, { + "code": "310498001", + "display": "Malignant melanoma of back (disorder)" + }, { + "code": "310599006", + "display": "Malignant neoplasm of canthus (disorder)" + }, { + "code": "312104005", + "display": "Cholangiocarcinoma of biliary tract (disorder)" + }, { + "code": "312111009", + "display": "Carcinoma of ascending colon (disorder)" + }, { + "code": "312112002", + "display": "Carcinoma of transverse colon (disorder)" + }, { + "code": "312113007", + "display": "Carcinoma of descending colon (disorder)" + }, { + "code": "312114001", + "display": "Carcinoma of hepatic flexure (disorder)" + }, { + "code": "312115000", + "display": "Carcinoma of splenic flexure (disorder)" + }, { + "code": "312949007", + "display": "Retinal pigment epithelial adenocarcinoma (disorder)" + }, { + "code": "313248004", + "display": "Malignant melanoma of chest wall (disorder)" + }, { + "code": "313249007", + "display": "Malignant neoplasm of upper eyelid (disorder)" + }, { + "code": "313250007", + "display": "Malignant neoplasm of lower eyelid (disorder)" + }, { + "code": "313353007", + "display": "Squamous cell carcinoma of bronchus in left lower lobe (disorder)" + }, { + "code": "313354001", + "display": "Squamous cell carcinoma of bronchus in left upper lobe (disorder)" + }, { + "code": "313355000", + "display": "Squamous cell carcinoma of bronchus in right lower lobe (disorder)" + }, { + "code": "313356004", + "display": "Squamous cell carcinoma of bronchus in right middle lobe (disorder)" + }, { + "code": "313357008", + "display": "Squamous cell carcinoma of bronchus in right upper lobe (disorder)" + }, { + "code": "313428008", + "display": "Seminoma of undescended testis (disorder)" + }, { + "code": "313429000", + "display": "Seminoma of descended testis (disorder)" + }, { + "code": "314191009", + "display": "Cystadenocarcinoma of ovary (disorder)" + }, { + "code": "314408000", + "display": "Leukemic infiltrate of choroid (disorder)" + }, { + "code": "314418005", + "display": "Leukemic infiltrate of retina (disorder)" + }, { + "code": "314947008", + "display": "Carcinoid tumor of ampulla of Vater (disorder)" + }, { + "code": "314951005", + "display": "Local recurrence of malignant tumor of tongue (disorder)" + }, { + "code": "314952003", + "display": "Local recurrence of malignant tumor of buccal cavity (disorder)" + }, { + "code": "314953008", + "display": "Local recurrence of malignant tumor of thyroid gland (disorder)" + }, { + "code": "314954002", + "display": "Local recurrence of malignant tumor of lung (disorder)" + }, { + "code": "314955001", + "display": "Local recurrence of malignant tumor of breast (disorder)" + }, { + "code": "314960002", + "display": "Local recurrence of malignant tumor of esophagus (disorder)" + }, { + "code": "314961003", + "display": "Local recurrence of malignant tumor of stomach (disorder)" + }, { + "code": "314962005", + "display": "Local recurrence of malignant tumor of gallbladder (disorder)" + }, { + "code": "314963000", + "display": "Local recurrence of malignant tumor of liver (disorder)" + }, { + "code": "314964006", + "display": "Local recurrence of malignant tumor of pancreas (disorder)" + }, { + "code": "314965007", + "display": "Local recurrence of malignant tumor of colon (disorder)" + }, { + "code": "314966008", + "display": "Local recurrence of malignant tumor of rectum (disorder)" + }, { + "code": "314967004", + "display": "Local recurrence of malignant tumor of kidney (disorder)" + }, { + "code": "314968009", + "display": "Local recurrence of malignant tumor of urinary bladder (disorder)" + }, { + "code": "314969001", + "display": "Local recurrence of malignant tumor of prostate (disorder)" + }, { + "code": "314970000", + "display": "Local recurrence of malignant tumor of cervix (disorder)" + }, { + "code": "314973003", + "display": "Local recurrence of malignant tumor of bone (disorder)" + }, { + "code": "314974009", + "display": "Local recurrence of malignant tumor of soft tissue (disorder)" + }, { + "code": "314975005", + "display": "Local recurrence of malignant tumor of skin (disorder)" + }, { + "code": "314976006", + "display": "Local recurrence of malignant melanoma of skin (disorder)" + }, { + "code": "315058005", + "display": "Hereditary nonpolyposis colon cancer (disorder)" + }, { + "code": "326072005", + "display": "Carcinoma of head of pancreas (disorder)" + }, { + "code": "33581000119109", + "display": "Primary malignant neoplasm of extradural spinal cord (disorder)" + }, { + "code": "351461000119100", + "display": "Merkel cell carcinoma of right lower limb (disorder)" + }, { + "code": "352071000119105", + "display": "Merkel cell carcinoma of left lower limb (disorder)" + }, { + "code": "352201000119105", + "display": "Malignant melanoma of skin of left upper limb (disorder)" + }, { + "code": "354351000119105", + "display": "Primary malignant neoplasm of left kidney (disorder)" + }, { + "code": "354361000119107", + "display": "Primary malignant neoplasm of right kidney (disorder)" + }, { + "code": "354651000119102", + "display": "Primary malignant neoplasm of bone of left lower limb (disorder)" + }, { + "code": "354681000119109", + "display": "Primary malignant neoplasm of bone of right lower limb (disorder)" + }, { + "code": "354701000119107", + "display": "Primary malignant neoplasm of left lung (disorder)" + }, { + "code": "359631009", + "display": "Acute myeloid leukemia, minimal differentiation, FAB M0 (disorder)" + }, { + "code": "359640008", + "display": "Acute myeloid leukemia without maturation, FAB M1 (disorder)" + }, { + "code": "359648001", + "display": "Acute myeloid leukemia with maturation, FAB M2 (disorder)" + }, { + "code": "359782004", + "display": "Metastatic malignant neoplasm to apex of urinary bladder (disorder)" + }, { + "code": "359785002", + "display": "Metastatic malignant neoplasm to dome of urinary bladder (disorder)" + }, { + "code": "359987004", + "display": "Krukenberg tumor (disorder)" + }, { + "code": "363348004", + "display": "Malignant tumor of lip (disorder)" + }, { + "code": "363349007", + "display": "Malignant tumor of stomach (disorder)" + }, { + "code": "363351006", + "display": "Malignant tumor of rectum (disorder)" + }, { + "code": "363352004", + "display": "Malignant tumor of anal canal (disorder)" + }, { + "code": "363354003", + "display": "Malignant tumor of cervix (disorder)" + }, { + "code": "363355002", + "display": "Malignant tumor of adrenal gland (disorder)" + }, { + "code": "363358000", + "display": "Malignant tumor of lung (disorder)" + }, { + "code": "363359008", + "display": "Malignant tumor of middle ear (disorder)" + }, { + "code": "363360003", + "display": "Malignant tumor of anterior two-thirds of tongue (disorder)" + }, { + "code": "363365008", + "display": "Malignant tumor of soft tissue of thorax (disorder)" + }, { + "code": "363368005", + "display": "Carcinoma of body of pancreas (disorder)" + }, { + "code": "363369002", + "display": "Carcinoma of tail of pancreas (disorder)" + }, { + "code": "363370001", + "display": "Malignant neoplasm of mesentery (disorder)" + }, { + "code": "363372009", + "display": "Malignant tumor of vermilion border of upper lip (disorder)" + }, { + "code": "363373004", + "display": "Malignant tumor of vermilion border of lower lip (disorder)" + }, { + "code": "363374005", + "display": "Malignant tumor of commissure of lip (disorder)" + }, { + "code": "363375006", + "display": "Malignant tumor of tongue (disorder)" + }, { + "code": "363376007", + "display": "Malignant tumor of base of tongue (disorder)" + }, { + "code": "363377003", + "display": "Malignant tumor of lingual tonsil (disorder)" + }, { + "code": "363378008", + "display": "Malignant tumor of major salivary gland (disorder)" + }, { + "code": "363379000", + "display": "Malignant tumor of parotid gland (disorder)" + }, { + "code": "363380002", + "display": "Malignant tumor of submandibular gland (disorder)" + }, { + "code": "363381003", + "display": "Malignant tumor of sublingual gland (disorder)" + }, { + "code": "363382005", + "display": "Malignant tumor of gum (disorder)" + }, { + "code": "363383000", + "display": "Malignant tumor of upper gingiva (disorder)" + }, { + "code": "363384006", + "display": "Malignant tumor of lower gingiva (disorder)" + }, { + "code": "363385007", + "display": "Malignant tumor of floor of mouth (disorder)" + }, { + "code": "363386008", + "display": "Malignant tumor of buccal mucosa (disorder)" + }, { + "code": "363387004", + "display": "Malignant tumor of hard palate (disorder)" + }, { + "code": "363388009", + "display": "Malignant tumor of soft palate (disorder)" + }, { + "code": "363389001", + "display": "Malignant tumor of uvula (disorder)" + }, { + "code": "363390005", + "display": "Malignant tumor of palate (disorder)" + }, { + "code": "363391009", + "display": "Malignant tumor of retromolar area (disorder)" + }, { + "code": "363392002", + "display": "Malignant tumor of oropharynx (disorder)" + }, { + "code": "363393007", + "display": "Malignant tumor of tonsil (disorder)" + }, { + "code": "363394001", + "display": "Malignant tumor of tonsillar fossa (disorder)" + }, { + "code": "363395000", + "display": "Malignant tumor of vallecula (disorder)" + }, { + "code": "363398003", + "display": "Malignant tumor of lateral wall of nasopharynx (disorder)" + }, { + "code": "363399006", + "display": "Malignant tumor of hypopharynx (disorder)" + }, { + "code": "363400004", + "display": "Malignant tumor of postcricoid region (disorder)" + }, { + "code": "363401000", + "display": "Malignant tumor of pyriform fossa (disorder)" + }, { + "code": "363402007", + "display": "Malignant tumor of esophagus (disorder)" + }, { + "code": "363403002", + "display": "Malignant tumor of duodenum (disorder)" + }, { + "code": "363406005", + "display": "Malignant neoplasm of colon (disorder)" + }, { + "code": "363407001", + "display": "Malignant tumor of hepatic flexure (disorder)" + }, { + "code": "363408006", + "display": "Malignant tumor of transverse colon (disorder)" + }, { + "code": "363409003", + "display": "Malignant tumor of descending colon (disorder)" + }, { + "code": "363410008", + "display": "Malignant tumor of sigmoid colon (disorder)" + }, { + "code": "363412000", + "display": "Malignant tumor of ascending colon (disorder)" + }, { + "code": "363413005", + "display": "Malignant tumor of splenic flexure (disorder)" + }, { + "code": "363414004", + "display": "Malignant tumor of rectosigmoid junction (disorder)" + }, { + "code": "363417006", + "display": "Malignant tumor of ampulla of Vater (disorder)" + }, { + "code": "363421004", + "display": "Malignant neoplasm of omentum (disorder)" + }, { + "code": "363422006", + "display": "Malignant tumor of nasal cavity (disorder)" + }, { + "code": "363423001", + "display": "Malignant tumor of nasal septum (disorder)" + }, { + "code": "363424007", + "display": "Malignant tumor of mastoid air cells (disorder)" + }, { + "code": "363425008", + "display": "Malignant tumor of maxillary sinus (disorder)" + }, { + "code": "363426009", + "display": "Malignant tumor of ethmoid sinus (disorder)" + }, { + "code": "363427000", + "display": "Malignant tumor of frontal sinus (disorder)" + }, { + "code": "363428005", + "display": "Malignant tumor of sphenoid sinus (disorder)" + }, { + "code": "363429002", + "display": "Malignant tumor of larynx (disorder)" + }, { + "code": "363430007", + "display": "Malignant tumor of subglottis (disorder)" + }, { + "code": "363431006", + "display": "Malignant tumor of laryngeal cartilage (disorder)" + }, { + "code": "363432004", + "display": "Malignant tumor of trachea (disorder)" + }, { + "code": "363433009", + "display": "Malignant tumor of pleura (disorder)" + }, { + "code": "363434003", + "display": "Malignant tumor of thymus (disorder)" + }, { + "code": "363435002", + "display": "Malignant tumor of heart (disorder)" + }, { + "code": "363436001", + "display": "Malignant tumor of endocardium (disorder)" + }, { + "code": "363437005", + "display": "Malignant tumor of myocardium (disorder)" + }, { + "code": "363438000", + "display": "Malignant tumor of vertebral column (disorder)" + }, { + "code": "363439008", + "display": "Malignant tumor of soft tissue of head (disorder)" + }, { + "code": "363440005", + "display": "Malignant tumor of soft tissue of face (disorder)" + }, { + "code": "363443007", + "display": "Malignant tumor of ovary (disorder)" + }, { + "code": "363444001", + "display": "Malignant tumor of fallopian tube (disorder)" + }, { + "code": "363445000", + "display": "Malignant tumor of vagina (disorder)" + }, { + "code": "363446004", + "display": "Malignant neoplasm of labia majora (disorder)" + }, { + "code": "363447008", + "display": "Malignant neoplasm of labia minora (disorder)" + }, { + "code": "363449006", + "display": "Malignant tumor of testis (disorder)" + }, { + "code": "363451005", + "display": "Malignant tumor of glans penis (disorder)" + }, { + "code": "363452003", + "display": "Malignant tumor of epididymis (disorder)" + }, { + "code": "363453008", + "display": "Malignant tumor of spermatic cord (disorder)" + }, { + "code": "363454002", + "display": "Malignant tumor of scrotum (disorder)" + }, { + "code": "363456000", + "display": "Malignant tumor of urachus (disorder)" + }, { + "code": "363457009", + "display": "Malignant tumor of renal pelvis (disorder)" + }, { + "code": "363458004", + "display": "Malignant tumor of ureter (disorder)" + }, { + "code": "363459007", + "display": "Malignant tumor of urethra (disorder)" + }, { + "code": "363460002", + "display": "Malignant tumor of paraurethral gland (disorder)" + }, { + "code": "363461003", + "display": "Malignant tumor of eye (disorder)" + }, { + "code": "363462005", + "display": "Malignant tumor of orbit (disorder)" + }, { + "code": "363463000", + "display": "Malignant tumor of conjunctiva (disorder)" + }, { + "code": "363464006", + "display": "Malignant tumor of cornea (disorder)" + }, { + "code": "363465007", + "display": "Malignant tumor of retina (disorder)" + }, { + "code": "363466008", + "display": "Malignant tumor of choroid (disorder)" + }, { + "code": "363467004", + "display": "Malignant neoplasm of frontal lobe (disorder)" + }, { + "code": "363468009", + "display": "Malignant neoplasm of temporal lobe (disorder)" + }, { + "code": "363469001", + "display": "Malignant neoplasm of parietal lobe (disorder)" + }, { + "code": "363470000", + "display": "Malignant neoplasm of occipital lobe (disorder)" + }, { + "code": "363471001", + "display": "Malignant neoplasm of cerebral ventricles (disorder)" + }, { + "code": "363473003", + "display": "Malignant neoplasm of brainstem (disorder)" + }, { + "code": "363474009", + "display": "Malignant neoplasm of cerebral meninges (disorder)" + }, { + "code": "363475005", + "display": "Malignant tumor of spinal cord (disorder)" + }, { + "code": "363476006", + "display": "Malignant neoplasm of spinal meninges (disorder)" + }, { + "code": "363478007", + "display": "Malignant tumor of thyroid gland (disorder)" + }, { + "code": "363481002", + "display": "Malignant tumor of parathyroid gland (disorder)" + }, { + "code": "363482009", + "display": "Malignant tumor of pituitary gland (disorder)" + }, { + "code": "363483004", + "display": "Malignant tumor of pineal gland (disorder)" + }, { + "code": "363485006", + "display": "Malignant tumor of minor salivary gland (disorder)" + }, { + "code": "363486007", + "display": "Malignant tumor of vocal cord (disorder)" + }, { + "code": "363487003", + "display": "Malignant tumor of aryepiglottic fold - laryngeal aspect (disorder)" + }, { + "code": "363488008", + "display": "Malignant tumor of false cord (disorder)" + }, { + "code": "363490009", + "display": "Malignant tumor of anus (disorder)" + }, { + "code": "363491008", + "display": "Malignant tumor of cloacogenic zone (disorder)" + }, { + "code": "363492001", + "display": "Malignant tumor of peritoneum (disorder)" + }, { + "code": "363493006", + "display": "Malignant tumor of bronchus (disorder)" + }, { + "code": "363494000", + "display": "Malignant tumor of mediastinum (disorder)" + }, { + "code": "363497007", + "display": "Malignant tumor of meninges (disorder)" + }, { + "code": "363498002", + "display": "Malignant tumor of optic nerve (disorder)" + }, { + "code": "363502009", + "display": "Malignant tumor of axilla (disorder)" + }, { + "code": "363506007", + "display": "Malignant tumor of nasal sinuses (disorder)" + }, { + "code": "363507003", + "display": "Malignant neoplasm of pharynx (disorder)" + }, { + "code": "363510005", + "display": "Malignant tumor of large intestine (disorder)" + }, { + "code": "363514001", + "display": "Malignant tumor of female genital organ (disorder)" + }, { + "code": "363515000", + "display": "Malignant tumor of male genital organ (disorder)" + }, { + "code": "363516004", + "display": "Malignant tumor of penis (disorder)" + }, { + "code": "363517008", + "display": "Malignant tumor of urinary tract proper (disorder)" + }, { + "code": "363518003", + "display": "Malignant tumor of kidney (disorder)" + }, { + "code": "369463005", + "display": "Malignant tumor involving ureter by direct extension from bladder (disorder)" + }, { + "code": "369464004", + "display": "Malignant tumor involving ureter by separate metastasis from bladder (disorder)" + }, { + "code": "369465003", + "display": "Malignant tumor involving urethra by direct extension from bladder (disorder)" + }, { + "code": "369466002", + "display": "Malignant tumor involving urethra by direct extension from prostate (disorder)" + }, { + "code": "369467006", + "display": "Malignant tumor involving urethra by separate metastasis from bladder (disorder)" + }, { + "code": "369468001", + "display": "Malignant tumor involving urethra by separate metastasis from prostate (disorder)" + }, { + "code": "369469009", + "display": "Malignant tumor involving bladder by direct extension from endometrium (disorder)" + }, { + "code": "369470005", + "display": "Malignant tumor involving bladder by direct extension from fallopian tube (disorder)" + }, { + "code": "369471009", + "display": "Malignant tumor involving bladder by direct extension from ovary (disorder)" + }, { + "code": "369472002", + "display": "Malignant tumor involving bladder by direct extension from prostate (disorder)" + }, { + "code": "369473007", + "display": "Malignant tumor involving bladder by direct extension from uterine cervix (disorder)" + }, { + "code": "369475000", + "display": "Malignant tumor involving bladder by direct extension from vagina (disorder)" + }, { + "code": "369476004", + "display": "Malignant tumor involving bladder by separate metastasis from endometrium (disorder)" + }, { + "code": "369477008", + "display": "Malignant tumor involving bladder by separate metastasis from fallopian tube (disorder)" + }, { + "code": "369478003", + "display": "Malignant tumor involving bladder by separate metastasis from ovary (disorder)" + }, { + "code": "369479006", + "display": "Malignant tumor involving bladder by separate metastasis from prostate (disorder)" + }, { + "code": "369480009", + "display": "Malignant tumor involving bladder by separate metastasis from uterine cervix (disorder)" + }, { + "code": "369481008", + "display": "Malignant tumor involving bladder by separate metastasis from uterus (disorder)" + }, { + "code": "369482001", + "display": "Malignant tumor involving bladder by separate metastasis from vagina (disorder)" + }, { + "code": "369483006", + "display": "Malignant tumor involving vasa deferentia by direct extension from prostate (disorder)" + }, { + "code": "369484000", + "display": "Malignant tumor involving vasa deferentia by separate metastasis from prostate (disorder)" + }, { + "code": "369485004", + "display": "Malignant tumor involving prostate by direct extension from bladder (disorder)" + }, { + "code": "369486003", + "display": "Malignant tumor involving prostate by separate metastasis from bladder (disorder)" + }, { + "code": "369487007", + "display": "Primary malignant neoplasm of seminal vesicle (disorder)" + }, { + "code": "369489005", + "display": "Malignant tumor involving seminal vesicle by direct extension from bladder (disorder)" + }, { + "code": "369490001", + "display": "Malignant tumor involving seminal vesicle by direct extension from prostate (disorder)" + }, { + "code": "369491002", + "display": "Malignant tumor involving seminal vesicle by separate metastasis from bladder (disorder)" + }, { + "code": "369492009", + "display": "Malignant tumor involving seminal vesicle by separate metastasis from prostate (disorder)" + }, { + "code": "369493004", + "display": "Malignant tumor involving uterine corpus by direct extension from bladder (disorder)" + }, { + "code": "369494005", + "display": "Malignant tumor involving uterine corpus by direct extension from ovary (disorder)" + }, { + "code": "369495006", + "display": "Malignant tumor involving uterine corpus by direct extension from uterine cervix (disorder)" + }, { + "code": "369496007", + "display": "Malignant tumor involving uterine corpus by direct extension from vagina (disorder)" + }, { + "code": "369497003", + "display": "Malignant tumor involving uterine cervix by direct extension from fallopian tube (disorder)" + }, { + "code": "369498008", + "display": "Malignant tumor involving uterine cervix by direct extension from ovary (disorder)" + }, { + "code": "369499000", + "display": "Malignant tumor involving uterine cervix by direct extension from vagina (disorder)" + }, { + "code": "369500009", + "display": "Malignant tumor involving uterine cervix by separate metastasis from fallopian tube (disorder)" + }, { + "code": "369501008", + "display": "Malignant tumor involving uterine cervix by separate metastasis from ovary (disorder)" + }, { + "code": "369502001", + "display": "Malignant tumor involving uterine corpus by separate metastasis from bladder (disorder)" + }, { + "code": "369503006", + "display": "Malignant tumor involving vagina by direct extension from uterus (disorder)" + }, { + "code": "369504000", + "display": "Malignant tumor involving vagina by direct extension from bladder (disorder)" + }, { + "code": "369505004", + "display": "Malignant tumor involving vagina by direct extension from endometrium (disorder)" + }, { + "code": "369506003", + "display": "Malignant tumor involving vagina by direct extension from fallopian tube (disorder)" + }, { + "code": "369507007", + "display": "Malignant tumor involving vulva by direct extension from endometrium (disorder)" + }, { + "code": "369508002", + "display": "Malignant tumor involving vulva by direct extension from fallopian tube (disorder)" + }, { + "code": "369509005", + "display": "Malignant tumor involving vulva by direct extension from ovary (disorder)" + }, { + "code": "369510000", + "display": "Malignant tumor involving vulva by direct extension from uterine cervix (disorder)" + }, { + "code": "369511001", + "display": "Malignant tumor involving vulva by direct extension from uterus (disorder)" + }, { + "code": "369512008", + "display": "Malignant tumor involving vagina by direct extension from ovary (disorder)" + }, { + "code": "369513003", + "display": "Primary malignant neoplasm of left fallopian tube (disorder)" + }, { + "code": "369515005", + "display": "Malignant tumor involving left fallopian tube by direct extension from endometrium (disorder)" + }, { + "code": "369516006", + "display": "Malignant tumor involving left fallopian tube by direct extension from ovary (disorder)" + }, { + "code": "369517002", + "display": "Malignant tumor involving left fallopian tube by direct extension from right fallopian tube (disorder)" + }, { + "code": "369518007", + "display": "Malignant tumor involving left fallopian tube by direct extension from uterine cervix (disorder)" + }, { + "code": "369519004", + "display": "Malignant tumor involving left fallopian tube by direct extension from uterus (disorder)" + }, { + "code": "369520005", + "display": "Primary malignant neoplasm of right fallopian tube (disorder)" + }, { + "code": "369522002", + "display": "Primary malignant neoplasm of left ovary (disorder)" + }, { + "code": "369524001", + "display": "Malignant tumor involving left ovary by direct extension from endometrium (disorder)" + }, { + "code": "369525000", + "display": "Malignant tumor involving left ovary by direct extension from fallopian tube (disorder)" + }, { + "code": "369526004", + "display": "Malignant tumor involving left ovary by direct extension from right ovary (disorder)" + }, { + "code": "369527008", + "display": "Malignant tumor involving left ovary by direct extension from uterine cervix (disorder)" + }, { + "code": "369528003", + "display": "Malignant tumor involving left ovary by direct extension from uterus (disorder)" + }, { + "code": "369529006", + "display": "Primary malignant neoplasm of right ovary (disorder)" + }, { + "code": "369531002", + "display": "Malignant tumor involving right ovary by direct extension from endometrium (disorder)" + }, { + "code": "369532009", + "display": "Malignant tumor involving right ovary by direct extension from fallopian tube (disorder)" + }, { + "code": "369533004", + "display": "Malignant tumor involving right ovary by direct extension from left ovary (disorder)" + }, { + "code": "369534005", + "display": "Malignant tumor involving right ovary by direct extension from uterine cervix (disorder)" + }, { + "code": "369535006", + "display": "Secondary neoplasm of left broad ligament (disorder)" + }, { + "code": "369536007", + "display": "Secondary neoplasm of right broad ligament (disorder)" + }, { + "code": "369537003", + "display": "Malignant tumor involving left broad ligament by direct extension from ovary (disorder)" + }, { + "code": "369538008", + "display": "Malignant tumor involving left broad ligament by metastasis from ovary (disorder)" + }, { + "code": "369539000", + "display": "Malignant tumor involving right broad ligament by direct extension from ovary (disorder)" + }, { + "code": "369540003", + "display": "Malignant tumor involving right broad ligament by metastasis from ovary (disorder)" + }, { + "code": "369541004", + "display": "Malignant tumor involving left fallopian tube by direct extension from vagina (disorder)" + }, { + "code": "369547000", + "display": "Malignant tumor involving right fallopian tube by direct extension from endometrium (disorder)" + }, { + "code": "369548005", + "display": "Malignant tumor involving right fallopian tube by direct extension from left fallopian tube (disorder)" + }, { + "code": "369549002", + "display": "Malignant tumor involving right fallopian tube by direct extension from ovary (disorder)" + }, { + "code": "369550002", + "display": "Malignant tumor involving right fallopian tube by direct extension from uterine cervix (disorder)" + }, { + "code": "369551003", + "display": "Malignant tumor involving right fallopian tube by direct extension from uterus (disorder)" + }, { + "code": "369552005", + "display": "Malignant tumor involving right fallopian tube by direct extension from vagina (disorder)" + }, { + "code": "369555007", + "display": "Malignant tumor involving right fallopian tube by separate metastasis from ovary (disorder)" + }, { + "code": "369557004", + "display": "Malignant tumor involving right fallopian tube by separate metastasis from uterus (disorder)" + }, { + "code": "369558009", + "display": "Malignant tumor involving right fallopian tube by separate metastasis from vagina (disorder)" + }, { + "code": "369559001", + "display": "Malignant tumor involving left ovary by direct extension from vagina (disorder)" + }, { + "code": "369561005", + "display": "Malignant tumor involving left ovary by separate metastasis from fallopian tube (disorder)" + }, { + "code": "369564002", + "display": "Malignant tumor involving left ovary by separate metastasis from vagina (disorder)" + }, { + "code": "369565001", + "display": "Malignant tumor involving left ovary by separate metastasis uterus (disorder)" + }, { + "code": "369566000", + "display": "Malignant tumor involving right ovary by direct extension from uterus (disorder)" + }, { + "code": "369567009", + "display": "Malignant tumor involving right ovary by direct extension from vagina (disorder)" + }, { + "code": "369569007", + "display": "Malignant tumor involving right ovary by separate metastasis from fallopian tube (disorder)" + }, { + "code": "369570008", + "display": "Malignant tumor involving right ovary by separate metastasis from left ovary (disorder)" + }, { + "code": "369572000", + "display": "Malignant tumor involving right ovary by separate metastasis from uterus (disorder)" + }, { + "code": "369573005", + "display": "Malignant tumor involving right ovary by separate metastasis from vagina (disorder)" + }, { + "code": "369574004", + "display": "Malignant tumor involving uterine cervix by separate metastasis from vagina (disorder)" + }, { + "code": "369575003", + "display": "Malignant tumor involving uterine corpus by separate metastasis from fallopian tube (disorder)" + }, { + "code": "369576002", + "display": "Malignant tumor involving uterine corpus by separate metastasis from ovary (disorder)" + }, { + "code": "369577006", + "display": "Malignant tumor involving uterine corpus by separate metastasis from uterine cervix (disorder)" + }, { + "code": "369578001", + "display": "Malignant tumor involving uterine corpus by separate metastasis from vagina (disorder)" + }, { + "code": "369579009", + "display": "Malignant tumor involving uterine corpus by direct extension from fallopian tube (disorder)" + }, { + "code": "369580007", + "display": "Malignant tumor involving vagina by direct extension from uterine cervix (disorder)" + }, { + "code": "369581006", + "display": "Malignant tumor involving vagina by separate metastasis from bladder (disorder)" + }, { + "code": "369584003", + "display": "Malignant tumor involving vagina by separate metastasis from ovary (disorder)" + }, { + "code": "369586001", + "display": "Malignant tumor involving vagina by separate metastasis from uterus (disorder)" + }, { + "code": "369587005", + "display": "Malignant tumor involving vulva by direct extension from vagina (disorder)" + }, { + "code": "369588000", + "display": "Malignant tumor involving vulva by separate metastasis from endometrium (disorder)" + }, { + "code": "369589008", + "display": "Malignant tumor involving vulva by separate metastasis from fallopian tube (disorder)" + }, { + "code": "369590004", + "display": "Malignant tumor involving vulva by separate metastasis from ovary (disorder)" + }, { + "code": "369592007", + "display": "Malignant tumor involving vulva by separate metastasis from uterus (disorder)" + }, { + "code": "369593002", + "display": "Malignant tumor involving vulva by separate metastasis from vagina (disorder)" + }, { + "code": "370967009", + "display": "Retinoblastoma (disorder)" + }, { + "code": "370987005", + "display": "Anaplastic astrocytoma of spinal cord (disorder)" + }, { + "code": "371012000", + "display": "Acute lymphoblastic leukemia, transitional pre-B-cell (disorder)" + }, { + "code": "371134001", + "display": "Malignant lymphoma, large cell, polymorphous, immunoblastic (disorder)" + }, { + "code": "371962007", + "display": "Primary malignant neoplasm of abdominal esophagus (disorder)" + }, { + "code": "371963002", + "display": "Primary malignant neoplasm of adrenal cortex (disorder)" + }, { + "code": "371964008", + "display": "Malignant neoplasm of adrenal cortex (disorder)" + }, { + "code": "371965009", + "display": "Malignant neoplasm of adrenal medulla (disorder)" + }, { + "code": "371966005", + "display": "Primary malignant neoplasm of adrenal medulla (disorder)" + }, { + "code": "371967001", + "display": "Primary malignant neoplasm of ampulla of Vater (disorder)" + }, { + "code": "371968006", + "display": "Primary malignant neoplasm of anterior two-thirds of tongue (disorder)" + }, { + "code": "371969003", + "display": "Primary malignant neoplasm of apex of urinary bladder (disorder)" + }, { + "code": "371971003", + "display": "Primary malignant neoplasm of body of uterus (disorder)" + }, { + "code": "371972005", + "display": "Malignant neoplasm of body of uterus (disorder)" + }, { + "code": "371973000", + "display": "Malignant neoplasm of uterus (disorder)" + }, { + "code": "371974006", + "display": "Malignant neoplasm of border of tongue (disorder)" + }, { + "code": "371975007", + "display": "Primary malignant neoplasm of border of tongue (disorder)" + }, { + "code": "371976008", + "display": "Primary malignant neoplasm of buccal mucosa (disorder)" + }, { + "code": "371978009", + "display": "Primary malignant neoplasm of cervical esophagus (disorder)" + }, { + "code": "371979001", + "display": "Malignant neoplasm of clitoris (disorder)" + }, { + "code": "371980003", + "display": "Primary malignant neoplasm of clitoris (disorder)" + }, { + "code": "371981004", + "display": "Primary malignant neoplasm of commissure of lip (disorder)" + }, { + "code": "371982006", + "display": "Malignant neoplasm of endocrine gland (disorder)" + }, { + "code": "371983001", + "display": "Primary malignant neoplasm of endocrine gland (disorder)" + }, { + "code": "371984007", + "display": "Primary malignant neoplasm of esophagus (disorder)" + }, { + "code": "371986009", + "display": "Primary malignant neoplasm of eye (disorder)" + }, { + "code": "371987000", + "display": "Primary malignant neoplasm of fallopian tube (disorder)" + }, { + "code": "371988005", + "display": "Primary malignant neoplasm of false vocal cord (disorder)" + }, { + "code": "371989002", + "display": "Primary malignant neoplasm of glans penis (disorder)" + }, { + "code": "371990006", + "display": "Primary malignant neoplasm of gum (disorder)" + }, { + "code": "371991005", + "display": "Primary malignant neoplasm of hard palate (disorder)" + }, { + "code": "371993008", + "display": "Primary malignant neoplasm of lacrimal gland (disorder)" + }, { + "code": "371994002", + "display": "Primary malignant neoplasm of laryngeal aspect of aryepiglottic fold (disorder)" + }, { + "code": "371995001", + "display": "Primary malignant neoplasm of larynx (disorder)" + }, { + "code": "371996000", + "display": "Primary malignant neoplasm of lip (disorder)" + }, { + "code": "371997009", + "display": "Primary malignant neoplasm of lower gum (disorder)" + }, { + "code": "371998004", + "display": "Primary malignant neoplasm of lower third of esophagus (disorder)" + }, { + "code": "371999007", + "display": "Primary malignant neoplasm of middle third of esophagus (disorder)" + }, { + "code": "372000001", + "display": "Primary malignant neoplasm of minor salivary gland (disorder)" + }, { + "code": "372001002", + "display": "Primary malignant neoplasm of oral cavity (disorder)" + }, { + "code": "372002009", + "display": "Primary malignant neoplasm of palate (disorder)" + }, { + "code": "372004005", + "display": "Primary malignant neoplasm of parotid gland (disorder)" + }, { + "code": "372005006", + "display": "Primary malignant neoplasm of penis (disorder)" + }, { + "code": "372006007", + "display": "Primary malignant neoplasm of prepuce (disorder)" + }, { + "code": "372008008", + "display": "Primary malignant neoplasm of scaphoid bone (disorder)" + }, { + "code": "372009000", + "display": "Primary malignant neoplasm of scrotum (disorder)" + }, { + "code": "372013007", + "display": "Primary malignant neoplasm of spermatic cord (disorder)" + }, { + "code": "372014001", + "display": "Primary malignant neoplasm of stomach (disorder)" + }, { + "code": "372015000", + "display": "Primary malignant neoplasm of the mesentery (disorder)" + }, { + "code": "372016004", + "display": "Primary malignant neoplasm of the peritoneum (disorder)" + }, { + "code": "372017008", + "display": "Primary malignant neoplasm of thoracic esophagus (disorder)" + }, { + "code": "372018003", + "display": "Malignant neoplasm of thoracic vertebral column (disorder)" + }, { + "code": "372019006", + "display": "Primary malignant neoplasm of thoracic vertebral column (disorder)" + }, { + "code": "372020000", + "display": "Primary malignant neoplasm of tonsil (disorder)" + }, { + "code": "372021001", + "display": "Primary malignant neoplasm of trapezium (disorder)" + }, { + "code": "372022008", + "display": "Primary malignant neoplasm of upper gum (disorder)" + }, { + "code": "372023003", + "display": "Primary malignant neoplasm of upper third of esophagus (disorder)" + }, { + "code": "372024009", + "display": "Primary malignant neoplasm of uterine cervix (disorder)" + }, { + "code": "372025005", + "display": "Primary malignant neoplasm of vagina (disorder)" + }, { + "code": "372026006", + "display": "Primary malignant neoplasm of vermilion border of lower lip (disorder)" + }, { + "code": "372027002", + "display": "Primary malignant neoplasm of vermilion border of upper lip (disorder)" + }, { + "code": "372028007", + "display": "Primary malignant neoplasm of vertebral column (disorder)" + }, { + "code": "372030009", + "display": "Primary malignant neoplasm of vocal cord (disorder)" + }, { + "code": "372062007", + "display": "Malignant neoplasm of central nervous system (disorder)" + }, { + "code": "372064008", + "display": "Malignant neoplasm of female breast (disorder)" + }, { + "code": "372065009", + "display": "Malignant neoplasm of main bronchus (disorder)" + }, { + "code": "372092003", + "display": "Primary malignant neoplasm of axillary tail of breast (disorder)" + }, { + "code": "372094002", + "display": "Malignant neoplasm of axillary tail of breast (disorder)" + }, { + "code": "372097009", + "display": "Malignant neoplasm of endocervix (disorder)" + }, { + "code": "372098004", + "display": "Carcinoma of endocervix (disorder)" + }, { + "code": "372099007", + "display": "Malignant neoplasm of exocervix (disorder)" + }, { + "code": "372100004", + "display": "Carcinoma of exocervix (disorder)" + }, { + "code": "372103002", + "display": "Carcinoma of glottis (disorder)" + }, { + "code": "372104008", + "display": "Carcinoma of subglottis (disorder)" + }, { + "code": "372105009", + "display": "Carcinoma of supraglottis (disorder)" + }, { + "code": "372106005", + "display": "Carcinoma of penis (disorder)" + }, { + "code": "372107001", + "display": "Primary malignant neoplasm of ribs and/or sternum and/or clavicle (disorder)" + }, { + "code": "372108006", + "display": "Malignant neoplasm of bone of lower limb (disorder)" + }, { + "code": "372110008", + "display": "Primary malignant neoplasm of lower lobe, bronchus or lung (disorder)" + }, { + "code": "372111007", + "display": "Carcinoma of lower lobe, bronchus or lung (disorder)" + }, { + "code": "372112000", + "display": "Primary malignant neoplasm of middle lobe, bronchus or lung (disorder)" + }, { + "code": "372113005", + "display": "Carcinoma of middle lobe, bronchus or lung (disorder)" + }, { + "code": "372115003", + "display": "Primary malignant neoplasm of pelvic bones, sacrum and coccyx (disorder)" + }, { + "code": "372116002", + "display": "Carcinoma of pelvic bones, sacrum and coccyx (disorder)" + }, { + "code": "372120003", + "display": "Carcinoma of main bronchus (disorder)" + }, { + "code": "372121004", + "display": "Carcinoma of ribs and/or sternum and/or clavicle (disorder)" + }, { + "code": "372122006", + "display": "Malignant neoplasm of skin head and neck (disorder)" + }, { + "code": "372126009", + "display": "Malignant neoplasm of skin of trunk (disorder)" + }, { + "code": "372131006", + "display": "Malignant neoplasm of upper limb bones and scapula (disorder)" + }, { + "code": "372133009", + "display": "Primary malignant neoplasm of upper limb bones and scapula (disorder)" + }, { + "code": "372135002", + "display": "Primary malignant neoplasm of upper lobe, bronchus or lung (disorder)" + }, { + "code": "372136001", + "display": "Carcinoma of upper lobe, bronchus or lung (disorder)" + }, { + "code": "372138000", + "display": "Carcinoma of esophagus (disorder)" + }, { + "code": "372141009", + "display": "Carcinoma of vocal cord (disorder)" + }, { + "code": "372142002", + "display": "Carcinoma of pancreas (disorder)" + }, { + "code": "372143007", + "display": "Carcinoma of stomach (disorder)" + }, { + "code": "373168002", + "display": "Reticulosarcoma (disorder)" + }, { + "code": "373888000", + "display": "Extrauterine adenocarcinoma (disorder)" + }, { + "code": "385478001", + "display": "Adenoma malignum (disorder)" + }, { + "code": "396198006", + "display": "Small cell carcinoma of prostate (disorder)" + }, { + "code": "397008008", + "display": "Aggressive lymphadenopathic mastocytosis with eosinophilia (disorder)" + }, { + "code": "397009000", + "display": "Mast cell malignancy (disorder)" + }, { + "code": "397011009", + "display": "Mast cell malignancy of lymph nodes (disorder)" + }, { + "code": "397015000", + "display": "Systemic mastocytosis with associated clonal hematological non-mast cell lineage disease (disorder)" + }, { + "code": "399068003", + "display": "Malignant tumor of prostate (disorder)" + }, { + "code": "399326009", + "display": "Malignant tumor of urinary bladder (disorder)" + }, { + "code": "399490008", + "display": "Adenocarcinoma of prostate (disorder)" + }, { + "code": "399590005", + "display": "Squamous cell carcinoma of prostate (disorder)" + }, { + "code": "399660006", + "display": "Ring melanoma of ciliary body (disorder)" + }, { + "code": "399934007", + "display": "Basal cell carcinoma of preauricular skin (disorder)" + }, { + "code": "399954008", + "display": "Basal cell carcinoma of earlobe (disorder)" + }, { + "code": "400001003", + "display": "Primary cutaneous lymphoma (disorder)" + }, { + "code": "400122007", + "display": "Primary cutaneous T-cell lymphoma (disorder)" + }, { + "code": "400174005", + "display": "Basal cell carcinoma of antihelix of ear (disorder)" + }, { + "code": "400175006", + "display": "Myxofibrosarcoma of skin (disorder)" + }, { + "code": "402494003", + "display": "Basal cell carcinoma of lower eyelid (disorder)" + }, { + "code": "402495002", + "display": "Basal cell carcinoma of medial canthus (disorder)" + }, { + "code": "402496001", + "display": "Basal cell carcinoma of lateral canthus (disorder)" + }, { + "code": "402497005", + "display": "Basal cell carcinoma of root of nose (disorder)" + }, { + "code": "402498000", + "display": "Basal cell carcinoma of dorsum of nose (disorder)" + }, { + "code": "402499008", + "display": "Basal cell carcinoma of lateral side wall of nose (disorder)" + }, { + "code": "402500004", + "display": "Basal cell carcinoma of ala nasi (disorder)" + }, { + "code": "402501000", + "display": "Basal cell carcinoma of supratip of nose (disorder)" + }, { + "code": "402502007", + "display": "Basal cell carcinoma of tip of nose (disorder)" + }, { + "code": "402503002", + "display": "Basal cell carcinoma of nasal columella (disorder)" + }, { + "code": "402504008", + "display": "Basal cell carcinoma of nasolabial groove (disorder)" + }, { + "code": "402505009", + "display": "Basal cell carcinoma of upper lip (disorder)" + }, { + "code": "402506005", + "display": "Basal cell carcinoma of lower lip (disorder)" + }, { + "code": "402507001", + "display": "Basal cell carcinoma of cheek (disorder)" + }, { + "code": "402508006", + "display": "Basal cell carcinoma of chin (disorder)" + }, { + "code": "402509003", + "display": "Basal cell carcinoma of neck (disorder)" + }, { + "code": "402510008", + "display": "Basal cell carcinoma of helix of ear (disorder)" + }, { + "code": "402511007", + "display": "Basal cell carcinoma of conchal bowl of ear (disorder)" + }, { + "code": "402512000", + "display": "Basal cell carcinoma of antitragus (disorder)" + }, { + "code": "402513005", + "display": "Basal cell carcinoma of tragus (disorder)" + }, { + "code": "402514004", + "display": "Basal cell carcinoma of obverse of pinna (disorder)" + }, { + "code": "402515003", + "display": "Basal cell carcinoma of anterior chest (disorder)" + }, { + "code": "402517006", + "display": "Basal cell carcinoma of upper back (disorder)" + }, { + "code": "402518001", + "display": "Basal cell carcinoma of lower back (disorder)" + }, { + "code": "402519009", + "display": "Basal cell carcinoma of face (disorder)" + }, { + "code": "402520003", + "display": "Basal cell carcinoma of hand (disorder)" + }, { + "code": "402521004", + "display": "Basal cell carcinoma of upper extremity (disorder)" + }, { + "code": "402524007", + "display": "Basal cell carcinoma - adamantinoid (disorder)" + }, { + "code": "402525008", + "display": "Basal cell carcinoma - adenoid (disorder)" + }, { + "code": "402526009", + "display": "Basal cell carcinoma - follicular (disorder)" + }, { + "code": "402527000", + "display": "Basal cell carcinoma - infiltrative (disorder)" + }, { + "code": "402528005", + "display": "Basal cell carcinoma - keratotic (disorder)" + }, { + "code": "402536001", + "display": "Basal cell carcinoma - primary (disorder)" + }, { + "code": "402558004", + "display": "Malignant melanoma (vertical growth phase) (disorder)" + }, { + "code": "402561003", + "display": "Malignant melanoma of soft tissues (disorder)" + }, { + "code": "402816008", + "display": "Squamous cell carcinoma of anogenital area (disorder)" + }, { + "code": "402817004", + "display": "Squamous cell carcinoma of nail apparatus (disorder)" + }, { + "code": "402818009", + "display": "Basal cell carcinoma of nose (disorder)" + }, { + "code": "402819001", + "display": "Basal cell carcinoma of skin of lip (disorder)" + }, { + "code": "402820007", + "display": "Basal cell carcinoma of ear (disorder)" + }, { + "code": "402880009", + "display": "Primary cutaneous large T-cell lymphoma (disorder)" + }, { + "code": "402881008", + "display": "Primary cutaneous B-cell lymphoma (disorder)" + }, { + "code": "402882001", + "display": "Hodgkin's disease affecting skin (disorder)" + }, { + "code": "403468003", + "display": "Squamous cell carcinoma of penis (disorder)" + }, { + "code": "403714009", + "display": "Psoralen and long-wave ultraviolet radiation therapy-associated malignant melanoma (disorder)" + }, { + "code": "403889000", + "display": "Verrucous carcinoma of oral cavity (disorder)" + }, { + "code": "403891008", + "display": "Squamous cell carcinoma of scalp (disorder)" + }, { + "code": "403893006", + "display": "Squamous cell carcinoma of forehead (disorder)" + }, { + "code": "403894000", + "display": "Squamous cell carcinoma of skin of ear (disorder)" + }, { + "code": "403902008", + "display": "Adenosquamous carcinoma (disorder)" + }, { + "code": "403904009", + "display": "Verrucous squamous cell carcinoma (disorder)" + }, { + "code": "403915004", + "display": "Basal cell carcinoma of scalp (disorder)" + }, { + "code": "403916003", + "display": "Basal cell carcinoma of forehead (disorder)" + }, { + "code": "403917007", + "display": "Basal cell carcinoma of temple (disorder)" + }, { + "code": "403918002", + "display": "Basal cell carcinoma of glabella (disorder)" + }, { + "code": "403919005", + "display": "Basal cell carcinoma of upper eyelid (disorder)" + }, { + "code": "403926005", + "display": "Malignant melanoma of oral cavity (disorder)" + }, { + "code": "403927001", + "display": "Malignant melanoma of nail apparatus (disorder)" + }, { + "code": "403949007", + "display": "Apocrine adenocarcinoma of skin (disorder)" + }, { + "code": "403950007", + "display": "Moll's gland adenocarcinoma (disorder)" + }, { + "code": "403951006", + "display": "Ceruminous gland adenocarcinoma of skin (disorder)" + }, { + "code": "403955002", + "display": "Undifferentiated adnexal carcinoma of skin (disorder)" + }, { + "code": "403977003", + "display": "Angiosarcoma (disorder)" + }, { + "code": "403978008", + "display": "Kaposi's sarcoma - sporadic (disorder)" + }, { + "code": "403979000", + "display": "Kaposi's sarcoma - endemic (disorder)" + }, { + "code": "404014008", + "display": "Malignant fibrous histiocytoma of skin (disorder)" + }, { + "code": "404090003", + "display": "Malignant infiltration of oral cavity by underlying tumor (disorder)" + }, { + "code": "404091004", + "display": "Malignant infiltration of skin by underlying tumor (disorder)" + }, { + "code": "404094007", + "display": "Metastasis involving oral cavity (disorder)" + }, { + "code": "404103007", + "display": "Lymphomatoid papulosis type A (CD-30 positive type) (disorder)" + }, { + "code": "404104001", + "display": "Lymphomatoid papulosis type B - mycosis fungoides-like (disorder)" + }, { + "code": "404105000", + "display": "Lymphomatoid papulosis type C (anaplastic large-cell lymphoma-like) (disorder)" + }, { + "code": "404106004", + "display": "Lymphomatoid papulosis with Hodgkin's disease (disorder)" + }, { + "code": "404107008", + "display": "Patch/plaque stage mycosis fungoides (disorder)" + }, { + "code": "404108003", + "display": "Poikilodermatous mycosis fungoides (disorder)" + }, { + "code": "404109006", + "display": "Follicular mucinosis type mycosis fungoides (disorder)" + }, { + "code": "404110001", + "display": "Hypomelanotic mycosis fungoides (disorder)" + }, { + "code": "404111002", + "display": "Lymphomatoid papulosis-associated mycosis fungoides (disorder)" + }, { + "code": "404112009", + "display": "Granulomatous mycosis fungoides (disorder)" + }, { + "code": "404113004", + "display": "Tumor stage mycosis fungoides (disorder)" + }, { + "code": "404114005", + "display": "Erythrodermic mycosis fungoides (disorder)" + }, { + "code": "404115006", + "display": "Bullous mycosis fungoides (disorder)" + }, { + "code": "404116007", + "display": "Mycosis fungoides with systemic infiltration (disorder)" + }, { + "code": "404117003", + "display": "Spongiotic mycosis fungoides (disorder)" + }, { + "code": "404118008", + "display": "Syringotropic mycosis fungoides (disorder)" + }, { + "code": "404119000", + "display": "Pagetoid reticulosis (disorder)" + }, { + "code": "404120006", + "display": "Localized pagetoid reticulosis (disorder)" + }, { + "code": "404121005", + "display": "Generalized pagetoid reticulosis (disorder)" + }, { + "code": "404122003", + "display": "Leukemic infiltration of skin (chronic T-cell lymphocytic leukemia) (disorder)" + }, { + "code": "404123008", + "display": "Leukemic infiltration of skin (T-cell prolymphocytic leukemia) (disorder)" + }, { + "code": "404124002", + "display": "Leukemic infiltration of skin (T-cell lymphoblastic leukemia) (disorder)" + }, { + "code": "404126000", + "display": "CD-30 positive pleomorphic large T-cell cutaneous lymphoma (disorder)" + }, { + "code": "404127009", + "display": "CD-30 positive T-immunoblastic cutaneous lymphoma (disorder)" + }, { + "code": "404128004", + "display": "CD-30 negative cutaneous T-cell lymphoma (disorder)" + }, { + "code": "404129007", + "display": "CD-30 negative anaplastic large T-cell cutaneous lymphoma (disorder)" + }, { + "code": "404130002", + "display": "CD-30 negative pleomorphic large T-cell cutaneous lymphoma (disorder)" + }, { + "code": "404131003", + "display": "CD-30 negative T-immunoblastic cutaneous lymphoma (disorder)" + }, { + "code": "404132005", + "display": "Pleomorphic small/medium-sized cell cutaneous T-cell lymphoma (disorder)" + }, { + "code": "404133000", + "display": "Subcutaneous panniculitic cutaneous T-cell lymphoma (disorder)" + }, { + "code": "404134006", + "display": "Anaplastic large T-cell systemic malignant lymphoma (disorder)" + }, { + "code": "404135007", + "display": "Angiocentric natural killer/T-cell malignant lymphoma involving skin (disorder)" + }, { + "code": "404136008", + "display": "Aggressive natural killer-cell leukemia involving skin (disorder)" + }, { + "code": "404137004", + "display": "Precursor B-cell lymphoblastic lymphoma involving skin (disorder)" + }, { + "code": "404138009", + "display": "Small lymphocytic B-cell lymphoma involving skin (disorder)" + }, { + "code": "404139001", + "display": "Leukemic infiltration of skin in hairy-cell leukemia (disorder)" + }, { + "code": "404140004", + "display": "Primary cutaneous marginal zone B-cell lymphoma (disorder)" + }, { + "code": "404141000", + "display": "Primary cutaneous immunocytoma (disorder)" + }, { + "code": "404142007", + "display": "Primary cutaneous plasmacytoma (disorder)" + }, { + "code": "404143002", + "display": "Primary cutaneous follicular center B-cell lymphoma (disorder)" + }, { + "code": "404144008", + "display": "Primary cutaneous diffuse large cell B-cell lymphoma (disorder)" + }, { + "code": "404145009", + "display": "Primary cutaneous anaplastic large cell B-cell lymphoma (disorder)" + }, { + "code": "404147001", + "display": "Follicular center B-cell lymphoma (nodal/systemic with skin involvement) (disorder)" + }, { + "code": "404148006", + "display": "Diffuse large B-cell lymphoma (nodal/systemic with skin involvement) (disorder)" + }, { + "code": "404149003", + "display": "Lymphoplasmacytic B-cell lymphoma, nodal/systemic with skin involvement (disorder)" + }, { + "code": "404150003", + "display": "Mantle cell B-cell lymphoma (nodal/systemic with skin involvement) (disorder)" + }, { + "code": "404151004", + "display": "Leukemic infiltration of skin in myeloid leukemia (disorder)" + }, { + "code": "404152006", + "display": "Leukemic infiltration of skin in acute myeloid leukemia (disorder)" + }, { + "code": "404153001", + "display": "Leukemic infiltration of skin in chronic myeloid leukemia (disorder)" + }, { + "code": "404154007", + "display": "Leukemic infiltration of skin in monocytic leukemia (disorder)" + }, { + "code": "404155008", + "display": "Granulocytic sarcoma affecting skin (disorder)" + }, { + "code": "404156009", + "display": "Leukemic infiltration of skin (disorder)" + }, { + "code": "404157000", + "display": "Specific skin infiltration in Hodgkin's disease (disorder)" + }, { + "code": "404169008", + "display": "Malignant histiocytosis involving skin (disorder)" + }, { + "code": "404172001", + "display": "Mast cell leukemia affecting skin (disorder)" + }, { + "code": "404653000", + "display": "Chiasmal glioma (disorder)" + }, { + "code": "404664002", + "display": "Malignant optic glioma (disorder)" + }, { + "code": "405546008", + "display": "Pericardial effusion co-occurrent and due to malignant neoplasm of pericardium (disorder)" + }, { + "code": "405822008", + "display": "Squamous cell carcinoma of larynx (disorder)" + }, { + "code": "405945003", + "display": "Malignant neoplasm of metatarsal bone of foot (disorder)" + }, { + "code": "408642003", + "display": "Transitional cell carcinoma of kidney (disorder)" + }, { + "code": "408643008", + "display": "Infiltrating duct carcinoma of breast (disorder)" + }, { + "code": "408644002", + "display": "Adenocarcinoma of duodenum (disorder)" + }, { + "code": "408646000", + "display": "Adenocarcinoma of liver (disorder)" + }, { + "code": "408647009", + "display": "Adenocarcinoma of stomach (disorder)" + }, { + "code": "408648004", + "display": "Squamous cell carcinoma of epiglottis (disorder)" + }, { + "code": "408649007", + "display": "Squamous cell carcinoma of pharynx (disorder)" + }, { + "code": "413389003", + "display": "Accelerated phase chronic myeloid leukemia (disorder)" + }, { + "code": "413441006", + "display": "Acute monocytic leukemia, FAB M5b (disorder)" + }, { + "code": "413442004", + "display": "Acute monocytic/monoblastic leukemia (disorder)" + }, { + "code": "413537009", + "display": "Angioimmunoblastic T-cell lymphoma (disorder)" + }, { + "code": "413656006", + "display": "Blastic phase chronic myeloid leukemia (disorder)" + }, { + "code": "413842007", + "display": "Chronic myeloid leukemia in lymphoid blast crisis (disorder)" + }, { + "code": "413843002", + "display": "Chronic myeloid leukemia in myeloid blast crisis (disorder)" + }, { + "code": "413847001", + "display": "Chronic phase chronic myeloid leukemia (disorder)" + }, { + "code": "414166008", + "display": "Extranodal natural killer/T-cell lymphoma, nasal type (disorder)" + }, { + "code": "414676007", + "display": "Metastatic neuroblastoma of orbit proper (disorder)" + }, { + "code": "414780005", + "display": "Mucosa-associated lymphoid tissue lymphoma of orbit (disorder)" + }, { + "code": "414785000", + "display": "Multiple solitary plasmacytomas (disorder)" + }, { + "code": "415112005", + "display": "Plasmacytoma (disorder)" + }, { + "code": "415287001", + "display": "Relapsing chronic myeloid leukemia (disorder)" + }, { + "code": "416351002", + "display": "Intraocular optic nerve glioma (disorder)" + }, { + "code": "416712009", + "display": "Clear cell (mesonephric) neoplasm of ovary (disorder)" + }, { + "code": "416769008", + "display": "Malignant teratoma of testis (disorder)" + }, { + "code": "416842003", + "display": "Malignant sacral teratoma (disorder)" + }, { + "code": "416901002", + "display": "Malignant medulloepithelioma of ciliary body (disorder)" + }, { + "code": "417417007", + "display": "Malignant teratoma of undescended testis (disorder)" + }, { + "code": "417554000", + "display": "Malignant teratoma of descended testis (disorder)" + }, { + "code": "417570003", + "display": "Gestational choriocarcinoma (disorder)" + }, { + "code": "417619001", + "display": "Intracranial optic nerve glioma (disorder)" + }, { + "code": "418372008", + "display": "Squamous cell carcinoma of mucous membrane of lower lip (disorder)" + }, { + "code": "419052002", + "display": "Malignant tumor of urinary system (disorder)" + }, { + "code": "419240004", + "display": "Squamous cell carcinoma of mucous membrane of upper lip (disorder)" + }, { + "code": "419842002", + "display": "Squamous cell carcinoma of oral mucous membrane (disorder)" + }, { + "code": "420302007", + "display": "Reticulosarcoma associated with acquired immunodeficiency syndrome (disorder)" + }, { + "code": "420519005", + "display": "Malignant lymphoma of the eye region (disorder)" + }, { + "code": "420524008", + "display": "Kaposi's sarcoma associated with acquired immunodeficiency syndrome (disorder)" + }, { + "code": "420788006", + "display": "Intraocular non-Hodgkin malignant lymphoma (disorder)" + }, { + "code": "421246008", + "display": "Precursor T-cell lymphoblastic lymphoma (disorder)" + }, { + "code": "421249001", + "display": "Malignant tumor of vermilion border of lip (disorder)" + }, { + "code": "421283008", + "display": "Primary lymphoma of brain associated with acquired immunodeficiency syndrome (disorder)" + }, { + "code": "422378004", + "display": "Squamous cell carcinoma of bridge of nose (disorder)" + }, { + "code": "422541001", + "display": "Undifferentiated carcinoma of nasopharynx (disorder)" + }, { + "code": "422572002", + "display": "Squamous cell carcinoma of chin (disorder)" + }, { + "code": "422676009", + "display": "Squamous cell carcinoma of ala nasi (disorder)" + }, { + "code": "422691006", + "display": "Squamous cell carcinoma of nasopharynx (disorder)" + }, { + "code": "422758009", + "display": "Carcinoma of nasal meatus (disorder)" + }, { + "code": "422782004", + "display": "Primary malignant neoplasm of ovary, with widespread metastatic disease (disorder)" + }, { + "code": "422833009", + "display": "Adenoid cystic carcinoma of salivary gland (disorder)" + }, { + "code": "422853008", + "display": "Lymphoma of retroperitoneal space (disorder)" + }, { + "code": "422886007", + "display": "Olfactory neuroblastoma (disorder)" + }, { + "code": "422968005", + "display": "Non-small cell carcinoma of lung, TNM stage 3 (disorder)" + }, { + "code": "423005002", + "display": "Primary malignant neoplasm of lacrimal gland duct (disorder)" + }, { + "code": "423032007", + "display": "Leukemic infiltration of orbit (disorder)" + }, { + "code": "423038006", + "display": "Polymorphous low grade adenocarcinoma of salivary gland (disorder)" + }, { + "code": "423050000", + "display": "Large cell carcinoma of lung, TNM stage 2 (disorder)" + }, { + "code": "423106003", + "display": "Adenocarcinoma of nasopharynx (disorder)" + }, { + "code": "423121009", + "display": "Non-small cell carcinoma of lung, TNM stage 4 (disorder)" + }, { + "code": "423158009", + "display": "Hurthle cell carcinoma of thyroid (disorder)" + }, { + "code": "423189008", + "display": "Adenoid cystic carcinoma of submandibular gland (disorder)" + }, { + "code": "423195009", + "display": "Primary malignant neoplasm of lacrimal drainage system (disorder)" + }, { + "code": "423280002", + "display": "Malignant melanoma of skin of canthus of eye (disorder)" + }, { + "code": "423295000", + "display": "Squamous cell carcinoma of lung, TNM stage 1 (disorder)" + }, { + "code": "423318000", + "display": "Adenoid cystic carcinoma of oropharynx (disorder)" + }, { + "code": "423349005", + "display": "Carcinoma of tip of nose (disorder)" + }, { + "code": "423384009", + "display": "Secondary malignant neoplasm of lacrimal gland duct (disorder)" + }, { + "code": "423424005", + "display": "Mucoepidermoid carcinoma of submandibular gland (disorder)" + }, { + "code": "423425006", + "display": "Malignant neoplasm of skin of eyelid (disorder)" + }, { + "code": "423447006", + "display": "Malignant melanoma of skin of lower eyelid (disorder)" + }, { + "code": "423463003", + "display": "Basal cell carcinoma of back (disorder)" + }, { + "code": "423464009", + "display": "Squamous cell carcinoma of oropharynx (disorder)" + }, { + "code": "423468007", + "display": "Squamous cell carcinoma of lung, TNM stage 2 (disorder)" + }, { + "code": "423494003", + "display": "Malignant melanoma of skin of upper eyelid (disorder)" + }, { + "code": "423506005", + "display": "Squamous cell carcinoma of external auditory canal (disorder)" + }, { + "code": "423535002", + "display": "Basal cell carcinoma of chest wall (disorder)" + }, { + "code": "423600008", + "display": "Large cell carcinoma of lung, TNM stage 4 (disorder)" + }, { + "code": "423607006", + "display": "Adenocarcinoma of anus (disorder)" + }, { + "code": "423610004", + "display": "Rhabdomyosarcoma of connective or soft tissue (disorder)" + }, { + "code": "423615009", + "display": "Adenoid cystic carcinoma of parotid gland (disorder)" + }, { + "code": "423627007", + "display": "Sarcoma of ovary (disorder)" + }, { + "code": "423673009", + "display": "Malignant melanoma of retina (disorder)" + }, { + "code": "423691004", + "display": "Malignant neoplasm of gum and contiguous sites (disorder)" + }, { + "code": "423700001", + "display": "Squamous cell carcinoma of auricle of ear (disorder)" + }, { + "code": "423708008", + "display": "Mucoepidermoid carcinoma of salivary gland (disorder)" + }, { + "code": "423793008", + "display": "Mucoepidermoid carcinoma of parotid gland (disorder)" + }, { + "code": "423807009", + "display": "Primary leiomyosarcoma (disorder)" + }, { + "code": "423896007", + "display": "Squamous cell carcinoma of tip of nose (disorder)" + }, { + "code": "423973006", + "display": "Carcinoma of uterine cervix, invasive (disorder)" + }, { + "code": "423987006", + "display": "Primary malignant neoplasm of vulva, with widespread metastatic disease (disorder)" + }, { + "code": "424132000", + "display": "Non-small cell carcinoma of lung, TNM stage 1 (disorder)" + }, { + "code": "424151006", + "display": "Anaplastic glioma of brain (disorder)" + }, { + "code": "424260006", + "display": "Squamous cell carcinoma of nasolabial fold (disorder)" + }, { + "code": "424276002", + "display": "Malignant glioma of brainstem (disorder)" + }, { + "code": "424302003", + "display": "Malignant melanoma of skin of lower lip (disorder)" + }, { + "code": "424334007", + "display": "Malignant tumor of spinal cord, intramedullary (disorder)" + }, { + "code": "424487008", + "display": "Malignant melanoma of skin of upper lip (disorder)" + }, { + "code": "424549003", + "display": "Malignant tumor of spinal cord, extramedullary (disorder)" + }, { + "code": "424666005", + "display": "Basal cell carcinoma of auricle of ear (disorder)" + }, { + "code": "424779008", + "display": "Primary Kaposi's sarcoma of oral cavity (disorder)" + }, { + "code": "424849005", + "display": "Primary sarcoma of tongue (disorder)" + }, { + "code": "424887002", + "display": "Primary malignant neoplasm of thyroid gland, metastatic to bone (disorder)" + }, { + "code": "424938000", + "display": "Large cell carcinoma of lung, TNM stage 1 (disorder)" + }, { + "code": "424952003", + "display": "Sarcoma of soft tissue (disorder)" + }, { + "code": "424954002", + "display": "Undifferentiated large cell carcinomatosis (disorder)" + }, { + "code": "424970000", + "display": "Large cell carcinoma of lung, TNM stage 3 (disorder)" + }, { + "code": "425048006", + "display": "Non-small cell carcinoma of lung, TNM stage 2 (disorder)" + }, { + "code": "425066001", + "display": "Carcinoma of urinary bladder, invasive (disorder)" + }, { + "code": "425127006", + "display": "Carcinoma ex pleomorphic adenoma of parotid gland (disorder)" + }, { + "code": "425148008", + "display": "Squamous cell carcinoma of temple (disorder)" + }, { + "code": "425178004", + "display": "Adenocarcinoma of rectosigmoid junction (disorder)" + }, { + "code": "425225007", + "display": "Malignant mixed tumor of salivary gland (disorder)" + }, { + "code": "425230006", + "display": "Squamous cell carcinoma of lung, TNM stage 3 (disorder)" + }, { + "code": "425231005", + "display": "Carcinoma of urinary bladder, superficial (disorder)" + }, { + "code": "425376008", + "display": "Squamous cell carcinoma of lung, TNM stage 4 (disorder)" + }, { + "code": "425688002", + "display": "Philadelphia chromosome-positive acute lymphoblastic leukemia (disorder)" + }, { + "code": "426336007", + "display": "Solitary osseous myeloma (disorder)" + }, { + "code": "426885008", + "display": "Hodgkin's disease, lymphocytic depletion of lymph nodes of head (disorder)" + }, { + "code": "426964009", + "display": "Non-small cell lung cancer, positive for epidermal growth factor receptor expression (disorder)" + }, { + "code": "427038005", + "display": "Non-small cell lung cancer, negative for epidermal growth factor receptor expression (disorder)" + }, { + "code": "427492003", + "display": "Hormone refractory prostate cancer (disorder)" + }, { + "code": "428061005", + "display": "Malignant neoplasm of brain (disorder)" + }, { + "code": "428100006", + "display": "Malignant neoplasm of thoracic cavity structure (disorder)" + }, { + "code": "428281000", + "display": "Malignant neoplasm of bone (disorder)" + }, { + "code": "428753007", + "display": "Low grade glioma of cerebellum (disorder)" + }, { + "code": "428960009", + "display": "Low grade glioma of brainstem (disorder)" + }, { + "code": "428964000", + "display": "Low grade glioma of cerebrum (disorder)" + }, { + "code": "428965004", + "display": "Low grade glioma of thalamus (disorder)" + }, { + "code": "429033009", + "display": "Malignant neoplasm of cerebrum (disorder)" + }, { + "code": "429408002", + "display": "Low grade glioma of brain (disorder)" + }, { + "code": "429565004", + "display": "Germ cell tumor of the brain (disorder)" + }, { + "code": "430338009", + "display": "Smoldering chronic lymphocytic leukemia (disorder)" + }, { + "code": "430621000", + "display": "Malignant neoplasm of lower respiratory tract (disorder)" + }, { + "code": "432131000124100", + "display": "Malignant mesothelioma of the tunica vaginalis (disorder)" + }, { + "code": "432328008", + "display": "Neuroblastoma (disorder)" + }, { + "code": "433067002", + "display": "Adamantinoma of femur (disorder)" + }, { + "code": "438946002", + "display": "Siewert type I adenocarcinoma of esophagogastric junction (disorder)" + }, { + "code": "439478008", + "display": "Siewert type III adenocarcinoma of esophagogastric junction (disorder)" + }, { + "code": "440173001", + "display": "Nonsquamous nonsmall cell neoplasm of lung (disorder)" + }, { + "code": "440397000", + "display": "Primary osteosarcoma of pelvis (disorder)" + }, { + "code": "440501006", + "display": "Siewert type II adenocarcinoma of esophagogastric junction (disorder)" + }, { + "code": "440525003", + "display": "Primary small cell neoplasm of thymus (disorder)" + }, { + "code": "440527006", + "display": "Primary squamous cell carcinoma of naris (disorder)" + }, { + "code": "441535001", + "display": "Adenocarcinoma of head and neck (disorder)" + }, { + "code": "441559006", + "display": "Mantle cell lymphoma of spleen (disorder)" + }, { + "code": "441962003", + "display": "Large cell lymphoma of intrapelvic lymph nodes (disorder)" + }, { + "code": "442537007", + "display": "Non-Hodgkin lymphoma associated with Human immunodeficiency virus infection (disorder)" + }, { + "code": "443136000", + "display": "Malignant neoplasm of skin of face (disorder)" + }, { + "code": "443261008", + "display": "Oxyphilic adenocarcinoma (disorder)" + }, { + "code": "443333004", + "display": "Medulloblastoma (disorder)" + }, { + "code": "443487006", + "display": "Mantle cell lymphoma (disorder)" + }, { + "code": "443675005", + "display": "Seminoma (disorder)" + }, { + "code": "443719001", + "display": "Leiomyosarcoma (disorder)" + }, { + "code": "443961001", + "display": "Malignant adenomatous neoplasm (disorder)" + }, { + "code": "444545003", + "display": "Glioma of brainstem (disorder)" + }, { + "code": "444597005", + "display": "Extranodal marginal zone lymphoma of mucosa-associated lymphoid tissue of stomach (disorder)" + }, { + "code": "444712000", + "display": "Mucinous carcinoma of breast (disorder)" + }, { + "code": "444910004", + "display": "Primary mediastinal (thymic) large B-cell lymphoma (disorder)" + }, { + "code": "444911000", + "display": "Acute myeloid leukemia with t(9:11)(p22;q23); MLLT3-MLL (disorder)" + }, { + "code": "445227008", + "display": "Juvenile myelomonocytic leukemia (disorder)" + }, { + "code": "445269007", + "display": "Extranodal marginal zone B-cell lymphoma of mucosa-associated lymphoid tissue (disorder)" + }, { + "code": "445406001", + "display": "Hepatosplenic T-cell lymphoma (disorder)" + }, { + "code": "445448008", + "display": "Acute myeloid leukemia with myelodysplasia-related changes (disorder)" + }, { + "code": "445736006", + "display": "Gastrointestinal stromal tumor of stomach (disorder)" + }, { + "code": "446022000", + "display": "Malignant epithelial neoplasm of uterus (disorder)" + }, { + "code": "446076000", + "display": "Extragastrointestinal stromal tumor of peritoneum (disorder)" + }, { + "code": "446124001", + "display": "Gastrointestinal stromal tumor of esophagus (disorder)" + }, { + "code": "446710005", + "display": "Low grade prostatic intraepithelial neoplasia (disorder)" + }, { + "code": "447100004", + "display": "Marginal zone lymphoma (disorder)" + }, { + "code": "447266004", + "display": "Sarcoma of endometrium (disorder)" + }, { + "code": "447389009", + "display": "Leiomyosarcoma of uterus (disorder)" + }, { + "code": "447390000", + "display": "Adenosarcoma of uterus (disorder)" + }, { + "code": "447656001", + "display": "Lymphoma of pylorus of stomach (disorder)" + }, { + "code": "447658000", + "display": "Lymphoma of fundus of stomach (disorder)" + }, { + "code": "447705002", + "display": "Malignant germ cell neoplasm of posterior mediastinum (disorder)" + }, { + "code": "447706001", + "display": "Leiomyosarcoma of scalp (disorder)" + }, { + "code": "447707005", + "display": "Leiomyosarcoma of cardia of stomach (disorder)" + }, { + "code": "447708000", + "display": "Malignant germ cell neoplasm of anterior mediastinum (disorder)" + }, { + "code": "447712006", + "display": "Malignant melanoma of skin of anus (disorder)" + }, { + "code": "447738006", + "display": "Paget's disease of skin of scrotum (disorder)" + }, { + "code": "447757002", + "display": "Angiosarcoma of cheek (disorder)" + }, { + "code": "447766003", + "display": "Lymphoma of pyloric antrum of stomach (disorder)" + }, { + "code": "447781009", + "display": "Malignant epithelial neoplasm of peritoneum (disorder)" + }, { + "code": "447782002", + "display": "Malignant epithelial neoplasm of female breast (disorder)" + }, { + "code": "447783007", + "display": "Sarcoma of peritoneum (disorder)" + }, { + "code": "447784001", + "display": "Sarcoma of axillary tail of female breast (disorder)" + }, { + "code": "447785000", + "display": "Leiomyosarcoma of stomach (disorder)" + }, { + "code": "447800002", + "display": "Adenocarcinoma of scrotum (disorder)" + }, { + "code": "447804006", + "display": "Leiomyosarcoma of connective tissue (disorder)" + }, { + "code": "447805007", + "display": "Lymphoma of greater curvature of stomach (disorder)" + }, { + "code": "447806008", + "display": "Lymphoma of cardia of stomach (disorder)" + }, { + "code": "447882007", + "display": "Malignant epithelial neoplasm of vulva (disorder)" + }, { + "code": "447886005", + "display": "Adenocarcinoma of anorectum (disorder)" + }, { + "code": "447949005", + "display": "Malignant epithelial neoplasm of cheek (disorder)" + }, { + "code": "447989004", + "display": "Non-Hodgkin's lymphoma of extranodal site (disorder)" + }, { + "code": "448139005", + "display": "Fibrosarcoma of connective tissue (disorder)" + }, { + "code": "448148000", + "display": "Functioning pituitary neoplasm (disorder)" + }, { + "code": "448212009", + "display": "Anaplastic lymphoma kinase negative anaplastic large cell lymphoma (disorder)" + }, { + "code": "448213004", + "display": "Diffuse non-Hodgkin's lymphoma of prostate (disorder)" + }, { + "code": "448214005", + "display": "Malignant epithelial neoplasm of oropharynx (disorder)" + }, { + "code": "448215006", + "display": "Malignant epithelial neoplasm of renal pelvis (disorder)" + }, { + "code": "448216007", + "display": "Malignant epithelial neoplasm of thyroid (disorder)" + }, { + "code": "448217003", + "display": "Follicular non-Hodgkin's lymphoma of prostate (disorder)" + }, { + "code": "448218008", + "display": "Malignant neoplasm of cerebellopontine angle (disorder)" + }, { + "code": "448220006", + "display": "Non-Hodgkin's lymphoma of bone (disorder)" + }, { + "code": "448221005", + "display": "Sarcoma of fibula (disorder)" + }, { + "code": "448229007", + "display": "Leiomyosarcoma of lower esophagus (disorder)" + }, { + "code": "448231003", + "display": "Follicular non-Hodgkin's lymphoma of nose (disorder)" + }, { + "code": "448233000", + "display": "Malignant neoplasm of urinary organ (disorder)" + }, { + "code": "448248006", + "display": "Malignant neoplasm of axial suprasellar region of brain (disorder)" + }, { + "code": "448250003", + "display": "Malignant teratoma of pineal region (disorder)" + }, { + "code": "448254007", + "display": "Non-Hodgkin's lymphoma of central nervous system (disorder)" + }, { + "code": "448257000", + "display": "Sarcoma of male breast (disorder)" + }, { + "code": "448258005", + "display": "Sarcoma of mesentery (disorder)" + }, { + "code": "448259002", + "display": "Sarcoma of posterior mediastinum (disorder)" + }, { + "code": "448269008", + "display": "Lymphoma of lesser curvature of stomach (disorder)" + }, { + "code": "448273006", + "display": "Malignant melanoma of skin of scrotum (disorder)" + }, { + "code": "448298007", + "display": "Malignant melanoma of skin of penis (disorder)" + }, { + "code": "448299004", + "display": "Malignant neoplasm of mastoid (disorder)" + }, { + "code": "448300007", + "display": "Malignant melanoma of skin of vulva (disorder)" + }, { + "code": "448315008", + "display": "Malignant epithelial neoplasm of anus (disorder)" + }, { + "code": "448317000", + "display": "Follicular non-Hodgkin's lymphoma of soft tissue (disorder)" + }, { + "code": "448319002", + "display": "Diffuse non-Hodgkin's lymphoma of nasopharynx (disorder)" + }, { + "code": "448354009", + "display": "Non-Hodgkin's lymphoma of intestine (disorder)" + }, { + "code": "448371005", + "display": "Non-Hodgkin's lymphoma of nasopharynx (disorder)" + }, { + "code": "448372003", + "display": "Non-Hodgkin's lymphoma of lung (disorder)" + }, { + "code": "448376000", + "display": "Non-Hodgkin's lymphoma of ovary (disorder)" + }, { + "code": "448377009", + "display": "Sarcoma of sacrum (disorder)" + }, { + "code": "448378004", + "display": "Sarcoma of bone of foot (disorder)" + }, { + "code": "448384001", + "display": "Non-Hodgkin's lymphoma of nose (disorder)" + }, { + "code": "448386004", + "display": "Non-Hodgkin's lymphoma of oral cavity (disorder)" + }, { + "code": "448387008", + "display": "Non-Hodgkin's lymphoma of testis (disorder)" + }, { + "code": "448388003", + "display": "Sarcoma of lower outer quadrant of female breast (disorder)" + }, { + "code": "448401007", + "display": "Choriocarcinoma of placenta (disorder)" + }, { + "code": "448408001", + "display": "Sarcoma of upper inner quadrant of female breast (disorder)" + }, { + "code": "448435005", + "display": "Sarcoma lower inner quadrant of female breast (disorder)" + }, { + "code": "448436006", + "display": "Sarcoma of central portion of female breast (disorder)" + }, { + "code": "448447004", + "display": "Non-Hodgkin's lymphoma of skin (disorder)" + }, { + "code": "448449001", + "display": "Sarcoma of female breast (disorder)" + }, { + "code": "448450001", + "display": "Sarcoma of omentum (disorder)" + }, { + "code": "448451002", + "display": "Sarcoma upper outer quadrant of female breast (disorder)" + }, { + "code": "448465000", + "display": "Diffuse non-Hodgkin's lymphoma of testis (disorder)" + }, { + "code": "448468003", + "display": "Diffuse non-Hodgkin's lymphoma of oral cavity (disorder)" + }, { + "code": "448509007", + "display": "Transglottic malignant neoplasm of larynx (disorder)" + }, { + "code": "448553002", + "display": "Lymphoma of pelvis (disorder)" + }, { + "code": "448555009", + "display": "Lymphoma of body of stomach (disorder)" + }, { + "code": "448558006", + "display": "Malignant neoplasm of maxillofacial bone (disorder)" + }, { + "code": "448560008", + "display": "Diffuse non-Hodgkin's lymphoma of extranodal site (disorder)" + }, { + "code": "448561007", + "display": "Follicular non-Hodgkin's lymphoma of extranodal site (disorder)" + }, { + "code": "448607004", + "display": "Diffuse non-Hodgkin's lymphoma of uterine cervix (disorder)" + }, { + "code": "448609001", + "display": "Diffuse non-Hodgkin's lymphoma of ovary (disorder)" + }, { + "code": "448663003", + "display": "Diffuse non-Hodgkin's lymphoma of stomach (disorder)" + }, { + "code": "448665005", + "display": "Malignant epithelial neoplasm of hypopharynx (disorder)" + }, { + "code": "448666006", + "display": "Follicular non-Hodgkin's lymphoma of bone (disorder)" + }, { + "code": "448668007", + "display": "Malignant neoplasm of mandible (disorder)" + }, { + "code": "448669004", + "display": "Malignant neoplasm of soft tissue of orbit (disorder)" + }, { + "code": "448670003", + "display": "Malignant neoplasm of posterior mediastinum (disorder)" + }, { + "code": "448672006", + "display": "Follicular non-Hodgkin's lymphoma of lung (disorder)" + }, { + "code": "448674007", + "display": "Malignant neoplasm of parametrium (disorder)" + }, { + "code": "448709005", + "display": "Non-Hodgkin's lymphoma of stomach (disorder)" + }, { + "code": "448710000", + "display": "Sarcoma of bone (disorder)" + }, { + "code": "448711001", + "display": "Sarcoma of back (disorder)" + }, { + "code": "448712008", + "display": "Sarcoma of femur (disorder)" + }, { + "code": "448738008", + "display": "Non-Hodgkin's lymphoma of soft tissue (disorder)" + }, { + "code": "448774004", + "display": "Non-Hodgkin's lymphoma of uterine cervix (disorder)" + }, { + "code": "448775003", + "display": "Sarcoma of radius (disorder)" + }, { + "code": "448776002", + "display": "Sarcoma of vertebra (disorder)" + }, { + "code": "448863000", + "display": "Malignant epithelial neoplasm of pineal gland (disorder)" + }, { + "code": "448864006", + "display": "Malignant epithelial neoplasm of ureter (disorder)" + }, { + "code": "448865007", + "display": "Follicular non-Hodgkin's lymphoma of skin (disorder)" + }, { + "code": "448867004", + "display": "Diffuse non-Hodgkin's lymphoma of lung (disorder)" + }, { + "code": "448868009", + "display": "Malignant neoplasm of lateral wall of oropharynx (disorder)" + }, { + "code": "448930008", + "display": "Squamous cell carcinoma of nose (disorder)" + }, { + "code": "448931007", + "display": "Squamous cell carcinoma of shoulder (disorder)" + }, { + "code": "448952004", + "display": "Infiltrating duct carcinoma of female breast (disorder)" + }, { + "code": "448954003", + "display": "Malignant epithelial neoplasm of urethra (disorder)" + }, { + "code": "448988009", + "display": "Malignant epithelial neoplasm of nose (disorder)" + }, { + "code": "448989001", + "display": "Malignant epithelial neoplasm of brain (disorder)" + }, { + "code": "448990005", + "display": "Malignant epithelial neoplasm of nasal cavity (disorder)" + }, { + "code": "448992002", + "display": "Malignant epithelial neoplasm of appendix (disorder)" + }, { + "code": "448993007", + "display": "Malignant epithelial neoplasm of lung (disorder)" + }, { + "code": "448995000", + "display": "Follicular non-Hodgkin's lymphoma of central nervous system (disorder)" + }, { + "code": "449034009", + "display": "Malignant neoplasm of anterior and lateral floor of mouth (disorder)" + }, { + "code": "449053004", + "display": "Lymphoma of lower esophagus (disorder)" + }, { + "code": "449054005", + "display": "Malignant epithelial neoplasm of fundus of uterus (disorder)" + }, { + "code": "449055006", + "display": "Leiomyosarcoma of cardioesophageal junction (disorder)" + }, { + "code": "449058008", + "display": "Follicular non-Hodgkin's lymphoma of tonsil (disorder)" + }, { + "code": "449059000", + "display": "Follicular non-Hodgkin's lymphoma of uterine cervix (disorder)" + }, { + "code": "449063007", + "display": "Follicular non-Hodgkin's lymphoma of oral cavity (disorder)" + }, { + "code": "449065000", + "display": "Diffuse non-Hodgkin's lymphoma of nose (disorder)" + }, { + "code": "449066004", + "display": "Malignant neoplasm of upper respiratory tract (disorder)" + }, { + "code": "449067008", + "display": "Malignant neoplasm of parietal pleura (disorder)" + }, { + "code": "449072004", + "display": "Lymphoma of gastrointestinal tract (disorder)" + }, { + "code": "449073009", + "display": "Malignant epithelial neoplasm of body of uterus (disorder)" + }, { + "code": "449074003", + "display": "Lymphoma of small intestine (disorder)" + }, { + "code": "449075002", + "display": "Lymphoma of cardioesophageal junction (disorder)" + }, { + "code": "449077005", + "display": "Malignant epithelial neoplasm of maxilla (disorder)" + }, { + "code": "449100005", + "display": "Sarcoma of bone of pelvis (disorder)" + }, { + "code": "449101009", + "display": "Sarcoma of sternum (disorder)" + }, { + "code": "449108003", + "display": "Philadelphia chromosome positive chronic myelogenous leukemia (disorder)" + }, { + "code": "449153001", + "display": "Adenocarcinoma of lower esophagus (disorder)" + }, { + "code": "449156009", + "display": "Malignant epithelial neoplasm of floor of mouth (disorder)" + }, { + "code": "449173006", + "display": "Diffuse non-Hodgkin's lymphoma of tonsil (disorder)" + }, { + "code": "449176003", + "display": "Diffuse non-Hodgkin's lymphoma of intestine (disorder)" + }, { + "code": "449177007", + "display": "Diffuse non-Hodgkin's lymphoma of bone (disorder)" + }, { + "code": "449206007", + "display": "Sarcoma of tibia (disorder)" + }, { + "code": "449207003", + "display": "Sarcoma of humerus (disorder)" + }, { + "code": "449208008", + "display": "Sarcoma of coccyx (disorder)" + }, { + "code": "449216004", + "display": "Diffuse non-Hodgkin's lymphoma of soft tissue (disorder)" + }, { + "code": "449217008", + "display": "Diffuse non-Hodgkin's lymphoma of skin (disorder)" + }, { + "code": "449218003", + "display": "Lymphoma of sigmoid colon (disorder)" + }, { + "code": "449219006", + "display": "Follicular non-Hodgkin's lymphoma of nasopharynx (disorder)" + }, { + "code": "449220000", + "display": "Diffuse follicle center lymphoma (disorder)" + }, { + "code": "449221001", + "display": "Diffuse non-Hodgkin's lymphoma of central nervous system (disorder)" + }, { + "code": "449222008", + "display": "Follicular non-Hodgkin's lymphoma of stomach (disorder)" + }, { + "code": "449223003", + "display": "Malignant neoplasm of alveolus of maxilla (disorder)" + }, { + "code": "449224009", + "display": "Malignant neoplasm of anterior mediastinum (disorder)" + }, { + "code": "449248000", + "display": "Nasopharyngeal carcinoma (disorder)" + }, { + "code": "449253005", + "display": "Malignant epithelial neoplasm of hypothalamus (disorder)" + }, { + "code": "449254004", + "display": "Malignant epithelial neoplasm of pharynx (disorder)" + }, { + "code": "449259009", + "display": "Malignant neoplasm of broad ligament of uterus (disorder)" + }, { + "code": "449260004", + "display": "Malignant neoplasm of alveolus dentalis (disorder)" + }, { + "code": "449267001", + "display": "Sarcoma of mandible (disorder)" + }, { + "code": "449268006", + "display": "Sarcoma of clavicle (disorder)" + }, { + "code": "449269003", + "display": "Sarcoma of rib (disorder)" + }, { + "code": "449292003", + "display": "Non-Hodgkin's lymphoma of tonsil (disorder)" + }, { + "code": "449294002", + "display": "Sarcoma of scapula (disorder)" + }, { + "code": "449295001", + "display": "Sarcoma of skull (disorder)" + }, { + "code": "449307001", + "display": "Follicular non-Hodgkin's lymphoma of ovary (disorder)" + }, { + "code": "449308006", + "display": "Malignant neoplasm of visceral pleura (disorder)" + }, { + "code": "449309003", + "display": "Malignant neoplasm of skin of scrotum (disorder)" + }, { + "code": "449318001", + "display": "Non-Hodgkin's lymphoma of prostate (disorder)" + }, { + "code": "449377002", + "display": "Malignant neoplasm of pelvic peritoneum (disorder)" + }, { + "code": "449386007", + "display": "Philadelphia chromosome negative chronic myelogenous leukemia (disorder)" + }, { + "code": "449416001", + "display": "Malignant epithelial neoplasm of skin of anus (disorder)" + }, { + "code": "449417005", + "display": "Malignant epithelial neoplasm of nasal septum (disorder)" + }, { + "code": "449418000", + "display": "Follicular non-Hodgkin's lymphoma of testis (disorder)" + }, { + "code": "449419008", + "display": "Follicular non-Hodgkin's lymphoma of intestine (disorder)" + }, { + "code": "449420002", + "display": "Malignant neoplasm of cerebellum (disorder)" + }, { + "code": "449472007", + "display": "Malignant epithelial neoplasm of alveolus dentalis (disorder)" + }, { + "code": "449487002", + "display": "Malignant epithelial neoplasm of mandible (disorder)" + }, { + "code": "449497006", + "display": "Sarcoma of pelvic peritoneum (disorder)" + }, { + "code": "449578008", + "display": "Malignant neoplasm of alveolus of mandible (disorder)" + }, { + "code": "449628003", + "display": "Malignant neoplasm of long bone of lower leg (disorder)" + }, { + "code": "449636007", + "display": "Malignant melanoma of skin of lower leg (disorder)" + }, { + "code": "449637003", + "display": "Malignant melanoma of skin of upper arm (disorder)" + }, { + "code": "449803009", + "display": "Primary malignant neoplasm of dome of urinary bladder (disorder)" + }, { + "code": "450521000124109", + "display": "Marginal zone lymphoma of axillary lymph node (disorder)" + }, { + "code": "456911000124108", + "display": "Diffuse non-Hodgkin's lymphoma Lugano stage III (disorder)" + }, { + "code": "458581000124106", + "display": "Metastatic HER2 positive neoplasm of gastroesophageal junction (disorder)" + }, { + "code": "459371000124108", + "display": "Metastasis from gastroesophageal adenocarcinoma (disorder)" + }, { + "code": "459381000124106", + "display": "Metastasis from hormone-refractory prostate cancer (disorder)" + }, { + "code": "473419009", + "display": "Intraductal papillary mucinous carcinoma in situ of pancreas (disorder)" + }, { + "code": "58961005", + "display": "Lethal midline granuloma (disorder)" + }, { + "code": "61301000119102", + "display": "Disorder of central nervous system co-occurrent and due to acute lymphoid leukemia (disorder)" + }, { + "code": "61471000119100", + "display": "Basal cell carcinoma of naris (disorder)" + }, { + "code": "67811000119102", + "display": "Primary small cell malignant neoplasm of lung, TNM stage 1 (disorder)" + }, { + "code": "67821000119109", + "display": "Primary small cell malignant neoplasm of lung, TNM stage 2 (disorder)" + }, { + "code": "67831000119107", + "display": "Primary small cell malignant neoplasm of lung, TNM stage 3 (disorder)" + }, { + "code": "67841000119103", + "display": "Primary small cell malignant neoplasm of lung, TNM stage 4 (disorder)" + }, { + "code": "681601000119101", + "display": "Primary adenocarcinoma of ascending colon (disorder)" + }, { + "code": "681621000119105", + "display": "Primary adenocarcinoma of body of pancreas (disorder)" + }, { + "code": "681631000119108", + "display": "Primary adenocarcinoma of body of stomach (disorder)" + }, { + "code": "681721000119103", + "display": "Primary adenocarcinoma of head of pancreas (disorder)" + }, { + "code": "68261000119102", + "display": "Diffuse non-Hodgkin's lymphoma Lugano stage I (disorder)" + }, { + "code": "68271000119108", + "display": "Diffuse non-Hodgkin's lymphoma Lugano stage II (disorder)" + }, { + "code": "68291000119109", + "display": "Diffuse non-Hodgkin's lymphoma Lugano stage IV (disorder)" + }, { + "code": "683991000119103", + "display": "Extensive stage primary small cell carcinoma of lung (disorder)" + }, { + "code": "684911000119105", + "display": "Primary glioblastoma multiforme of frontal lobe (disorder)" + }, { + "code": "687981000119106", + "display": "Sarcoma of face (disorder)" + }, { + "code": "697993003", + "display": "Undifferentiated carcinoma of nasal sinus (disorder)" + }, { + "code": "698041000", + "display": "Malignant melanoma of vestibule of mouth (disorder)" + }, { + "code": "698042007", + "display": "Malignant melanoma of tongue (disorder)" + }, { + "code": "698043002", + "display": "Malignant melanoma of floor of mouth (disorder)" + }, { + "code": "698044008", + "display": "Malignant melanoma of palatine arch (disorder)" + }, { + "code": "698045009", + "display": "Malignant melanoma of buccal mucosa (disorder)" + }, { + "code": "698048006", + "display": "Undifferentiated nonkeratinizing squamous cell carcinoma of nasopharynx (disorder)" + }, { + "code": "698200003", + "display": "Large cell Ewing sarcoma of bone (disorder)" + }, { + "code": "698285005", + "display": "Malignant melanoma of ethmoid sinus (disorder)" + }, { + "code": "698286006", + "display": "Malignant melanoma of palate (disorder)" + }, { + "code": "698287002", + "display": "Malignant melanoma of gum (disorder)" + }, { + "code": "698288007", + "display": "Malignant melanoma of maxillary sinus (disorder)" + }, { + "code": "699354006", + "display": "Sarcoma of orbit (disorder)" + }, { + "code": "699355007", + "display": "Leiomyosarcoma of orbit (disorder)" + }, { + "code": "699356008", + "display": "Endometrial stromal sarcoma (disorder)" + }, { + "code": "699657009", + "display": "Hepatosplenic gamma-delta cell lymphoma (disorder)" + }, { + "code": "699818003", + "display": "T-cell large granular lymphocytic leukemia (disorder)" + }, { + "code": "700423003", + "display": "Adenocarcinoma of pancreas (disorder)" + }, { + "code": "7021009", + "display": "Gastrointestinal eosinophilic granuloma (disorder)" + }, { + "code": "702391001", + "display": "Renal cell carcinoma (disorder)" + }, { + "code": "702392008", + "display": "Metastatic renal cell carcinoma (disorder)" + }, { + "code": "702405001", + "display": "Malignant granulosa cell tumor of testis (disorder)" + }, { + "code": "702446006", + "display": "Core binding factor acute myeloid leukemia (disorder)" + }, { + "code": "702785000", + "display": "Large cell anaplastic lymphoma T cell and Null cell type (disorder)" + }, { + "code": "702786004", + "display": "Follicular non-Hodgkin's lymphoma diffuse follicle center sub-type grade 1 (disorder)" + }, { + "code": "702977001", + "display": "Follicular non-Hodgkin's lymphoma diffuse follicle center cell sub-type grade 2 (disorder)" + }, { + "code": "703228009", + "display": "Non-small cell lung cancer with mutation in epidermal growth factor receptor (disorder)" + }, { + "code": "703230006", + "display": "Non-small cell lung cancer without mutation in epidermal growth factor receptor (disorder)" + }, { + "code": "703387000", + "display": "Acute myeloid leukemia with normal karyotype (disorder)" + }, { + "code": "703429003", + "display": "Malignant optic glioma of adulthood (disorder)" + }, { + "code": "703625002", + "display": "Kaposi sarcoma not associated with acquired immunodeficiency syndrome (disorder)" + }, { + "code": "703626001", + "display": "Anaplastic large cell lymphoma, T/Null cell, primary systemic type (disorder)" + }, { + "code": "704152002", + "display": "Metastatic neuroblastoma (disorder)" + }, { + "code": "705061009", + "display": "Childhood myelodysplastic syndrome (disorder)" + }, { + "code": "705176003", + "display": "Metastatic carcinoid tumor (disorder)" + }, { + "code": "707337006", + "display": "Primary adenocarcinoma of accessory sinus (disorder)" + }, { + "code": "707339009", + "display": "Primary adenocarcinoma of maxillary sinus (disorder)" + }, { + "code": "707342003", + "display": "Primary adenocarcinoma of ethmoidal sinus (disorder)" + }, { + "code": "707344002", + "display": "Primary adenocarcinoma of sphenoidal sinus (disorder)" + }, { + "code": "707345001", + "display": "Primary carcinoma of accessory sinus (disorder)" + }, { + "code": "707346000", + "display": "Primary carcinoma of ethmoidal sinus (disorder)" + }, { + "code": "707347009", + "display": "Primary carcinoma of maxillary sinus (disorder)" + }, { + "code": "707348004", + "display": "Primary carcinoma of sphenoidal sinus (disorder)" + }, { + "code": "707349007", + "display": "Primary carcinoma of frontal sinus (disorder)" + }, { + "code": "707350007", + "display": "Malignant melanoma of accessory sinus (disorder)" + }, { + "code": "707353009", + "display": "Primary squamous cell carcinoma of accessory sinus (disorder)" + }, { + "code": "707354003", + "display": "Primary squamous cell carcinoma of maxillary sinus (disorder)" + }, { + "code": "707355002", + "display": "Primary squamous cell carcinoma of sphenoidal sinus (disorder)" + }, { + "code": "707356001", + "display": "Primary squamous cell carcinoma of frontal sinus (disorder)" + }, { + "code": "707358000", + "display": "Primary squamous cell carcinoma of larynx (disorder)" + }, { + "code": "707359008", + "display": "Primary squamous cell carcinoma of ethmoidal sinus (disorder)" + }, { + "code": "707361004", + "display": "Malignant melanoma of frontal sinus (disorder)" + }, { + "code": "707362006", + "display": "Malignant melanoma of sphenoidal sinus (disorder)" + }, { + "code": "707378008", + "display": "Primary myoepithelial carcinoma of trachea (disorder)" + }, { + "code": "707380002", + "display": "Primary salivary gland type carcinoma of trachea (disorder)" + }, { + "code": "707383000", + "display": "Primary mucinous cystadenocarcinoma of trachea (disorder)" + }, { + "code": "707384006", + "display": "Primary solid carcinoma of trachea (disorder)" + }, { + "code": "707388009", + "display": "Primary squamous cell carcinoma of trachea (disorder)" + }, { + "code": "707393007", + "display": "Primary adenosquamous carcinoma of trachea (disorder)" + }, { + "code": "707395000", + "display": "Primary adenocarcinoma of hypopharynx (disorder)" + }, { + "code": "707396004", + "display": "Primary oxyphilic adenocarcinoma of oropharynx (disorder)" + }, { + "code": "707400004", + "display": "Primary mucinous adenocarcinoma of oropharynx (disorder)" + }, { + "code": "707404008", + "display": "Primary mixed subtype adenocarcinoma of lung (disorder)" + }, { + "code": "707405009", + "display": "Primary adenosquamous carcinoma of lung (disorder)" + }, { + "code": "707408006", + "display": "Primary small cell non-keratinizing squamous cell carcinoma of lung (disorder)" + }, { + "code": "707410008", + "display": "Primary solid carcinoma of lung (disorder)" + }, { + "code": "707411007", + "display": "Primary papillary adenocarcinoma of lung (disorder)" + }, { + "code": "707424007", + "display": "Primary adenosquamous cell carcinoma of larynx (disorder)" + }, { + "code": "707451005", + "display": "Primary adenocarcinoma of lung (disorder)" + }, { + "code": "707452003", + "display": "Primary mucinous adenocarcinoma of lung (disorder)" + }, { + "code": "707453008", + "display": "Primary clear cell squamous cell carcinoma of lung (disorder)" + }, { + "code": "707454002", + "display": "Primary basaloid squamous cell carcinoma of lung (disorder)" + }, { + "code": "707455001", + "display": "Primary papillary squamous cell carcinoma of lung (disorder)" + }, { + "code": "707456000", + "display": "Primary undifferentiated carcinoma of lung (disorder)" + }, { + "code": "707457009", + "display": "Primary spindle cell carcinoma of lung (disorder)" + }, { + "code": "707458004", + "display": "Primary pleomorphic carcinoma of lung (disorder)" + }, { + "code": "707460002", + "display": "Primary pseudosarcomatous carcinoma of lung (disorder)" + }, { + "code": "707464006", + "display": "Primary myoepithelial carcinoma of lung (disorder)" + }, { + "code": "707466008", + "display": "Primary adenoid cystic carcinoma of lung (disorder)" + }, { + "code": "707467004", + "display": "Primary salivary gland type carcinoma of lung (disorder)" + }, { + "code": "707468009", + "display": "Primary mixed mucinous and non-mucinous bronchiolo-alveolar carcinoma of lung (disorder)" + }, { + "code": "707469001", + "display": "Primary non-mucinous bronchiolo-alveolar carcinoma of lung (disorder)" + }, { + "code": "707470000", + "display": "Primary mucinous bronchiolo-alveolar carcinoma of lung (disorder)" + }, { + "code": "707471001", + "display": "Primary clear cell adenocarcinoma of trachea (disorder)" + }, { + "code": "707472008", + "display": "Primary papillary adenocarcinoma of trachea (disorder)" + }, { + "code": "707473003", + "display": "Primary mucinous adenocarcinoma of trachea (disorder)" + }, { + "code": "707475005", + "display": "Primary adenocarcinoma of trachea (disorder)" + }, { + "code": "707485006", + "display": "Primary adenosquamous carcinoma of hypopharynx (disorder)" + }, { + "code": "707535004", + "display": "Primary squamous cell carcinoma of lateral wall of oropharynx (disorder)" + }, { + "code": "707538002", + "display": "Primary squamous cell carcinoma of vallecula (disorder)" + }, { + "code": "707539005", + "display": "Primary adenoid cystic carcinoma of hypopharynx (disorder)" + }, { + "code": "707576008", + "display": "Primary squamous cell carcinoma of subglottis (disorder)" + }, { + "code": "707583001", + "display": "Primary adenosquamous carcinoma of oropharynx (disorder)" + }, { + "code": "707586009", + "display": "Primary myoepithelial carcinoma of oropharynx (disorder)" + }, { + "code": "707587000", + "display": "Primary carcinoma ex pleomorphic adenoma of oropharynx (disorder)" + }, { + "code": "707593008", + "display": "Primary salivary gland-type tumour of oropharynx (disorder)" + }, { + "code": "707595001", + "display": "Primary mucinous cystadenocarcinoma of lung (disorder)" + }, { + "code": "707627009", + "display": "Primary salivary gland type carcinoma of hypopharynx (disorder)" + }, { + "code": "709031009", + "display": "Malignant neoplasm of superior wall of nasopharynx (disorder)" + }, { + "code": "709471005", + "display": "Periodontitis co-occurrent with leukemia (disorder)" + }, { + "code": "709517003", + "display": "Malignant carcinoid tumor of small intestine (disorder)" + }, { + "code": "709830006", + "display": "Malignant carcinoid tumor of stomach (disorder)" + }, { + "code": "710195004", + "display": "Malignant odontogenic neoplasm of lower jaw (disorder)" + }, { + "code": "711414003", + "display": "Primary clear cell adenocarcinoma of lung (disorder)" + }, { + "code": "712525007", + "display": "Malignant neoplasm of short bone of lower limb (disorder)" + }, { + "code": "713189001", + "display": "Malignant insulinoma (disorder)" + }, { + "code": "713290004", + "display": "Malignant ameloblastoma of mandible (disorder)" + }, { + "code": "713293002", + "display": "Malignant germ cell neoplasm of mediastinum (disorder)" + }, { + "code": "713325002", + "display": "Primary cerebral lymphoma co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713327005", + "display": "Malignant meningioma of meninges of brain (disorder)" + }, { + "code": "713483007", + "display": "Reticulosarcoma co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713516007", + "display": "Primary effusion lymphoma (disorder)" + }, { + "code": "713573006", + "display": "Malignant carcinoid tumor of rectum (disorder)" + }, { + "code": "713574000", + "display": "Malignant carcinoid tumor of kidney (disorder)" + }, { + "code": "713718006", + "display": "Diffuse non-Hodgkin immunoblastic lymphoma co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713897006", + "display": "Burkitt lymphoma co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "714251006", + "display": "Philadelphia chromosome-negative precursor B-cell acute lymphoblastic leukemia (disorder)" + }, { + "code": "714463003", + "display": "Primary effusion lymphoma co-occurrent with infection caused by Human herpesvirus 8 (disorder)" + }, { + "code": "715664005", + "display": "Interdigitating dendritic cell sarcoma (disorder)" + }, { + "code": "715904005", + "display": "Pineal parenchymal tumor of intermediate differentiation (disorder)" + }, { + "code": "715950008", + "display": "Anaplastic lymphoma kinase positive large B-cell lymphoma (disorder)" + }, { + "code": "716588005", + "display": "Primary non-gestational choriocarcinoma of ovary (disorder)" + }, { + "code": "716593008", + "display": "Carcinoma of salivary gland type of breast (disorder)" + }, { + "code": "716649003", + "display": "Extraovarian primary peritoneal carcinoma (disorder)" + }, { + "code": "716651004", + "display": "Leiomyosarcoma of small intestine (disorder)" + }, { + "code": "716788007", + "display": "Epstein-Barr virus positive diffuse large B-cell lymphoma of elderly (disorder)" + }, { + "code": "716859000", + "display": "Hereditary diffuse carcinoma of stomach (disorder)" + }, { + "code": "717735006", + "display": "Renal cell carcinoma of kidney except renal pelvis (disorder)" + }, { + "code": "717736007", + "display": "Familial renal cell carcinoma (disorder)" + }, { + "code": "718200007", + "display": "Primary pulmonary lymphoma (disorder)" + }, { + "code": "721305008", + "display": "Acute myeloid leukemia due to recurrent genetic abnormality (disorder)" + }, { + "code": "721306009", + "display": "Therapy related acute myeloid leukemia and myelodysplastic syndrome (disorder)" + }, { + "code": "721308005", + "display": "Acute leukemia of ambiguous lineage (disorder)" + }, { + "code": "721310007", + "display": "Aggressive natural killer-cell leukemia (disorder)" + }, { + "code": "721313009", + "display": "Indeterminate dendritic cell neoplasm (disorder)" + }, { + "code": "721314003", + "display": "Fibroblastic reticular cell neoplasm (disorder)" + }, { + "code": "721541009", + "display": "Primary malignant sarcoma of skin (disorder)" + }, { + "code": "721546004", + "display": "Primary adenocarcinoma of ciliary epithelium (disorder)" + }, { + "code": "721549006", + "display": "Primary adenocarcinoma of lacrimal apparatus (disorder)" + }, { + "code": "721555001", + "display": "Follicular lymphoma of small intestine (disorder)" + }, { + "code": "721557009", + "display": "Primary adenocarcinoma of parotid gland (disorder)" + }, { + "code": "721558004", + "display": "Primary adenocarcinoma of cystic duct (disorder)" + }, { + "code": "721559007", + "display": "Primary adenocarcinoma of common bile duct (disorder)" + }, { + "code": "721568009", + "display": "Primary adenocarcinoma of parametrium (disorder)" + }, { + "code": "721569001", + "display": "Primary adenocarcinoma of uterine ligament (disorder)" + }, { + "code": "721575005", + "display": "Primary angiosarcoma of heart (disorder)" + }, { + "code": "721576006", + "display": "Primary angiosarcoma of breast (disorder)" + }, { + "code": "721579004", + "display": "Primary synovial sarcoma of soft tissue of limb (disorder)" + }, { + "code": "721602000", + "display": "Primary embryonal carcinoma of testis (disorder)" + }, { + "code": "721603005", + "display": "Primary choriocarcinoma of testis (disorder)" + }, { + "code": "721605003", + "display": "Primary squamous cell carcinoma of overlapping lesion of accessory sinuses (disorder)" + }, { + "code": "721606002", + "display": "Primary adenocarcinoma of overlapping lesion of accessory sinuses (disorder)" + }, { + "code": "721619003", + "display": "Primary squamous cell carcinoma of middle third of esophagus (disorder)" + }, { + "code": "721620009", + "display": "Primary squamous cell carcinoma of lower third of esophagus (disorder)" + }, { + "code": "721621008", + "display": "Primary squamous cell carcinoma of overlapping lesion of esophagus (disorder)" + }, { + "code": "721622001", + "display": "Primary adenocarcinoma of upper third of esophagus (disorder)" + }, { + "code": "721623006", + "display": "Primary adenocarcinoma of middle third of esophagus (disorder)" + }, { + "code": "721624000", + "display": "Primary adenocarcinoma of overlapping lesion of esophagus (disorder)" + }, { + "code": "721627007", + "display": "Malignant melanoma of esophagus (disorder)" + }, { + "code": "721628002", + "display": "Primary adenocarcinoma of esophagogastric junction (disorder)" + }, { + "code": "721629005", + "display": "Linitis plastica of stomach (disorder)" + }, { + "code": "721630000", + "display": "Primary adenocarcinoma of cardia of stomach (disorder)" + }, { + "code": "721632008", + "display": "Primary adenocarcinoma of pyloric antrum of stomach (disorder)" + }, { + "code": "721633003", + "display": "Primary adenocarcinoma of overlapping lesion of stomach (disorder)" + }, { + "code": "721635005", + "display": "Primary malignant neuroendocrine neoplasm of cardia of stomach (disorder)" + }, { + "code": "721644006", + "display": "Primary malignant neuroendocrine neoplasm of duodenum (disorder)" + }, { + "code": "721645007", + "display": "Primary neuroendocrine carcinoma of duodenum (disorder)" + }, { + "code": "721672004", + "display": "Primary mucinous adenocarcinoma of appendix (disorder)" + }, { + "code": "721695008", + "display": "Primary adenocarcinoma of ascending colon and right flexure (disorder)" + }, { + "code": "721696009", + "display": "Primary adenocarcinoma of transverse colon (disorder)" + }, { + "code": "721699002", + "display": "Primary adenocarcinoma of descending colon and splenic flexure (disorder)" + }, { + "code": "721716004", + "display": "Primary cholangiocarcinoma of intrahepatic biliary tract (disorder)" + }, { + "code": "721718003", + "display": "Primary adenocarcinoma of ampulla of Vater (disorder)" + }, { + "code": "721725005", + "display": "Primary adenocarcinoma of peritoneum (disorder)" + }, { + "code": "721762007", + "display": "Adult T-cell leukemia/lymphoma of skin (disorder)" + }, { + "code": "722112006", + "display": "Primary squamous cell carcinoma of ear (disorder)" + }, { + "code": "722229001", + "display": "Primary sarcoma of retroperitoneum (disorder)" + }, { + "code": "722513008", + "display": "Primary leiomyosarcoma of retroperitoneum (disorder)" + }, { + "code": "722514002", + "display": "Primary leiomyosarcoma of peritoneum (disorder)" + }, { + "code": "722519007", + "display": "Primary sarcoma of peritoneum (disorder)" + }, { + "code": "722530005", + "display": "Primary squamous cell carcinoma of pharyngeal tonsil (disorder)" + }, { + "code": "722533007", + "display": "Primary malignant neoplasm of esophagogastric junction (disorder)" + }, { + "code": "722542000", + "display": "Primary squamous cell carcinoma of anal canal (disorder)" + }, { + "code": "722543005", + "display": "Primary malignant melanoma of anal canal (disorder)" + }, { + "code": "722665003", + "display": "Primary malignant melanoma of cornea (disorder)" + }, { + "code": "722666002", + "display": "Primary squamous cell carcinoma of lacrimal apparatus (disorder)" + }, { + "code": "722676004", + "display": "Primary squamous cell carcinoma of middle ear (disorder)" + }, { + "code": "722678003", + "display": "Primary squamous cell carcinoma of vagina (disorder)" + }, { + "code": "722679006", + "display": "Primary mucinous adenocarcinoma of endometrium (disorder)" + }, { + "code": "722680009", + "display": "Primary serous adenocarcinoma of endometrium (disorder)" + }, { + "code": "722681008", + "display": "Primary mixed adenocarcinoma of endometrium (disorder)" + }, { + "code": "722682001", + "display": "Primary small cell carcinoma of endometrium (disorder)" + }, { + "code": "722686003", + "display": "Primary serous carcinoma of uterine adnexa (disorder)" + }, { + "code": "722687007", + "display": "Primary mucinous carcinoma of uterine adnexa (disorder)" + }, { + "code": "722714004", + "display": "Primary mucoepidermoid carcinoma of lacrimal apparatus (disorder)" + }, { + "code": "722795004", + "display": "Meningeal leukemia (disorder)" + }, { + "code": "722827008", + "display": "Primary synovial sarcoma of respiratory organ (disorder)" + }, { + "code": "722953004", + "display": "B-cell lymphoma unclassifiable with features intermediate between Burkitt lymphoma and diffuse large B-cell lymphoma (disorder)" + }, { + "code": "722954005", + "display": "B-cell lymphoma unclassifiable with features intermediate between classical Hodgkin lymphoma and diffuse large B-cell lymphoma (disorder)" + }, { + "code": "723076008", + "display": "Primary myxofibrosarcoma (disorder)" + }, { + "code": "723265000", + "display": "Primary squamous cell carcinoma of anus (disorder)" + }, { + "code": "723281005", + "display": "Primary malignant melanoma of anus (disorder)" + }, { + "code": "723301009", + "display": "Squamous non-small cell lung cancer (disorder)" + }, { + "code": "723848001", + "display": "Primary osteosarcoma of bone of jaw (disorder)" + }, { + "code": "723853006", + "display": "Primary Ewing sarcoma of bone of limb (disorder)" + }, { + "code": "723879002", + "display": "Primary adenocarcinoma of overlapping lesion of urinary organ (disorder)" + }, { + "code": "723887001", + "display": "Primary Ewing sarcoma of bone of rib (disorder)" + }, { + "code": "723889003", + "display": "B lymphoblastic leukemia lymphoma with t(9:22) (q34;q11.2); BCR-ABL 1 (disorder)" + }, { + "code": "724056005", + "display": "Malignant neoplasm of lower lobe of right lung (disorder)" + }, { + "code": "724536000", + "display": "Primary adenocarcinoma of ileum (disorder)" + }, { + "code": "724552002", + "display": "Primary poorly differentiated carcinoma of thyroid gland (disorder)" + }, { + "code": "724553007", + "display": "Primary undifferentiated carcinoma of thyroid gland (disorder)" + }, { + "code": "724644005", + "display": "Myeloid leukemia co-occurrent with Down syndrome (disorder)" + }, { + "code": "724645006", + "display": "T-cell histiocyte rich large B-cell lymphoma (disorder)" + }, { + "code": "724647003", + "display": "Diffuse large B-cell lymphoma co-occurrent with chronic inflammation caused by Epstein-Barr virus (disorder)" + }, { + "code": "724648008", + "display": "Plasmablastic lymphoma (disorder)" + }, { + "code": "724649000", + "display": "Langerhans cell sarcoma (disorder)" + }, { + "code": "724650000", + "display": "Primary follicular dendritic cell sarcoma (disorder)" + }, { + "code": "725390002", + "display": "Acute myeloid leukemia with t(8;16)(p11;p13) translocation (disorder)" + }, { + "code": "725437002", + "display": "Chronic lymphocytic leukemia genetic mutation variant (disorder)" + }, { + "code": "726652005", + "display": "Malignant carcinoid tumor of thymus (disorder)" + }, { + "code": "726653000", + "display": "Malignant carcinoid tumor of bronchus (disorder)" + }, { + "code": "726654006", + "display": "Malignant carcinoid tumor of colon (disorder)" + }, { + "code": "726721002", + "display": "Nodal marginal zone B-cell lymphoma (disorder)" + }, { + "code": "72891000119103", + "display": "Kaposi sarcoma of viscus (disorder)" + }, { + "code": "733134009", + "display": "Primary squamous cell carcinoma of paraurethral gland (disorder)" + }, { + "code": "733136006", + "display": "Primary adenocarcinoma of urethra (disorder)" + }, { + "code": "733344004", + "display": "Primary squamous cell carcinoma of lip (disorder)" + }, { + "code": "733345003", + "display": "Primary squamous cell carcinoma of pharynx (disorder)" + }, { + "code": "733346002", + "display": "Primary mucinous cystic neoplasm with associated invasive carcinoma of perihilar bile duct (disorder)" + }, { + "code": "733347006", + "display": "Primary mucinous cystic neoplasm with associated invasive carcinoma of cystic duct (disorder)" + }, { + "code": "733349009", + "display": "Primary mucinous cystic neoplasm with associated invasive carcinoma of distal bile duct (disorder)" + }, { + "code": "733351008", + "display": "Primary malignant neuroendocrine neoplasm of ampulla of Vater (disorder)" + }, { + "code": "733352001", + "display": "Primary mucinous cystic neoplasm with associated invasive carcinoma of biliary tract (disorder)" + }, { + "code": "733354000", + "display": "Primary adenocarcinoma of biliary tract (disorder)" + }, { + "code": "733355004", + "display": "Primary adenocarcinoma of digestive organ (disorder)" + }, { + "code": "733359005", + "display": "Primary squamous cell carcinoma of endometrium (disorder)" + }, { + "code": "733360000", + "display": "Primary undifferentiated carcinoma of endometrium (disorder)" + }, { + "code": "733362008", + "display": "Primary adenocarcinoma of paraurethral gland (disorder)" + }, { + "code": "733470002", + "display": "Collecting duct carcinoma of kidney (disorder)" + }, { + "code": "733471003", + "display": "Chromophobe renal cell carcinoma (disorder)" + }, { + "code": "733598001", + "display": "Acute myeloid leukemia with t(6;9)(p23;q34) translocation (disorder)" + }, { + "code": "733603009", + "display": "Tubulocystic renal cell carcinoma (disorder)" + }, { + "code": "733608000", + "display": "Papillary renal cell carcinoma (disorder)" + }, { + "code": "733627006", + "display": "Primary cutaneous gamma-delta-positive T-cell lymphoma (disorder)" + }, { + "code": "734015000", + "display": "Clear cell papillary renal cell carcinoma (disorder)" + }, { + "code": "734066005", + "display": "Diffuse large B-cell lymphoma of central nervous system (disorder)" + }, { + "code": "734099007", + "display": "Neuroblastoma of central nervous system (disorder)" + }, { + "code": "7343008", + "display": "Liparitosis (disorder)" + }, { + "code": "734522002", + "display": "Acute myeloid leukemia with FMS-like tyrosine kinase-3 mutation (disorder)" + }, { + "code": "735920008", + "display": "Primary malignant neuroepithelial neoplasm of ciliary body (disorder)" + }, { + "code": "737058005", + "display": "Microsatellite instability-high colorectal cancer (disorder)" + }, { + "code": "737308008", + "display": "Primary adenocarcinoma of sublingual gland (disorder)" + }, { + "code": "737309000", + "display": "Primary adenocarcinoma of submandibular gland (disorder)" + }, { + "code": "7403002", + "display": "Orthodontic (qualifier value)" + }, { + "code": "762458004", + "display": "Primary endometrioid carcinoma of endometrium of body of uterus (disorder)" + }, { + "code": "763064007", + "display": "Adenoid cystic carcinoma of cervix uteri (disorder)" + }, { + "code": "763131005", + "display": "Clear cell adenocarcinoma of ovary (disorder)" + }, { + "code": "763309005", + "display": "Acute myeloid leukemia with nucleophosmin 1 somatic mutation (disorder)" + }, { + "code": "763408003", + "display": "Rhabdomyosarcoma of cervix uteri (disorder)" + }, { + "code": "763409006", + "display": "Rhabdomyosarcoma of corpus uteri (disorder)" + }, { + "code": "763477007", + "display": "Primary lymphoma of conjunctiva (disorder)" + }, { + "code": "763771009", + "display": "Leiomyosarcoma of cervix uteri (disorder)" + }, { + "code": "763796007", + "display": "Megakaryoblastic acute myeloid leukemia with t(1;22)(p13;q13) (disorder)" + }, { + "code": "764694005", + "display": "MiT family translocation renal cell carcinoma (disorder)" + }, { + "code": "764735002", + "display": "Squamous cell carcinoma of small intestine (disorder)" + }, { + "code": "764737005", + "display": "Squamous cell carcinoma of corpus uteri (disorder)" + }, { + "code": "764845008", + "display": "Adenocarcinoma of anal canal (disorder)" + }, { + "code": "764846009", + "display": "Adenocarcinoma of penis (disorder)" + }, { + "code": "764847000", + "display": "Adenosarcoma of cervix uteri (disorder)" + }, { + "code": "764855007", + "display": "Acute myeloid leukemia with CCAAT/enhancer binding protein alpha somatic mutation (disorder)" + }, { + "code": "764940002", + "display": "Inherited acute myeloid leukemia (disorder)" + }, { + "code": "764961009", + "display": "Hereditary clear cell renal cell carcinoma (disorder)" + }, { + "code": "764990003", + "display": "Renal mucinous tubular and spindle cell carcinoma (disorder)" + }, { + "code": "765095002", + "display": "Renal medullary carcinoma (disorder)" + }, { + "code": "765740002", + "display": "Adenosarcoma of corpus uteri (disorder)" + }, { + "code": "765741003", + "display": "Adenocarcinoma of gallbladder and extrahepatic biliary tract (disorder)" + }, { + "code": "766247009", + "display": "Primitive neuroectodermal tumor of corpus uteri (disorder)" + }, { + "code": "7664003", + "display": "Incision of external auditory canal (procedure)" + }, { + "code": "766757006", + "display": "Undifferentiated carcinoma of stomach (disorder)" + }, { + "code": "766758001", + "display": "Undifferentiated carcinoma of corpus uteri (disorder)" + }, { + "code": "766759009", + "display": "Rhabdomyosarcoma of vulva and vagina (disorder)" + }, { + "code": "766930002", + "display": "Glassy cell carcinoma of cervix uteri (disorder)" + }, { + "code": "766978002", + "display": "Squamous cell carcinoma of gallbladder and extrahepatic biliary tract (disorder)" + }, { + "code": "766979005", + "display": "Squamous cell carcinoma of rectum (disorder)" + }, { + "code": "766980008", + "display": "Squamous cell carcinoma of stomach (disorder)" + }, { + "code": "766981007", + "display": "Squamous cell carcinoma of colon (disorder)" + }, { + "code": "767448007", + "display": "Pineoblastoma (disorder)" + }, { + "code": "78411000119107", + "display": "Ewing sarcoma of bone of pelvis (disorder)" + }, { + "code": "79281000119106", + "display": "Primary adenocarcinoma of skin (disorder)" + }, { + "code": "80914001", + "display": "Anaplasia of cervix (disorder)" + }, { + "code": "82501000119102", + "display": "Anaplastic astrocytoma of central nervous system (disorder)" + }, { + "code": "84811000119107", + "display": "Follicular dendritic sarcoma of intraabdominal lymph node (disorder)" + }, { + "code": "84831000119102", + "display": "Follicular dendritic sarcoma of lymph nodes of multiple sites (disorder)" + }, { + "code": "87131000119104", + "display": "Primary extramedullary malignant tumor of spinal cord (disorder)" + }, { + "code": "91041000119104", + "display": "Ewing sarcoma of bone structure of upper limb (disorder)" + }, { + "code": "91131000119109", + "display": "Primary adenocarcinoma of vulva (disorder)" + }, { + "code": "91151000119103", + "display": "Primary squamous cell carcinoma of chest wall (disorder)" + }, { + "code": "91161000119101", + "display": "Primary adenocarcinoma of chest wall (disorder)" + }, { + "code": "91281000119103", + "display": "Secondary adenocarcinoma of bone (disorder)" + }, { + "code": "91855006", + "display": "Acute leukemia, disease (disorder)" + }, { + "code": "91857003", + "display": "Acute lymphoid leukemia, disease (disorder)" + }, { + "code": "91861009", + "display": "Acute myeloid leukemia, disease (disorder)" + }, { + "code": "92508006", + "display": "Burkitt's tumor of intra-abdominal lymph nodes (disorder)" + }, { + "code": "92509003", + "display": "Burkitt's tumor of intrapelvic lymph nodes (disorder)" + }, { + "code": "92510008", + "display": "Burkitt's tumor of intrathoracic lymph nodes (disorder)" + }, { + "code": "92511007", + "display": "Burkitt's tumor of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "92512000", + "display": "Burkitt's tumor of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "92513005", + "display": "Burkitt's tumor of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "92514004", + "display": "Burkitt's tumor of lymph nodes of multiple sites (disorder)" + }, { + "code": "92515003", + "display": "Burkitt's tumor of spleen (disorder)" + }, { + "code": "92516002", + "display": "Burkitt's tumor of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "92812005", + "display": "Chronic leukemia, disease (disorder)" + }, { + "code": "92814006", + "display": "Chronic lymphoid leukemia, disease (disorder)" + }, { + "code": "92818009", + "display": "Chronic myeloid leukemia, disease (disorder)" + }, { + "code": "93133006", + "display": "Letterer-Siwe disease of intra-abdominal lymph nodes (disorder)" + }, { + "code": "93134000", + "display": "Letterer-Siwe disease of intrapelvic lymph nodes (disorder)" + }, { + "code": "93135004", + "display": "Letterer-Siwe disease of intrathoracic lymph nodes (disorder)" + }, { + "code": "93136003", + "display": "Letterer-Siwe disease of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93137007", + "display": "Letterer-Siwe disease of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93138002", + "display": "Letterer-Siwe disease of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93139005", + "display": "Letterer-Siwe disease of lymph nodes of multiple sites (disorder)" + }, { + "code": "93140007", + "display": "Letterer-Siwe disease of spleen (disorder)" + }, { + "code": "93141006", + "display": "Letterer-Siwe disease of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93143009", + "display": "Leukemia, disease (disorder)" + }, { + "code": "93144003", + "display": "Leukemic reticuloendotheliosis of intra-abdominal lymph nodes (disorder)" + }, { + "code": "93145002", + "display": "Leukemic reticuloendotheliosis of intrapelvic lymph nodes (disorder)" + }, { + "code": "93146001", + "display": "Leukemic reticuloendotheliosis of intrathoracic lymph nodes (disorder)" + }, { + "code": "93150008", + "display": "Leukemic reticuloendotheliosis of lymph nodes of multiple sites (disorder)" + }, { + "code": "93151007", + "display": "Hairy cell leukemia of spleen (disorder)" + }, { + "code": "93152000", + "display": "Leukemic reticuloendotheliosis of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93182006", + "display": "Malignant histiocytosis of intra-abdominal lymph nodes (disorder)" + }, { + "code": "93183001", + "display": "Malignant histiocytosis of intrapelvic lymph nodes (disorder)" + }, { + "code": "93184007", + "display": "Malignant histiocytosis of intrathoracic lymph nodes (disorder)" + }, { + "code": "93185008", + "display": "Malignant histiocytosis of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93186009", + "display": "Malignant histiocytosis of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93187000", + "display": "Malignant histiocytosis of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93188005", + "display": "Malignant histiocytosis of lymph nodes of multiple sites (disorder)" + }, { + "code": "93189002", + "display": "Malignant histiocytosis of spleen (disorder)" + }, { + "code": "93190006", + "display": "Malignant histiocytosis of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93191005", + "display": "Malignant lymphoma of intra-abdominal lymph nodes (disorder)" + }, { + "code": "93192003", + "display": "Malignant lymphoma of intrapelvic lymph nodes (disorder)" + }, { + "code": "93193008", + "display": "Malignant lymphoma of intrathoracic lymph nodes (disorder)" + }, { + "code": "93194002", + "display": "Malignant lymphoma of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93195001", + "display": "Malignant lymphoma of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93196000", + "display": "Malignant lymphoma of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93197009", + "display": "Malignant lymphoma of lymph nodes of multiple sites (disorder)" + }, { + "code": "93198004", + "display": "Malignant lymphoma of spleen (disorder)" + }, { + "code": "93199007", + "display": "Malignant lymphoma of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93200005", + "display": "Malignant mast cell tumor of intra-abdominal lymph nodes (disorder)" + }, { + "code": "93201009", + "display": "Malignant mast cell tumor of intrapelvic lymph nodes (disorder)" + }, { + "code": "93202002", + "display": "Malignant mast cell tumor of intrathoracic lymph nodes (disorder)" + }, { + "code": "93203007", + "display": "Malignant mast cell tumor of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93204001", + "display": "Malignant mast cell tumor of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93205000", + "display": "Malignant mast cell tumor of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93206004", + "display": "Malignant mast cell tumor of lymph nodes of multiple sites (disorder)" + }, { + "code": "93207008", + "display": "Malignant mast cell tumor of spleen (disorder)" + }, { + "code": "93208003", + "display": "Malignant mast cell tumor of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93209006", + "display": "Malignant melanoma of perianal skin (disorder)" + }, { + "code": "93210001", + "display": "Malignant melanoma of skin of abdomen (disorder)" + }, { + "code": "93211002", + "display": "Malignant melanoma of skin of ankle (disorder)" + }, { + "code": "93213004", + "display": "Malignant melanoma of skin of axilla (disorder)" + }, { + "code": "93214005", + "display": "Malignant melanoma of skin of back (disorder)" + }, { + "code": "93215006", + "display": "Malignant melanoma of skin of breast (disorder)" + }, { + "code": "93216007", + "display": "Malignant melanoma of skin of buttock (disorder)" + }, { + "code": "93217003", + "display": "Malignant melanoma of skin of cheek (disorder)" + }, { + "code": "93218008", + "display": "Malignant melanoma of skin of chest (disorder)" + }, { + "code": "93219000", + "display": "Malignant melanoma of skin of chin (disorder)" + }, { + "code": "93220006", + "display": "Malignant melanoma of skin of ear (disorder)" + }, { + "code": "93221005", + "display": "Malignant melanoma of skin of elbow (disorder)" + }, { + "code": "93222003", + "display": "Malignant melanoma of skin of external auditory canal (disorder)" + }, { + "code": "93223008", + "display": "Malignant melanoma of skin of eyebrow (disorder)" + }, { + "code": "93224002", + "display": "Malignant melanoma of skin of eyelid (disorder)" + }, { + "code": "93225001", + "display": "Malignant melanoma of skin of face (disorder)" + }, { + "code": "93226000", + "display": "Malignant melanoma of skin of finger (disorder)" + }, { + "code": "93227009", + "display": "Malignant melanoma of skin of foot (disorder)" + }, { + "code": "93228004", + "display": "Malignant melanoma of skin of forearm (disorder)" + }, { + "code": "93229007", + "display": "Malignant melanoma of skin of forehead (disorder)" + }, { + "code": "93230002", + "display": "Malignant melanoma of skin of groin (disorder)" + }, { + "code": "93451002", + "display": "Erythroleukemia, FAB M6 (disorder)" + }, { + "code": "93487009", + "display": "Hodgkin's disease, lymphocytic depletion of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93488004", + "display": "Hodgkin's disease, lymphocytic depletion of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93489007", + "display": "Hodgkin's disease, lymphocytic depletion of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93492006", + "display": "Hodgkin's disease, lymphocytic depletion of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93493001", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of intra-abdominal lymph nodes (disorder)" + }, { + "code": "93494007", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of intrapelvic lymph nodes (disorder)" + }, { + "code": "93495008", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of intrathoracic lymph nodes (disorder)" + }, { + "code": "93496009", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93497000", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93498005", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93500006", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of spleen (disorder)" + }, { + "code": "93501005", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93505001", + "display": "Hodgkin's disease, mixed cellularity of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93506000", + "display": "Hodgkin's disease, mixed cellularity of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93507009", + "display": "Hodgkin's disease, mixed cellularity of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93509007", + "display": "Hodgkin's disease, mixed cellularity of spleen (disorder)" + }, { + "code": "93510002", + "display": "Hodgkin's disease, mixed cellularity of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93514006", + "display": "Hodgkin's disease, nodular sclerosis of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93515007", + "display": "Hodgkin's disease, nodular sclerosis of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93516008", + "display": "Hodgkin's disease, nodular sclerosis of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93518009", + "display": "Hodgkin's disease, nodular sclerosis of spleen (disorder)" + }, { + "code": "93519001", + "display": "Hodgkin's disease, nodular sclerosis of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93520007", + "display": "Hodgkin's disease of intra-abdominal lymph nodes (disorder)" + }, { + "code": "93521006", + "display": "Hodgkin's disease of intrapelvic lymph nodes (disorder)" + }, { + "code": "93522004", + "display": "Hodgkin's disease of intrathoracic lymph nodes (disorder)" + }, { + "code": "93523009", + "display": "Hodgkin's disease of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93524003", + "display": "Hodgkin's disease of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93525002", + "display": "Hodgkin's disease of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93526001", + "display": "Hodgkin's disease of lymph nodes of multiple sites (disorder)" + }, { + "code": "93527005", + "display": "Hodgkin's disease of spleen (disorder)" + }, { + "code": "93528000", + "display": "Hodgkin's disease of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93530003", + "display": "Hodgkin's granuloma of intrapelvic lymph nodes (disorder)" + }, { + "code": "93531004", + "display": "Hodgkin's granuloma of intrathoracic lymph nodes (disorder)" + }, { + "code": "93532006", + "display": "Hodgkin's granuloma of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93533001", + "display": "Hodgkin's granuloma of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93534007", + "display": "Hodgkin's granuloma of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93536009", + "display": "Hodgkin's granuloma of spleen (disorder)" + }, { + "code": "93537000", + "display": "Hodgkin's granuloma of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93541001", + "display": "Hodgkin's paragranuloma of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93542008", + "display": "Hodgkin's paragranuloma of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93543003", + "display": "Hodgkin's paragranuloma of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93545005", + "display": "Hodgkin's paragranuloma of spleen (disorder)" + }, { + "code": "93546006", + "display": "Hodgkin's paragranuloma of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93547002", + "display": "Hodgkin's sarcoma of intra-abdominal lymph nodes (disorder)" + }, { + "code": "93548007", + "display": "Hodgkin's sarcoma of intrapelvic lymph nodes (disorder)" + }, { + "code": "93549004", + "display": "Hodgkin's sarcoma of intrathoracic lymph nodes (disorder)" + }, { + "code": "93550004", + "display": "Hodgkin's sarcoma of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93551000", + "display": "Hodgkin's sarcoma of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93552007", + "display": "Hodgkin's sarcoma of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93554008", + "display": "Hodgkin's sarcoma of spleen (disorder)" + }, { + "code": "93555009", + "display": "Hodgkin's sarcoma of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93636004", + "display": "Malignant melanoma of skin of hand (disorder)" + }, { + "code": "93637008", + "display": "Malignant melanoma of skin of hip (disorder)" + }, { + "code": "93638003", + "display": "Malignant melanoma of skin of knee (disorder)" + }, { + "code": "93640008", + "display": "Malignant melanoma of skin of lip (disorder)" + }, { + "code": "93641007", + "display": "Malignant melanoma of skin of lower limb (disorder)" + }, { + "code": "93642000", + "display": "Malignant melanoma of skin of neck (disorder)" + }, { + "code": "93643005", + "display": "Malignant melanoma of skin of nose (disorder)" + }, { + "code": "93644004", + "display": "Malignant melanoma of skin of perineum (disorder)" + }, { + "code": "93645003", + "display": "Malignant melanoma of skin of popliteal area (disorder)" + }, { + "code": "93646002", + "display": "Malignant melanoma of skin of scalp (disorder)" + }, { + "code": "93647006", + "display": "Malignant melanoma of skin of shoulder (disorder)" + }, { + "code": "93648001", + "display": "Malignant melanoma of skin of temporal region (disorder)" + }, { + "code": "93649009", + "display": "Malignant melanoma of skin of thigh (disorder)" + }, { + "code": "93650009", + "display": "Malignant melanoma of skin of toe (disorder)" + }, { + "code": "93651008", + "display": "Malignant melanoma of skin of trunk (disorder)" + }, { + "code": "93652001", + "display": "Malignant melanoma of skin of umbilicus (disorder)" + }, { + "code": "93653006", + "display": "Malignant melanoma of skin of upper limb (disorder)" + }, { + "code": "93654000", + "display": "Malignant melanoma of skin of wrist (disorder)" + }, { + "code": "93655004", + "display": "Malignant melanoma of skin (disorder)" + }, { + "code": "93658002", + "display": "Primary malignant neoplasm of accessory nerve (disorder)" + }, { + "code": "93659005", + "display": "Primary malignant neoplasm of accessory sinus (disorder)" + }, { + "code": "93661001", + "display": "Primary malignant neoplasm of acromion (disorder)" + }, { + "code": "93662008", + "display": "Primary malignant neoplasm of adenoid (disorder)" + }, { + "code": "93665005", + "display": "Primary malignant neoplasm of adrenal gland (disorder)" + }, { + "code": "93667002", + "display": "Primary malignant neoplasm of alveolar ridge mucosa (disorder)" + }, { + "code": "93669004", + "display": "Primary malignant neoplasm of anal canal (disorder)" + }, { + "code": "93670003", + "display": "Primary malignant neoplasm of anterior aspect of epiglottis (disorder)" + }, { + "code": "93671004", + "display": "Primary malignant neoplasm of anterior mediastinum (disorder)" + }, { + "code": "93672006", + "display": "Primary malignant neoplasm of anterior portion of floor of mouth (disorder)" + }, { + "code": "93674007", + "display": "Primary malignant neoplasm of anterior wall of nasopharynx (disorder)" + }, { + "code": "93676009", + "display": "Primary malignant neoplasm of anus (disorder)" + }, { + "code": "93680004", + "display": "Primary malignant neoplasm of areola of female breast (disorder)" + }, { + "code": "93681000", + "display": "Primary malignant neoplasm of areola of male breast (disorder)" + }, { + "code": "93683002", + "display": "Primary malignant neoplasm of ascending colon (disorder)" + }, { + "code": "93684008", + "display": "Primary malignant neoplasm of axilla (disorder)" + }, { + "code": "93687001", + "display": "Primary malignant neoplasm of base of tongue (disorder)" + }, { + "code": "93689003", + "display": "Primary malignant neoplasm of bladder (disorder)" + }, { + "code": "93692004", + "display": "Primary malignant neoplasm of blood vessel of axilla (disorder)" + }, { + "code": "93710000", + "display": "Primary malignant neoplasm of blood vessel of thorax (disorder)" + }, { + "code": "93715005", + "display": "Primary malignant neoplasm of body of pancreas (disorder)" + }, { + "code": "93716006", + "display": "Primary malignant neoplasm of body of penis (disorder)" + }, { + "code": "93717002", + "display": "Primary malignant neoplasm of body of stomach (disorder)" + }, { + "code": "93721009", + "display": "Primary malignant neoplasm of bone of face (disorder)" + }, { + "code": "93722002", + "display": "Primary malignant neoplasm of bone of lower limb (disorder)" + }, { + "code": "93723007", + "display": "Primary malignant neoplasm of bone of skull (disorder)" + }, { + "code": "93724001", + "display": "Primary malignant neoplasm of bone of upper limb (disorder)" + }, { + "code": "93725000", + "display": "Primary malignant neoplasm of bone (disorder)" + }, { + "code": "93726004", + "display": "Primary malignant neoplasm of brain stem (disorder)" + }, { + "code": "93727008", + "display": "Primary malignant neoplasm of brain (disorder)" + }, { + "code": "93728003", + "display": "Primary malignant neoplasm of broad ligament (disorder)" + }, { + "code": "93729006", + "display": "Primary malignant neoplasm of bronchus of left lower lobe (disorder)" + }, { + "code": "93730001", + "display": "Primary malignant neoplasm of bronchus of left upper lobe (disorder)" + }, { + "code": "93731002", + "display": "Primary malignant neoplasm of bronchus of right lower lobe (disorder)" + }, { + "code": "93732009", + "display": "Primary malignant neoplasm of bronchus of right middle lobe (disorder)" + }, { + "code": "93733004", + "display": "Primary malignant neoplasm of bronchus of right upper lobe (disorder)" + }, { + "code": "93734005", + "display": "Primary malignant neoplasm of bronchus (disorder)" + }, { + "code": "93737003", + "display": "Primary malignant neoplasm of calcaneus (disorder)" + }, { + "code": "93738008", + "display": "Primary malignant neoplasm of cardia of stomach (disorder)" + }, { + "code": "93739000", + "display": "Primary malignant neoplasm of carina (disorder)" + }, { + "code": "93740003", + "display": "Primary malignant neoplasm of carotid body (disorder)" + }, { + "code": "93741004", + "display": "Primary malignant neoplasm of carpal bone (disorder)" + }, { + "code": "93742006", + "display": "Primary malignant neoplasm of cartilage of nose (disorder)" + }, { + "code": "93744007", + "display": "Primary malignant neoplasm of central nervous system (disorder)" + }, { + "code": "93745008", + "display": "Primary malignant neoplasm of central portion of female breast (disorder)" + }, { + "code": "93746009", + "display": "Primary malignant neoplasm of cerebellum (disorder)" + }, { + "code": "93747000", + "display": "Primary malignant neoplasm of cerebral meninges (disorder)" + }, { + "code": "93748005", + "display": "Primary malignant neoplasm of cerebral ventricle (disorder)" + }, { + "code": "93749002", + "display": "Primary malignant neoplasm of cerebrum (disorder)" + }, { + "code": "93753000", + "display": "Primary malignant neoplasm of cheek (disorder)" + }, { + "code": "93754006", + "display": "Primary malignant neoplasm of chest wall (disorder)" + }, { + "code": "93755007", + "display": "Primary malignant neoplasm of choroid, primary (disorder)" + }, { + "code": "93756008", + "display": "Primary malignant neoplasm of ciliary body, primary (disorder)" + }, { + "code": "93757004", + "display": "Primary malignant neoplasm of clavicle (disorder)" + }, { + "code": "93759001", + "display": "Primary malignant neoplasm of coccygeal body (disorder)" + }, { + "code": "93760006", + "display": "Primary malignant neoplasm of coccyx (disorder)" + }, { + "code": "93761005", + "display": "Primary malignant neoplasm of colon (disorder)" + }, { + "code": "93764002", + "display": "Primary malignant neoplasm of conjunctiva, primary (disorder)" + }, { + "code": "93766000", + "display": "Primary malignant neoplasm of cornea, primary (disorder)" + }, { + "code": "93768004", + "display": "Primary malignant neoplasm of craniopharyngeal duct (disorder)" + }, { + "code": "93769007", + "display": "Primary malignant neoplasm of cuboid (disorder)" + }, { + "code": "93771007", + "display": "Primary malignant neoplasm of descending colon (disorder)" + }, { + "code": "93772000", + "display": "Primary malignant neoplasm of diaphragm (disorder)" + }, { + "code": "93773005", + "display": "Primary malignant neoplasm of dorsal surface of tongue (disorder)" + }, { + "code": "93775003", + "display": "Primary malignant neoplasm of duodenum (disorder)" + }, { + "code": "93776002", + "display": "Primary malignant neoplasm of ectopic female breast tissue (disorder)" + }, { + "code": "93777006", + "display": "Primary malignant neoplasm of ectopic male breast tissue (disorder)" + }, { + "code": "93778001", + "display": "Primary malignant neoplasm of endocardium (disorder)" + }, { + "code": "93779009", + "display": "Primary malignant neoplasm of endocervix (disorder)" + }, { + "code": "93781006", + "display": "Primary malignant neoplasm of endometrium (disorder)" + }, { + "code": "93782004", + "display": "Primary malignant neoplasm of epicardium (disorder)" + }, { + "code": "93783009", + "display": "Primary malignant neoplasm of epididymis (disorder)" + }, { + "code": "93784003", + "display": "Primary malignant neoplasm of epiglottis (disorder)" + }, { + "code": "93786001", + "display": "Primary malignant neoplasm of ethmoid bone (disorder)" + }, { + "code": "93787005", + "display": "Primary malignant neoplasm of ethmoidal sinus (disorder)" + }, { + "code": "93788000", + "display": "Primary malignant neoplasm of eustachian tube (disorder)" + }, { + "code": "93789008", + "display": "Primary malignant neoplasm of exocervix (disorder)" + }, { + "code": "93796005", + "display": "Primary malignant neoplasm of female breast (disorder)" + }, { + "code": "93797001", + "display": "Primary malignant neoplasm of female genital organ (disorder)" + }, { + "code": "93798006", + "display": "Primary malignant neoplasm of femur (disorder)" + }, { + "code": "93799003", + "display": "Primary malignant neoplasm of fibula (disorder)" + }, { + "code": "93800004", + "display": "Primary malignant neoplasm of first cuneiform bone of foot (disorder)" + }, { + "code": "93802007", + "display": "Primary malignant neoplasm of floor of mouth (disorder)" + }, { + "code": "93806005", + "display": "Primary malignant neoplasm of frontal bone (disorder)" + }, { + "code": "93807001", + "display": "Primary malignant neoplasm of frontal lobe (disorder)" + }, { + "code": "93808006", + "display": "Primary malignant neoplasm of frontal sinus (disorder)" + }, { + "code": "93809003", + "display": "Primary malignant neoplasm of fundus of stomach (disorder)" + }, { + "code": "93812000", + "display": "Primary malignant neoplasm of gingival mucosa (disorder)" + }, { + "code": "93816002", + "display": "Primary malignant neoplasm of glottis (disorder)" + }, { + "code": "93818001", + "display": "Primary malignant neoplasm of greater curvature of stomach (disorder)" + }, { + "code": "93820003", + "display": "Primary malignant neoplasm of hamate bone (disorder)" + }, { + "code": "93825008", + "display": "Primary malignant neoplasm of heart (disorder)" + }, { + "code": "93826009", + "display": "Primary malignant neoplasm of hepatic flexure of colon (disorder)" + }, { + "code": "93827000", + "display": "Primary malignant neoplasm of hilus of lung (disorder)" + }, { + "code": "93829002", + "display": "Primary malignant neoplasm of hypopharyngeal aspect of aryepiglottic fold (disorder)" + }, { + "code": "93830007", + "display": "Primary malignant neoplasm of hypopharyngeal aspect of interarytenoid fold (disorder)" + }, { + "code": "93831006", + "display": "Primary malignant neoplasm of hypopharynx (disorder)" + }, { + "code": "93833009", + "display": "Primary malignant neoplasm of ilium (disorder)" + }, { + "code": "93835002", + "display": "Primary malignant neoplasm of inner aspect of lip (disorder)" + }, { + "code": "93836001", + "display": "Primary malignant neoplasm of inner aspect of lower lip (disorder)" + }, { + "code": "93837005", + "display": "Primary malignant neoplasm of inner aspect of upper lip (disorder)" + }, { + "code": "93841009", + "display": "Primary malignant neoplasm of intrathoracic organs (disorder)" + }, { + "code": "93842002", + "display": "Primary malignant neoplasm of ischium (disorder)" + }, { + "code": "93843007", + "display": "Primary malignant neoplasm of islets of Langerhans (disorder)" + }, { + "code": "93844001", + "display": "Primary malignant neoplasm of isthmus of uterus (disorder)" + }, { + "code": "93845000", + "display": "Primary malignant neoplasm of jaw (disorder)" + }, { + "code": "93848003", + "display": "Primary malignant neoplasm of junctional zone of tongue (disorder)" + }, { + "code": "93849006", + "display": "Primary malignant neoplasm of kidney (disorder)" + }, { + "code": "93850006", + "display": "Primary malignant neoplasm of labia majora (disorder)" + }, { + "code": "93851005", + "display": "Primary malignant neoplasm of labia minora (disorder)" + }, { + "code": "93857009", + "display": "Primary malignant neoplasm of laryngeal commissure (disorder)" + }, { + "code": "93858004", + "display": "Primary malignant neoplasm of laryngeal surface of epiglottis (disorder)" + }, { + "code": "93860002", + "display": "Primary malignant neoplasm of lateral portion of floor of mouth (disorder)" + }, { + "code": "93861003", + "display": "Primary malignant neoplasm of lateral wall of nasopharynx (disorder)" + }, { + "code": "93862005", + "display": "Primary malignant neoplasm of lateral wall of oropharynx (disorder)" + }, { + "code": "93864006", + "display": "Primary malignant neoplasm of lower lobe of left lung (disorder)" + }, { + "code": "93865007", + "display": "Primary malignant neoplasm of upper lobe of left lung (disorder)" + }, { + "code": "93867004", + "display": "Primary malignant neoplasm of lesser curvature of stomach (disorder)" + }, { + "code": "93868009", + "display": "Primary malignant neoplasm of lingual tonsil (disorder)" + }, { + "code": "93871001", + "display": "Primary malignant neoplasm of long bone of lower limb (disorder)" + }, { + "code": "93872008", + "display": "Primary malignant neoplasm of long bone of upper limb (disorder)" + }, { + "code": "93874009", + "display": "Primary malignant neoplasm of lower inner quadrant of female breast (disorder)" + }, { + "code": "93876006", + "display": "Primary malignant neoplasm of lower outer quadrant of female breast (disorder)" + }, { + "code": "93879004", + "display": "Primary malignant neoplasm of lunate bone (disorder)" + }, { + "code": "93880001", + "display": "Primary malignant neoplasm of lung (disorder)" + }, { + "code": "93882009", + "display": "Primary malignant neoplasm of main bronchus (disorder)" + }, { + "code": "93883004", + "display": "Primary malignant neoplasm of major salivary gland (disorder)" + }, { + "code": "93885006", + "display": "Primary malignant neoplasm of male genital organ (disorder)" + }, { + "code": "93886007", + "display": "Primary malignant neoplasm of mandible (disorder)" + }, { + "code": "93887003", + "display": "Primary malignant neoplasm of mastoid air cells (disorder)" + }, { + "code": "93888008", + "display": "Primary malignant neoplasm of maxilla (disorder)" + }, { + "code": "93889000", + "display": "Primary malignant neoplasm of maxillary sinus (disorder)" + }, { + "code": "93891008", + "display": "Primary malignant neoplasm of mediastinum (disorder)" + }, { + "code": "93892001", + "display": "Primary malignant neoplasm of metacarpal bone (disorder)" + }, { + "code": "93893006", + "display": "Primary malignant neoplasm of metatarsal bone (disorder)" + }, { + "code": "93894000", + "display": "Primary malignant neoplasm of middle ear (disorder)" + }, { + "code": "93898002", + "display": "Primary malignant neoplasm of multiple endocrine glands (disorder)" + }, { + "code": "93910009", + "display": "Primary malignant neoplasm of muscle of thorax (disorder)" + }, { + "code": "93914000", + "display": "Primary malignant neoplasm of myocardium (disorder)" + }, { + "code": "93915004", + "display": "Primary malignant neoplasm of myometrium (disorder)" + }, { + "code": "93916003", + "display": "Primary malignant neoplasm of nasal bone (disorder)" + }, { + "code": "93917007", + "display": "Primary malignant neoplasm of nasal cavity (disorder)" + }, { + "code": "93918002", + "display": "Primary malignant neoplasm of nasal concha (disorder)" + }, { + "code": "93920004", + "display": "Primary malignant neoplasm of navicular bone of foot (disorder)" + }, { + "code": "93924008", + "display": "Primary malignant neoplasm of nipple of female breast (disorder)" + }, { + "code": "93925009", + "display": "Primary malignant neoplasm of nipple of male breast (disorder)" + }, { + "code": "93927001", + "display": "Primary malignant neoplasm of occipital bone (disorder)" + }, { + "code": "93928006", + "display": "Primary malignant neoplasm of occipital lobe (disorder)" + }, { + "code": "93930008", + "display": "Primary malignant neoplasm of olfactory nerve (disorder)" + }, { + "code": "93931007", + "display": "Primary malignant neoplasm of optic nerve (disorder)" + }, { + "code": "93932000", + "display": "Primary malignant neoplasm of orbit (disorder)" + }, { + "code": "93933005", + "display": "Primary malignant neoplasm of oropharynx (disorder)" + }, { + "code": "93934004", + "display": "Primary malignant neoplasm of ovary (disorder)" + }, { + "code": "93936002", + "display": "Primary malignant neoplasm of palatine bone (disorder)" + }, { + "code": "93942003", + "display": "Primary malignant neoplasm of parametrium (disorder)" + }, { + "code": "93943008", + "display": "Primary malignant neoplasm of parathyroid gland (disorder)" + }, { + "code": "93944002", + "display": "Primary malignant neoplasm of paraurethral glands (disorder)" + }, { + "code": "93945001", + "display": "Primary malignant neoplasm of parietal bone (disorder)" + }, { + "code": "93946000", + "display": "Primary malignant neoplasm of parietal lobe (disorder)" + }, { + "code": "93947009", + "display": "Primary malignant neoplasm of parietal peritoneum (disorder)" + }, { + "code": "93948004", + "display": "Primary malignant neoplasm of parietal pleura (disorder)" + }, { + "code": "93950007", + "display": "Primary malignant neoplasm of patella (disorder)" + }, { + "code": "93951006", + "display": "Primary malignant neoplasm of pelvic bone (disorder)" + }, { + "code": "93952004", + "display": "Primary malignant neoplasm of pelvic peritoneum (disorder)" + }, { + "code": "93955002", + "display": "Primary malignant neoplasm of periadrenal tissue (disorder)" + }, { + "code": "93957005", + "display": "Primary malignant neoplasm of pericardium (disorder)" + }, { + "code": "93958000", + "display": "Primary malignant neoplasm of perirenal tissue (disorder)" + }, { + "code": "93959008", + "display": "Primary malignant neoplasm of phalanx of foot (disorder)" + }, { + "code": "93960003", + "display": "Primary malignant neoplasm of phalanx of hand (disorder)" + }, { + "code": "93961004", + "display": "Primary malignant neoplasm of pharynx (disorder)" + }, { + "code": "93962006", + "display": "Primary malignant neoplasm of pineal gland (disorder)" + }, { + "code": "93963001", + "display": "Primary malignant neoplasm of pisiform bone of hand (disorder)" + }, { + "code": "93964007", + "display": "Primary malignant neoplasm of pituitary gland (disorder)" + }, { + "code": "93966009", + "display": "Primary malignant neoplasm of pleura (disorder)" + }, { + "code": "93967000", + "display": "Primary malignant neoplasm of postcricoid region (disorder)" + }, { + "code": "93968005", + "display": "Primary malignant neoplasm of posterior hypopharyngeal wall (disorder)" + }, { + "code": "93969002", + "display": "Primary malignant neoplasm of posterior mediastinum (disorder)" + }, { + "code": "93970001", + "display": "Primary malignant neoplasm of posterior wall of nasopharynx (disorder)" + }, { + "code": "93971002", + "display": "Primary malignant neoplasm of posterior wall of oropharynx (disorder)" + }, { + "code": "93974005", + "display": "Primary malignant neoplasm of prostate (disorder)" + }, { + "code": "93975006", + "display": "Primary malignant neoplasm of pubis (disorder)" + }, { + "code": "93976007", + "display": "Primary malignant neoplasm of pyloric antrum (disorder)" + }, { + "code": "93977003", + "display": "Primary malignant neoplasm of pylorus (disorder)" + }, { + "code": "93978008", + "display": "Primary malignant neoplasm of pyriform sinus (disorder)" + }, { + "code": "93979000", + "display": "Primary malignant neoplasm of radius (disorder)" + }, { + "code": "93980002", + "display": "Primary malignant neoplasm of rectosigmoid junction (disorder)" + }, { + "code": "93981003", + "display": "Primary malignant neoplasm of rectouterine pouch (disorder)" + }, { + "code": "93982005", + "display": "Primary malignant neoplasm of rectovaginal septum (disorder)" + }, { + "code": "93983000", + "display": "Primary malignant neoplasm of rectovesical septum (disorder)" + }, { + "code": "93985007", + "display": "Primary malignant neoplasm of renal pelvis (disorder)" + }, { + "code": "93986008", + "display": "Primary malignant neoplasm of respiratory tract (disorder)" + }, { + "code": "93987004", + "display": "Primary malignant neoplasm of retina, primary (disorder)" + }, { + "code": "93989001", + "display": "Primary malignant neoplasm of retromolar area (disorder)" + }, { + "code": "93990005", + "display": "Primary malignant neoplasm of rib (disorder)" + }, { + "code": "93991009", + "display": "Primary malignant neoplasm of right lower lobe of lung (disorder)" + }, { + "code": "93992002", + "display": "Primary malignant neoplasm of right middle lobe of lung (disorder)" + }, { + "code": "93993007", + "display": "Primary malignant neoplasm of upper lobe of right lung (disorder)" + }, { + "code": "93994001", + "display": "Primary malignant neoplasm of round ligament of uterus (disorder)" + }, { + "code": "93996004", + "display": "Primary malignant neoplasm of sacrum (disorder)" + }, { + "code": "93997008", + "display": "Primary malignant neoplasm of scapula (disorder)" + }, { + "code": "93998003", + "display": "Primary malignant neoplasm of sclera, primary (disorder)" + }, { + "code": "94001007", + "display": "Primary malignant neoplasm of second cuneiform bone of foot (disorder)" + }, { + "code": "94002000", + "display": "Primary malignant neoplasm of septum of nose (disorder)" + }, { + "code": "94003005", + "display": "Primary malignant neoplasm of short bone of lower limb (disorder)" + }, { + "code": "94006002", + "display": "Primary malignant neoplasm of sigmoid colon (disorder)" + }, { + "code": "94010004", + "display": "Primary malignant neoplasm of skin of axilla (disorder)" + }, { + "code": "94014008", + "display": "Primary malignant neoplasm of skin of cheek (disorder)" + }, { + "code": "94015009", + "display": "Primary malignant neoplasm of skin of chest (disorder)" + }, { + "code": "94016005", + "display": "Primary malignant neoplasm of skin of chin (disorder)" + }, { + "code": "94017001", + "display": "Primary malignant neoplasm of skin of ear (disorder)" + }, { + "code": "94019003", + "display": "Primary malignant neoplasm of skin of external auditory canal (disorder)" + }, { + "code": "94020009", + "display": "Primary malignant neoplasm of skin of eyebrow (disorder)" + }, { + "code": "94021008", + "display": "Primary malignant neoplasm of skin of eyelid (disorder)" + }, { + "code": "94026003", + "display": "Primary malignant neoplasm of skin of forehead (disorder)" + }, { + "code": "94032008", + "display": "Primary malignant neoplasm of skin of lip (disorder)" + }, { + "code": "94035005", + "display": "Primary malignant neoplasm of skin of nose (disorder)" + }, { + "code": "94038007", + "display": "Primary malignant neoplasm of skin of scalp (disorder)" + }, { + "code": "94040002", + "display": "Primary malignant neoplasm of skin of temporal region (disorder)" + }, { + "code": "94049001", + "display": "Primary malignant neoplasm of soft palate (disorder)" + }, { + "code": "94051002", + "display": "Primary malignant neoplasm of soft tissues of axilla (disorder)" + }, { + "code": "94062002", + "display": "Primary malignant neoplasm of soft tissues of thorax (disorder)" + }, { + "code": "94066004", + "display": "Primary malignant neoplasm of sphenoid bone (disorder)" + }, { + "code": "94067008", + "display": "Primary malignant neoplasm of sphenoidal sinus (disorder)" + }, { + "code": "94068003", + "display": "Primary malignant neoplasm of spinal cord (disorder)" + }, { + "code": "94069006", + "display": "Primary malignant neoplasm of spinal meninges (disorder)" + }, { + "code": "94071006", + "display": "Primary malignant neoplasm of spleen (disorder)" + }, { + "code": "94072004", + "display": "Primary malignant neoplasm of splenic flexure of colon (disorder)" + }, { + "code": "94073009", + "display": "Primary malignant neoplasm of sternum (disorder)" + }, { + "code": "94075002", + "display": "Primary malignant neoplasm of subglottis (disorder)" + }, { + "code": "94076001", + "display": "Primary malignant neoplasm of sublingual gland (disorder)" + }, { + "code": "94077005", + "display": "Primary malignant neoplasm of submaxillary gland (disorder)" + }, { + "code": "94078000", + "display": "Primary malignant neoplasm of superior wall of nasopharynx (disorder)" + }, { + "code": "94080006", + "display": "Primary malignant neoplasm of supraglottis (disorder)" + }, { + "code": "94083008", + "display": "Primary malignant neoplasm of talus (disorder)" + }, { + "code": "94084002", + "display": "Primary malignant neoplasm of tarsal bone (disorder)" + }, { + "code": "94085001", + "display": "Primary malignant neoplasm of temporal bone (disorder)" + }, { + "code": "94086000", + "display": "Primary malignant neoplasm of temporal lobe (disorder)" + }, { + "code": "94087009", + "display": "Primary malignant neoplasm of testis (disorder)" + }, { + "code": "94089007", + "display": "Primary malignant neoplasm of the mesocolon (disorder)" + }, { + "code": "94090003", + "display": "Primary malignant neoplasm of omentum (disorder)" + }, { + "code": "94094007", + "display": "Primary malignant neoplasm of third cuneiform bone of foot (disorder)" + }, { + "code": "94096009", + "display": "Primary malignant neoplasm of thymus (disorder)" + }, { + "code": "94098005", + "display": "Primary malignant neoplasm of thyroid gland (disorder)" + }, { + "code": "94099002", + "display": "Primary malignant neoplasm of tibia (disorder)" + }, { + "code": "94101009", + "display": "Primary malignant neoplasm of tongue (disorder)" + }, { + "code": "94102002", + "display": "Primary malignant neoplasm of tonsillar fossa (disorder)" + }, { + "code": "94103007", + "display": "Primary malignant neoplasm of tonsillar pillar (disorder)" + }, { + "code": "94104001", + "display": "Primary malignant neoplasm of trachea (disorder)" + }, { + "code": "94105000", + "display": "Primary malignant neoplasm of transverse colon (disorder)" + }, { + "code": "94107008", + "display": "Primary malignant neoplasm of trapezoid bone (disorder)" + }, { + "code": "94109006", + "display": "Primary malignant neoplasm of trigone of urinary bladder (disorder)" + }, { + "code": "94112009", + "display": "Primary malignant neoplasm of ulna (disorder)" + }, { + "code": "94113004", + "display": "Primary malignant neoplasm of undescended testis (disorder)" + }, { + "code": "94115006", + "display": "Primary malignant neoplasm of upper inner quadrant of female breast (disorder)" + }, { + "code": "94117003", + "display": "Primary malignant neoplasm of upper outer quadrant of female breast (disorder)" + }, { + "code": "94118008", + "display": "Primary malignant neoplasm of upper respiratory tract (disorder)" + }, { + "code": "94120006", + "display": "Primary malignant neoplasm of urachus (disorder)" + }, { + "code": "94121005", + "display": "Primary malignant neoplasm of ureter (disorder)" + }, { + "code": "94122003", + "display": "Primary malignant neoplasm of ureteric orifice of urinary bladder (disorder)" + }, { + "code": "94123008", + "display": "Primary malignant neoplasm of urethra (disorder)" + }, { + "code": "94124002", + "display": "Primary malignant neoplasm of urinary bladder neck (disorder)" + }, { + "code": "94125001", + "display": "Primary malignant neoplasm of urinary system (disorder)" + }, { + "code": "94128004", + "display": "Primary malignant neoplasm of uveal tract, primary (disorder)" + }, { + "code": "94129007", + "display": "Primary malignant neoplasm of uvula (disorder)" + }, { + "code": "94132005", + "display": "Primary malignant neoplasm of vallecula (disorder)" + }, { + "code": "94133000", + "display": "Primary malignant neoplasm of vas deferens (disorder)" + }, { + "code": "94134006", + "display": "Primary malignant neoplasm of ventral surface of tongue (disorder)" + }, { + "code": "94135007", + "display": "Primary malignant neoplasm of vermilion border of lip (disorder)" + }, { + "code": "94138009", + "display": "Primary malignant neoplasm of vestibule of mouth (disorder)" + }, { + "code": "94139001", + "display": "Primary malignant neoplasm of vestibule of nose (disorder)" + }, { + "code": "94140004", + "display": "Primary malignant neoplasm of visceral pleura (disorder)" + }, { + "code": "94142007", + "display": "Primary malignant neoplasm of vomer (disorder)" + }, { + "code": "94143002", + "display": "Primary malignant neoplasm of vulva (disorder)" + }, { + "code": "94144008", + "display": "Primary malignant neoplasm of Waldeyer's ring (disorder)" + }, { + "code": "94145009", + "display": "Primary malignant neoplasm of zygomatic bone (disorder)" + }, { + "code": "94152006", + "display": "Secondary malignant neoplasm of abdominal esophagus (disorder)" + }, { + "code": "94157000", + "display": "Secondary malignant neoplasm of acromion (disorder)" + }, { + "code": "94158005", + "display": "Secondary malignant neoplasm of adenoid (disorder)" + }, { + "code": "94160007", + "display": "Secondary malignant neoplasm of adrenal cortex (disorder)" + }, { + "code": "94162004", + "display": "Secondary malignant neoplasm of adrenal medulla (disorder)" + }, { + "code": "94163009", + "display": "Secondary malignant neoplasm of alveolar ridge mucosa (disorder)" + }, { + "code": "94164003", + "display": "Secondary malignant neoplasm of ampulla of Vater (disorder)" + }, { + "code": "94165002", + "display": "Secondary malignant neoplasm of anal canal (disorder)" + }, { + "code": "94166001", + "display": "Secondary malignant neoplasm of anterior aspect of epiglottis (disorder)" + }, { + "code": "94167005", + "display": "Secondary malignant neoplasm of anterior mediastinum (disorder)" + }, { + "code": "94170009", + "display": "Secondary malignant neoplasm of anterior wall of nasopharynx (disorder)" + }, { + "code": "94171008", + "display": "Secondary malignant neoplasm of anterior wall of urinary bladder (disorder)" + }, { + "code": "94172001", + "display": "Secondary malignant neoplasm of anus (disorder)" + }, { + "code": "94176003", + "display": "Secondary malignant neoplasm of areola of female breast (disorder)" + }, { + "code": "94179005", + "display": "Secondary malignant neoplasm of ascending colon (disorder)" + }, { + "code": "94182000", + "display": "Secondary malignant neoplasm of axillary tail of female breast (disorder)" + }, { + "code": "94213007", + "display": "Secondary malignant neoplasm of body of penis (disorder)" + }, { + "code": "94218003", + "display": "Secondary malignant neoplasm of bone of face (disorder)" + }, { + "code": "94219006", + "display": "Secondary malignant neoplasm of bone of lower limb (disorder)" + }, { + "code": "94220000", + "display": "Secondary malignant neoplasm of bone of skull (disorder)" + }, { + "code": "94221001", + "display": "Secondary malignant neoplasm of bone of upper limb (disorder)" + }, { + "code": "94222008", + "display": "Secondary malignant neoplasm of bone (disorder)" + }, { + "code": "94224009", + "display": "Secondary malignant neoplasm of brain stem (disorder)" + }, { + "code": "94225005", + "display": "Secondary malignant neoplasm of brain (disorder)" + }, { + "code": "94226006", + "display": "Secondary malignant neoplasm of broad ligament (disorder)" + }, { + "code": "94228007", + "display": "Secondary malignant neoplasm of bronchus of left lower lobe (disorder)" + }, { + "code": "94230009", + "display": "Secondary malignant neoplasm of bronchus of right lower lobe (disorder)" + }, { + "code": "94231008", + "display": "Secondary malignant neoplasm of bronchus of right middle lobe (disorder)" + }, { + "code": "94234000", + "display": "Secondary malignant neoplasm of buccal mucosa (disorder)" + }, { + "code": "94236003", + "display": "Secondary malignant neoplasm of calcaneus (disorder)" + }, { + "code": "94238002", + "display": "Secondary malignant neoplasm of carina (disorder)" + }, { + "code": "94240007", + "display": "Secondary malignant neoplasm of carpal bone (disorder)" + }, { + "code": "94241006", + "display": "Secondary malignant neoplasm of cartilage of nose (disorder)" + }, { + "code": "94244003", + "display": "Secondary malignant neoplasm of central portion of female breast (disorder)" + }, { + "code": "94246001", + "display": "Secondary malignant neoplasm of cerebral meninges (disorder)" + }, { + "code": "94248000", + "display": "Secondary malignant neoplasm of cerebrum (disorder)" + }, { + "code": "94250008", + "display": "Secondary malignant neoplasm of cervical vertebral column (disorder)" + }, { + "code": "94254004", + "display": "Secondary malignant neoplasm of choroid (disorder)" + }, { + "code": "94255003", + "display": "Secondary malignant neoplasm of ciliary body (disorder)" + }, { + "code": "94256002", + "display": "Secondary malignant neoplasm of clavicle (disorder)" + }, { + "code": "94257006", + "display": "Secondary malignant neoplasm of clitoris (disorder)" + }, { + "code": "94259009", + "display": "Secondary malignant neoplasm of coccyx (disorder)" + }, { + "code": "94260004", + "display": "Secondary malignant neoplasm of colon (disorder)" + }, { + "code": "94261000", + "display": "Secondary malignant neoplasm of commissure of lip (disorder)" + }, { + "code": "94264008", + "display": "Secondary malignant neoplasm of soft tissues (disorder)" + }, { + "code": "94267001", + "display": "Secondary malignant neoplasm of craniopharyngeal duct (disorder)" + }, { + "code": "94271003", + "display": "Secondary malignant neoplasm of descending colon (disorder)" + }, { + "code": "94274006", + "display": "Secondary malignant neoplasm of thoracic vertebral column (disorder)" + }, { + "code": "94276008", + "display": "Secondary malignant neoplasm of ectopic female breast tissue (disorder)" + }, { + "code": "94277004", + "display": "Secondary malignant neoplasm of ectopic male breast tissue (disorder)" + }, { + "code": "94278009", + "display": "Secondary malignant neoplasm of endocardium (disorder)" + }, { + "code": "94279001", + "display": "Secondary malignant neoplasm of endocervix (disorder)" + }, { + "code": "94281004", + "display": "Secondary malignant neoplasm of endometrium (disorder)" + }, { + "code": "94287000", + "display": "Secondary malignant neoplasm of ethmoid bone (disorder)" + }, { + "code": "94290006", + "display": "Secondary malignant neoplasm of exocervix (disorder)" + }, { + "code": "94291000119103", + "display": "Mucinous adenocarcinoma of gastrointestinal tract (disorder)" + }, { + "code": "94300004", + "display": "Secondary malignant neoplasm of femur (disorder)" + }, { + "code": "94301000", + "display": "Secondary malignant neoplasm of fibula (disorder)" + }, { + "code": "94302007", + "display": "Secondary malignant neoplasm of first cuneiform bone of foot (disorder)" + }, { + "code": "94308006", + "display": "Secondary malignant neoplasm of frontal bone (disorder)" + }, { + "code": "94311007", + "display": "Secondary malignant neoplasm of fundus of stomach (disorder)" + }, { + "code": "94314004", + "display": "Secondary malignant neoplasm of gingival mucosa (disorder)" + }, { + "code": "94315003", + "display": "Secondary malignant neoplasm of glans penis (disorder)" + }, { + "code": "94318001", + "display": "Secondary malignant neoplasm of glottis (disorder)" + }, { + "code": "94319009", + "display": "Secondary malignant neoplasm of great vessels (disorder)" + }, { + "code": "94320003", + "display": "Secondary malignant neoplasm of greater curvature of stomach (disorder)" + }, { + "code": "94321004", + "display": "Secondary malignant neoplasm of gum (disorder)" + }, { + "code": "94322006", + "display": "Secondary malignant neoplasm of hamate bone (disorder)" + }, { + "code": "94327000", + "display": "Secondary malignant neoplasm of heart (disorder)" + }, { + "code": "94328005", + "display": "Secondary malignant neoplasm of hepatic flexure of colon (disorder)" + }, { + "code": "94332004", + "display": "Secondary malignant neoplasm of hypopharyngeal aspect of aryepiglottic fold (disorder)" + }, { + "code": "94334003", + "display": "Secondary malignant neoplasm of hypopharynx (disorder)" + }, { + "code": "94337005", + "display": "Secondary malignant neoplasm of ilium (disorder)" + }, { + "code": "94341009", + "display": "Secondary malignant neoplasm of inner aspect of lip (disorder)" + }, { + "code": "94342002", + "display": "Secondary malignant neoplasm of inner aspect of lower lip (disorder)" + }, { + "code": "94343007", + "display": "Secondary malignant neoplasm of inner aspect of upper lip (disorder)" + }, { + "code": "94353008", + "display": "Secondary malignant neoplasm of ischium (disorder)" + }, { + "code": "94354002", + "display": "Secondary malignant neoplasm of islets of Langerhans (disorder)" + }, { + "code": "94355001", + "display": "Secondary malignant neoplasm of isthmus of uterus (disorder)" + }, { + "code": "94358004", + "display": "Secondary malignant neoplasm of junctional region of epiglottis (disorder)" + }, { + "code": "94359007", + "display": "Secondary malignant neoplasm of junctional zone of tongue (disorder)" + }, { + "code": "94361003", + "display": "Secondary malignant neoplasm of labia majora (disorder)" + }, { + "code": "94362005", + "display": "Secondary malignant neoplasm of labia minora (disorder)" + }, { + "code": "94364006", + "display": "Secondary malignant neoplasm of lacrimal gland (disorder)" + }, { + "code": "94366008", + "display": "Secondary malignant neoplasm of laryngeal aspect of aryepiglottic fold (disorder)" + }, { + "code": "94372008", + "display": "Secondary malignant neoplasm of lateral wall of nasopharynx (disorder)" + }, { + "code": "94374009", + "display": "Secondary malignant neoplasm of lateral wall of urinary bladder (disorder)" + }, { + "code": "94379004", + "display": "Secondary malignant neoplasm of lingual tonsil (disorder)" + }, { + "code": "94382009", + "display": "Secondary malignant neoplasm of long bone of lower limb (disorder)" + }, { + "code": "94383004", + "display": "Secondary malignant neoplasm of long bone of upper limb (disorder)" + }, { + "code": "94384005", + "display": "Secondary malignant neoplasm of lower gum (disorder)" + }, { + "code": "94385006", + "display": "Secondary malignant neoplasm of lower inner quadrant of female breast (disorder)" + }, { + "code": "94387003", + "display": "Secondary malignant neoplasm of lower outer quadrant of female breast (disorder)" + }, { + "code": "94389000", + "display": "Secondary malignant neoplasm of lumbar vertebral column (disorder)" + }, { + "code": "94390009", + "display": "Secondary malignant neoplasm of lunate bone (disorder)" + }, { + "code": "94399005", + "display": "Secondary malignant neoplasm of main bronchus (disorder)" + }, { + "code": "94400003", + "display": "Secondary malignant neoplasm of major salivary gland (disorder)" + }, { + "code": "94403001", + "display": "Secondary malignant neoplasm of mandible (disorder)" + }, { + "code": "94404007", + "display": "Secondary malignant neoplasm of mastoid air cells (disorder)" + }, { + "code": "94405008", + "display": "Secondary malignant neoplasm of maxilla (disorder)" + }, { + "code": "94411006", + "display": "Secondary malignant neoplasm of metacarpal bone (disorder)" + }, { + "code": "94412004", + "display": "Secondary malignant neoplasm of metatarsal bone (disorder)" + }, { + "code": "94415002", + "display": "Secondary malignant neoplasm of minor salivary gland (disorder)" + }, { + "code": "94420002", + "display": "Secondary malignant neoplasm of muscle of face (disorder)" + }, { + "code": "94421003", + "display": "Secondary malignant neoplasm of muscle of head (disorder)" + }, { + "code": "94433008", + "display": "Secondary malignant neoplasm of myocardium (disorder)" + }, { + "code": "94434002", + "display": "Secondary malignant neoplasm of myometrium (disorder)" + }, { + "code": "94435001", + "display": "Secondary malignant neoplasm of nasal bone (disorder)" + }, { + "code": "94437009", + "display": "Secondary malignant neoplasm of nasal concha (disorder)" + }, { + "code": "94439007", + "display": "Secondary malignant neoplasm of navicular bone of foot (disorder)" + }, { + "code": "94440009", + "display": "Secondary malignant neoplasm of scaphoid bone (disorder)" + }, { + "code": "94443006", + "display": "Secondary malignant neoplasm of nipple of female breast (disorder)" + }, { + "code": "94447007", + "display": "Secondary malignant neoplasm of occipital bone (disorder)" + }, { + "code": "94448002", + "display": "Secondary malignant neoplasm of occipital lobe (disorder)" + }, { + "code": "94451009", + "display": "Secondary malignant neoplasm of olfactory nerve (disorder)" + }, { + "code": "94452002", + "display": "Secondary malignant neoplasm of optic nerve (disorder)" + }, { + "code": "94457008", + "display": "Secondary malignant neoplasm of palatine bone (disorder)" + }, { + "code": "94458003", + "display": "Secondary malignant neoplasm of tonsil (disorder)" + }, { + "code": "94465006", + "display": "Secondary malignant neoplasm of parametrium (disorder)" + }, { + "code": "94467003", + "display": "Secondary malignant neoplasm of parathyroid gland (disorder)" + }, { + "code": "94470004", + "display": "Secondary malignant neoplasm of parietal bone (disorder)" + }, { + "code": "94471000", + "display": "Secondary malignant neoplasm of parietal lobe (disorder)" + }, { + "code": "94473002", + "display": "Secondary malignant neoplasm of parietal pleura (disorder)" + }, { + "code": "94474008", + "display": "Secondary malignant neoplasm of parotid gland (disorder)" + }, { + "code": "94478006", + "display": "Secondary malignant neoplasm of pelvic bone (disorder)" + }, { + "code": "94484009", + "display": "Secondary malignant neoplasm of pericardium (disorder)" + }, { + "code": "94485005", + "display": "Secondary malignant neoplasm of perirenal tissue (disorder)" + }, { + "code": "94486006", + "display": "Secondary malignant neoplasm of phalanx of foot (disorder)" + }, { + "code": "94487002", + "display": "Secondary malignant neoplasm of phalanx of hand (disorder)" + }, { + "code": "94488007", + "display": "Secondary malignant neoplasm of pharynx (disorder)" + }, { + "code": "94489004", + "display": "Secondary malignant neoplasm of pineal gland (disorder)" + }, { + "code": "94490008", + "display": "Secondary malignant neoplasm of pisiform bone of hand (disorder)" + }, { + "code": "94491007", + "display": "Secondary malignant neoplasm of pituitary gland (disorder)" + }, { + "code": "94495003", + "display": "Secondary malignant neoplasm of postcricoid region (disorder)" + }, { + "code": "94497006", + "display": "Secondary malignant neoplasm of posterior mediastinum (disorder)" + }, { + "code": "94498001", + "display": "Secondary malignant neoplasm of posterior wall of nasopharynx (disorder)" + }, { + "code": "94500000", + "display": "Secondary malignant neoplasm of posterior wall of urinary bladder (disorder)" + }, { + "code": "94504009", + "display": "Secondary malignant neoplasm of pubis (disorder)" + }, { + "code": "94505005", + "display": "Secondary malignant neoplasm of pyloric antrum (disorder)" + }, { + "code": "94507002", + "display": "Secondary malignant neoplasm of pyriform sinus (disorder)" + }, { + "code": "94508007", + "display": "Secondary malignant neoplasm of radius (disorder)" + }, { + "code": "94509004", + "display": "Secondary malignant neoplasm of rectosigmoid junction (disorder)" + }, { + "code": "94518002", + "display": "Secondary malignant neoplasm of retromolar area (disorder)" + }, { + "code": "94521000", + "display": "Secondary malignant neoplasm of rib (disorder)" + }, { + "code": "94522007", + "display": "Secondary malignant neoplasm of right lower lobe of lung (disorder)" + }, { + "code": "94523002", + "display": "Secondary malignant neoplasm of right middle lobe of lung (disorder)" + }, { + "code": "94525009", + "display": "Secondary malignant neoplasm of round ligament of uterus (disorder)" + }, { + "code": "94527001", + "display": "Secondary malignant neoplasm of sacrum (disorder)" + }, { + "code": "94529003", + "display": "Secondary malignant neoplasm of scapula (disorder)" + }, { + "code": "94530008", + "display": "Secondary malignant neoplasm of sclera (disorder)" + }, { + "code": "94533005", + "display": "Secondary malignant neoplasm of second cuneiform bone of foot (disorder)" + }, { + "code": "94534004", + "display": "Secondary malignant neoplasm of septum of nose (disorder)" + }, { + "code": "94536002", + "display": "Secondary malignant neoplasm of short bone of upper limb (disorder)" + }, { + "code": "94538001", + "display": "Secondary malignant neoplasm of sigmoid colon (disorder)" + }, { + "code": "94546000", + "display": "Secondary malignant neoplasm of skin of cheek (disorder)" + }, { + "code": "94551006", + "display": "Secondary malignant neoplasm of skin of external auditory canal (disorder)" + }, { + "code": "94559008", + "display": "Secondary malignant neoplasm of skin of groin (disorder)" + }, { + "code": "94576007", + "display": "Secondary malignant neoplasm of skin of umbilicus (disorder)" + }, { + "code": "94594001", + "display": "Secondary malignant neoplasm of soft tissues of thorax (disorder)" + }, { + "code": "94597008", + "display": "Secondary malignant neoplasm of spermatic cord (disorder)" + }, { + "code": "94598003", + "display": "Secondary malignant neoplasm of sphenoid bone (disorder)" + }, { + "code": "94599006", + "display": "Secondary malignant neoplasm of sphenoidal sinus (disorder)" + }, { + "code": "94602001", + "display": "Secondary malignant neoplasm of vertebral column (disorder)" + }, { + "code": "94604000", + "display": "Secondary malignant neoplasm of splenic flexure of colon (disorder)" + }, { + "code": "94605004", + "display": "Secondary malignant neoplasm of sternum (disorder)" + }, { + "code": "94607007", + "display": "Secondary malignant neoplasm of subglottis (disorder)" + }, { + "code": "94608002", + "display": "Secondary malignant neoplasm of sublingual gland (disorder)" + }, { + "code": "94613003", + "display": "Secondary malignant neoplasm of superior wall of nasopharynx (disorder)" + }, { + "code": "94621009", + "display": "Secondary malignant neoplasm of temporal bone (disorder)" + }, { + "code": "94622002", + "display": "Secondary malignant neoplasm of temporal lobe (disorder)" + }, { + "code": "94624001", + "display": "Secondary malignant neoplasm of the mesentery (disorder)" + }, { + "code": "94625000", + "display": "Secondary malignant neoplasm of the mesocolon (disorder)" + }, { + "code": "94626004", + "display": "Secondary malignant neoplasm of omentum (disorder)" + }, { + "code": "94630001", + "display": "Secondary malignant neoplasm of third cuneiform bone of foot (disorder)" + }, { + "code": "94632009", + "display": "Secondary malignant neoplasm of thymus (disorder)" + }, { + "code": "94635006", + "display": "Secondary malignant neoplasm of tibia (disorder)" + }, { + "code": "94637003", + "display": "Secondary malignant neoplasm of tip and lateral border of tongue (disorder)" + }, { + "code": "94639000", + "display": "Secondary malignant neoplasm of tonsillar fossa (disorder)" + }, { + "code": "94643001", + "display": "Secondary malignant neoplasm of transverse colon (disorder)" + }, { + "code": "94644007", + "display": "Secondary malignant neoplasm of trapezium (disorder)" + }, { + "code": "94645008", + "display": "Secondary malignant neoplasm of trapezoid bone (disorder)" + }, { + "code": "94647000", + "display": "Secondary malignant neoplasm of trigone of urinary bladder (disorder)" + }, { + "code": "94650002", + "display": "Secondary malignant neoplasm of ulna (disorder)" + }, { + "code": "94651003", + "display": "Secondary malignant neoplasm of undescended testis (disorder)" + }, { + "code": "94652005", + "display": "Secondary malignant neoplasm of upper gum (disorder)" + }, { + "code": "94653000", + "display": "Secondary malignant neoplasm of upper inner quadrant of female breast (disorder)" + }, { + "code": "94655007", + "display": "Secondary malignant neoplasm of upper outer quadrant of female breast (disorder)" + }, { + "code": "94658009", + "display": "Secondary malignant neoplasm of urachus (disorder)" + }, { + "code": "94659001", + "display": "Secondary malignant neoplasm of ureter (disorder)" + }, { + "code": "94660006", + "display": "Secondary malignant neoplasm of ureteric orifice of urinary bladder (disorder)" + }, { + "code": "94662003", + "display": "Secondary malignant neoplasm of urinary bladder neck (disorder)" + }, { + "code": "94667009", + "display": "Secondary malignant neoplasm of uvula (disorder)" + }, { + "code": "94670008", + "display": "Secondary malignant neoplasm of vallecula (disorder)" + }, { + "code": "94671007", + "display": "Secondary malignant neoplasm of vas deferens (disorder)" + }, { + "code": "94673005", + "display": "Secondary malignant neoplasm of vermilion border of lip (disorder)" + }, { + "code": "94674004", + "display": "Secondary malignant neoplasm of vermilion border of lower lip (disorder)" + }, { + "code": "94675003", + "display": "Secondary malignant neoplasm of vermilion border of upper lip (disorder)" + }, { + "code": "94676002", + "display": "Secondary malignant neoplasm of vestibule of mouth (disorder)" + }, { + "code": "94677006", + "display": "Secondary malignant neoplasm of vestibule of nose (disorder)" + }, { + "code": "94679009", + "display": "Secondary malignant neoplasm of vocal cord (disorder)" + }, { + "code": "94680007", + "display": "Secondary malignant neoplasm of vomer (disorder)" + }, { + "code": "94682004", + "display": "Secondary malignant neoplasm of Waldeyer's ring (disorder)" + }, { + "code": "94683009", + "display": "Secondary malignant neoplasm of zygomatic bone (disorder)" + }, { + "code": "94686001", + "display": "Mixed cell type lymphosarcoma of intra-abdominal lymph nodes (disorder)" + }, { + "code": "94687005", + "display": "Mixed cell type lymphosarcoma of intrapelvic lymph nodes (disorder)" + }, { + "code": "94688000", + "display": "Mixed cell type lymphosarcoma of intrathoracic lymph nodes (disorder)" + }, { + "code": "94690004", + "display": "Mixed cell type lymphosarcoma of lymph nodes of head, face, and neck (disorder)" + }, { + "code": "94707004", + "display": "Mycosis fungoides of intra-abdominal lymph nodes (disorder)" + }, { + "code": "94708009", + "display": "Mycosis fungoides of intrapelvic lymph nodes (disorder)" + }, { + "code": "94709001", + "display": "Mycosis fungoides of intrathoracic lymph nodes (disorder)" + }, { + "code": "94710006", + "display": "Mycosis fungoides of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "94711005", + "display": "Mycosis fungoides of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "94712003", + "display": "Mycosis fungoides of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "94714002", + "display": "Mycosis fungoides of spleen (disorder)" + }, { + "code": "94715001", + "display": "Mycosis fungoides of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "94719007", + "display": "Myeloid sarcoma, disease (disorder)" + }, { + "code": "95186006", + "display": "Nodular lymphoma of intra-abdominal lymph nodes (disorder)" + }, { + "code": "95187002", + "display": "Nodular lymphoma of intrapelvic lymph nodes (disorder)" + }, { + "code": "95188007", + "display": "Nodular lymphoma of intrathoracic lymph nodes (disorder)" + }, { + "code": "95192000", + "display": "Nodular lymphoma of lymph nodes of multiple sites (disorder)" + }, { + "code": "95193005", + "display": "Nodular lymphoma of spleen (disorder)" + }, { + "code": "95194004", + "display": "Nodular lymphoma of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "95210003", + "display": "Plasma cell leukemia, disease (disorder)" + }, { + "code": "95224004", + "display": "Reticulosarcoma of intra-abdominal lymph nodes (disorder)" + }, { + "code": "95225003", + "display": "Reticulosarcoma of intrapelvic lymph nodes (disorder)" + }, { + "code": "95226002", + "display": "Reticulosarcoma of intrathoracic lymph nodes (disorder)" + }, { + "code": "95230004", + "display": "Reticulosarcoma of lymph nodes of multiple sites (disorder)" + }, { + "code": "95231000", + "display": "Reticulosarcoma of spleen (disorder)" + }, { + "code": "95260009", + "display": "Sézary's disease of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "95261008", + "display": "Sézary's disease of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "95263006", + "display": "Sézary's disease of spleen (disorder)" + }, { + "code": "95264000", + "display": "Sézary's disease of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "9541000119105", + "display": "Primary adenocarcinoma of gallbladder (disorder)" + }, { + "code": "96281000119107", + "display": "Overlapping malignant neoplasm of colon and rectum (disorder)" + }, { + "code": "96981000119102", + "display": "Malignant neoplasm of rectosigmoid junction metastatic to brain (disorder)" + }, { + "code": "99101000119101", + "display": "Primary adenocarcinoma of fallopian tube (disorder)" + }, { + "code": "99121000119105", + "display": "Primary adenocarcinoma of vagina (disorder)" + }, { + "code": "99131000119108", + "display": "Astrocytoma of cerebrum (disorder)" } ] - } + } ] } }, "request": { "method": "PUT", - "url": "Encounter/denom-EXM506-FHIR3-2" + "url": "ValueSet/2.16.840.1.113762.1.4.1111.161" } }, { "resource": { @@ -1118,245 +15668,33 @@ } }, { "resource": { - "resourceType": "Measure", - "id": "measure-EXM506-FHIR3-2.0.000", - "meta": { - "profile": [ "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" ] - }, + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", "text": { - "status": "generated" + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" }, - "extension": [ { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", - "valueCode": "boolean" - }, { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", - "valueReference": { - "reference": "cqf-tooling" - } - } ], - "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-EXM506-FHIR3", - "version": "2.0.000", - "name": "EXM506", - "title": "Safe Use of Opioids - Concurrent Prescribing", - "status": "draft", + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", "experimental": true, - "publisher": "National Committee for Quality Assurance (NCQA)", - "description": "Proportion of inpatient hospitalizations for patients 18 years of age and older prescribed, or continued on, two or more opioids or an opioid and benzodiazepine concurrently at discharge", - "purpose": "Proportion of inpatient hospitalizations for patients 18 years of age and older prescribed, or continued on, two or more opioids or an opioid and benzodiazepine concurrently at discharge", - "approvalDate": "2016-01-01", - "lastReviewDate": "2019-10-10", - "effectivePeriod": { - "start": "2019-01-01", - "end": "2019-12-31" - }, - "useContext": [ { - "code": { - "code": "program" - }, - "valueCodeableConcept": { - "text": "eligible-provider" - } - } ], - "jurisdiction": [ { - "coding": [ { - "system": "urn:iso:std:iso:3166", - "code": "US" - } ] - } ], - "topic": [ { - "coding": [ { - "system": "http://loinc.org", - "code": "57024-2", - "display": "Health Quality Measure Document" - } ] - } ], - "contributor": [ { - "type": "author", - "name": "National Committee for Quality Assurance" - } ], - "contact": [ { - "telecom": [ { - "system": "url", - "value": "http://www.ncqa.org/" - } ] - } ], - "copyright": "This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved.
Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications.
CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.", - "relatedArtifact": [ { - "type": "citation", - "citation": "American Academy of Emergency Medicine (AAEM). (2013). Emergency department opioid-prescribing guidelines for the treatment of non-cancer-related pain. Retrieved from https://www.deepdyve.com/lp/elsevier/american-academy-of-emergency-medicine-PlQtPNi8J4" - }, { - "type": "citation", - "citation": "American Society of Interventional Pain Physicians (ASIPP). (2012). Guidelines for responsible opioid prescribing in chronic noncancer pain. Retrieved from https://www.asipp.org/opioidguidelines.htm " - }, { - "type": "citation", - "citation": "Dasgupta, N., Jonsson Funk, M., Proescholdbell, S., et al. (2015, September). Cohort study of the impact of high-dose opioid analgesics on overdose mortality. Pain Medicine. Retrieved from http://onlinelibrary.wiley.com/doi/10.1111/pme.12907/abstract" - }, { - "type": "citation", - "citation": "Dowell, D., Haegerich, T., & Chou, R. (2016). CDC guideline for prescribing opioids for chronic pain—United States, 2016. MMWR Recommendations and Reports, 65. Retrieved from http://www.cdc.gov/media/dpk/2016/dpk-opioid-prescription-guidelines.html" - }, { - "type": "citation", - "citation": "Herzig, S., Rothberg, M., Cheung, M., et al. (2014). Opioid utilization and opioid-related adverse events in nonsurgical patients in U.S. hospitals. Journal of Hospital Medicine, 9(2), 73-81." - }, { - "type": "citation", - "citation": "Jena, A., Goldman, D., Schaeffer, L. D., et al. (2014). Opioid prescribing by multiple providers in Medicare: Retrospective observational study of insurance claims. BMJ, 348, g1393. DOI: 10.1136/bmj.g1393" - }, { - "type": "citation", - "citation": "Liu, Y., Logan, J., Paulozzi, L., et al. (2013). Potential misuse and inappropriate prescription practices involving opioid analgesics. American Journal of Managed Care, 19(8), 648–665. Retrieved from http://www.ajmc.com/journals/issue/2013/2013-1-vol19-n8/Potential-Misuse-and-Inappropriate-Prescription-Practices-Involving-Opioid-Analgesics/" - }, { - "type": "citation", - "citation": "Lin, L. A., Bohnert, A. S., Kerns, R. D., et al. (2017). Impact of the opioid safety initiative on opioid-related prescribing in veterans. Pain, 158(5), 833–839. Retrieved from https://www.ncbi.nlm.nih.gov/pubmed/28240996" - }, { - "type": "citation", - "citation": "Mack, K., Zhang, K., Paulozzi, L., et al. (2015, February). Prescription practices involving opioid analgesics among Americans with Medicaid, 2010. Journal of Health Care for the Poor and Underserved, 26(1), 182–198. Retrieved from http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4365785" - }, { - "type": "citation", - "citation": "National Institute on Drug Abuse. (2011). Analysis of opioid prescription practices finds areas of concern. Retrieved from https://www.drugabuse.gov/news-events/news-releases/2011/04/analysis-opioid-prescription-practices-finds-areas-concern" - }, { - "type": "citation", - "citation": "New York City (NYC) Department of Health and Mental Hygiene (NYC DOHMH). (2013). NYC emergency department discharge opioid-prescribing guidelines. Retrieved from https://www1.nyc.gov/site/doh/providers/health-topics/opioid-prescribing-resources-for-emergency-departments.page" - }, { - "type": "citation", - "citation": "Park, T., Saitz, R., Ganoczy, D., et al. (2015). Benzodiazepine-prescribing patterns and deaths from drug overdose among U.S. veterans receiving opioid analgesics: Case-cohort study. BMJ, 350, h2698. Retrieved from http://www.bmj.com/content/350/bmj.h2698" - }, { - "type": "citation", - "citation": "Rudd, R., Aleshire, N., Zibbell, J., et al. (2016, January). Increases in drug and opioid overdose deaths—United States, 2000–2014. Morbidity and Mortality Weekly Report, 64(50), 1378–1382. Retrieved from http://www.cdc.gov/mmwr/preview/mmwrhtml/mm6450a3.htm" - }, { - "type": "citation", - "citation": "Sun, E., Dixit, A., Humphreys, K., et al. (2017). Association between concurrent use of prescription opioids and benzodiazepines and overdose: Retrospective analysis. BMJ, 356, j760. Retrieved from http://www.bmj.com/content/356/bmj.j760" - }, { - "type": "citation", - "citation": "U.S. Department of Veterans Affairs. (2014). Opioid safety initiative toolkit. Retrieved from https://www.va.gov/PAINMANAGEMENT/Opioid_Safety_Initiative_OSI.asp" - }, { - "type": "citation", - "citation": "U.S. Department of Veterans Affairs. (2016). Opioid safety initiative: Opioids (including tramadol) used in combination with benzodiazepine derivative sedatives/hypnotics. Unpublished manuscript." - }, { - "type": "citation", - "citation": "Washington Agency Medical Directors’ Group (WAMDG). (2015). Interagency guideline on prescribing opioids for pain, Part II: Prescribing opioids in the acute and subacute phase. Retrieved from http://www.agencymeddirectors.wa.gov/Files/2015AMDGOpioidGuideline.pdf" - } ], - "library": [ { - "reference": "Library/library-EXM506-FHIR3-2.0.000" - } ], - "disclaimer": "These performance measures are not clinical guidelines and do not establish a standard of medical care and have not been tested for all potential applications. The measures and specifications are provided without warranty. CMS has contracted with Mathematica for the continued maintenance of this electronic measure.", - "scoring": { + "type": { "coding": [ { - "system": "http://hl7.org/fhir/measure-scoring", - "code": "proportion" + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" } ] }, - "type": [ { - "coding": [ { - "system": "http://hl7.org/fhir/measure-type", - "code": "process" - } ] - } ], - "rationale": "Unintentional opioid overdose fatalities have become a major public health concern in the United States (Rudd et al., 2016). Reducing the number of unintentional overdoses has become a priority for numerous federal organizations including, but not limited to, the Centers for Disease Control and Prevention (CDC), the Federal Interagency Workgroup for Opioid Adverse Drug Events, and the Substance Abuse and Mental Health Services Administration. Concurrent prescriptions of opioids or opioids and benzodiazepines places patients at a greater risk of unintentional overdose due to the increased risk of respiratory depression (Dowell, Haegerich, & Chou, 2016). An analysis of national prescribing patterns shows that more than half of patients who received an opioid prescription in 2009 had filled another opioid prescription within the previous 30 days (National Institute on Drug Abuse, 2011). Studies of multiple claims and prescription databases have shown that between 5%-15% of patients receive concurrent opioid prescriptions and 5%-20% of patients receive concurrent opioid and benzodiazepine prescriptions across various settings (Liu et al., 2013; Mack et al., 2015, Park et al., 2015). Patients who have multiple opioid prescriptions have an increased risk for overdose (Jena et al., 2014). Rates of fatal overdose are ten times higher in patients who are co-dispensed opioid analgesics and benzodiazepines than opioids alone (Dasgupta et al., 2015). The number of opioid overdose deaths involving benzodiazepines increased 14% on average each year from 2006 to 2011, while the number of opioid analgesic overdose deaths not involving benzodiazepines did not change significantly (Jones & McAninch, 2015). Furthermore, concurrent use of benzodiazepines with opioids was prevalent in 31%-51% of fatal overdoses (Dowell, Haegerich, & Chou, 2016). One study found that eliminating concurrent use of opioids and benzodiazepines could reduce the risk of opioid overdose-related ED and inpatient visits by 15% and potentially could have prevented an estimated 2,630 deaths related to opioid painkiller overdoses in 2015 (Sun et al., 2017). A study on The Opioid Safety Initiative in the Veterans Health Administration (VHA), which includes an opioid and benzodiazepine concurrent prescribing measure that this measure is based on, was associated with a decrease of 20.67% overall and 0.86% patients per month (781 patients per month) receiving concurrent benzodiazepine with an opioid among all adult VHA patients who filled outpatient opioid prescriptions from October 2012 to September 2014 (Lin et al., 2017). Adopting a measure that calculates the proportion of patients with two or more opioids or opioids and benzodiazepines concurrently has the potential to reduce preventable mortality and reduce the costs associated with adverse events related to opioid use by (1) encouraging providers to identify patients with concurrent prescriptions of opioids or opioids and benzodiazepines and (2) discouraging providers from prescribing two or more opioids or opioids and benzodiazepines concurrently.", - "clinicalRecommendationStatement": "The 2016 CDC Guideline for Prescribing Opioids for Chronic Pain also recommends that: - \"Clinicians should avoid prescribing opioids and benzodiazepines concurrently whenever possible. Clinicians should communicate with others managing the patient to discuss the patient's needs, prioritize patient goals, weigh risks of concurrent benzodiazepine and opioid exposure, and coordinate care.\" \n- \"Clinicians should check the PDMP for concurrent controlled medications prescribed by other clinicians and should consider involving pharmacists and pain specialists as part of the management team when opioids are co-prescribed with other central nervous system depressants.\"\n- \"Experts emphasized that clinicians should communicate with mental health professionals managing the patient to discuss the patient's needs, prioritize patient goals, weigh risks of concurrent benzodiazepine and opioid exposure, and coordinate care.\" \nIn addition to the 2016 CDC Guideline for Prescribing Opioids for Chronic Pain, opioid prescribing guidelines issued by various state agencies and professional societies for various settings agree with the recommendation to avoid concurrently prescribing opioids (AAEM, WAMDG) and opioids and benzodiazepines (WAMDG, ASIPP, NYC DOHMH) whenever possible as the combination of these medications may potentiate opioid-induced respiratory depression. \n The CDC Guideline for Prescribing Opioids for Chronic Pain (Dowell, 2016) also recommends that for patients found to have multiple opioid prescriptions clinicians should: \n- \"Discuss information from the PDMP with their patient and confirm that the patient is aware of the additional prescriptions.\" \n - \"Discuss safety concerns, including increased risk for respiratory depression and overdose, with patients found to be receiving opioids from more than one prescriber or receiving medications that increase risk when combined with opioids and consider offering naloxone.\" \n - \"Discuss safety concerns with other clinicians who are prescribing controlled substances for their patient. Ideally clinicians should first discuss concerns with their patient and inform him or her that they plan to coordinate care with the patient's other prescribers to improve the patient's safety.\"", - "improvementNotation": "decrease", - "guidance": "Clinician judgement, clinical appropriateness, or both may indicate concurrent prescribing of two unique opioids or an opioid and benzodiazepine is medically necessary, thus the measure is not expected to have a zero rate. \n Inpatient hospitalizations with discharge medications of a new or continuing opioid or a new or continuing benzodiazepine prescription should be included in the initial population. \n Inpatient hospitalizations with discharge medications of two or more new or continuing opioids or new or continuing opioid and benzodiazepine resulting in concurrent therapy at discharge should be included in the numerator.", - "group": [ { - "identifier": { - "value": "group-1" - }, - "population": [ { - "identifier": { - "value": "initial-population-identifier" - }, - "code": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "initial-population", - "display": "Initial Population" - } ] - }, - "criteria": "Initial Population" - }, { - "identifier": { - "value": "numerator-identifier" - }, - "code": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "numerator", - "display": "Numerator" - } ] - }, - "criteria": "Numerator" - }, { - "identifier": { - "value": "denominator-identifier" - }, - "code": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator", - "display": "Denominator" - } ] - }, - "criteria": "Denominator" - }, { - "identifier": { - "value": "denominator-exclusions-identifier" - }, - "code": { - "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator-exclusion", - "display": "Denominator Exclusion" - } ] - }, - "criteria": "Denominator Exclusion" - } ] - } ], - "supplementalData": [ { - "identifier": { - "value": "sde-ethnicity" - }, - "usage": [ { - "coding": [ { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } ] - } ], - "criteria": "SDE Ethnicity" - }, { - "identifier": { - "value": "sde-payer" - }, - "usage": [ { - "coding": [ { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } ] - } ], - "criteria": "SDE Payer" - }, { - "identifier": { - "value": "sde-race" - }, - "usage": [ { - "coding": [ { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } ] - } ], - "criteria": "SDE Race" + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" }, { - "identifier": { - "value": "sde-sex" - }, - "usage": [ { - "coding": [ { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } ] - } ], - "criteria": "SDE Sex" + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" } ] }, "request": { "method": "PUT", - "url": "Measure/measure-EXM506-FHIR3-2.0.000" + "url": "Library/library-FHIRHelpers-3.0.0" } }, { "resource": { diff --git a/fhir3/bundles/measure/EXM506_FHIR3-2.0.000/EXM506_FHIR3-2.0.000-files/library-EXM506_FHIR3-2.0.000.json b/fhir3/bundles/measure/EXM506_FHIR3-2.0.000/EXM506_FHIR3-2.0.000-files/library-EXM506_FHIR3-2.0.000.json index 1027fe9f..8919490f 100644 --- a/fhir3/bundles/measure/EXM506_FHIR3-2.0.000/EXM506_FHIR3-2.0.000-files/library-EXM506_FHIR3-2.0.000.json +++ b/fhir3/bundles/measure/EXM506_FHIR3-2.0.000/EXM506_FHIR3-2.0.000-files/library-EXM506_FHIR3-2.0.000.json @@ -21,8 +21,172 @@ "code": "logic-library" } ] }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/Library/FHIR-ModelInfo|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/MATGlobalCommonFunctions_FHIR3|4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/FHIRHelpers|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/SupplementalDataElements_FHIR3|1.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/diagnosis-role" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://loinc.org" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://snomed.org" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/request-intent" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/medication-request-category" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2" + } + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161" + } + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162" + } + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20" + } + } ] + } ], "content": [ { "contentType": "text/cql", "data": "bGlicmFyeSBFWE01MDZfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKY29kZXN5c3RlbSAiRGlhZ25vc2lzIFJvbGUiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZScKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5vcmcnCmNvZGVzeXN0ZW0gIlJlcXVlc3RJbnRlbnQiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCcKY29kZXN5c3RlbSAiTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL21lZGljYXRpb24tcmVxdWVzdC1jYXRlZ29yeScKCnZhbHVlc2V0ICJBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciI6ICAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE2MScKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkhvc3BpY2UgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4zMTU3LjEwMDQuMjAnCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlBhbGxpYXRpdmUgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTYyJwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiU2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzIjogICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMicKdmFsdWVzZXQgIlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMScKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiT3JkZXIiOiAnb3JkZXInIGZyb20gIlJlcXVlc3RJbnRlbnQiIGRpc3BsYXkgJ09yZGVyJwpjb2RlICJDb21tdW5pdHkiOiAnY29tbXVuaXR5JyBmcm9tICJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IiBkaXNwbGF5ICdDb21tdW5pdHknCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgICBkZWZhdWx0IEludGVydmFsW0AyMDE5LTAxLTAxVDAwOjAwOjAwLjAsIEAyMDIwLTAxLTAxVDAwOjAwOjAwLjApCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiOgoJWyJFbmNvdW50ZXIiOiAiRW5jb3VudGVyIElucGF0aWVudCJdIEVuY291bnRlcklucGF0aWVudAoJCXdoZXJlIEVuY291bnRlcklucGF0aWVudC5zdGF0dXMgPSAnZmluaXNoZWQnCgkJICBhbmQgR2xvYmFsLiJMZW5ndGhJbkRheXMiKEVuY291bnRlcklucGF0aWVudC5wZXJpb2QpIDw9IDEyMAoJCQlhbmQgRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICBhbmQgR2xvYmFsLkNhbGVuZGFyQWdlSW5ZZWFyc0F0KFRvRGF0ZVRpbWUoUGF0aWVudC5iaXJ0aERhdGUpLCBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEVuY291bnRlcklucGF0aWVudC5wZXJpb2QpKSA+PSAxOAoKLy8gRGVmaW5lcyB0byBjYXB0dXJlIHRoZSByZWxldmFudCBpbmZvcm1hdGlvbiB0aGF0IGNhbiBiZSByZXVzZWQKZGVmaW5lICJPcGlvaWQgUHJlc2NyaXB0aW9uIjoKICBbTWVkaWNhdGlvblJlcXVlc3Q6IG1lZGljYXRpb24gaW4gIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZE1lZGljYXRpb25SZXF1ZXN0CiAgICB3aGVyZSBPcGlvaWRNZWRpY2F0aW9uUmVxdWVzdC5zdGF0dXMgaW4geyAnYWN0aXZlJywgJ2NvbXBsZXRlZCcgfQogICAgICBhbmQgT3Bpb2lkTWVkaWNhdGlvblJlcXVlc3QuaW50ZW50ID0gJ29yZGVyJwogICAgICBhbmQgT3Bpb2lkTWVkaWNhdGlvblJlcXVlc3QuY2F0ZWdvcnkgfiBUb0NvbmNlcHQoIkNvbW11bml0eSIpCgpkZWZpbmUgIkJlbnpvZGlhemVwaW5lIFByZXNjcmlwdGlvbiI6CiAgW01lZGljYXRpb25SZXF1ZXN0OiBtZWRpY2F0aW9uIGluICJTY2hlZHVsZSBJViBCZW56b2RpYXplcGluZXMiXSBCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0CiAgICB3aGVyZSBCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0LnN0YXR1cyBpbiB7ICdhY3RpdmUnLCAnY29tcGxldGVkJyB9CiAgICAgIGFuZCBCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0LmludGVudCA9ICdvcmRlcicKICAgICAgYW5kIEJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3QuY2F0ZWdvcnkgfiBUb0NvbmNlcHQoIkNvbW11bml0eSIpCgovLyBUaGlzIHdhcyBvcmlnaW5hbGx5IHdyaXR0ZW4gYXMgYW4gaW50ZXJzZWN0LCBidXQgdGhlIGRlc2NyaXB0aW9uIGluZGljYXRlcyBlaXRoZXIsIHNvIGl0IHNob3VsZCBiZSBhIHVuaW9uLi4uCmRlZmluZSAiRW5jb3VudGVyIHdpdGggYW4gT3Bpb2lkIG9yIEJlbnpvZGlhemVwaW5lIGF0IERpc2NoYXJnZSI6CiAgKAogICAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICAgICAgd2l0aCAiT3Bpb2lkIFByZXNjcmlwdGlvbiIgT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgICAgc3VjaCB0aGF0IE9waW9pZFByZXNjcmlwdGlvbi5hdXRob3JlZE9uIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICApCiAgdW5pb24gKAogICAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICAgICAgd2l0aCAiQmVuem9kaWF6ZXBpbmUgUHJlc2NyaXB0aW9uIiBCZW56b2RpYXplcGluZVByZXNjcmlwdGlvbgogICAgICAgIHN1Y2ggdGhhdCBCZW56b2RpYXplcGluZVByZXNjcmlwdGlvbi5hdXRob3JlZE9uIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICApCgovKgpkZWZpbmUgIkVuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiOgoJKAoJCSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCgkJd2l0aCBbTWVkaWNhdGlvblJlcXVlc3Q6IG1lZGljYXRpb24gaW4gIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZHNEaXNjaGFyZ2UKICAgIAlzdWNoIHRoYXQgT3Bpb2lkc0Rpc2NoYXJnZS5hdXRob3JlZE9uIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICAJCWFuZCBPcGlvaWRzRGlzY2hhcmdlLmludGVudCA9ICdvcmRlcicKCSkKICAvL01lYXN1cmUgUmV2aWV3OgogIC8vVGhlIHByaW9yIGltcGxlbWVudGF0aW9uIHdhcyByZXN0cmljdGluZyAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiCiAgLy90byBib3RoIE9waW9pZCBBTkQgQmVuem9kaWF6ZXBpbmUgYXQgZGlzY2hhcmdlLgogIC8vVGhlIGZvbGxvd2luZyBpbXBsZW1lbnRhdGlvbiByZXN0cmljdHMgaXQgdG8gT3Bpb2lkIE9SIEJlbnpvZGlhemVwaW5lLCBwZXIgdGhlIGRlc2NyaXB0aW9uLgogIC8vTmVlZCB2YWxpZGF0aW9uIGZyb20gdGhlIG1lYXN1cmUgZGV2ZWxvcGVycyB0aGF0IHRoaXMgbWVldHMgdGhlIGl0ZW50IG9mIHRoZSBzcGVjLgoJCXVuaW9uICgKICAgICAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKCSAgICB3aXRoIFtNZWRpY2F0aW9uUmVxdWVzdDogbWVkaWNhdGlvbiBpbiAiU2NoZWR1bGUgSVYgQmVuem9kaWF6ZXBpbmVzIl0gQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UKCSAgICAgc3VjaCB0aGF0IEJlbnpvZGlhemVwaW5lRGlzY2hhcmdlLmF1dGhvcmVkT24gZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICAJICBhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuaW50ZW50ID0gJ29yZGVyJwoJCSApCiovCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CiAgIkVuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKICAiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJEaWFnbm9zaXMgb2YgUHJpbWFyeSBvciBTZWNvbmRhcnkgQ2FuY2VyIjoKICBbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIkFsbCBQcmltYXJ5IGFuZCBTZWNvbmRhcnkgQ2FuY2VyIl0gQ2FuY2VyCiAgICB3aGVyZSBDYW5jZXIuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJwogICAgICBhbmQgQ2FuY2VyLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCgpkZWZpbmUgIlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIE9yZGVyIjoKICAoWyJQcm9jZWR1cmVSZXF1ZXN0IjogIlBhbGxpYXRpdmUgQ2FyZSJdCiAgICB1bmlvbiBbIlByb2NlZHVyZVJlcXVlc3QiOiAiSG9zcGljZSBDYXJlIl0KICApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlCiAgICB3aGVyZSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZS5zdGF0dXMgaW4geyAnYWN0aXZlJywgJ2NvbXBsZXRlZCcgfQogICAgICBhbmQgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUuaW50ZW50ID0gJ29yZGVyJwoKZGVmaW5lICJQYWxsaWF0aXZlIG9yIEhvc3BpY2UgQ2FyZSBQcm9jZWR1cmUiOgogIChbIlByb2NlZHVyZSI6ICJQYWxsaWF0aXZlIENhcmUiXQogICAgdW5pb24gWyJQcm9jZWR1cmUiOiAiSG9zcGljZSBDYXJlIl0KICApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlCiAgICB3aGVyZSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZS5zdGF0dXMgPSAnY29tcGxldGVkJwoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgogICgiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIElucGF0aWVudEVuY291bnRlcgogICAgd2l0aCAiRGlhZ25vc2lzIG9mIFByaW1hcnkgb3IgU2Vjb25kYXJ5IENhbmNlciIgQ2FuY2VyCiAgICAgIHN1Y2ggdGhhdCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoQ2FuY2VyLm9uc2V0KSBvdmVybGFwcyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgKQogICAgdW5pb24gKCJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCiAgICAgIHdpdGggIlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIE9yZGVyIiBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyCiAgICAgICAgc3VjaCB0aGF0IFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlT3JkZXIuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgKQogICAgdW5pb24gKCJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCiAgICAgIHdpdGggIlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIFByb2NlZHVyZSIgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUKICAgICAgICBzdWNoIHRoYXQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlLnBlcmZvcm1lZCkgZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICkKCi8qCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6CgkoIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKCXdpdGggW0NvbmRpdGlvbjogY29kZSBpbiAiQWxsIFByaW1hcnkgYW5kIFNlY29uZGFyeSBDYW5jZXIiXUNhbmNlcgogICAgICAgc3VjaCB0aGF0IENhbmNlci5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnCiAgICAgICBhbmQgQ2FuY2VyLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCiAgICAgICBhbmQgQ2FuY2VyLm9uc2V0IG92ZXJsYXBzIElucGF0aWVudEVuY291bnRlci5wZXJpb2QpCgkJdW5pb24gKCJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCiAgICAgIHdpdGggKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJQYWxsaWF0aXZlIENhcmUiXQoJCQl1bmlvbiBbIlByb2NlZHVyZVJlcXVlc3QiOiAiSG9zcGljZSBDYXJlIl0gKSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyCgkJCXN1Y2ggdGhhdCAgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlci5pbnRlbnQgPSAnb3JkZXInCiAgICAgIGFuZCBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyLmF1dGhvcmVkT24gZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QpCiAgICB1bmlvbiAoIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICB3aXRoICAoWyJQcm9jZWR1cmUiOiAiUGFsbGlhdGl2ZSBDYXJlIl0KICAgIAl1bmlvbiBbIlByb2NlZHVyZSI6ICJIb3NwaWNlIENhcmUiXSApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlUGVyZm9ybWVkCiAgICAJCQkJCXN1Y2ggdGhhdCBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZVBlcmZvcm1lZC5wZXJmb3JtZWQgb3ZlcmxhcHMgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZCkKKi8KCmRlZmluZSAiRW5jb3VudGVyIHdpdGggYSBDb25jdXJyZW50IE9waW9pZCBhbmQgQmVuem9kaWF6ZXBpbmUgYXQgRGlzY2hhcmdlIjoKICAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIElucGF0aWVudEVuY291bnRlcgogICAgd2l0aCAiT3Bpb2lkIFByZXNjcmlwdGlvbiIgT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgIHN1Y2ggdGhhdCBPcGlvaWRQcmVzY3JpcHRpb24uYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgd2l0aCAiQmVuem9kaWF6ZXBpbmUgUHJlc2NyaXB0aW9uIiBCZW56b2RpYXplcGluZVByZXNjcmlwdGlvbgogICAgICBzdWNoIHRoYXQgQmVuem9kaWF6ZXBpbmVQcmVzY3JpcHRpb24uYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAoKLyoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBhIENvbmN1cnJlbnQgT3Bpb2lkIGFuZCBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiOgoJZnJvbSAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIElucGF0aWVudEVuY291bnRlciwKCQlbTWVkaWNhdGlvblJlcXVlc3Q6ICJTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMiXSBPcGlvaWRzRGlzY2hhcmdlLAoJCVtNZWRpY2F0aW9uUmVxdWVzdDogIlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyJdIEJlbnpvZGlhemVwaW5lRGlzY2hhcmdlCgkJCXdoZXJlIE9waW9pZHNEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAoJICAgIAlhbmQgT3Bpb2lkc0Rpc2NoYXJnZS5pbnRlbnQgPSAnb3JkZXInCgkJCQlhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgICAgIGFuZCBCZW56b2RpYXplcGluZURpc2NoYXJnZS5pbnRlbnQgPSAnb3JkZXInCgkJCXJldHVybiBJbnBhdGllbnRFbmNvdW50ZXIKKi8KCmRlZmluZSAiRW5jb3VudGVyIHdpdGggVHdvIG9yIE1vcmUgQ29uY3VycmVudCBPcGlvaWRzIGF0IERpc2NoYXJnZSI6CiAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICAgIHdoZXJlIENvdW50KAogICAgICAiT3Bpb2lkIFByZXNjcmlwdGlvbiIgT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgICAgd2hlcmUgT3Bpb2lkUHJlc2NyaXB0aW9uLmF1dGhvcmVkT24gZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICkgPj0gMgoKLyoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBUd28gb3IgTW9yZSBDb25jdXJyZW50IE9waW9pZHMgYXQgRGlzY2hhcmdlIjoKCSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCgkJd2hlcmUgQ291bnQoCgkJCVtNZWRpY2F0aW9uUmVxdWVzdDogIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZHMKCQkJCXdoZXJlIE9waW9pZHMuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAoJCSkgPj0gMgoqLwoKZGVmaW5lICJOdW1lcmF0b3IiOgogICJFbmNvdW50ZXIgd2l0aCBUd28gb3IgTW9yZSBDb25jdXJyZW50IE9waW9pZHMgYXQgRGlzY2hhcmdlIgogICAgdW5pb24gIkVuY291bnRlciB3aXRoIGEgQ29uY3VycmVudCBPcGlvaWQgYW5kIEJlbnpvZGlhemVwaW5lIGF0IERpc2NoYXJnZSIK" + }, { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjMiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTUwNl9GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9IjM6MS0zOjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxIj4KICAgICAgICAgICAgICAgPGE6cz51c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyIiBsb2NhdG9yPSI1OjEtNTo3MCIgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iNC4wLjAwMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+TUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMiIGxvY2F0b3I9IjY6MS02OjU0IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQiIGxvY2F0b3I9Ijc6MS03OjY1IiBsb2NhbElkZW50aWZpZXI9IlNERSIgcGF0aD0iU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIiB2ZXJzaW9uPSIxLjAuMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9pbmNsdWRlcz4KICAgPHBhcmFtZXRlcnM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzEiIGxvY2F0b3I9IjMwOjEtMzE6NjgiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMxIj4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgJnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgIGRlZmF1bHQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2Ij5JbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjgiIGxvY2F0b3I9IjMxOjEzLTMxOjY4IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjI2IiBsb2NhdG9yPSIzMToyMi0zMTo0MyIgeHNpOnR5cGU9IkRhdGVUaW1lIj4KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDE5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIyNyIgbG9jYXRvcj0iMzE6NDYtMzE6NjciIHhzaTp0eXBlPSJEYXRlVGltZSI+CiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZGVmYXVsdD4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzAiIGxvY2F0b3I9IjMwOjMyLTMwOjQ5IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSIyOSIgbG9jYXRvcj0iMzA6NDEtMzA6NDgiIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPgogICAgICA8L2RlZj4KICAgPC9wYXJhbWV0ZXJzPgogICA8Y29kZVN5c3RlbXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iNSIgbG9jYXRvcj0iOToxLTk6NjUiIG5hbWU9IkRpYWdub3NpcyBSb2xlIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7RGlhZ25vc2lzIFJvbGUmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2IiBsb2NhdG9yPSIxMDoxLTEwOjM4IiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O0xPSU5DJnF1b3Q7OiAnaHR0cDovL2xvaW5jLm9yZyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNyIgbG9jYXRvcj0iMTE6MS0xMTo0MiIgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLm9yZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjciPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7U05PTUVEQ1QmcXVvdDs6ICdodHRwOi8vc25vbWVkLm9yZyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOCIgbG9jYXRvcj0iMTI6MS0xMjo2NCIgbmFtZT0iUmVxdWVzdEludGVudCIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O1JlcXVlc3RJbnRlbnQmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3JlcXVlc3QtaW50ZW50JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5IiBsb2NhdG9yPSIxMzoxLTEzOjg5IiBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9tZWRpY2F0aW9uLXJlcXVlc3QtY2F0ZWdvcnkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O01lZGljYXRpb25SZXF1ZXN0Q2F0ZWdvcnkmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL21lZGljYXRpb24tcmVxdWVzdC1jYXRlZ29yeSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvY29kZVN5c3RlbXM+CiAgIDx2YWx1ZVNldHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAiIGxvY2F0b3I9IjE1OjEtMTU6MTE1IiBuYW1lPSJBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMCI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7QWxsIFByaW1hcnkgYW5kIFNlY29uZGFyeSBDYW5jZXImcXVvdDs6ICAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE2MSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTEiIGxvY2F0b3I9IjE2OjEtMTY6MTAwIiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTEiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0VuY291bnRlciBJbnBhdGllbnQmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEyIiBsb2NhdG9yPSIxNzoxLTE3Ojg3IiBuYW1lPSJFdGhuaWNpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMiI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7RXRobmljaXR5JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMyIgbG9jYXRvcj0iMTg6MS0xODo5NiIgbmFtZT0iSG9zcGljZSBDYXJlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMzE1Ny4xMDA0LjIwIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTMiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0hvc3BpY2UgQ2FyZSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjMxNTcuMTAwNC4yMCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQiIGxvY2F0b3I9IjE5OjEtMTk6OTciIG5hbWU9Ik9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNCI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7T05DIEFkbWluaXN0cmF0aXZlIFNleCZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTUiIGxvY2F0b3I9IjIwOjEtMjA6OTciIG5hbWU9IlBhbGxpYXRpdmUgQ2FyZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNjIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNSI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7UGFsbGlhdGl2ZSBDYXJlJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE2Mic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTYiIGxvY2F0b3I9IjIxOjEtMjE6ODQiIG5hbWU9IlBheWVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE2Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtQYXllciZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE3IiBsb2NhdG9yPSIyMjoxLTIyOjgyIiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTciPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1JhY2UmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzYnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE4IiBsb2NhdG9yPSIyMzoxLTIzOjExNyIgbmFtZT0iU2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTI1LjIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxOCI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7U2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzJnF1b3Q7OiAgJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEyNS4yJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxOSIgbG9jYXRvcj0iMjQ6MS0yNDoxMDciIG5hbWU9IlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEyNS4xIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTkiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1NjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEyNS4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC92YWx1ZVNldHM+CiAgIDxjb2Rlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyMSIgbG9jYXRvcj0iMjY6MS0yNjo2MSIgbmFtZT0iQmlydGhkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O0JpcnRoZGF0ZSZxdW90OzogJzIxMTEyLTgnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjAiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0xPSU5DJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdCaXJ0aCBkYXRlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIyMCIgbG9jYXRvcj0iMjY6MzQtMjY6NDAiIG5hbWU9IkxPSU5DIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzIiBsb2NhdG9yPSIyNzoxLTI3OjU4IiBuYW1lPSJPcmRlciIgaWQ9Im9yZGVyIiBkaXNwbGF5PSJPcmRlciIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIzIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O09yZGVyJnF1b3Q7OiAnb3JkZXInIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjIiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1JlcXVlc3RJbnRlbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ09yZGVyJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIyMiIgbG9jYXRvcj0iMjc6MjgtMjc6NDIiIG5hbWU9IlJlcXVlc3RJbnRlbnQiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjUiIGxvY2F0b3I9IjI4OjEtMjg6ODIiIG5hbWU9IkNvbW11bml0eSIgaWQ9ImNvbW11bml0eSIgZGlzcGxheT0iQ29tbXVuaXR5IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjUiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7Q29tbXVuaXR5JnF1b3Q7OiAnY29tbXVuaXR5JyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdDb21tdW5pdHknPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjI0IiBsb2NhdG9yPSIyODozNi0yODo2MiIgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIvPgogICAgICA8L2RlZj4KICAgPC9jb2Rlcz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjMzOjEtMzM6MTUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0cz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzM6MS0zMzoxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzM6MS0zMzoxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjQiIGxvY2F0b3I9IjM1OjEtNDA6MTM0IiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7SW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgmcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O0VuY291bnRlciZxdW90OzogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RW5jb3VudGVyIElucGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gRW5jb3VudGVySW5wYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVySW5wYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2ZpbmlzaGVkJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TGVuZ3RoSW5EYXlzJnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVySW5wYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MiI+ICZsdDs9IDEyMDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCWFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXJJbnBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4Ij4gZW5kcyBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01lYXN1cmVtZW50IFBlcmlvZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q2FsZW5kYXJBZ2VJblllYXJzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZVRpbWUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YmlydGhEYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0ludGVydmFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVySW5wYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjAiPiA+PSAxODwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjMiIGxvY2F0b3I9IjM2OjItNDA6MTM0IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMzIiBsb2NhdG9yPSIzNjoyLTM2OjU2IiBhbGlhcz0iRW5jb3VudGVySW5wYXRpZW50Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzIiIGxvY2F0b3I9IjM2OjItMzY6MzciIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIzNjoxNi0zNjozNiIgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI2MiIgbG9jYXRvcj0iMzc6My00MDoxMzQiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0OSIgbG9jYXRvcj0iMzc6OS0zOTo2NSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ0IiBsb2NhdG9yPSIzNzo5LTM4OjYzIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzciIGxvY2F0b3I9IjM3OjktMzc6NDYiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1IiBsb2NhdG9yPSIzNzo5LTM3OjMzIiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2IiBsb2NhdG9yPSIzNzozNy0zNzo0NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQzIiBsb2NhdG9yPSIzODo5LTM4OjYzIiB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MSIgbG9jYXRvcj0iMzg6OS0zODo1NiIgbmFtZT0iTGVuZ3RoSW5EYXlzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQwIiBsb2NhdG9yPSIzODozMS0zODo1NSIgcGF0aD0icGVyaW9kIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQyIiBsb2NhdG9yPSIzODo2MS0zODo2MyIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0OCIgbG9jYXRvcj0iMzk6OC0zOTo2NSIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzk6MzQtMzk6MzciIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2IiBsb2NhdG9yPSIzOTo4LTM5OjMyIiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDciIGxvY2F0b3I9IjM5OjQ2LTM5OjY1IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYxIiBsb2NhdG9yPSI0MDoxMS00MDoxMzQiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU5IiBsb2NhdG9yPSI0MDoxMS00MDoxMjgiIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MyIgbG9jYXRvcj0iNDA6MzktNDA6NjciIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUyIiBsb2NhdG9yPSI0MDo1MC00MDo2NiIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjUxIiBsb2NhdG9yPSI0MDo1MC00MDo1NiIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTgiIGxvY2F0b3I9IjQwOjcwLTQwOjEyNyIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTciIGxvY2F0b3I9IjQwOjc5LTQwOjEyNyIgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NiIgbG9jYXRvcj0iNDA6MTAyLTQwOjEyNiIgcGF0aD0icGVyaW9kIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjAiIGxvY2F0b3I9IjQwOjEzMy00MDoxMzQiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTgiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4NSIgbG9jYXRvcj0iNDM6MS00Nzo2NyIgbmFtZT0iT3Bpb2lkIFByZXNjcmlwdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7T3Bpb2lkIFByZXNjcmlwdGlvbiZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W01lZGljYXRpb25SZXF1ZXN0OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tZWRpY2F0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE9waW9pZE1lZGljYXRpb25SZXF1ZXN0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk9waW9pZE1lZGljYXRpb25SZXF1ZXN0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidhY3RpdmUnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidjb21wbGV0ZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB9PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk9waW9pZE1lZGljYXRpb25SZXF1ZXN0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aW50ZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J29yZGVyJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+T3Bpb2lkTWVkaWNhdGlvblJlcXVlc3Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jYXRlZ29yeTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IH4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvQ29uY2VwdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q29tbXVuaXR5JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4NCIgbG9jYXRvcj0iNDQ6My00Nzo2NyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2NiIgbG9jYXRvcj0iNDQ6My00NDo5OSIgYWxpYXM9Ik9waW9pZE1lZGljYXRpb25SZXF1ZXN0Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjUiIGxvY2F0b3I9IjQ0OjMtNDQ6NzUiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjQ0OjM3LTQ0Ojc0IiBuYW1lPSJTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iODMiIGxvY2F0b3I9IjQ1OjUtNDc6NjciIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3NyIgbG9jYXRvcj0iNDU6MTEtNDY6NTAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3MiIgbG9jYXRvcj0iNDU6MTEtNDU6NjkiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY4IiBsb2NhdG9yPSI0NToxMS00NTo0MCIgcGF0aD0ic3RhdHVzIiBzY29wZT0iT3Bpb2lkTWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjcxIiBsb2NhdG9yPSI0NTo0NS00NTo2OSIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhbElkPSI2OSIgbG9jYXRvcj0iNDU6NDctNDU6NTQiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2FsSWQ9IjcwIiBsb2NhdG9yPSI0NTo1Ny00NTo2NyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc2IiBsb2NhdG9yPSI0NjoxMS00Njo1MCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzQiIGxvY2F0b3I9IjQ2OjExLTQ2OjQwIiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJPcGlvaWRNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzUiIGxvY2F0b3I9IjQ2OjQ0LTQ2OjUwIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MiIgbG9jYXRvcj0iNDc6MTEtNDc6NjciIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc5IiBsb2NhdG9yPSI0NzoxMS00Nzo0MiIgcGF0aD0iY2F0ZWdvcnkiIHNjb3BlPSJPcGlvaWRNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODEiIGxvY2F0b3I9IjQ3OjQ2LTQ3OjY3IiB4c2k6dHlwZT0iVG9Db25jZXB0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODAiIGxvY2F0b3I9IjQ3OjU2LTQ3OjY2IiBuYW1lPSJDb21tdW5pdHkiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwNiIgbG9jYXRvcj0iNDk6MS01Mzo3NSIgbmFtZT0iQmVuem9kaWF6ZXBpbmUgUHJlc2NyaXB0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTA2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7QmVuem9kaWF6ZXBpbmUgUHJlc2NyaXB0aW9uJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W01lZGljYXRpb25SZXF1ZXN0OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tZWRpY2F0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTY2hlZHVsZSBJViBCZW56b2RpYXplcGluZXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5CZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidhY3RpdmUnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidjb21wbGV0ZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB9PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pbnRlbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nb3JkZXInPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2F0ZWdvcnk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB+IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9Db25jZXB0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q29tbXVuaXR5JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDUiIGxvY2F0b3I9IjUwOjMtNTM6NzUiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODciIGxvY2F0b3I9IjUwOjMtNTA6OTgiIGFsaWFzPSJCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODYiIGxvY2F0b3I9IjUwOjMtNTA6NjYiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjUwOjM3LTUwOjY1IiBuYW1lPSJTY2hlZHVsZSBJViBCZW56b2RpYXplcGluZXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMTA0IiBsb2NhdG9yPSI1MTo1LTUzOjc1IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTgiIGxvY2F0b3I9IjUxOjExLTUyOjU4IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTMiIGxvY2F0b3I9IjUxOjExLTUxOjc3IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4OSIgbG9jYXRvcj0iNTE6MTEtNTE6NDgiIHBhdGg9InN0YXR1cyIgc2NvcGU9IkJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjkyIiBsb2NhdG9yPSI1MTo1My01MTo3NyIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhbElkPSI5MCIgbG9jYXRvcj0iNTE6NTUtNTE6NjIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2FsSWQ9IjkxIiBsb2NhdG9yPSI1MTo2NS01MTo3NSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk3IiBsb2NhdG9yPSI1MjoxMS01Mjo1OCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTUiIGxvY2F0b3I9IjUyOjExLTUyOjQ4IiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5NiIgbG9jYXRvcj0iNTI6NTItNTI6NTgiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvcmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEwMyIgbG9jYXRvcj0iNTM6MTEtNTM6NzUiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEwMCIgbG9jYXRvcj0iNTM6MTEtNTM6NTAiIHBhdGg9ImNhdGVnb3J5IiBzY29wZT0iQmVuem9kaWF6ZXBpbmVNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTAyIiBsb2NhdG9yPSI1Mzo1NC01Mzo3NSIgeHNpOnR5cGU9IlRvQ29uY2VwdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEwMSIgbG9jYXRvcj0iNTM6NjQtNTM6NzQiIG5hbWU9IkNvbW11bml0eSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTMwIiBsb2NhdG9yPSI1NjoxLTY2OjUiIG5hbWU9IkVuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMzAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtFbmNvdW50ZXIgd2l0aCBhbiBPcGlvaWQgb3IgQmVuem9kaWF6ZXBpbmUgYXQgRGlzY2hhcmdlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyOSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4oCiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IElucGF0aWVudEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7T3Bpb2lkIFByZXNjcmlwdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE9waW9pZFByZXNjcmlwdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICBzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+T3Bpb2lkUHJlc2NyaXB0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmF1dGhvcmVkT248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNSI+IGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW5wYXRpZW50RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICApPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogIHVuaW9uIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyOCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KAogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJbnBhdGllbnRFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndpdGggPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0JlbnpvZGlhemVwaW5lIFByZXNjcmlwdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEJlbnpvZGlhemVwaW5lUHJlc2NyaXB0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIHN1Y2ggdGhhdCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5CZW56b2RpYXplcGluZVByZXNjcmlwdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hdXRob3JlZE9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjYiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklucGF0aWVudEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgKTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyOSIgbG9jYXRvcj0iNTc6My02Njo1IiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTciIGxvY2F0b3I9IjU3OjMtNjE6NSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMDgiIGxvY2F0b3I9IjU4OjUtNTg6ODEiIGFsaWFzPSJJbnBhdGllbnRFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDciIGxvY2F0b3I9IjU4OjUtNTg6NjIiIG5hbWU9IklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSIxMTYiIGxvY2F0b3I9IjU5OjctNjA6ODAiIGFsaWFzPSJPcGlvaWRQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTA5IiBsb2NhdG9yPSI1OToxMi01OTozMiIgbmFtZT0iT3Bpb2lkIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjExNSIgbG9jYXRvcj0iNjA6MTktNjA6ODAiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTEyIiBsb2NhdG9yPSI2MDoxOS02MDo0NyIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik9waW9pZFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTQiIGxvY2F0b3I9IjYwOjU2LTYwOjgwIiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyOCIgbG9jYXRvcj0iNjI6OS02Njo1IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExOSIgbG9jYXRvcj0iNjM6NS02Mzo4MSIgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExOCIgbG9jYXRvcj0iNjM6NS02Mzo2MiIgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjEyNyIgbG9jYXRvcj0iNjQ6Ny02NTo4OCIgYWxpYXM9IkJlbnpvZGlhemVwaW5lUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyMCIgbG9jYXRvcj0iNjQ6MTItNjQ6NDAiIG5hbWU9IkJlbnpvZGlhemVwaW5lIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjEyNiIgbG9jYXRvcj0iNjU6MTktNjU6ODgiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTIzIiBsb2NhdG9yPSI2NToxOS02NTo1NSIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkJlbnpvZGlhemVwaW5lUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyNSIgbG9jYXRvcj0iNjU6NjQtNjU6ODgiIHBhdGg9InBlcmlvZCIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMzIiIGxvY2F0b3I9Ijg5OjEtOTA6NTkiIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0luaXRpYWwgUG9wdWxhdGlvbiZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzEiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0VuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzMSIgbG9jYXRvcj0iOTA6My05MDo1OSIgbmFtZT0iRW5jb3VudGVyIHdpdGggYW4gT3Bpb2lkIG9yIEJlbnpvZGlhemVwaW5lIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTM0IiBsb2NhdG9yPSI5MjoxLTkzOjIyIiBuYW1lPSJEZW5vbWluYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzNCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0Rlbm9taW5hdG9yJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SW5pdGlhbCBQb3B1bGF0aW9uJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMzMiIGxvY2F0b3I9IjkzOjMtOTM6MjIiIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQ3IiBsb2NhdG9yPSI5NToxLTk4OjQ5IiBuYW1lPSJEaWFnbm9zaXMgb2YgUHJpbWFyeSBvciBTZWNvbmRhcnkgQ2FuY2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQ3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RGlhZ25vc2lzIG9mIFByaW1hcnkgb3IgU2Vjb25kYXJ5IENhbmNlciZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNDYiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtDb25kaXRpb24mcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0FsbCBQcmltYXJ5IGFuZCBTZWNvbmRhcnkgQ2FuY2VyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBDYW5jZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNhbmNlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jbGluaWNhbFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nYWN0aXZlJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5DYW5jZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmVyaWZpY2F0aW9uU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidjb25maXJtZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTQ2IiBsb2NhdG9yPSI5NjozLTk4OjQ5IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEzNiIgbG9jYXRvcj0iOTY6My05Njo2NiIgYWxpYXM9IkNhbmNlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzNSIgbG9jYXRvcj0iOTY6My05Njo1OSIgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9Ijk2OjI1LTk2OjU4IiBuYW1lPSJBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxNDUiIGxvY2F0b3I9Ijk3OjUtOTg6NDkiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDAiIGxvY2F0b3I9Ijk3OjExLTk3OjQyIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzgiIGxvY2F0b3I9Ijk3OjExLTk3OjMxIiBwYXRoPSJjbGluaWNhbFN0YXR1cyIgc2NvcGU9IkNhbmNlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTM5IiBsb2NhdG9yPSI5NzozNS05Nzo0MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDQiIGxvY2F0b3I9Ijk4OjExLTk4OjQ5IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDIiIGxvY2F0b3I9Ijk4OjExLTk4OjM1IiBwYXRoPSJ2ZXJpZmljYXRpb25TdGF0dXMiIHNjb3BlPSJDYW5jZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0MyIgbG9jYXRvcj0iOTg6MzktOTg6NDkiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb25maXJtZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNjQiIGxvY2F0b3I9IjEwMDoxLTEwNTo1MCIgbmFtZT0iUGFsbGlhdGl2ZSBvciBIb3NwaWNlIENhcmUgT3JkZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNjQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtQYWxsaWF0aXZlIG9yIEhvc3BpY2UgQ2FyZSBPcmRlciZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNjMiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtQcm9jZWR1cmVSZXF1ZXN0JnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQYWxsaWF0aXZlIENhcmUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIHVuaW9uIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O1Byb2NlZHVyZVJlcXVlc3QmcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0hvc3BpY2UgQ2FyZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICApPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGFsbGlhdGl2ZU9ySG9zcGljZUNhcmU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz57IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2FjdGl2ZSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidjb21wbGV0ZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB9PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhbGxpYXRpdmVPckhvc3BpY2VDYXJlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmludGVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nb3JkZXInPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTYzIiBsb2NhdG9yPSIxMDE6My0xMDU6NTAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTUxIiBsb2NhdG9yPSIxMDE6My0xMDM6MjciIGFsaWFzPSJQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE1MCIgbG9jYXRvcj0iMTAxOjMtMTAzOjMiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0OCIgbG9jYXRvcj0iMTAxOjQtMTAxOjQyIiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjEwMToyNS0xMDE6NDEiIG5hbWU9IlBhbGxpYXRpdmUgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ5IiBsb2NhdG9yPSIxMDI6MTEtMTAyOjQ2IiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjEwMjozMi0xMDI6NDUiIG5hbWU9Ikhvc3BpY2UgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjE2MiIgbG9jYXRvcj0iMTA0OjUtMTA1OjUwIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTU3IiBsb2NhdG9yPSIxMDQ6MTEtMTA0OjY5IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTMiIGxvY2F0b3I9IjEwNDoxMS0xMDQ6NDAiIHBhdGg9InN0YXR1cyIgc2NvcGU9IlBhbGxpYXRpdmVPckhvc3BpY2VDYXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTYiIGxvY2F0b3I9IjEwNDo0NS0xMDQ6NjkiIHhzaTp0eXBlPSJMaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYWxJZD0iMTU0IiBsb2NhdG9yPSIxMDQ6NDctMTA0OjU0IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYWN0aXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhbElkPSIxNTUiIGxvY2F0b3I9IjEwNDo1Ny0xMDQ6NjciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjEiIGxvY2F0b3I9IjEwNToxMS0xMDU6NTAiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1OSIgbG9jYXRvcj0iMTA1OjExLTEwNTo0MCIgcGF0aD0iaW50ZW50IiBzY29wZT0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2MCIgbG9jYXRvcj0iMTA1OjQ0LTEwNTo1MCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTc0IiBsb2NhdG9yPSIxMDc6MS0xMTE6NTQiIG5hbWU9IlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIFByb2NlZHVyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE3NCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O1BhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIFByb2NlZHVyZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNzMiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtQcm9jZWR1cmUmcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1BhbGxpYXRpdmUgQ2FyZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgdW5pb24gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7UHJvY2VkdXJlJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtIb3NwaWNlIENhcmUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTcyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2NvbXBsZXRlZCc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE3MyIgbG9jYXRvcj0iMTA4OjMtMTExOjU0IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE2OCIgbG9jYXRvcj0iMTA4OjMtMTEwOjI3IiBhbGlhcz0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNjciIGxvY2F0b3I9IjEwODozLTExMDozIiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjUiIGxvY2F0b3I9IjEwODo0LTEwODozNSIgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjEwODoxOC0xMDg6MzQiIG5hbWU9IlBhbGxpYXRpdmUgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTY2IiBsb2NhdG9yPSIxMDk6MTEtMTA5OjM5IiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iMTA5OjI1LTEwOTozOCIgbmFtZT0iSG9zcGljZSBDYXJlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMTcyIiBsb2NhdG9yPSIxMTE6NS0xMTE6NTQiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3MCIgbG9jYXRvcj0iMTExOjExLTExMTo0MCIgcGF0aD0ic3RhdHVzIiBzY29wZT0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3MSIgbG9jYXRvcj0iMTExOjQ0LTExMTo1NCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTQiIGxvY2F0b3I9IjExMzoxLTEyNTo1IiBuYW1lPSJEZW5vbWluYXRvciBFeGNsdXNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtEZW5vbWluYXRvciBFeGNsdXNpb24mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjEzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSW5wYXRpZW50RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGlhZ25vc2lzIG9mIFByaW1hcnkgb3IgU2Vjb25kYXJ5IENhbmNlciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IENhbmNlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgc3VjaCB0aGF0IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkdsb2JhbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOb3JtYWxpemUgT25zZXQmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNhbmNlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg1Ij4gb3ZlcmxhcHMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklucGF0aWVudEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICB1bmlvbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IElucGF0aWVudEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UGFsbGlhdGl2ZSBvciBIb3NwaWNlIENhcmUgT3JkZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIHN1Y2ggdGhhdCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmF1dGhvcmVkT248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NiI+IGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW5wYXRpZW50RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICApPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIHVuaW9uIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSW5wYXRpZW50RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aXRoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQYWxsaWF0aXZlIG9yIEhvc3BpY2UgQ2FyZSBQcm9jZWR1cmUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICBzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O05vcm1hbGl6ZSBJbnRlcnZhbCZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGFsbGlhdGl2ZU9ySG9zcGljZUNhcmU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyZm9ybWVkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTAiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklucGF0aWVudEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgKTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIxMyIgbG9jYXRvcj0iMTE0OjMtMTI1OjUiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5OSIgbG9jYXRvcj0iMTE0OjMtMTIxOjUiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4NyIgbG9jYXRvcj0iMTE0OjMtMTE3OjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTc2IiBsb2NhdG9yPSIxMTQ6NC0xMTQ6ODAiIGFsaWFzPSJJbnBhdGllbnRFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNzUiIGxvY2F0b3I9IjExNDo0LTExNDo2MSIgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjE4NiIgbG9jYXRvcj0iMTE1OjUtMTE2Ojg5IiBhbGlhcz0iQ2FuY2VyIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE3NyIgbG9jYXRvcj0iMTE1OjEwLTExNTo1MSIgbmFtZT0iRGlhZ25vc2lzIG9mIFByaW1hcnkgb3IgU2Vjb25kYXJ5IENhbmNlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjE4NSIgbG9jYXRvcj0iMTE2OjE3LTExNjo4OSIgeHNpOnR5cGU9Ik92ZXJsYXBzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTgyIiBsb2NhdG9yPSIxMTY6MTctMTE2OjU0IiBuYW1lPSJOb3JtYWxpemUgT25zZXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MSIgbG9jYXRvcj0iMTE2OjQyLTExNjo1MyIgcGF0aD0ib25zZXQiIHNjb3BlPSJDYW5jZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTg0IiBsb2NhdG9yPSIxMTY6NjUtMTE2Ojg5IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5OCIgbG9jYXRvcj0iMTE4OjExLTEyMTo1IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE4OSIgbG9jYXRvcj0iMTE4OjEyLTExODo4OCIgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE4OCIgbG9jYXRvcj0iMTE4OjEyLTExODo2OSIgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjE5NyIgbG9jYXRvcj0iMTE5OjctMTIwOjkwIiBhbGlhcz0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlciIgeHNpOnR5cGU9IldpdGgiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxOTAiIGxvY2F0b3I9IjExOToxMi0xMTk6NDUiIG5hbWU9IlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIE9yZGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8c3VjaFRoYXQgbG9jYWxJZD0iMTk2IiBsb2NhdG9yPSIxMjA6MTktMTIwOjkwIiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5MyIgbG9jYXRvcj0iMTIwOjE5LTEyMDo1NyIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IlBhbGxpYXRpdmVPckhvc3BpY2VDYXJlT3JkZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk1IiBsb2NhdG9yPSIxMjA6NjYtMTIwOjkwIiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjEyIiBsb2NhdG9yPSIxMjI6MTEtMTI1OjUiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjAxIiBsb2NhdG9yPSIxMjI6MTItMTIyOjg4IiBhbGlhcz0iSW5wYXRpZW50RW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjAwIiBsb2NhdG9yPSIxMjI6MTItMTIyOjY5IiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgbG9jYWxJZD0iMjExIiBsb2NhdG9yPSIxMjM6Ny0xMjQ6MTEzIiBhbGlhcz0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUiIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjAyIiBsb2NhdG9yPSIxMjM6MTItMTIzOjQ5IiBuYW1lPSJQYWxsaWF0aXZlIG9yIEhvc3BpY2UgQ2FyZSBQcm9jZWR1cmUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxzdWNoVGhhdCBsb2NhbElkPSIyMTAiIGxvY2F0b3I9IjEyNDoxOS0xMjQ6MTEzIiB4c2k6dHlwZT0iSW5jbHVkZWRJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwNyIgbG9jYXRvcj0iMTI0OjE5LTEyNDo4MCIgbmFtZT0iTm9ybWFsaXplIEludGVydmFsIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMDYiIGxvY2F0b3I9IjEyNDo0Ny0xMjQ6NzkiIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IlBhbGxpYXRpdmVPckhvc3BpY2VDYXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwOSIgbG9jYXRvcj0iMTI0Ojg5LTEyNDoxMTMiIHBhdGg9InBlcmlvZCIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMzQiIGxvY2F0b3I9IjE0NToxLTE1MDo4NiIgbmFtZT0iRW5jb3VudGVyIHdpdGggYSBDb25jdXJyZW50IE9waW9pZCBhbmQgQmVuem9kaWF6ZXBpbmUgYXQgRGlzY2hhcmdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjM0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RW5jb3VudGVyIHdpdGggYSBDb25jdXJyZW50IE9waW9pZCBhbmQgQmVuem9kaWF6ZXBpbmUgYXQgRGlzY2hhcmdlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSW5wYXRpZW50RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7T3Bpb2lkIFByZXNjcmlwdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE9waW9pZFByZXNjcmlwdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgc3VjaCB0aGF0IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk9waW9pZFByZXNjcmlwdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hdXRob3JlZE9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjMiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklucGF0aWVudEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndpdGggPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0JlbnpvZGlhemVwaW5lIFByZXNjcmlwdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEJlbnpvZGlhemVwaW5lUHJlc2NyaXB0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICBzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QmVuem9kaWF6ZXBpbmVQcmVzY3JpcHRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YXV0aG9yZWRPbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbnBhdGllbnRFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjMzIiBsb2NhdG9yPSIxNDY6My0xNTA6ODYiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjE2IiBsb2NhdG9yPSIxNDY6My0xNDY6NzkiIGFsaWFzPSJJbnBhdGllbnRFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMTUiIGxvY2F0b3I9IjE0NjozLTE0Njo2MCIgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjIyNCIgbG9jYXRvcj0iMTQ3OjUtMTQ4Ojc4IiBhbGlhcz0iT3Bpb2lkUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIxNyIgbG9jYXRvcj0iMTQ3OjEwLTE0NzozMCIgbmFtZT0iT3Bpb2lkIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjIyMyIgbG9jYXRvcj0iMTQ4OjE3LTE0ODo3OCIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjAiIGxvY2F0b3I9IjE0ODoxNy0xNDg6NDUiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJPcGlvaWRQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjIyIiBsb2NhdG9yPSIxNDg6NTQtMTQ4Ojc4IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjIzMiIgbG9jYXRvcj0iMTQ5OjUtMTUwOjg2IiBhbGlhcz0iQmVuem9kaWF6ZXBpbmVQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjI1IiBsb2NhdG9yPSIxNDk6MTAtMTQ5OjM4IiBuYW1lPSJCZW56b2RpYXplcGluZSBQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDxzdWNoVGhhdCBsb2NhbElkPSIyMzEiIGxvY2F0b3I9IjE1MDoxNy0xNTA6ODYiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjI4IiBsb2NhdG9yPSIxNTA6MTctMTUwOjUzIiBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iQmVuem9kaWF6ZXBpbmVQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjMwIiBsb2NhdG9yPSIxNTA6NjItMTUwOjg2IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0OSIgbG9jYXRvcj0iMTY0OjEtMTY5OjEwIiBuYW1lPSJFbmNvdW50ZXIgd2l0aCBUd28gb3IgTW9yZSBDb25jdXJyZW50IE9waW9pZHMgYXQgRGlzY2hhcmdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjQ5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RW5jb3VudGVyIHdpdGggVHdvIG9yIE1vcmUgQ29uY3VycmVudCBPcGlvaWRzIGF0IERpc2NoYXJnZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNDgiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IElucGF0aWVudEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Db3VudCgKICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7T3Bpb2lkIFByZXNjcmlwdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE9waW9pZFByZXNjcmlwdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5PcGlvaWRQcmVzY3JpcHRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YXV0aG9yZWRPbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQzIj4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbnBhdGllbnRFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ2Ij4gPj0gMjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDgiIGxvY2F0b3I9IjE2NTozLTE2OToxMCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMzYiIGxvY2F0b3I9IjE2NTozLTE2NTo3OSIgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzNSIgbG9jYXRvcj0iMTY1OjMtMTY1OjYwIiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyNDciIGxvY2F0b3I9IjE2Njo1LTE2OToxMCIgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ1IiBsb2NhdG9yPSIxNjY6MTEtMTY5OjUiIHhzaTp0eXBlPSJDb3VudCI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjQ0IiBsb2NhdG9yPSIxNjc6Ny0xNjg6NzYiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjM4IiBsb2NhdG9yPSIxNjc6Ny0xNjc6NDYiIGFsaWFzPSJPcGlvaWRQcmVzY3JpcHRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMzciIGxvY2F0b3I9IjE2Nzo3LTE2NzoyNyIgbmFtZT0iT3Bpb2lkIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyNDMiIGxvY2F0b3I9IjE2ODo5LTE2ODo3NiIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDAiIGxvY2F0b3I9IjE2ODoxNS0xNjg6NDMiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJPcGlvaWRQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQyIiBsb2NhdG9yPSIxNjg6NTItMTY4Ojc2IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NiIgbG9jYXRvcj0iMTY5OjEwIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjUzIiBsb2NhdG9yPSIxODA6MS0xODI6NzgiIG5hbWU9Ik51bWVyYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI1MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O051bWVyYXRvciZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNTIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RW5jb3VudGVyIHdpdGggVHdvIG9yIE1vcmUgQ29uY3VycmVudCBPcGlvaWRzIGF0IERpc2NoYXJnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIHVuaW9uIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RW5jb3VudGVyIHdpdGggYSBDb25jdXJyZW50IE9waW9pZCBhbmQgQmVuem9kaWF6ZXBpbmUgYXQgRGlzY2hhcmdlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjUyIiBsb2NhdG9yPSIxODE6My0xODI6NzgiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1MCIgbG9jYXRvcj0iMTgxOjMtMTgxOjYyIiBuYW1lPSJFbmNvdW50ZXIgd2l0aCBUd28gb3IgTW9yZSBDb25jdXJyZW50IE9waW9pZHMgYXQgRGlzY2hhcmdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTEiIGxvY2F0b3I9IjE4MjoxMS0xODI6NzgiIG5hbWU9IkVuY291bnRlciB3aXRoIGEgQ29uY3VycmVudCBPcGlvaWQgYW5kIEJlbnpvZGlhemVwaW5lIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" } ] } \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM506_FHIR3-2.0.000/EXM506_FHIR3-2.0.000-files/library-deps-EXM506_FHIR3-2.0.000-bundle.json b/fhir3/bundles/measure/EXM506_FHIR3-2.0.000/EXM506_FHIR3-2.0.000-files/library-deps-EXM506_FHIR3-2.0.000-bundle.json new file mode 100644 index 00000000..80238d1b --- /dev/null +++ b/fhir3/bundles/measure/EXM506_FHIR3-2.0.000/EXM506_FHIR3-2.0.000-files/library-deps-EXM506_FHIR3-2.0.000-bundle.json @@ -0,0 +1,156 @@ +{ + "resourceType": "Bundle", + "id": "library-deps-EXM506-FHIR3-2.0.000-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "Library", + "id": "library-FHIRHelpers-3.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-FHIRHelpers-3.0.0
Type: Logic Library
Version: 3.0.0
Status: active
Content: type: text/cql
library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n    if quantity is null then\n        null\n    else\n        System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n    if range is null then\n        null\n    else\n        Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n         null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n
\n \n \n
\n
" + }, + "version": "3.0.0", + "name": "FHIRHelpers", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-FHIRHelpers-3.0.0" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-MATGlobalCommonFunctions-FHIR3-4.0.000", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-MATGlobalCommonFunctions-FHIR3-4.0.000
Type: Logic Library
Version: 4.0.000
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143

type: Encounter

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292

type: Condition

type: Condition

type: Location

type: Provenance

code filter:
path: target

type: Medication

code filter:
path: id

Content: type: text/cql
library MATGlobalCommonFunctions_FHIR3 version '4.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t  and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n    singleton from (\n        [Encounter: "Emergency Department Visit"] EDVisit\n            where EDVisit.status = 'finished'\n                and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n    )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n    return\n        if X is null then TheEncounter.period\n        else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n    return\n        if EDEncounter is null then TheEncounter.location\n        else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "HospitalizationWithObservation"(TheEncounter FHIR.Encounter):\n\tTheEncounter Visit\n\t\tlet ObsVisit: Last([Encounter: "Observation Services"] LastObs\n\t\t\t\twhere LastObs.period ends 1 hour or less on or before start of Visit.period\n\t\t\t\tsort by end of period\n\t\t\t),\n\t\t\tVisitStart: Coalesce(start of ObsVisit.period, start of Visit.period),\n\t\t\tEDVisit: Last([Encounter: "Emergency Department Visit"] LastED\n\t\t\t\twhere LastED.period ends 1 hour or less on or before VisitStart\n\t\t\t\tsort by end of period\n\t\t\t)\n\t\treturn Interval[Coalesce(start of EDVisit.period, VisitStart), end of Visit.period]\n\ndefine function "HospitalizationWithObservationLengthofStay"(Encounter FHIR.Encounter):\n\t"LengthInDays"("HospitalizationWithObservation"(Encounter))\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t    ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t    singleton from (\n\t        ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t    ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n*    CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  if onset is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t  FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t  Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t  FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t  FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t  Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n  Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n  if choice is FHIR.dateTime then\n\t  Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t  FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n  Encounter.diagnosis D\n    return singleton from ([Condition] Condition where Condition.id.value = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t//"GetId"(uri String): returns the last String of a Split by / List therefor cannot use in\n\t\treturn singleton from ([Condition] Condition where Condition.id.value = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n  singleton from (\n    [Location] Location where Location.id.value = GetId(reference.reference)\n  )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n  singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n  domainResource.extension E\n\t  where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n  singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n  singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n  if request.medication is CodeableConcept then\n\t  request.medication as CodeableConcept\n\telse\n\t  (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n
\n \n \n
\n
" + }, + "version": "4.0.000", + "name": "MATGlobalCommonFunctions_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMjMiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIyMyIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSI0LjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT2JzZXJ2YXRpb24gU2VydmljZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTQzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iQmlydGhkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlYWQiIGlkPSI0MTkwOTkwMDkiIGRpc3BsYXk9IkRlYWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEQ1QiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFUiIgaWQ9IkVSIiBkaXNwbGF5PSJFbWVyZ2VuY3kgcm9vbSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJSb2xlQ29kZSIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IklDVSIgaWQ9IklDVSIgZGlzcGxheT0iSW50ZW5zaXZlIGNhcmUgdW5pdCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJSb2xlQ29kZSIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkJpbGxpbmciIGlkPSJiaWxsaW5nIiBkaXNwbGF5PSJCaWxsaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkRpYWdub3NpcyBSb2xlIi8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJMZW5ndGhJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkRpZmZlcmVuY2VCZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRW5jb3VudGVySW5wYXRpZW50Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVuY291bnRlciBJbnBhdGllbnQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICA8eWVhciBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3llYXI+DQogICAgICAgICAgICA8bW9udGggcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvbW9udGg+DQogICAgICAgICAgICA8ZGF5IHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9kYXk+DQogICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDx0aW1lem9uZU9mZnNldCB4c2k6dHlwZT0iVGltZXpvbmVGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC90aW1lem9uZU9mZnNldD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRUQgVmlzaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJob3VyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJYIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRURFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgcGF0aD0ibG9jYXRpb24iIHNjb3BlPSJFREVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTGVuZ3RoSW5EYXlzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIEFkbWlzc2lvbiBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQXJyaXZhbCBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IkZpcnN0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikhvc3BpdGFsTG9jYXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9IklkZW50aWZpZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvcnQ+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWaXNpdCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxsZXQgaWRlbnRpZmllcj0iT2JzVmlzaXQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9Ikxhc3QiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTGFzdE9icyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMYXN0T2JzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJJZGVudGlmaWVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2J5Pg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3J0Pg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L2xldD4NCiAgICAgICAgICAgIDxsZXQgaWRlbnRpZmllcj0iVmlzaXRTdGFydCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iT2JzVmlzaXQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvbGV0Pg0KICAgICAgICAgICAgPGxldCBpZGVudGlmaWVyPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikxhc3RFRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMYXN0RUQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmlzaXRTdGFydCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlZpc2l0U3RhcnQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3J0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGJ5IGRpcmVjdGlvbj0iYXNjIiB4c2k6dHlwZT0iQnlFeHByZXNzaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9sZXQ+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iRURWaXNpdCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWaXNpdFN0YXJ0IiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb25MZW5ndGhvZlN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJDb25kaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb25kaXRpb24iIHNjb3BlPSJEIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUEQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icm9sZSIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvQ29uY2VwdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaWxsaW5nIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZWdlciIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmFuayIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJDb25kaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb25kaXRpb24iIHNjb3BlPSJQRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0TG9jYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTG9jYXRpb24iPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TG9jYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJpZCIgc2NvcGU9IkxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVmZXJlbmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlZmVyZW5jZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkUiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRCYXNlRXh0ZW5zaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0UHJvdmVuYW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb3ZlbmFuY2UiIGNvZGVQcm9wZXJ0eT0idGFyZ2V0IiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0TWVkaWNhdGlvbkNvZGUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXF1ZXN0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXF1ZXN0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXF1ZXN0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MycKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiRGVhZCI6ICc0MTkwOTkwMDknIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdEZWFkJwpjb2RlICJFUiI6ICdFUicgZnJvbSAiUm9sZUNvZGUiIGRpc3BsYXkgJ0VtZXJnZW5jeSByb29tJwpjb2RlICJJQ1UiOiAnSUNVJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnSW50ZW5zaXZlIGNhcmUgdW5pdCcKY29kZSAiQmlsbGluZyI6ICdiaWxsaW5nJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAnQmlsbGluZycKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJJbnBhdGllbnQgRW5jb3VudGVyIjoKCVtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRW5jb3VudGVySW5wYXRpZW50CgkJd2hlcmUgRW5jb3VudGVySW5wYXRpZW50LnN0YXR1cyA9ICdmaW5pc2hlZCcKCQkgIGFuZCAiTGVuZ3RoSW5EYXlzIihFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kKSA8PSAxMjAKCQkJYW5kIEVuY291bnRlcklucGF0aWVudC5wZXJpb2QgZW5kcyBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSBmdW5jdGlvbiAiVG9EYXRlIihWYWx1ZSBEYXRlVGltZSk6CglEYXRlVGltZSh5ZWFyIGZyb20gVmFsdWUsIG1vbnRoIGZyb20gVmFsdWUsIGRheSBmcm9tIFZhbHVlLCAwLCAwLCAwLCAwLCB0aW1lem9uZSBmcm9tIFZhbHVlKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5c0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCWRheXMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5EYXlzIihCaXJ0aERhdGVUaW1lIERhdGVUaW1lKToKCUNhbGVuZGFyQWdlSW5EYXlzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCW1vbnRocyBiZXR3ZWVuIFRvRGF0ZShCaXJ0aERhdGVUaW1lKWFuZCBUb0RhdGUoQXNPZikKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbk1vbnRocyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluTW9udGhzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUsIEFzT2YgRGF0ZVRpbWUpOgoJeWVhcnMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFycyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluWWVhcnNBdChCaXJ0aERhdGVUaW1lLCBUb2RheSgpKQoKZGVmaW5lIGZ1bmN0aW9uICJMZW5ndGhJbkRheXMiKFZhbHVlIEludGVydmFsPERhdGVUaW1lPik6CglkaWZmZXJlbmNlIGluIGRheXMgYmV0d2VlbiBzdGFydCBvZiBWYWx1ZSBhbmQgZW5kIG9mIFZhbHVlCgpkZWZpbmUgZnVuY3Rpb24gIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgogICAgc2luZ2xldG9uIGZyb20gKAogICAgICAgIFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIEVEVmlzaXQKICAgICAgICAgICAgd2hlcmUgRURWaXNpdC5zdGF0dXMgPSAnZmluaXNoZWQnCiAgICAgICAgICAgICAgICBhbmQgRURWaXNpdC5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQogICAgKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIFgKICAgIHJldHVybgogICAgICAgIGlmIFggaXMgbnVsbCB0aGVuIFRoZUVuY291bnRlci5wZXJpb2QKICAgICAgICBlbHNlIEludGVydmFsW3N0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoWC5wZXJpb2QpLCBlbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKV0KCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCSggIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIpICkgRURFbmNvdW50ZXIKICAgIHJldHVybgogICAgICAgIGlmIEVERW5jb3VudGVyIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIubG9jYXRpb24KICAgICAgICBlbHNlIGZsYXR0ZW4geyBFREVuY291bnRlci5sb2NhdGlvbiwgVGhlRW5jb3VudGVyLmxvY2F0aW9uIH0KCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJTGVuZ3RoSW5EYXlzKCJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikpCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIEFkbWlzc2lvbiBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJc3RhcnQgb2YgIkhvc3BpdGFsaXphdGlvbiIoVGhlRW5jb3VudGVyKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCWVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFRoZUVuY291bnRlci5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRmlyc3QoCgkgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglUaGVFbmNvdW50ZXIgVmlzaXQKCQlsZXQgT2JzVmlzaXQ6IExhc3QoW0VuY291bnRlcjogIk9ic2VydmF0aW9uIFNlcnZpY2VzIl0gTGFzdE9icwoJCQkJd2hlcmUgTGFzdE9icy5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgVmlzaXQucGVyaW9kCgkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKCQkJKSwKCQkJVmlzaXRTdGFydDogQ29hbGVzY2Uoc3RhcnQgb2YgT2JzVmlzaXQucGVyaW9kLCBzdGFydCBvZiBWaXNpdC5wZXJpb2QpLAoJCQlFRFZpc2l0OiBMYXN0KFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIExhc3RFRAoJCQkJd2hlcmUgTGFzdEVELnBlcmlvZCBlbmRzIDEgaG91ciBvciBsZXNzIG9uIG9yIGJlZm9yZSBWaXNpdFN0YXJ0CgkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKCQkJKQoJCXJldHVybiBJbnRlcnZhbFtDb2FsZXNjZShzdGFydCBvZiBFRFZpc2l0LnBlcmlvZCwgVmlzaXRTdGFydCksIGVuZCBvZiBWaXNpdC5wZXJpb2RdCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbkxlbmd0aG9mU3RheSIoRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCSJMZW5ndGhJbkRheXMiKCJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKEVuY291bnRlcikpCgovLyBUT0RPIC0gZml4IHRoZXNlIChtdXN0IGZldGNoIExvY2F0aW9uIHJlc291cmNlcyBhbmQgY29tcGFyZSBpZCB0byByZWZlcmVuY2UpCi8qZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBEZXBhcnR1cmUgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCWVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKExhc3QoCgkgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKCgKCSAgICBzaW5nbGV0b24gZnJvbSAoCgkgICAgICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCQl3aGVyZSBIb3NwaXRhbExvY2F0aW9uLnR5cGUgfiAiRVIiCgkJKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkZpcnN0IElucGF0aWVudCBJbnRlbnNpdmUgQ2FyZSBVbml0IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJRmlyc3QoCgkgICAgKCBUaGVFbmNvdW50ZXIubG9jYXRpb24gKSBIb3NwaXRhbExvY2F0aW9uCgkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJJQ1UiCgkJCQlhbmQgSG9zcGl0YWxMb2NhdGlvbi5wZXJpb2QgZHVyaW5nIFRoZUVuY291bnRlci5wZXJpb2QKCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkqLwoKLyoKKgoqICAgIENRRk1lYXN1cmVzIENvbW1vbiBMb2dpYwoqCiovCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBPbnNldCIob25zZXQgQ2hvaWNlPEZISVIuZGF0ZVRpbWUsIEZISVIuQWdlLCBGSElSLlBlcmlvZCwgRkhJUi5SYW5nZSwgRkhJUi5zdHJpbmc+KToKICBpZiBvbnNldCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShvbnNldCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShvbnNldCBhcyBGSElSLmRhdGVUaW1lKV0KCWVsc2UgaWYgb25zZXQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKG9uc2V0IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLkFnZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KG9uc2V0IGFzIEZISVIuQWdlKSwKCQkgIEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KG9uc2V0IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24gQ29uZGl0aW9uKToKCWlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5kYXRlVGltZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuUGVyaW9kIHRoZW4KCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuQWdlIHRoZW4KCQlJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSwKCQkJRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLkFnZSkgKyAxIHllYXIpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5ib29sZWFuIHRoZW4KCSAgSW50ZXJ2YWxbZW5kIG9mICJOb3JtYWxpemUgT25zZXQiKGNvbmRpdGlvbi5vbnNldCksIGNvbmRpdGlvbi5hc3NlcnRlZERhdGUpCgllbHNlIG51bGwKCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJldmFsZW5jZVBlcmlvZCIoY29uZGl0aW9uIENvbmRpdGlvbik6CiAgSW50ZXJ2YWxbc3RhcnQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgZW5kIG9mICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24pKQoKZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgSW50ZXJ2YWwiKGNob2ljZSBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5QZXJpb2Q+KToKICBpZiBjaG9pY2UgaXMgRkhJUi5kYXRlVGltZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNob2ljZSBhcyBGSElSLmRhdGVUaW1lKV0KCWVsc2UKCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjaG9pY2UgYXMgRkhJUi5QZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkdldElkIih1cmkgU3RyaW5nKToKCUxhc3QoU3BsaXQodXJpLCAnLycpKQoKZGVmaW5lIGZ1bmN0aW9uICJFbmNvdW50ZXJEaWFnbm9zaXMiKEVuY291bnRlciBFbmNvdW50ZXIpOgogIEVuY291bnRlci5kaWFnbm9zaXMgRAogICAgcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDb25kaXRpb24gd2hlcmUgQ29uZGl0aW9uLmlkLnZhbHVlID0gIkdldElkIihELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgY29uZGl0aW9uIHRoYXQgaXMgc3BlY2lmaWVkIGFzIHRoZSBwcmluY2lwYWwgZGlhZ25vc2lzIGZvciB0aGUgZW5jb3VudGVyCmRlZmluZSBmdW5jdGlvbiAiUHJpbmNpcGFsRGlhZ25vc2lzIihFbmNvdW50ZXIgRW5jb3VudGVyKToKCShzaW5nbGV0b24gZnJvbSAoRW5jb3VudGVyLmRpYWdub3NpcyBEIHdoZXJlIEQucm9sZSB+IFRvQ29uY2VwdCgiQmlsbGluZyIpIGFuZCBELnJhbmsgPSAxKSkgUEQKCS8vIkdldElkIih1cmkgU3RyaW5nKTogcmV0dXJucyB0aGUgbGFzdCBTdHJpbmcgb2YgYSBTcGxpdCBieSAvIExpc3QgdGhlcmVmb3IgY2Fubm90IHVzZSBpbgoJCXJldHVybiBzaW5nbGV0b24gZnJvbSAoW0NvbmRpdGlvbl0gQ29uZGl0aW9uIHdoZXJlIENvbmRpdGlvbi5pZC52YWx1ZSA9ICJHZXRJZCIoUEQuY29uZGl0aW9uLnJlZmVyZW5jZSkpCgovLyBSZXR1cm5zIHRoZSBsb2NhdGlvbiBmb3IgdGhlIGdpdmVuIGxvY2F0aW9uIHJlZmVyZW5jZQpkZWZpbmUgZnVuY3Rpb24gR2V0TG9jYXRpb24ocmVmZXJlbmNlIFJlZmVyZW5jZSk6CiAgc2luZ2xldG9uIGZyb20gKAogICAgW0xvY2F0aW9uXSBMb2NhdGlvbiB3aGVyZSBMb2NhdGlvbi5pZC52YWx1ZSA9IEdldElkKHJlZmVyZW5jZS5yZWZlcmVuY2UpCiAgKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9uIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6CiAgc2luZ2xldG9uIGZyb20gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlLCB1cmwpCgovKgpOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcwpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZQpDUUwgbW9kZWwgaW5mby4KKi8KZGVmaW5lIGZ1bmN0aW9uICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJyArIHVybCkKCQlyZXR1cm4gRQoKZGVmaW5lIGZ1bmN0aW9uICJHZXRCYXNlRXh0ZW5zaW9uIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6CiAgc2luZ2xldG9uIGZyb20gIkdldEJhc2VFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogUHJvdmVuYW5jZSBpcyBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgdGhpcyBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGlsbHVzdHJhdGlvbgpmb3Igd2hhdCB1c2luZyBQcm92ZW5hbmNlIGNvdWxkIGxvb2sgbGlrZSwgYW5kIGlzIG5vdCBhIHRlc3RlZCBwYXR0ZXJuCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJvdmVuYW5jZSIocmVzb3VyY2UgUmVzb3VyY2UpOgogIHNpbmdsZXRvbiBmcm9tIChbUHJvdmVuYW5jZTogdGFyZ2V0IGluIHJlc291cmNlLmlkXSkKCmRlZmluZSBmdW5jdGlvbiAiR2V0TWVkaWNhdGlvbkNvZGUiKHJlcXVlc3QgTWVkaWNhdGlvblJlcXVlc3QpOgogIGlmIHJlcXVlc3QubWVkaWNhdGlvbiBpcyBDb2RlYWJsZUNvbmNlcHQgdGhlbgoJICByZXF1ZXN0Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0CgllbHNlCgkgIChzaW5nbGV0b24gZnJvbSAoW01lZGljYXRpb246IGlkIGluIEdldElkKChyZXF1ZXN0Lm1lZGljYXRpb24gYXMgUmVmZXJlbmNlKS5yZWZlcmVuY2UpXSkpLmNvZGUK" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } + }, { + "resource": { + "resourceType": "Library", + "id": "library-SupplementalDataElements-FHIR3-1.0.0", + "text": { + "status": "generated", + "div": "
\n \n \n
Id: library-SupplementalDataElements-FHIR3-1.0.0
Type: Logic Library
Version: 1.0.0
Status: active
Related:

type: depends-on

Resource:
reference: Library/library-FHIRHelpers-3.0.0

Data Requirements:

type: Coverage

code filter:
path: type
valueset: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591

Content: type: text/cql
library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Payer":\n    [Coverage: type in "Payer"] Payer\n      return {\n        code: Payer.type,\n        period: Payer.period\n      }\n\ndefine "SDE Race":\n  (flatten (\n    Patient.extension Extension\n      where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n        return Extension.extension\n  )) E\n    where E.url = 'ombCategory'\n      or E.url = 'detailed'\n    return E.value as Coding\n\ndefine "SDE Sex":\n  case\n    when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n    when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n    else null\n  end\n
\n \n \n
\n
" + }, + "version": "1.0.0", + "name": "SupplementalDataElements_FHIR3", + "status": "active", + "experimental": true, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] + }, + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" + } + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } ] + } ], + "content": [ { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" + }, { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + } ] + }, + "request": { + "method": "PUT", + "url": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + } ] +} \ No newline at end of file diff --git a/fhir3/bundles/measure/EXM506_FHIR3-2.0.000/EXM506_FHIR3-2.0.000-files/valuesets-EXM506_FHIR3-2.0.000-bundle.json b/fhir3/bundles/measure/EXM506_FHIR3-2.0.000/EXM506_FHIR3-2.0.000-files/valuesets-EXM506_FHIR3-2.0.000-bundle.json new file mode 100644 index 00000000..b28ac558 --- /dev/null +++ b/fhir3/bundles/measure/EXM506_FHIR3-2.0.000/EXM506_FHIR3-2.0.000-files/valuesets-EXM506_FHIR3-2.0.000-bundle.json @@ -0,0 +1,14137 @@ +{ + "resourceType": "Bundle", + "id": "valuesets-EXM506-FHIR3-2.0.000-bundle", + "type": "transaction", + "entry": [ { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.117.1.7.1.292", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292", + "title": "Emergency Department Visit", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-03", + "concept": [ { + "code": "4525004", + "display": "Emergency department patient visit (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1111.143", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143", + "title": "Observation Services", + "status": "active", + "publisher": "The Joint Commission", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-09", + "concept": [ { + "code": "448851000124103", + "display": "Hospital admission from observation unit (procedure)" + }, { + "code": "448951000124107", + "display": "Admission to observation unit (procedure)" + }, { + "code": "76464004", + "display": "Hospital admission, for observation (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1111.143" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.666.5.307", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113883.3.666.5.307" + } ], + "version": "20170504", + "name": "EncounterInpatient", + "title": "Encounter Inpatient", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2018-03", + "concept": [ { + "code": "183452005", + "display": "Emergency hospital admission (procedure)" + }, { + "code": "32485007", + "display": "Hospital admission (procedure)" + }, { + "code": "8715000", + "display": "Hospital admission, elective (procedure)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.3591", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.3591" + } ], + "version": "20180718", + "name": "Payer", + "title": "Payer", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.phdsc.org/standards/pdfs/SourceofPaymentTypologyVersion6FINALSeptember2015.pdf", + "version": "8.0", + "concept": [ { + "code": "1", + "display": "MEDICARE" + }, { + "code": "11", + "display": "Medicare (Managed Care)" + }, { + "code": "111", + "display": "Medicare HMO" + }, { + "code": "112", + "display": "Medicare PPO" + }, { + "code": "113", + "display": "Medicare POS" + }, { + "code": "119", + "display": "Medicare Managed Care Other" + }, { + "code": "12", + "display": "Medicare (Non-managed Care)" + }, { + "code": "121", + "display": "Medicare FFS" + }, { + "code": "122", + "display": "Medicare Drug Benefit" + }, { + "code": "123", + "display": "Medicare Medical Savings Account (MSA)" + }, { + "code": "129", + "display": "Medicare Non-managed Care Other" + }, { + "code": "13", + "display": "Medicare Hospice" + }, { + "code": "14", + "display": "Dual Eligibility Medicare/Medicaid Organization" + }, { + "code": "19", + "display": "Medicare Other" + }, { + "code": "191", + "display": "Medicare Pharmacy Benefit Manager" + }, { + "code": "2", + "display": "MEDICAID" + }, { + "code": "21", + "display": "Medicaid (Managed Care)" + }, { + "code": "211", + "display": "Medicaid HMO" + }, { + "code": "212", + "display": "Medicaid PPO" + }, { + "code": "213", + "display": "Medicaid PCCM (Primary Care Case Management)" + }, { + "code": "219", + "display": "Medicaid Managed Care Other" + }, { + "code": "22", + "display": "Medicaid (Non-managed Care Plan)" + }, { + "code": "23", + "display": "Medicaid/SCHIP" + }, { + "code": "25", + "display": "Medicaid - Out of State" + }, { + "code": "26", + "display": "Medicaid -- Long Term Care" + }, { + "code": "29", + "display": "Medicaid Other" + }, { + "code": "291", + "display": "Medicaid Pharmacy Benefit Manager" + }, { + "code": "299", + "display": "Medicaid - Dental" + }, { + "code": "3", + "display": "OTHER GOVERNMENT (Federal/State/Local) (excluding Department of Corrections)" + }, { + "code": "31", + "display": "Department of Defense" + }, { + "code": "311", + "display": "TRICARE (CHAMPUS)" + }, { + "code": "3111", + "display": "TRICARE Prime--HMO" + }, { + "code": "3112", + "display": "TRICARE Extra--PPO" + }, { + "code": "3113", + "display": "TRICARE Standard - Fee For Service" + }, { + "code": "3114", + "display": "TRICARE For Life--Medicare Supplement" + }, { + "code": "3115", + "display": "TRICARE Reserve Select" + }, { + "code": "3116", + "display": "Uniformed Services Family Health Plan (USFHP) -- HMO" + }, { + "code": "3119", + "display": "Department of Defense - (other)" + }, { + "code": "312", + "display": "Military Treatment Facility" + }, { + "code": "3121", + "display": "Enrolled Prime--HMO" + }, { + "code": "3122", + "display": "Non-enrolled Space Available" + }, { + "code": "3123", + "display": "TRICARE For Life (TFL)" + }, { + "code": "313", + "display": "Dental --Stand Alone" + }, { + "code": "32", + "display": "Department of Veterans Affairs" + }, { + "code": "321", + "display": "Veteran care--Care provided to Veterans" + }, { + "code": "3211", + "display": "Direct Care--Care provided in VA facilities" + }, { + "code": "3212", + "display": "Indirect Care--Care provided outside VA facilities" + }, { + "code": "32121", + "display": "Fee Basis" + }, { + "code": "32122", + "display": "Foreign Fee/Foreign Medical Program (FMP)" + }, { + "code": "32123", + "display": "Contract Nursing Home/Community Nursing Home" + }, { + "code": "32124", + "display": "State Veterans Home" + }, { + "code": "32125", + "display": "Sharing Agreements" + }, { + "code": "32126", + "display": "Other Federal Agency" + }, { + "code": "32127", + "display": "Dental Care" + }, { + "code": "32128", + "display": "Vision Care" + }, { + "code": "322", + "display": "Non-veteran care" + }, { + "code": "3221", + "display": "Civilian Health and Medical Program for the VA (CHAMPVA)" + }, { + "code": "3222", + "display": "Spina Bifida Health Care Program (SB)" + }, { + "code": "3223", + "display": "Children of Women Vietnam Veterans (CWVV)" + }, { + "code": "3229", + "display": "Other non-veteran care" + }, { + "code": "33", + "display": "Indian Health Service or Tribe" + }, { + "code": "331", + "display": "Indian Health Service -- Regular" + }, { + "code": "332", + "display": "Indian Health Service -- Contract" + }, { + "code": "333", + "display": "Indian Health Service - Managed Care" + }, { + "code": "334", + "display": "Indian Tribe - Sponsored Coverage" + }, { + "code": "34", + "display": "HRSA Program" + }, { + "code": "341", + "display": "Title V (MCH Block Grant)" + }, { + "code": "342", + "display": "Migrant Health Program" + }, { + "code": "343", + "display": "Ryan White Act" + }, { + "code": "349", + "display": "Other" + }, { + "code": "35", + "display": "Black Lung" + }, { + "code": "36", + "display": "State Government" + }, { + "code": "361", + "display": "State SCHIP program (codes for individual states)" + }, { + "code": "362", + "display": "Specific state programs (list/ local code)" + }, { + "code": "369", + "display": "State, not otherwise specified (other state)" + }, { + "code": "37", + "display": "Local Government" + }, { + "code": "371", + "display": "Local - Managed care" + }, { + "code": "3711", + "display": "HMO" + }, { + "code": "3712", + "display": "PPO" + }, { + "code": "3713", + "display": "POS" + }, { + "code": "372", + "display": "FFS/Indemnity" + }, { + "code": "379", + "display": "Local, not otherwise specified (other local, county)" + }, { + "code": "38", + "display": "Other Government (Federal, State, Local not specified)" + }, { + "code": "381", + "display": "Federal, State, Local not specified managed care" + }, { + "code": "3811", + "display": "Federal, State, Local not specified - HMO" + }, { + "code": "3812", + "display": "Federal, State, Local not specified - PPO" + }, { + "code": "3813", + "display": "Federal, State, Local not specified - POS" + }, { + "code": "3819", + "display": "Federal, State, Local not specified - not specified managed care" + }, { + "code": "382", + "display": "Federal, State, Local not specified - FFS" + }, { + "code": "389", + "display": "Federal, State, Local not specified - Other" + }, { + "code": "39", + "display": "Other Federal" + }, { + "code": "391", + "display": "Federal Employee Health Plan - Use when known" + }, { + "code": "4", + "display": "DEPARTMENTS OF CORRECTIONS" + }, { + "code": "41", + "display": "Corrections Federal" + }, { + "code": "42", + "display": "Corrections State" + }, { + "code": "43", + "display": "Corrections Local" + }, { + "code": "44", + "display": "Corrections Unknown Level" + }, { + "code": "5", + "display": "PRIVATE HEALTH INSURANCE" + }, { + "code": "51", + "display": "Managed Care (Private)" + }, { + "code": "511", + "display": "Commercial Managed Care - HMO" + }, { + "code": "512", + "display": "Commercial Managed Care - PPO" + }, { + "code": "513", + "display": "Commercial Managed Care - POS" + }, { + "code": "514", + "display": "Exclusive Provider Organization" + }, { + "code": "515", + "display": "Gatekeeper PPO (GPPO)" + }, { + "code": "516", + "display": "Commercial Managed Care - Pharmacy Benefit Manager" + }, { + "code": "517", + "display": "Commercial Managed Care - Dental" + }, { + "code": "519", + "display": "Managed Care, Other (non HMO)" + }, { + "code": "52", + "display": "Private Health Insurance - Indemnity" + }, { + "code": "521", + "display": "Commercial Indemnity" + }, { + "code": "522", + "display": "Self-insured (ERISA) Administrative Services Only (ASO) plan" + }, { + "code": "523", + "display": "Medicare supplemental policy (as second payer)" + }, { + "code": "524", + "display": "Indemnity Insurance - Dental" + }, { + "code": "529", + "display": "Private health insurance--other commercial Indemnity" + }, { + "code": "53", + "display": "Managed Care (private) or private health insurance (indemnity), not otherwise specified" + }, { + "code": "54", + "display": "Organized Delivery System" + }, { + "code": "55", + "display": "Small Employer Purchasing Group" + }, { + "code": "56", + "display": "Specialized Stand Alone Plan" + }, { + "code": "561", + "display": "Dental" + }, { + "code": "562", + "display": "Vision" + }, { + "code": "59", + "display": "Other Private Insurance" + }, { + "code": "6", + "display": "BLUE CROSS/BLUE SHIELD" + }, { + "code": "61", + "display": "BC Managed Care" + }, { + "code": "611", + "display": "BC Managed Care -- HMO" + }, { + "code": "612", + "display": "BC Managed Care -- PPO" + }, { + "code": "613", + "display": "BC Managed Care -- POS" + }, { + "code": "614", + "display": "BC Managed Care - Dental" + }, { + "code": "619", + "display": "BC Managed Care -- Other" + }, { + "code": "62", + "display": "BC Insurance Indemnity" + }, { + "code": "621", + "display": "BC Indemnity" + }, { + "code": "622", + "display": "BC Self-insured (ERISA) Administrative Services Only (ASO)Plan" + }, { + "code": "623", + "display": "BC Medicare Supplemental Plan" + }, { + "code": "629", + "display": "BC Indemnity - Dental" + }, { + "code": "7", + "display": "MANAGED CARE, UNSPECIFIED (to be used only if one can't distinguish public from private)" + }, { + "code": "71", + "display": "HMO" + }, { + "code": "72", + "display": "PPO" + }, { + "code": "73", + "display": "POS" + }, { + "code": "79", + "display": "Other Managed Care" + }, { + "code": "8", + "display": "NO PAYMENT from an Organization/Agency/Program/Private Payer Listed" + }, { + "code": "81", + "display": "Self-pay (Includes applicants for insurance and Medicaid applicants)" + }, { + "code": "82", + "display": "No Charge" + }, { + "code": "821", + "display": "Charity" + }, { + "code": "822", + "display": "Professional Courtesy" + }, { + "code": "823", + "display": "Research/Clinical Trial" + }, { + "code": "83", + "display": "Refusal to Pay/Bad Debt" + }, { + "code": "84", + "display": "Hill Burton Free Care" + }, { + "code": "85", + "display": "Research/Donor" + }, { + "code": "89", + "display": "No Payment, Other" + }, { + "code": "9", + "display": "MISCELLANEOUS/OTHER" + }, { + "code": "91", + "display": "Foreign National" + }, { + "code": "92", + "display": "Other (Non-government)" + }, { + "code": "93", + "display": "Disability Insurance" + }, { + "code": "94", + "display": "Long-term Care Insurance" + }, { + "code": "95", + "display": "Worker's Compensation" + }, { + "code": "951", + "display": "Worker's Comp HMO" + }, { + "code": "953", + "display": "Worker's Comp Fee-for-Service" + }, { + "code": "954", + "display": "Worker's Comp Other Managed Care" + }, { + "code": "959", + "display": "Worker's Comp, Other unspecified" + }, { + "code": "96", + "display": "Auto Insurance (includes no fault)" + }, { + "code": "97", + "display": "Legal Liability / Liability Insurance" + }, { + "code": "98", + "display": "Other specified but not otherwise classifiable (includes Hospice - Unspecified plan)" + }, { + "code": "99", + "display": "No Typology Code available for payment source" + }, { + "code": "9999", + "display": "Unavailable / No Payer Specified / Blank" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1111.162", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162", + "title": "Palliative Care", + "status": "active", + "publisher": "Lantana", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-09", + "concept": [ { + "code": "305496007", + "display": "Under care of palliative care physician (finding)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1111.162" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1111.161", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161", + "title": "All Primary and Secondary Cancer", + "status": "active", + "publisher": "Lantana", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/sid/icd-10", + "version": "2020", + "concept": [ { + "code": "C00.0", + "display": "Malignant neoplasm of external upper lip" + }, { + "code": "C00.1", + "display": "Malignant neoplasm of external lower lip" + }, { + "code": "C00.2", + "display": "Malignant neoplasm of external lip, unspecified" + }, { + "code": "C00.3", + "display": "Malignant neoplasm of upper lip, inner aspect" + }, { + "code": "C00.4", + "display": "Malignant neoplasm of lower lip, inner aspect" + }, { + "code": "C00.5", + "display": "Malignant neoplasm of lip, unspecified, inner aspect" + }, { + "code": "C00.6", + "display": "Malignant neoplasm of commissure of lip, unspecified" + }, { + "code": "C00.8", + "display": "Malignant neoplasm of overlapping sites of lip" + }, { + "code": "C00.9", + "display": "Malignant neoplasm of lip, unspecified" + }, { + "code": "C01", + "display": "Malignant neoplasm of base of tongue" + }, { + "code": "C02.0", + "display": "Malignant neoplasm of dorsal surface of tongue" + }, { + "code": "C02.1", + "display": "Malignant neoplasm of border of tongue" + }, { + "code": "C02.2", + "display": "Malignant neoplasm of ventral surface of tongue" + }, { + "code": "C02.3", + "display": "Malignant neoplasm of anterior two-thirds of tongue, part unspecified" + }, { + "code": "C02.4", + "display": "Malignant neoplasm of lingual tonsil" + }, { + "code": "C02.8", + "display": "Malignant neoplasm of overlapping sites of tongue" + }, { + "code": "C02.9", + "display": "Malignant neoplasm of tongue, unspecified" + }, { + "code": "C03.0", + "display": "Malignant neoplasm of upper gum" + }, { + "code": "C03.1", + "display": "Malignant neoplasm of lower gum" + }, { + "code": "C03.9", + "display": "Malignant neoplasm of gum, unspecified" + }, { + "code": "C04.0", + "display": "Malignant neoplasm of anterior floor of mouth" + }, { + "code": "C04.1", + "display": "Malignant neoplasm of lateral floor of mouth" + }, { + "code": "C04.8", + "display": "Malignant neoplasm of overlapping sites of floor of mouth" + }, { + "code": "C04.9", + "display": "Malignant neoplasm of floor of mouth, unspecified" + }, { + "code": "C05.0", + "display": "Malignant neoplasm of hard palate" + }, { + "code": "C05.1", + "display": "Malignant neoplasm of soft palate" + }, { + "code": "C05.2", + "display": "Malignant neoplasm of uvula" + }, { + "code": "C05.8", + "display": "Malignant neoplasm of overlapping sites of palate" + }, { + "code": "C05.9", + "display": "Malignant neoplasm of palate, unspecified" + }, { + "code": "C06.0", + "display": "Malignant neoplasm of cheek mucosa" + }, { + "code": "C06.1", + "display": "Malignant neoplasm of vestibule of mouth" + }, { + "code": "C06.2", + "display": "Malignant neoplasm of retromolar area" + }, { + "code": "C06.80", + "display": "Malignant neoplasm of overlapping sites of unspecified parts of mouth" + }, { + "code": "C06.89", + "display": "Malignant neoplasm of overlapping sites of other parts of mouth" + }, { + "code": "C06.9", + "display": "Malignant neoplasm of mouth, unspecified" + }, { + "code": "C07", + "display": "Malignant neoplasm of parotid gland" + }, { + "code": "C08.0", + "display": "Malignant neoplasm of submandibular gland" + }, { + "code": "C08.1", + "display": "Malignant neoplasm of sublingual gland" + }, { + "code": "C08.9", + "display": "Malignant neoplasm of major salivary gland, unspecified" + }, { + "code": "C09.0", + "display": "Malignant neoplasm of tonsillar fossa" + }, { + "code": "C09.1", + "display": "Malignant neoplasm of tonsillar pillar (anterior) (posterior)" + }, { + "code": "C09.8", + "display": "Malignant neoplasm of overlapping sites of tonsil" + }, { + "code": "C09.9", + "display": "Malignant neoplasm of tonsil, unspecified" + }, { + "code": "C10.0", + "display": "Malignant neoplasm of vallecula" + }, { + "code": "C10.1", + "display": "Malignant neoplasm of anterior surface of epiglottis" + }, { + "code": "C10.2", + "display": "Malignant neoplasm of lateral wall of oropharynx" + }, { + "code": "C10.3", + "display": "Malignant neoplasm of posterior wall of oropharynx" + }, { + "code": "C10.4", + "display": "Malignant neoplasm of branchial cleft" + }, { + "code": "C10.8", + "display": "Malignant neoplasm of overlapping sites of oropharynx" + }, { + "code": "C10.9", + "display": "Malignant neoplasm of oropharynx, unspecified" + }, { + "code": "C11.0", + "display": "Malignant neoplasm of superior wall of nasopharynx" + }, { + "code": "C11.1", + "display": "Malignant neoplasm of posterior wall of nasopharynx" + }, { + "code": "C11.2", + "display": "Malignant neoplasm of lateral wall of nasopharynx" + }, { + "code": "C11.3", + "display": "Malignant neoplasm of anterior wall of nasopharynx" + }, { + "code": "C11.8", + "display": "Malignant neoplasm of overlapping sites of nasopharynx" + }, { + "code": "C11.9", + "display": "Malignant neoplasm of nasopharynx, unspecified" + }, { + "code": "C12", + "display": "Malignant neoplasm of pyriform sinus" + }, { + "code": "C13.0", + "display": "Malignant neoplasm of postcricoid region" + }, { + "code": "C13.1", + "display": "Malignant neoplasm of aryepiglottic fold, hypopharyngeal aspect" + }, { + "code": "C13.2", + "display": "Malignant neoplasm of posterior wall of hypopharynx" + }, { + "code": "C13.8", + "display": "Malignant neoplasm of overlapping sites of hypopharynx" + }, { + "code": "C13.9", + "display": "Malignant neoplasm of hypopharynx, unspecified" + }, { + "code": "C14.0", + "display": "Malignant neoplasm of pharynx, unspecified" + }, { + "code": "C14.2", + "display": "Malignant neoplasm of Waldeyer's ring" + }, { + "code": "C14.8", + "display": "Malignant neoplasm of overlapping sites of lip, oral cavity and pharynx" + }, { + "code": "C15.3", + "display": "Malignant neoplasm of upper third of esophagus" + }, { + "code": "C15.4", + "display": "Malignant neoplasm of middle third of esophagus" + }, { + "code": "C15.5", + "display": "Malignant neoplasm of lower third of esophagus" + }, { + "code": "C15.8", + "display": "Malignant neoplasm of overlapping sites of esophagus" + }, { + "code": "C15.9", + "display": "Malignant neoplasm of esophagus, unspecified" + }, { + "code": "C16.0", + "display": "Malignant neoplasm of cardia" + }, { + "code": "C16.1", + "display": "Malignant neoplasm of fundus of stomach" + }, { + "code": "C16.2", + "display": "Malignant neoplasm of body of stomach" + }, { + "code": "C16.3", + "display": "Malignant neoplasm of pyloric antrum" + }, { + "code": "C16.4", + "display": "Malignant neoplasm of pylorus" + }, { + "code": "C16.5", + "display": "Malignant neoplasm of lesser curvature of stomach, unspecified" + }, { + "code": "C16.6", + "display": "Malignant neoplasm of greater curvature of stomach, unspecified" + }, { + "code": "C16.8", + "display": "Malignant neoplasm of overlapping sites of stomach" + }, { + "code": "C16.9", + "display": "Malignant neoplasm of stomach, unspecified" + }, { + "code": "C17.0", + "display": "Malignant neoplasm of duodenum" + }, { + "code": "C17.1", + "display": "Malignant neoplasm of jejunum" + }, { + "code": "C17.2", + "display": "Malignant neoplasm of ileum" + }, { + "code": "C17.3", + "display": "Meckel's diverticulum, malignant" + }, { + "code": "C17.8", + "display": "Malignant neoplasm of overlapping sites of small intestine" + }, { + "code": "C17.9", + "display": "Malignant neoplasm of small intestine, unspecified" + }, { + "code": "C18.0", + "display": "Malignant neoplasm of cecum" + }, { + "code": "C18.1", + "display": "Malignant neoplasm of appendix" + }, { + "code": "C18.2", + "display": "Malignant neoplasm of ascending colon" + }, { + "code": "C18.3", + "display": "Malignant neoplasm of hepatic flexure" + }, { + "code": "C18.4", + "display": "Malignant neoplasm of transverse colon" + }, { + "code": "C18.5", + "display": "Malignant neoplasm of splenic flexure" + }, { + "code": "C18.6", + "display": "Malignant neoplasm of descending colon" + }, { + "code": "C18.7", + "display": "Malignant neoplasm of sigmoid colon" + }, { + "code": "C18.8", + "display": "Malignant neoplasm of overlapping sites of colon" + }, { + "code": "C18.9", + "display": "Malignant neoplasm of colon, unspecified" + }, { + "code": "C19", + "display": "Malignant neoplasm of rectosigmoid junction" + }, { + "code": "C20", + "display": "Malignant neoplasm of rectum" + }, { + "code": "C21.0", + "display": "Malignant neoplasm of anus, unspecified" + }, { + "code": "C21.1", + "display": "Malignant neoplasm of anal canal" + }, { + "code": "C21.2", + "display": "Malignant neoplasm of cloacogenic zone" + }, { + "code": "C21.8", + "display": "Malignant neoplasm of overlapping sites of rectum, anus and anal canal" + }, { + "code": "C22.0", + "display": "Liver cell carcinoma" + }, { + "code": "C22.1", + "display": "Intrahepatic bile duct carcinoma" + }, { + "code": "C22.2", + "display": "Hepatoblastoma" + }, { + "code": "C22.3", + "display": "Angiosarcoma of liver" + }, { + "code": "C22.4", + "display": "Other sarcomas of liver" + }, { + "code": "C22.7", + "display": "Other specified carcinomas of liver" + }, { + "code": "C22.8", + "display": "Malignant neoplasm of liver, primary, unspecified as to type" + }, { + "code": "C22.9", + "display": "Malignant neoplasm of liver, not specified as primary or secondary" + }, { + "code": "C23", + "display": "Malignant neoplasm of gallbladder" + }, { + "code": "C24.0", + "display": "Malignant neoplasm of extrahepatic bile duct" + }, { + "code": "C24.1", + "display": "Malignant neoplasm of ampulla of Vater" + }, { + "code": "C24.8", + "display": "Malignant neoplasm of overlapping sites of biliary tract" + }, { + "code": "C24.9", + "display": "Malignant neoplasm of biliary tract, unspecified" + }, { + "code": "C25.0", + "display": "Malignant neoplasm of head of pancreas" + }, { + "code": "C25.1", + "display": "Malignant neoplasm of body of pancreas" + }, { + "code": "C25.2", + "display": "Malignant neoplasm of tail of pancreas" + }, { + "code": "C25.3", + "display": "Malignant neoplasm of pancreatic duct" + }, { + "code": "C25.4", + "display": "Malignant neoplasm of endocrine pancreas" + }, { + "code": "C25.7", + "display": "Malignant neoplasm of other parts of pancreas" + }, { + "code": "C25.8", + "display": "Malignant neoplasm of overlapping sites of pancreas" + }, { + "code": "C25.9", + "display": "Malignant neoplasm of pancreas, unspecified" + }, { + "code": "C26.0", + "display": "Malignant neoplasm of intestinal tract, part unspecified" + }, { + "code": "C26.1", + "display": "Malignant neoplasm of spleen" + }, { + "code": "C26.9", + "display": "Malignant neoplasm of ill-defined sites within the digestive system" + }, { + "code": "C30.0", + "display": "Malignant neoplasm of nasal cavity" + }, { + "code": "C30.1", + "display": "Malignant neoplasm of middle ear" + }, { + "code": "C31.0", + "display": "Malignant neoplasm of maxillary sinus" + }, { + "code": "C31.1", + "display": "Malignant neoplasm of ethmoidal sinus" + }, { + "code": "C31.2", + "display": "Malignant neoplasm of frontal sinus" + }, { + "code": "C31.3", + "display": "Malignant neoplasm of sphenoid sinus" + }, { + "code": "C31.8", + "display": "Malignant neoplasm of overlapping sites of accessory sinuses" + }, { + "code": "C31.9", + "display": "Malignant neoplasm of accessory sinus, unspecified" + }, { + "code": "C32.0", + "display": "Malignant neoplasm of glottis" + }, { + "code": "C32.1", + "display": "Malignant neoplasm of supraglottis" + }, { + "code": "C32.2", + "display": "Malignant neoplasm of subglottis" + }, { + "code": "C32.3", + "display": "Malignant neoplasm of laryngeal cartilage" + }, { + "code": "C32.8", + "display": "Malignant neoplasm of overlapping sites of larynx" + }, { + "code": "C32.9", + "display": "Malignant neoplasm of larynx, unspecified" + }, { + "code": "C33", + "display": "Malignant neoplasm of trachea" + }, { + "code": "C34.00", + "display": "Malignant neoplasm of unspecified main bronchus" + }, { + "code": "C34.01", + "display": "Malignant neoplasm of right main bronchus" + }, { + "code": "C34.02", + "display": "Malignant neoplasm of left main bronchus" + }, { + "code": "C34.10", + "display": "Malignant neoplasm of upper lobe, unspecified bronchus or lung" + }, { + "code": "C34.11", + "display": "Malignant neoplasm of upper lobe, right bronchus or lung" + }, { + "code": "C34.12", + "display": "Malignant neoplasm of upper lobe, left bronchus or lung" + }, { + "code": "C34.2", + "display": "Malignant neoplasm of middle lobe, bronchus or lung" + }, { + "code": "C34.30", + "display": "Malignant neoplasm of lower lobe, unspecified bronchus or lung" + }, { + "code": "C34.31", + "display": "Malignant neoplasm of lower lobe, right bronchus or lung" + }, { + "code": "C34.32", + "display": "Malignant neoplasm of lower lobe, left bronchus or lung" + }, { + "code": "C34.80", + "display": "Malignant neoplasm of overlapping sites of unspecified bronchus and lung" + }, { + "code": "C34.81", + "display": "Malignant neoplasm of overlapping sites of right bronchus and lung" + }, { + "code": "C34.82", + "display": "Malignant neoplasm of overlapping sites of left bronchus and lung" + }, { + "code": "C34.90", + "display": "Malignant neoplasm of unspecified part of unspecified bronchus or lung" + }, { + "code": "C34.91", + "display": "Malignant neoplasm of unspecified part of right bronchus or lung" + }, { + "code": "C34.92", + "display": "Malignant neoplasm of unspecified part of left bronchus or lung" + }, { + "code": "C37", + "display": "Malignant neoplasm of thymus" + }, { + "code": "C38.0", + "display": "Malignant neoplasm of heart" + }, { + "code": "C38.1", + "display": "Malignant neoplasm of anterior mediastinum" + }, { + "code": "C38.2", + "display": "Malignant neoplasm of posterior mediastinum" + }, { + "code": "C38.3", + "display": "Malignant neoplasm of mediastinum, part unspecified" + }, { + "code": "C38.4", + "display": "Malignant neoplasm of pleura" + }, { + "code": "C38.8", + "display": "Malignant neoplasm of overlapping sites of heart, mediastinum and pleura" + }, { + "code": "C39.0", + "display": "Malignant neoplasm of upper respiratory tract, part unspecified" + }, { + "code": "C39.9", + "display": "Malignant neoplasm of lower respiratory tract, part unspecified" + }, { + "code": "C40.00", + "display": "Malignant neoplasm of scapula and long bones of unspecified upper limb" + }, { + "code": "C40.01", + "display": "Malignant neoplasm of scapula and long bones of right upper limb" + }, { + "code": "C40.02", + "display": "Malignant neoplasm of scapula and long bones of left upper limb" + }, { + "code": "C40.10", + "display": "Malignant neoplasm of short bones of unspecified upper limb" + }, { + "code": "C40.11", + "display": "Malignant neoplasm of short bones of right upper limb" + }, { + "code": "C40.12", + "display": "Malignant neoplasm of short bones of left upper limb" + }, { + "code": "C40.20", + "display": "Malignant neoplasm of long bones of unspecified lower limb" + }, { + "code": "C40.21", + "display": "Malignant neoplasm of long bones of right lower limb" + }, { + "code": "C40.22", + "display": "Malignant neoplasm of long bones of left lower limb" + }, { + "code": "C40.30", + "display": "Malignant neoplasm of short bones of unspecified lower limb" + }, { + "code": "C40.31", + "display": "Malignant neoplasm of short bones of right lower limb" + }, { + "code": "C40.32", + "display": "Malignant neoplasm of short bones of left lower limb" + }, { + "code": "C40.80", + "display": "Malignant neoplasm of overlapping sites of bone and articular cartilage of unspecified limb" + }, { + "code": "C40.81", + "display": "Malignant neoplasm of overlapping sites of bone and articular cartilage of right limb" + }, { + "code": "C40.82", + "display": "Malignant neoplasm of overlapping sites of bone and articular cartilage of left limb" + }, { + "code": "C40.90", + "display": "Malignant neoplasm of unspecified bones and articular cartilage of unspecified limb" + }, { + "code": "C40.91", + "display": "Malignant neoplasm of unspecified bones and articular cartilage of right limb" + }, { + "code": "C40.92", + "display": "Malignant neoplasm of unspecified bones and articular cartilage of left limb" + }, { + "code": "C41.0", + "display": "Malignant neoplasm of bones of skull and face" + }, { + "code": "C41.1", + "display": "Malignant neoplasm of mandible" + }, { + "code": "C41.2", + "display": "Malignant neoplasm of vertebral column" + }, { + "code": "C41.3", + "display": "Malignant neoplasm of ribs, sternum and clavicle" + }, { + "code": "C41.4", + "display": "Malignant neoplasm of pelvic bones, sacrum and coccyx" + }, { + "code": "C41.9", + "display": "Malignant neoplasm of bone and articular cartilage, unspecified" + }, { + "code": "C43.0", + "display": "Malignant melanoma of lip" + }, { + "code": "C43.10", + "display": "Malignant melanoma of unspecified eyelid, including canthus" + }, { + "code": "C43.111", + "display": "Malignant melanoma of right upper eyelid, including canthus" + }, { + "code": "C43.112", + "display": "Malignant melanoma of right lower eyelid, including canthus" + }, { + "code": "C43.121", + "display": "Malignant melanoma of left upper eyelid, including canthus" + }, { + "code": "C43.122", + "display": "Malignant melanoma of left lower eyelid, including canthus" + }, { + "code": "C43.20", + "display": "Malignant melanoma of unspecified ear and external auricular canal" + }, { + "code": "C43.21", + "display": "Malignant melanoma of right ear and external auricular canal" + }, { + "code": "C43.22", + "display": "Malignant melanoma of left ear and external auricular canal" + }, { + "code": "C43.30", + "display": "Malignant melanoma of unspecified part of face" + }, { + "code": "C43.31", + "display": "Malignant melanoma of nose" + }, { + "code": "C43.39", + "display": "Malignant melanoma of other parts of face" + }, { + "code": "C43.4", + "display": "Malignant melanoma of scalp and neck" + }, { + "code": "C43.51", + "display": "Malignant melanoma of anal skin" + }, { + "code": "C43.52", + "display": "Malignant melanoma of skin of breast" + }, { + "code": "C43.59", + "display": "Malignant melanoma of other part of trunk" + }, { + "code": "C43.60", + "display": "Malignant melanoma of unspecified upper limb, including shoulder" + }, { + "code": "C43.61", + "display": "Malignant melanoma of right upper limb, including shoulder" + }, { + "code": "C43.62", + "display": "Malignant melanoma of left upper limb, including shoulder" + }, { + "code": "C43.70", + "display": "Malignant melanoma of unspecified lower limb, including hip" + }, { + "code": "C43.71", + "display": "Malignant melanoma of right lower limb, including hip" + }, { + "code": "C43.72", + "display": "Malignant melanoma of left lower limb, including hip" + }, { + "code": "C43.8", + "display": "Malignant melanoma of overlapping sites of skin" + }, { + "code": "C43.9", + "display": "Malignant melanoma of skin, unspecified" + }, { + "code": "C44.00", + "display": "Unspecified malignant neoplasm of skin of lip" + }, { + "code": "C44.01", + "display": "Basal cell carcinoma of skin of lip" + }, { + "code": "C44.02", + "display": "Squamous cell carcinoma of skin of lip" + }, { + "code": "C44.09", + "display": "Other specified malignant neoplasm of skin of lip" + }, { + "code": "C44.101", + "display": "Unspecified malignant neoplasm of skin of unspecified eyelid, including canthus" + }, { + "code": "C44.1021", + "display": "Unspecified malignant neoplasm of skin of right upper eyelid, including canthus" + }, { + "code": "C44.1022", + "display": "Unspecified malignant neoplasm of skin of right lower eyelid, including canthus" + }, { + "code": "C44.1091", + "display": "Unspecified malignant neoplasm of skin of left upper eyelid, including canthus" + }, { + "code": "C44.1092", + "display": "Unspecified malignant neoplasm of skin of left lower eyelid, including canthus" + }, { + "code": "C44.111", + "display": "Basal cell carcinoma of skin of unspecified eyelid, including canthus" + }, { + "code": "C44.1121", + "display": "Basal cell carcinoma of skin of right upper eyelid, including canthus" + }, { + "code": "C44.1122", + "display": "Basal cell carcinoma of skin of right lower eyelid, including canthus" + }, { + "code": "C44.1191", + "display": "Basal cell carcinoma of skin of left upper eyelid, including canthus" + }, { + "code": "C44.1192", + "display": "Basal cell carcinoma of skin of left lower eyelid, including canthus" + }, { + "code": "C44.121", + "display": "Squamous cell carcinoma of skin of unspecified eyelid, including canthus" + }, { + "code": "C44.1221", + "display": "Squamous cell carcinoma of skin of right upper eyelid, including canthus" + }, { + "code": "C44.1222", + "display": "Squamous cell carcinoma of skin of right lower eyelid, including canthus" + }, { + "code": "C44.1291", + "display": "Squamous cell carcinoma of skin of left upper eyelid, including canthus" + }, { + "code": "C44.1292", + "display": "Squamous cell carcinoma of skin of left lower eyelid, including canthus" + }, { + "code": "C44.191", + "display": "Other specified malignant neoplasm of skin of unspecified eyelid, including canthus" + }, { + "code": "C44.1921", + "display": "Other specified malignant neoplasm of skin of right upper eyelid, including canthus" + }, { + "code": "C44.1922", + "display": "Other specified malignant neoplasm of skin of right lower eyelid, including canthus" + }, { + "code": "C44.1991", + "display": "Other specified malignant neoplasm of skin of left upper eyelid, including canthus" + }, { + "code": "C44.1992", + "display": "Other specified malignant neoplasm of skin of left lower eyelid, including canthus" + }, { + "code": "C44.201", + "display": "Unspecified malignant neoplasm of skin of unspecified ear and external auricular canal" + }, { + "code": "C44.202", + "display": "Unspecified malignant neoplasm of skin of right ear and external auricular canal" + }, { + "code": "C44.209", + "display": "Unspecified malignant neoplasm of skin of left ear and external auricular canal" + }, { + "code": "C44.211", + "display": "Basal cell carcinoma of skin of unspecified ear and external auricular canal" + }, { + "code": "C44.212", + "display": "Basal cell carcinoma of skin of right ear and external auricular canal" + }, { + "code": "C44.219", + "display": "Basal cell carcinoma of skin of left ear and external auricular canal" + }, { + "code": "C44.221", + "display": "Squamous cell carcinoma of skin of unspecified ear and external auricular canal" + }, { + "code": "C44.222", + "display": "Squamous cell carcinoma of skin of right ear and external auricular canal" + }, { + "code": "C44.229", + "display": "Squamous cell carcinoma of skin of left ear and external auricular canal" + }, { + "code": "C44.291", + "display": "Other specified malignant neoplasm of skin of unspecified ear and external auricular canal" + }, { + "code": "C44.292", + "display": "Other specified malignant neoplasm of skin of right ear and external auricular canal" + }, { + "code": "C44.299", + "display": "Other specified malignant neoplasm of skin of left ear and external auricular canal" + }, { + "code": "C44.300", + "display": "Unspecified malignant neoplasm of skin of unspecified part of face" + }, { + "code": "C44.301", + "display": "Unspecified malignant neoplasm of skin of nose" + }, { + "code": "C44.309", + "display": "Unspecified malignant neoplasm of skin of other parts of face" + }, { + "code": "C44.310", + "display": "Basal cell carcinoma of skin of unspecified parts of face" + }, { + "code": "C44.311", + "display": "Basal cell carcinoma of skin of nose" + }, { + "code": "C44.319", + "display": "Basal cell carcinoma of skin of other parts of face" + }, { + "code": "C44.320", + "display": "Squamous cell carcinoma of skin of unspecified parts of face" + }, { + "code": "C44.321", + "display": "Squamous cell carcinoma of skin of nose" + }, { + "code": "C44.329", + "display": "Squamous cell carcinoma of skin of other parts of face" + }, { + "code": "C44.390", + "display": "Other specified malignant neoplasm of skin of unspecified parts of face" + }, { + "code": "C44.391", + "display": "Other specified malignant neoplasm of skin of nose" + }, { + "code": "C44.399", + "display": "Other specified malignant neoplasm of skin of other parts of face" + }, { + "code": "C44.40", + "display": "Unspecified malignant neoplasm of skin of scalp and neck" + }, { + "code": "C44.41", + "display": "Basal cell carcinoma of skin of scalp and neck" + }, { + "code": "C44.42", + "display": "Squamous cell carcinoma of skin of scalp and neck" + }, { + "code": "C44.49", + "display": "Other specified malignant neoplasm of skin of scalp and neck" + }, { + "code": "C44.500", + "display": "Unspecified malignant neoplasm of anal skin" + }, { + "code": "C44.501", + "display": "Unspecified malignant neoplasm of skin of breast" + }, { + "code": "C44.509", + "display": "Unspecified malignant neoplasm of skin of other part of trunk" + }, { + "code": "C44.510", + "display": "Basal cell carcinoma of anal skin" + }, { + "code": "C44.511", + "display": "Basal cell carcinoma of skin of breast" + }, { + "code": "C44.519", + "display": "Basal cell carcinoma of skin of other part of trunk" + }, { + "code": "C44.520", + "display": "Squamous cell carcinoma of anal skin" + }, { + "code": "C44.521", + "display": "Squamous cell carcinoma of skin of breast" + }, { + "code": "C44.529", + "display": "Squamous cell carcinoma of skin of other part of trunk" + }, { + "code": "C44.590", + "display": "Other specified malignant neoplasm of anal skin" + }, { + "code": "C44.591", + "display": "Other specified malignant neoplasm of skin of breast" + }, { + "code": "C44.599", + "display": "Other specified malignant neoplasm of skin of other part of trunk" + }, { + "code": "C44.601", + "display": "Unspecified malignant neoplasm of skin of unspecified upper limb, including shoulder" + }, { + "code": "C44.602", + "display": "Unspecified malignant neoplasm of skin of right upper limb, including shoulder" + }, { + "code": "C44.609", + "display": "Unspecified malignant neoplasm of skin of left upper limb, including shoulder" + }, { + "code": "C44.611", + "display": "Basal cell carcinoma of skin of unspecified upper limb, including shoulder" + }, { + "code": "C44.612", + "display": "Basal cell carcinoma of skin of right upper limb, including shoulder" + }, { + "code": "C44.619", + "display": "Basal cell carcinoma of skin of left upper limb, including shoulder" + }, { + "code": "C44.621", + "display": "Squamous cell carcinoma of skin of unspecified upper limb, including shoulder" + }, { + "code": "C44.622", + "display": "Squamous cell carcinoma of skin of right upper limb, including shoulder" + }, { + "code": "C44.629", + "display": "Squamous cell carcinoma of skin of left upper limb, including shoulder" + }, { + "code": "C44.691", + "display": "Other specified malignant neoplasm of skin of unspecified upper limb, including shoulder" + }, { + "code": "C44.692", + "display": "Other specified malignant neoplasm of skin of right upper limb, including shoulder" + }, { + "code": "C44.699", + "display": "Other specified malignant neoplasm of skin of left upper limb, including shoulder" + }, { + "code": "C44.701", + "display": "Unspecified malignant neoplasm of skin of unspecified lower limb, including hip" + }, { + "code": "C44.702", + "display": "Unspecified malignant neoplasm of skin of right lower limb, including hip" + }, { + "code": "C44.709", + "display": "Unspecified malignant neoplasm of skin of left lower limb, including hip" + }, { + "code": "C44.711", + "display": "Basal cell carcinoma of skin of unspecified lower limb, including hip" + }, { + "code": "C44.712", + "display": "Basal cell carcinoma of skin of right lower limb, including hip" + }, { + "code": "C44.719", + "display": "Basal cell carcinoma of skin of left lower limb, including hip" + }, { + "code": "C44.721", + "display": "Squamous cell carcinoma of skin of unspecified lower limb, including hip" + }, { + "code": "C44.722", + "display": "Squamous cell carcinoma of skin of right lower limb, including hip" + }, { + "code": "C44.729", + "display": "Squamous cell carcinoma of skin of left lower limb, including hip" + }, { + "code": "C44.791", + "display": "Other specified malignant neoplasm of skin of unspecified lower limb, including hip" + }, { + "code": "C44.792", + "display": "Other specified malignant neoplasm of skin of right lower limb, including hip" + }, { + "code": "C44.799", + "display": "Other specified malignant neoplasm of skin of left lower limb, including hip" + }, { + "code": "C44.80", + "display": "Unspecified malignant neoplasm of overlapping sites of skin" + }, { + "code": "C44.81", + "display": "Basal cell carcinoma of overlapping sites of skin" + }, { + "code": "C44.82", + "display": "Squamous cell carcinoma of overlapping sites of skin" + }, { + "code": "C44.89", + "display": "Other specified malignant neoplasm of overlapping sites of skin" + }, { + "code": "C44.90", + "display": "Unspecified malignant neoplasm of skin, unspecified" + }, { + "code": "C44.91", + "display": "Basal cell carcinoma of skin, unspecified" + }, { + "code": "C44.92", + "display": "Squamous cell carcinoma of skin, unspecified" + }, { + "code": "C44.99", + "display": "Other specified malignant neoplasm of skin, unspecified" + }, { + "code": "C45.0", + "display": "Mesothelioma of pleura" + }, { + "code": "C45.1", + "display": "Mesothelioma of peritoneum" + }, { + "code": "C45.2", + "display": "Mesothelioma of pericardium" + }, { + "code": "C45.7", + "display": "Mesothelioma of other sites" + }, { + "code": "C45.9", + "display": "Mesothelioma, unspecified" + }, { + "code": "C46.0", + "display": "Kaposi's sarcoma of skin" + }, { + "code": "C46.1", + "display": "Kaposi's sarcoma of soft tissue" + }, { + "code": "C46.2", + "display": "Kaposi's sarcoma of palate" + }, { + "code": "C46.3", + "display": "Kaposi's sarcoma of lymph nodes" + }, { + "code": "C46.4", + "display": "Kaposi's sarcoma of gastrointestinal sites" + }, { + "code": "C46.50", + "display": "Kaposi's sarcoma of unspecified lung" + }, { + "code": "C46.51", + "display": "Kaposi's sarcoma of right lung" + }, { + "code": "C46.52", + "display": "Kaposi's sarcoma of left lung" + }, { + "code": "C46.7", + "display": "Kaposi's sarcoma of other sites" + }, { + "code": "C46.9", + "display": "Kaposi's sarcoma, unspecified" + }, { + "code": "C47.0", + "display": "Malignant neoplasm of peripheral nerves of head, face and neck" + }, { + "code": "C47.10", + "display": "Malignant neoplasm of peripheral nerves of unspecified upper limb, including shoulder" + }, { + "code": "C47.11", + "display": "Malignant neoplasm of peripheral nerves of right upper limb, including shoulder" + }, { + "code": "C47.12", + "display": "Malignant neoplasm of peripheral nerves of left upper limb, including shoulder" + }, { + "code": "C47.20", + "display": "Malignant neoplasm of peripheral nerves of unspecified lower limb, including hip" + }, { + "code": "C47.21", + "display": "Malignant neoplasm of peripheral nerves of right lower limb, including hip" + }, { + "code": "C47.22", + "display": "Malignant neoplasm of peripheral nerves of left lower limb, including hip" + }, { + "code": "C47.3", + "display": "Malignant neoplasm of peripheral nerves of thorax" + }, { + "code": "C47.4", + "display": "Malignant neoplasm of peripheral nerves of abdomen" + }, { + "code": "C47.5", + "display": "Malignant neoplasm of peripheral nerves of pelvis" + }, { + "code": "C47.6", + "display": "Malignant neoplasm of peripheral nerves of trunk, unspecified" + }, { + "code": "C47.8", + "display": "Malignant neoplasm of overlapping sites of peripheral nerves and autonomic nervous system" + }, { + "code": "C47.9", + "display": "Malignant neoplasm of peripheral nerves and autonomic nervous system, unspecified" + }, { + "code": "C48.0", + "display": "Malignant neoplasm of retroperitoneum" + }, { + "code": "C48.1", + "display": "Malignant neoplasm of specified parts of peritoneum" + }, { + "code": "C48.2", + "display": "Malignant neoplasm of peritoneum, unspecified" + }, { + "code": "C48.8", + "display": "Malignant neoplasm of overlapping sites of retroperitoneum and peritoneum" + }, { + "code": "C49.0", + "display": "Malignant neoplasm of connective and soft tissue of head, face and neck" + }, { + "code": "C49.10", + "display": "Malignant neoplasm of connective and soft tissue of unspecified upper limb, including shoulder" + }, { + "code": "C49.11", + "display": "Malignant neoplasm of connective and soft tissue of right upper limb, including shoulder" + }, { + "code": "C49.12", + "display": "Malignant neoplasm of connective and soft tissue of left upper limb, including shoulder" + }, { + "code": "C49.20", + "display": "Malignant neoplasm of connective and soft tissue of unspecified lower limb, including hip" + }, { + "code": "C49.21", + "display": "Malignant neoplasm of connective and soft tissue of right lower limb, including hip" + }, { + "code": "C49.22", + "display": "Malignant neoplasm of connective and soft tissue of left lower limb, including hip" + }, { + "code": "C49.3", + "display": "Malignant neoplasm of connective and soft tissue of thorax" + }, { + "code": "C49.4", + "display": "Malignant neoplasm of connective and soft tissue of abdomen" + }, { + "code": "C49.5", + "display": "Malignant neoplasm of connective and soft tissue of pelvis" + }, { + "code": "C49.6", + "display": "Malignant neoplasm of connective and soft tissue of trunk, unspecified" + }, { + "code": "C49.8", + "display": "Malignant neoplasm of overlapping sites of connective and soft tissue" + }, { + "code": "C49.9", + "display": "Malignant neoplasm of connective and soft tissue, unspecified" + }, { + "code": "C49.A0", + "display": "Gastrointestinal stromal tumor, unspecified site" + }, { + "code": "C49.A1", + "display": "Gastrointestinal stromal tumor of esophagus" + }, { + "code": "C49.A2", + "display": "Gastrointestinal stromal tumor of stomach" + }, { + "code": "C49.A3", + "display": "Gastrointestinal stromal tumor of small intestine" + }, { + "code": "C49.A4", + "display": "Gastrointestinal stromal tumor of large intestine" + }, { + "code": "C49.A5", + "display": "Gastrointestinal stromal tumor of rectum" + }, { + "code": "C49.A9", + "display": "Gastrointestinal stromal tumor of other sites" + }, { + "code": "C4A.0", + "display": "Merkel cell carcinoma of lip" + }, { + "code": "C4A.10", + "display": "Merkel cell carcinoma of unspecified eyelid, including canthus" + }, { + "code": "C4A.111", + "display": "Merkel cell carcinoma of right upper eyelid, including canthus" + }, { + "code": "C4A.112", + "display": "Merkel cell carcinoma of right lower eyelid, including canthus" + }, { + "code": "C4A.121", + "display": "Merkel cell carcinoma of left upper eyelid, including canthus" + }, { + "code": "C4A.122", + "display": "Merkel cell carcinoma of left lower eyelid, including canthus" + }, { + "code": "C4A.20", + "display": "Merkel cell carcinoma of unspecified ear and external auricular canal" + }, { + "code": "C4A.21", + "display": "Merkel cell carcinoma of right ear and external auricular canal" + }, { + "code": "C4A.22", + "display": "Merkel cell carcinoma of left ear and external auricular canal" + }, { + "code": "C4A.30", + "display": "Merkel cell carcinoma of unspecified part of face" + }, { + "code": "C4A.31", + "display": "Merkel cell carcinoma of nose" + }, { + "code": "C4A.39", + "display": "Merkel cell carcinoma of other parts of face" + }, { + "code": "C4A.4", + "display": "Merkel cell carcinoma of scalp and neck" + }, { + "code": "C4A.51", + "display": "Merkel cell carcinoma of anal skin" + }, { + "code": "C4A.52", + "display": "Merkel cell carcinoma of skin of breast" + }, { + "code": "C4A.59", + "display": "Merkel cell carcinoma of other part of trunk" + }, { + "code": "C4A.60", + "display": "Merkel cell carcinoma of unspecified upper limb, including shoulder" + }, { + "code": "C4A.61", + "display": "Merkel cell carcinoma of right upper limb, including shoulder" + }, { + "code": "C4A.62", + "display": "Merkel cell carcinoma of left upper limb, including shoulder" + }, { + "code": "C4A.70", + "display": "Merkel cell carcinoma of unspecified lower limb, including hip" + }, { + "code": "C4A.71", + "display": "Merkel cell carcinoma of right lower limb, including hip" + }, { + "code": "C4A.72", + "display": "Merkel cell carcinoma of left lower limb, including hip" + }, { + "code": "C4A.8", + "display": "Merkel cell carcinoma of overlapping sites" + }, { + "code": "C4A.9", + "display": "Merkel cell carcinoma, unspecified" + }, { + "code": "C50.011", + "display": "Malignant neoplasm of nipple and areola, right female breast" + }, { + "code": "C50.012", + "display": "Malignant neoplasm of nipple and areola, left female breast" + }, { + "code": "C50.019", + "display": "Malignant neoplasm of nipple and areola, unspecified female breast" + }, { + "code": "C50.021", + "display": "Malignant neoplasm of nipple and areola, right male breast" + }, { + "code": "C50.022", + "display": "Malignant neoplasm of nipple and areola, left male breast" + }, { + "code": "C50.029", + "display": "Malignant neoplasm of nipple and areola, unspecified male breast" + }, { + "code": "C50.111", + "display": "Malignant neoplasm of central portion of right female breast" + }, { + "code": "C50.112", + "display": "Malignant neoplasm of central portion of left female breast" + }, { + "code": "C50.119", + "display": "Malignant neoplasm of central portion of unspecified female breast" + }, { + "code": "C50.121", + "display": "Malignant neoplasm of central portion of right male breast" + }, { + "code": "C50.122", + "display": "Malignant neoplasm of central portion of left male breast" + }, { + "code": "C50.129", + "display": "Malignant neoplasm of central portion of unspecified male breast" + }, { + "code": "C50.211", + "display": "Malignant neoplasm of upper-inner quadrant of right female breast" + }, { + "code": "C50.212", + "display": "Malignant neoplasm of upper-inner quadrant of left female breast" + }, { + "code": "C50.219", + "display": "Malignant neoplasm of upper-inner quadrant of unspecified female breast" + }, { + "code": "C50.221", + "display": "Malignant neoplasm of upper-inner quadrant of right male breast" + }, { + "code": "C50.222", + "display": "Malignant neoplasm of upper-inner quadrant of left male breast" + }, { + "code": "C50.229", + "display": "Malignant neoplasm of upper-inner quadrant of unspecified male breast" + }, { + "code": "C50.311", + "display": "Malignant neoplasm of lower-inner quadrant of right female breast" + }, { + "code": "C50.312", + "display": "Malignant neoplasm of lower-inner quadrant of left female breast" + }, { + "code": "C50.319", + "display": "Malignant neoplasm of lower-inner quadrant of unspecified female breast" + }, { + "code": "C50.321", + "display": "Malignant neoplasm of lower-inner quadrant of right male breast" + }, { + "code": "C50.322", + "display": "Malignant neoplasm of lower-inner quadrant of left male breast" + }, { + "code": "C50.329", + "display": "Malignant neoplasm of lower-inner quadrant of unspecified male breast" + }, { + "code": "C50.411", + "display": "Malignant neoplasm of upper-outer quadrant of right female breast" + }, { + "code": "C50.412", + "display": "Malignant neoplasm of upper-outer quadrant of left female breast" + }, { + "code": "C50.419", + "display": "Malignant neoplasm of upper-outer quadrant of unspecified female breast" + }, { + "code": "C50.421", + "display": "Malignant neoplasm of upper-outer quadrant of right male breast" + }, { + "code": "C50.422", + "display": "Malignant neoplasm of upper-outer quadrant of left male breast" + }, { + "code": "C50.429", + "display": "Malignant neoplasm of upper-outer quadrant of unspecified male breast" + }, { + "code": "C50.511", + "display": "Malignant neoplasm of lower-outer quadrant of right female breast" + }, { + "code": "C50.512", + "display": "Malignant neoplasm of lower-outer quadrant of left female breast" + }, { + "code": "C50.519", + "display": "Malignant neoplasm of lower-outer quadrant of unspecified female breast" + }, { + "code": "C50.521", + "display": "Malignant neoplasm of lower-outer quadrant of right male breast" + }, { + "code": "C50.522", + "display": "Malignant neoplasm of lower-outer quadrant of left male breast" + }, { + "code": "C50.529", + "display": "Malignant neoplasm of lower-outer quadrant of unspecified male breast" + }, { + "code": "C50.611", + "display": "Malignant neoplasm of axillary tail of right female breast" + }, { + "code": "C50.612", + "display": "Malignant neoplasm of axillary tail of left female breast" + }, { + "code": "C50.619", + "display": "Malignant neoplasm of axillary tail of unspecified female breast" + }, { + "code": "C50.621", + "display": "Malignant neoplasm of axillary tail of right male breast" + }, { + "code": "C50.622", + "display": "Malignant neoplasm of axillary tail of left male breast" + }, { + "code": "C50.629", + "display": "Malignant neoplasm of axillary tail of unspecified male breast" + }, { + "code": "C50.811", + "display": "Malignant neoplasm of overlapping sites of right female breast" + }, { + "code": "C50.812", + "display": "Malignant neoplasm of overlapping sites of left female breast" + }, { + "code": "C50.819", + "display": "Malignant neoplasm of overlapping sites of unspecified female breast" + }, { + "code": "C50.821", + "display": "Malignant neoplasm of overlapping sites of right male breast" + }, { + "code": "C50.822", + "display": "Malignant neoplasm of overlapping sites of left male breast" + }, { + "code": "C50.829", + "display": "Malignant neoplasm of overlapping sites of unspecified male breast" + }, { + "code": "C50.911", + "display": "Malignant neoplasm of unspecified site of right female breast" + }, { + "code": "C50.912", + "display": "Malignant neoplasm of unspecified site of left female breast" + }, { + "code": "C50.919", + "display": "Malignant neoplasm of unspecified site of unspecified female breast" + }, { + "code": "C50.921", + "display": "Malignant neoplasm of unspecified site of right male breast" + }, { + "code": "C50.922", + "display": "Malignant neoplasm of unspecified site of left male breast" + }, { + "code": "C50.929", + "display": "Malignant neoplasm of unspecified site of unspecified male breast" + }, { + "code": "C51.0", + "display": "Malignant neoplasm of labium majus" + }, { + "code": "C51.1", + "display": "Malignant neoplasm of labium minus" + }, { + "code": "C51.2", + "display": "Malignant neoplasm of clitoris" + }, { + "code": "C51.8", + "display": "Malignant neoplasm of overlapping sites of vulva" + }, { + "code": "C51.9", + "display": "Malignant neoplasm of vulva, unspecified" + }, { + "code": "C52", + "display": "Malignant neoplasm of vagina" + }, { + "code": "C53.0", + "display": "Malignant neoplasm of endocervix" + }, { + "code": "C53.1", + "display": "Malignant neoplasm of exocervix" + }, { + "code": "C53.8", + "display": "Malignant neoplasm of overlapping sites of cervix uteri" + }, { + "code": "C53.9", + "display": "Malignant neoplasm of cervix uteri, unspecified" + }, { + "code": "C54.0", + "display": "Malignant neoplasm of isthmus uteri" + }, { + "code": "C54.1", + "display": "Malignant neoplasm of endometrium" + }, { + "code": "C54.2", + "display": "Malignant neoplasm of myometrium" + }, { + "code": "C54.3", + "display": "Malignant neoplasm of fundus uteri" + }, { + "code": "C54.8", + "display": "Malignant neoplasm of overlapping sites of corpus uteri" + }, { + "code": "C54.9", + "display": "Malignant neoplasm of corpus uteri, unspecified" + }, { + "code": "C55", + "display": "Malignant neoplasm of uterus, part unspecified" + }, { + "code": "C56.1", + "display": "Malignant neoplasm of right ovary" + }, { + "code": "C56.2", + "display": "Malignant neoplasm of left ovary" + }, { + "code": "C56.9", + "display": "Malignant neoplasm of unspecified ovary" + }, { + "code": "C57.00", + "display": "Malignant neoplasm of unspecified fallopian tube" + }, { + "code": "C57.01", + "display": "Malignant neoplasm of right fallopian tube" + }, { + "code": "C57.02", + "display": "Malignant neoplasm of left fallopian tube" + }, { + "code": "C57.10", + "display": "Malignant neoplasm of unspecified broad ligament" + }, { + "code": "C57.11", + "display": "Malignant neoplasm of right broad ligament" + }, { + "code": "C57.12", + "display": "Malignant neoplasm of left broad ligament" + }, { + "code": "C57.20", + "display": "Malignant neoplasm of unspecified round ligament" + }, { + "code": "C57.21", + "display": "Malignant neoplasm of right round ligament" + }, { + "code": "C57.22", + "display": "Malignant neoplasm of left round ligament" + }, { + "code": "C57.3", + "display": "Malignant neoplasm of parametrium" + }, { + "code": "C57.4", + "display": "Malignant neoplasm of uterine adnexa, unspecified" + }, { + "code": "C57.7", + "display": "Malignant neoplasm of other specified female genital organs" + }, { + "code": "C57.8", + "display": "Malignant neoplasm of overlapping sites of female genital organs" + }, { + "code": "C57.9", + "display": "Malignant neoplasm of female genital organ, unspecified" + }, { + "code": "C58", + "display": "Malignant neoplasm of placenta" + }, { + "code": "C60.0", + "display": "Malignant neoplasm of prepuce" + }, { + "code": "C60.1", + "display": "Malignant neoplasm of glans penis" + }, { + "code": "C60.2", + "display": "Malignant neoplasm of body of penis" + }, { + "code": "C60.8", + "display": "Malignant neoplasm of overlapping sites of penis" + }, { + "code": "C60.9", + "display": "Malignant neoplasm of penis, unspecified" + }, { + "code": "C61", + "display": "Malignant neoplasm of prostate" + }, { + "code": "C62.00", + "display": "Malignant neoplasm of unspecified undescended testis" + }, { + "code": "C62.01", + "display": "Malignant neoplasm of undescended right testis" + }, { + "code": "C62.02", + "display": "Malignant neoplasm of undescended left testis" + }, { + "code": "C62.10", + "display": "Malignant neoplasm of unspecified descended testis" + }, { + "code": "C62.11", + "display": "Malignant neoplasm of descended right testis" + }, { + "code": "C62.12", + "display": "Malignant neoplasm of descended left testis" + }, { + "code": "C62.90", + "display": "Malignant neoplasm of unspecified testis, unspecified whether descended or undescended" + }, { + "code": "C62.91", + "display": "Malignant neoplasm of right testis, unspecified whether descended or undescended" + }, { + "code": "C62.92", + "display": "Malignant neoplasm of left testis, unspecified whether descended or undescended" + }, { + "code": "C63.00", + "display": "Malignant neoplasm of unspecified epididymis" + }, { + "code": "C63.01", + "display": "Malignant neoplasm of right epididymis" + }, { + "code": "C63.02", + "display": "Malignant neoplasm of left epididymis" + }, { + "code": "C63.10", + "display": "Malignant neoplasm of unspecified spermatic cord" + }, { + "code": "C63.11", + "display": "Malignant neoplasm of right spermatic cord" + }, { + "code": "C63.12", + "display": "Malignant neoplasm of left spermatic cord" + }, { + "code": "C63.2", + "display": "Malignant neoplasm of scrotum" + }, { + "code": "C63.7", + "display": "Malignant neoplasm of other specified male genital organs" + }, { + "code": "C63.8", + "display": "Malignant neoplasm of overlapping sites of male genital organs" + }, { + "code": "C63.9", + "display": "Malignant neoplasm of male genital organ, unspecified" + }, { + "code": "C64.1", + "display": "Malignant neoplasm of right kidney, except renal pelvis" + }, { + "code": "C64.2", + "display": "Malignant neoplasm of left kidney, except renal pelvis" + }, { + "code": "C64.9", + "display": "Malignant neoplasm of unspecified kidney, except renal pelvis" + }, { + "code": "C65.1", + "display": "Malignant neoplasm of right renal pelvis" + }, { + "code": "C65.2", + "display": "Malignant neoplasm of left renal pelvis" + }, { + "code": "C65.9", + "display": "Malignant neoplasm of unspecified renal pelvis" + }, { + "code": "C66.1", + "display": "Malignant neoplasm of right ureter" + }, { + "code": "C66.2", + "display": "Malignant neoplasm of left ureter" + }, { + "code": "C66.9", + "display": "Malignant neoplasm of unspecified ureter" + }, { + "code": "C67.0", + "display": "Malignant neoplasm of trigone of bladder" + }, { + "code": "C67.1", + "display": "Malignant neoplasm of dome of bladder" + }, { + "code": "C67.2", + "display": "Malignant neoplasm of lateral wall of bladder" + }, { + "code": "C67.3", + "display": "Malignant neoplasm of anterior wall of bladder" + }, { + "code": "C67.4", + "display": "Malignant neoplasm of posterior wall of bladder" + }, { + "code": "C67.5", + "display": "Malignant neoplasm of bladder neck" + }, { + "code": "C67.6", + "display": "Malignant neoplasm of ureteric orifice" + }, { + "code": "C67.7", + "display": "Malignant neoplasm of urachus" + }, { + "code": "C67.8", + "display": "Malignant neoplasm of overlapping sites of bladder" + }, { + "code": "C67.9", + "display": "Malignant neoplasm of bladder, unspecified" + }, { + "code": "C68.0", + "display": "Malignant neoplasm of urethra" + }, { + "code": "C68.1", + "display": "Malignant neoplasm of paraurethral glands" + }, { + "code": "C68.8", + "display": "Malignant neoplasm of overlapping sites of urinary organs" + }, { + "code": "C68.9", + "display": "Malignant neoplasm of urinary organ, unspecified" + }, { + "code": "C69.00", + "display": "Malignant neoplasm of unspecified conjunctiva" + }, { + "code": "C69.01", + "display": "Malignant neoplasm of right conjunctiva" + }, { + "code": "C69.02", + "display": "Malignant neoplasm of left conjunctiva" + }, { + "code": "C69.10", + "display": "Malignant neoplasm of unspecified cornea" + }, { + "code": "C69.11", + "display": "Malignant neoplasm of right cornea" + }, { + "code": "C69.12", + "display": "Malignant neoplasm of left cornea" + }, { + "code": "C69.20", + "display": "Malignant neoplasm of unspecified retina" + }, { + "code": "C69.21", + "display": "Malignant neoplasm of right retina" + }, { + "code": "C69.22", + "display": "Malignant neoplasm of left retina" + }, { + "code": "C69.30", + "display": "Malignant neoplasm of unspecified choroid" + }, { + "code": "C69.31", + "display": "Malignant neoplasm of right choroid" + }, { + "code": "C69.32", + "display": "Malignant neoplasm of left choroid" + }, { + "code": "C69.40", + "display": "Malignant neoplasm of unspecified ciliary body" + }, { + "code": "C69.41", + "display": "Malignant neoplasm of right ciliary body" + }, { + "code": "C69.42", + "display": "Malignant neoplasm of left ciliary body" + }, { + "code": "C69.50", + "display": "Malignant neoplasm of unspecified lacrimal gland and duct" + }, { + "code": "C69.51", + "display": "Malignant neoplasm of right lacrimal gland and duct" + }, { + "code": "C69.52", + "display": "Malignant neoplasm of left lacrimal gland and duct" + }, { + "code": "C69.60", + "display": "Malignant neoplasm of unspecified orbit" + }, { + "code": "C69.61", + "display": "Malignant neoplasm of right orbit" + }, { + "code": "C69.62", + "display": "Malignant neoplasm of left orbit" + }, { + "code": "C69.80", + "display": "Malignant neoplasm of overlapping sites of unspecified eye and adnexa" + }, { + "code": "C69.81", + "display": "Malignant neoplasm of overlapping sites of right eye and adnexa" + }, { + "code": "C69.82", + "display": "Malignant neoplasm of overlapping sites of left eye and adnexa" + }, { + "code": "C69.90", + "display": "Malignant neoplasm of unspecified site of unspecified eye" + }, { + "code": "C69.91", + "display": "Malignant neoplasm of unspecified site of right eye" + }, { + "code": "C69.92", + "display": "Malignant neoplasm of unspecified site of left eye" + }, { + "code": "C70.0", + "display": "Malignant neoplasm of cerebral meninges" + }, { + "code": "C70.1", + "display": "Malignant neoplasm of spinal meninges" + }, { + "code": "C70.9", + "display": "Malignant neoplasm of meninges, unspecified" + }, { + "code": "C71.0", + "display": "Malignant neoplasm of cerebrum, except lobes and ventricles" + }, { + "code": "C71.1", + "display": "Malignant neoplasm of frontal lobe" + }, { + "code": "C71.2", + "display": "Malignant neoplasm of temporal lobe" + }, { + "code": "C71.3", + "display": "Malignant neoplasm of parietal lobe" + }, { + "code": "C71.4", + "display": "Malignant neoplasm of occipital lobe" + }, { + "code": "C71.5", + "display": "Malignant neoplasm of cerebral ventricle" + }, { + "code": "C71.6", + "display": "Malignant neoplasm of cerebellum" + }, { + "code": "C71.7", + "display": "Malignant neoplasm of brain stem" + }, { + "code": "C71.8", + "display": "Malignant neoplasm of overlapping sites of brain" + }, { + "code": "C71.9", + "display": "Malignant neoplasm of brain, unspecified" + }, { + "code": "C72.0", + "display": "Malignant neoplasm of spinal cord" + }, { + "code": "C72.1", + "display": "Malignant neoplasm of cauda equina" + }, { + "code": "C72.20", + "display": "Malignant neoplasm of unspecified olfactory nerve" + }, { + "code": "C72.21", + "display": "Malignant neoplasm of right olfactory nerve" + }, { + "code": "C72.22", + "display": "Malignant neoplasm of left olfactory nerve" + }, { + "code": "C72.30", + "display": "Malignant neoplasm of unspecified optic nerve" + }, { + "code": "C72.31", + "display": "Malignant neoplasm of right optic nerve" + }, { + "code": "C72.32", + "display": "Malignant neoplasm of left optic nerve" + }, { + "code": "C72.40", + "display": "Malignant neoplasm of unspecified acoustic nerve" + }, { + "code": "C72.41", + "display": "Malignant neoplasm of right acoustic nerve" + }, { + "code": "C72.42", + "display": "Malignant neoplasm of left acoustic nerve" + }, { + "code": "C72.50", + "display": "Malignant neoplasm of unspecified cranial nerve" + }, { + "code": "C72.59", + "display": "Malignant neoplasm of other cranial nerves" + }, { + "code": "C72.9", + "display": "Malignant neoplasm of central nervous system, unspecified" + }, { + "code": "C73", + "display": "Malignant neoplasm of thyroid gland" + }, { + "code": "C74.00", + "display": "Malignant neoplasm of cortex of unspecified adrenal gland" + }, { + "code": "C74.01", + "display": "Malignant neoplasm of cortex of right adrenal gland" + }, { + "code": "C74.02", + "display": "Malignant neoplasm of cortex of left adrenal gland" + }, { + "code": "C74.10", + "display": "Malignant neoplasm of medulla of unspecified adrenal gland" + }, { + "code": "C74.11", + "display": "Malignant neoplasm of medulla of right adrenal gland" + }, { + "code": "C74.12", + "display": "Malignant neoplasm of medulla of left adrenal gland" + }, { + "code": "C74.90", + "display": "Malignant neoplasm of unspecified part of unspecified adrenal gland" + }, { + "code": "C74.91", + "display": "Malignant neoplasm of unspecified part of right adrenal gland" + }, { + "code": "C74.92", + "display": "Malignant neoplasm of unspecified part of left adrenal gland" + }, { + "code": "C75.0", + "display": "Malignant neoplasm of parathyroid gland" + }, { + "code": "C75.1", + "display": "Malignant neoplasm of pituitary gland" + }, { + "code": "C75.2", + "display": "Malignant neoplasm of craniopharyngeal duct" + }, { + "code": "C75.3", + "display": "Malignant neoplasm of pineal gland" + }, { + "code": "C75.4", + "display": "Malignant neoplasm of carotid body" + }, { + "code": "C75.5", + "display": "Malignant neoplasm of aortic body and other paraganglia" + }, { + "code": "C75.8", + "display": "Malignant neoplasm with pluriglandular involvement, unspecified" + }, { + "code": "C75.9", + "display": "Malignant neoplasm of endocrine gland, unspecified" + }, { + "code": "C76.0", + "display": "Malignant neoplasm of head, face and neck" + }, { + "code": "C76.1", + "display": "Malignant neoplasm of thorax" + }, { + "code": "C76.2", + "display": "Malignant neoplasm of abdomen" + }, { + "code": "C76.3", + "display": "Malignant neoplasm of pelvis" + }, { + "code": "C76.40", + "display": "Malignant neoplasm of unspecified upper limb" + }, { + "code": "C76.41", + "display": "Malignant neoplasm of right upper limb" + }, { + "code": "C76.42", + "display": "Malignant neoplasm of left upper limb" + }, { + "code": "C76.50", + "display": "Malignant neoplasm of unspecified lower limb" + }, { + "code": "C76.51", + "display": "Malignant neoplasm of right lower limb" + }, { + "code": "C76.52", + "display": "Malignant neoplasm of left lower limb" + }, { + "code": "C76.8", + "display": "Malignant neoplasm of other specified ill-defined sites" + }, { + "code": "C77.0", + "display": "Secondary and unspecified malignant neoplasm of lymph nodes of head, face and neck" + }, { + "code": "C77.1", + "display": "Secondary and unspecified malignant neoplasm of intrathoracic lymph nodes" + }, { + "code": "C77.2", + "display": "Secondary and unspecified malignant neoplasm of intra-abdominal lymph nodes" + }, { + "code": "C77.3", + "display": "Secondary and unspecified malignant neoplasm of axilla and upper limb lymph nodes" + }, { + "code": "C77.4", + "display": "Secondary and unspecified malignant neoplasm of inguinal and lower limb lymph nodes" + }, { + "code": "C77.5", + "display": "Secondary and unspecified malignant neoplasm of intrapelvic lymph nodes" + }, { + "code": "C77.8", + "display": "Secondary and unspecified malignant neoplasm of lymph nodes of multiple regions" + }, { + "code": "C77.9", + "display": "Secondary and unspecified malignant neoplasm of lymph node, unspecified" + }, { + "code": "C78.00", + "display": "Secondary malignant neoplasm of unspecified lung" + }, { + "code": "C78.01", + "display": "Secondary malignant neoplasm of right lung" + }, { + "code": "C78.02", + "display": "Secondary malignant neoplasm of left lung" + }, { + "code": "C78.1", + "display": "Secondary malignant neoplasm of mediastinum" + }, { + "code": "C78.2", + "display": "Secondary malignant neoplasm of pleura" + }, { + "code": "C78.30", + "display": "Secondary malignant neoplasm of unspecified respiratory organ" + }, { + "code": "C78.39", + "display": "Secondary malignant neoplasm of other respiratory organs" + }, { + "code": "C78.4", + "display": "Secondary malignant neoplasm of small intestine" + }, { + "code": "C78.5", + "display": "Secondary malignant neoplasm of large intestine and rectum" + }, { + "code": "C78.6", + "display": "Secondary malignant neoplasm of retroperitoneum and peritoneum" + }, { + "code": "C78.7", + "display": "Secondary malignant neoplasm of liver and intrahepatic bile duct" + }, { + "code": "C78.80", + "display": "Secondary malignant neoplasm of unspecified digestive organ" + }, { + "code": "C78.89", + "display": "Secondary malignant neoplasm of other digestive organs" + }, { + "code": "C79.00", + "display": "Secondary malignant neoplasm of unspecified kidney and renal pelvis" + }, { + "code": "C79.01", + "display": "Secondary malignant neoplasm of right kidney and renal pelvis" + }, { + "code": "C79.02", + "display": "Secondary malignant neoplasm of left kidney and renal pelvis" + }, { + "code": "C79.10", + "display": "Secondary malignant neoplasm of unspecified urinary organs" + }, { + "code": "C79.11", + "display": "Secondary malignant neoplasm of bladder" + }, { + "code": "C79.19", + "display": "Secondary malignant neoplasm of other urinary organs" + }, { + "code": "C79.2", + "display": "Secondary malignant neoplasm of skin" + }, { + "code": "C79.31", + "display": "Secondary malignant neoplasm of brain" + }, { + "code": "C79.32", + "display": "Secondary malignant neoplasm of cerebral meninges" + }, { + "code": "C79.40", + "display": "Secondary malignant neoplasm of unspecified part of nervous system" + }, { + "code": "C79.49", + "display": "Secondary malignant neoplasm of other parts of nervous system" + }, { + "code": "C79.51", + "display": "Secondary malignant neoplasm of bone" + }, { + "code": "C79.52", + "display": "Secondary malignant neoplasm of bone marrow" + }, { + "code": "C79.60", + "display": "Secondary malignant neoplasm of unspecified ovary" + }, { + "code": "C79.61", + "display": "Secondary malignant neoplasm of right ovary" + }, { + "code": "C79.62", + "display": "Secondary malignant neoplasm of left ovary" + }, { + "code": "C79.70", + "display": "Secondary malignant neoplasm of unspecified adrenal gland" + }, { + "code": "C79.71", + "display": "Secondary malignant neoplasm of right adrenal gland" + }, { + "code": "C79.72", + "display": "Secondary malignant neoplasm of left adrenal gland" + }, { + "code": "C79.81", + "display": "Secondary malignant neoplasm of breast" + }, { + "code": "C79.82", + "display": "Secondary malignant neoplasm of genital organs" + }, { + "code": "C79.89", + "display": "Secondary malignant neoplasm of other specified sites" + }, { + "code": "C79.9", + "display": "Secondary malignant neoplasm of unspecified site" + }, { + "code": "C7A.00", + "display": "Malignant carcinoid tumor of unspecified site" + }, { + "code": "C7A.010", + "display": "Malignant carcinoid tumor of the duodenum" + }, { + "code": "C7A.011", + "display": "Malignant carcinoid tumor of the jejunum" + }, { + "code": "C7A.012", + "display": "Malignant carcinoid tumor of the ileum" + }, { + "code": "C7A.019", + "display": "Malignant carcinoid tumor of the small intestine, unspecified portion" + }, { + "code": "C7A.020", + "display": "Malignant carcinoid tumor of the appendix" + }, { + "code": "C7A.021", + "display": "Malignant carcinoid tumor of the cecum" + }, { + "code": "C7A.022", + "display": "Malignant carcinoid tumor of the ascending colon" + }, { + "code": "C7A.023", + "display": "Malignant carcinoid tumor of the transverse colon" + }, { + "code": "C7A.024", + "display": "Malignant carcinoid tumor of the descending colon" + }, { + "code": "C7A.025", + "display": "Malignant carcinoid tumor of the sigmoid colon" + }, { + "code": "C7A.026", + "display": "Malignant carcinoid tumor of the rectum" + }, { + "code": "C7A.029", + "display": "Malignant carcinoid tumor of the large intestine, unspecified portion" + }, { + "code": "C7A.090", + "display": "Malignant carcinoid tumor of the bronchus and lung" + }, { + "code": "C7A.091", + "display": "Malignant carcinoid tumor of the thymus" + }, { + "code": "C7A.092", + "display": "Malignant carcinoid tumor of the stomach" + }, { + "code": "C7A.093", + "display": "Malignant carcinoid tumor of the kidney" + }, { + "code": "C7A.094", + "display": "Malignant carcinoid tumor of the foregut, unspecified" + }, { + "code": "C7A.095", + "display": "Malignant carcinoid tumor of the midgut, unspecified" + }, { + "code": "C7A.096", + "display": "Malignant carcinoid tumor of the hindgut, unspecified" + }, { + "code": "C7A.098", + "display": "Malignant carcinoid tumors of other sites" + }, { + "code": "C7A.1", + "display": "Malignant poorly differentiated neuroendocrine tumors" + }, { + "code": "C7A.8", + "display": "Other malignant neuroendocrine tumors" + }, { + "code": "C7B.00", + "display": "Secondary carcinoid tumors, unspecified site" + }, { + "code": "C7B.01", + "display": "Secondary carcinoid tumors of distant lymph nodes" + }, { + "code": "C7B.02", + "display": "Secondary carcinoid tumors of liver" + }, { + "code": "C7B.03", + "display": "Secondary carcinoid tumors of bone" + }, { + "code": "C7B.04", + "display": "Secondary carcinoid tumors of peritoneum" + }, { + "code": "C7B.09", + "display": "Secondary carcinoid tumors of other sites" + }, { + "code": "C7B.1", + "display": "Secondary Merkel cell carcinoma" + }, { + "code": "C7B.8", + "display": "Other secondary neuroendocrine tumors" + }, { + "code": "C80.0", + "display": "Disseminated malignant neoplasm, unspecified" + }, { + "code": "C80.1", + "display": "Malignant (primary) neoplasm, unspecified" + }, { + "code": "C80.2", + "display": "Malignant neoplasm associated with transplanted organ" + }, { + "code": "C81.00", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, unspecified site" + }, { + "code": "C81.01", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C81.02", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, intrathoracic lymph nodes" + }, { + "code": "C81.03", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C81.04", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C81.05", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C81.06", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, intrapelvic lymph nodes" + }, { + "code": "C81.07", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, spleen" + }, { + "code": "C81.08", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, lymph nodes of multiple sites" + }, { + "code": "C81.09", + "display": "Nodular lymphocyte predominant Hodgkin lymphoma, extranodal and solid organ sites" + }, { + "code": "C81.10", + "display": "Nodular sclerosis Hodgkin lymphoma, unspecified site" + }, { + "code": "C81.11", + "display": "Nodular sclerosis Hodgkin lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C81.12", + "display": "Nodular sclerosis Hodgkin lymphoma, intrathoracic lymph nodes" + }, { + "code": "C81.13", + "display": "Nodular sclerosis Hodgkin lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C81.14", + "display": "Nodular sclerosis Hodgkin lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C81.15", + "display": "Nodular sclerosis Hodgkin lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C81.16", + "display": "Nodular sclerosis Hodgkin lymphoma, intrapelvic lymph nodes" + }, { + "code": "C81.17", + "display": "Nodular sclerosis Hodgkin lymphoma, spleen" + }, { + "code": "C81.18", + "display": "Nodular sclerosis Hodgkin lymphoma, lymph nodes of multiple sites" + }, { + "code": "C81.19", + "display": "Nodular sclerosis Hodgkin lymphoma, extranodal and solid organ sites" + }, { + "code": "C81.20", + "display": "Mixed cellularity Hodgkin lymphoma, unspecified site" + }, { + "code": "C81.21", + "display": "Mixed cellularity Hodgkin lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C81.22", + "display": "Mixed cellularity Hodgkin lymphoma, intrathoracic lymph nodes" + }, { + "code": "C81.23", + "display": "Mixed cellularity Hodgkin lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C81.24", + "display": "Mixed cellularity Hodgkin lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C81.25", + "display": "Mixed cellularity Hodgkin lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C81.26", + "display": "Mixed cellularity Hodgkin lymphoma, intrapelvic lymph nodes" + }, { + "code": "C81.27", + "display": "Mixed cellularity Hodgkin lymphoma, spleen" + }, { + "code": "C81.28", + "display": "Mixed cellularity Hodgkin lymphoma, lymph nodes of multiple sites" + }, { + "code": "C81.29", + "display": "Mixed cellularity Hodgkin lymphoma, extranodal and solid organ sites" + }, { + "code": "C81.30", + "display": "Lymphocyte depleted Hodgkin lymphoma, unspecified site" + }, { + "code": "C81.31", + "display": "Lymphocyte depleted Hodgkin lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C81.32", + "display": "Lymphocyte depleted Hodgkin lymphoma, intrathoracic lymph nodes" + }, { + "code": "C81.33", + "display": "Lymphocyte depleted Hodgkin lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C81.34", + "display": "Lymphocyte depleted Hodgkin lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C81.35", + "display": "Lymphocyte depleted Hodgkin lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C81.36", + "display": "Lymphocyte depleted Hodgkin lymphoma, intrapelvic lymph nodes" + }, { + "code": "C81.37", + "display": "Lymphocyte depleted Hodgkin lymphoma, spleen" + }, { + "code": "C81.38", + "display": "Lymphocyte depleted Hodgkin lymphoma, lymph nodes of multiple sites" + }, { + "code": "C81.39", + "display": "Lymphocyte depleted Hodgkin lymphoma, extranodal and solid organ sites" + }, { + "code": "C81.40", + "display": "Lymphocyte-rich Hodgkin lymphoma, unspecified site" + }, { + "code": "C81.41", + "display": "Lymphocyte-rich Hodgkin lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C81.42", + "display": "Lymphocyte-rich Hodgkin lymphoma, intrathoracic lymph nodes" + }, { + "code": "C81.43", + "display": "Lymphocyte-rich Hodgkin lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C81.44", + "display": "Lymphocyte-rich Hodgkin lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C81.45", + "display": "Lymphocyte-rich Hodgkin lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C81.46", + "display": "Lymphocyte-rich Hodgkin lymphoma, intrapelvic lymph nodes" + }, { + "code": "C81.47", + "display": "Lymphocyte-rich Hodgkin lymphoma, spleen" + }, { + "code": "C81.48", + "display": "Lymphocyte-rich Hodgkin lymphoma, lymph nodes of multiple sites" + }, { + "code": "C81.49", + "display": "Lymphocyte-rich Hodgkin lymphoma, extranodal and solid organ sites" + }, { + "code": "C81.70", + "display": "Other Hodgkin lymphoma, unspecified site" + }, { + "code": "C81.71", + "display": "Other Hodgkin lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C81.72", + "display": "Other Hodgkin lymphoma, intrathoracic lymph nodes" + }, { + "code": "C81.73", + "display": "Other Hodgkin lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C81.74", + "display": "Other Hodgkin lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C81.75", + "display": "Other Hodgkin lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C81.76", + "display": "Other Hodgkin lymphoma, intrapelvic lymph nodes" + }, { + "code": "C81.77", + "display": "Other Hodgkin lymphoma, spleen" + }, { + "code": "C81.78", + "display": "Other Hodgkin lymphoma, lymph nodes of multiple sites" + }, { + "code": "C81.79", + "display": "Other Hodgkin lymphoma, extranodal and solid organ sites" + }, { + "code": "C81.90", + "display": "Hodgkin lymphoma, unspecified, unspecified site" + }, { + "code": "C81.91", + "display": "Hodgkin lymphoma, unspecified, lymph nodes of head, face, and neck" + }, { + "code": "C81.92", + "display": "Hodgkin lymphoma, unspecified, intrathoracic lymph nodes" + }, { + "code": "C81.93", + "display": "Hodgkin lymphoma, unspecified, intra-abdominal lymph nodes" + }, { + "code": "C81.94", + "display": "Hodgkin lymphoma, unspecified, lymph nodes of axilla and upper limb" + }, { + "code": "C81.95", + "display": "Hodgkin lymphoma, unspecified, lymph nodes of inguinal region and lower limb" + }, { + "code": "C81.96", + "display": "Hodgkin lymphoma, unspecified, intrapelvic lymph nodes" + }, { + "code": "C81.97", + "display": "Hodgkin lymphoma, unspecified, spleen" + }, { + "code": "C81.98", + "display": "Hodgkin lymphoma, unspecified, lymph nodes of multiple sites" + }, { + "code": "C81.99", + "display": "Hodgkin lymphoma, unspecified, extranodal and solid organ sites" + }, { + "code": "C82.00", + "display": "Follicular lymphoma grade I, unspecified site" + }, { + "code": "C82.01", + "display": "Follicular lymphoma grade I, lymph nodes of head, face, and neck" + }, { + "code": "C82.02", + "display": "Follicular lymphoma grade I, intrathoracic lymph nodes" + }, { + "code": "C82.03", + "display": "Follicular lymphoma grade I, intra-abdominal lymph nodes" + }, { + "code": "C82.04", + "display": "Follicular lymphoma grade I, lymph nodes of axilla and upper limb" + }, { + "code": "C82.05", + "display": "Follicular lymphoma grade I, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.06", + "display": "Follicular lymphoma grade I, intrapelvic lymph nodes" + }, { + "code": "C82.07", + "display": "Follicular lymphoma grade I, spleen" + }, { + "code": "C82.08", + "display": "Follicular lymphoma grade I, lymph nodes of multiple sites" + }, { + "code": "C82.09", + "display": "Follicular lymphoma grade I, extranodal and solid organ sites" + }, { + "code": "C82.10", + "display": "Follicular lymphoma grade II, unspecified site" + }, { + "code": "C82.11", + "display": "Follicular lymphoma grade II, lymph nodes of head, face, and neck" + }, { + "code": "C82.12", + "display": "Follicular lymphoma grade II, intrathoracic lymph nodes" + }, { + "code": "C82.13", + "display": "Follicular lymphoma grade II, intra-abdominal lymph nodes" + }, { + "code": "C82.14", + "display": "Follicular lymphoma grade II, lymph nodes of axilla and upper limb" + }, { + "code": "C82.15", + "display": "Follicular lymphoma grade II, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.16", + "display": "Follicular lymphoma grade II, intrapelvic lymph nodes" + }, { + "code": "C82.17", + "display": "Follicular lymphoma grade II, spleen" + }, { + "code": "C82.18", + "display": "Follicular lymphoma grade II, lymph nodes of multiple sites" + }, { + "code": "C82.19", + "display": "Follicular lymphoma grade II, extranodal and solid organ sites" + }, { + "code": "C82.20", + "display": "Follicular lymphoma grade III, unspecified, unspecified site" + }, { + "code": "C82.21", + "display": "Follicular lymphoma grade III, unspecified, lymph nodes of head, face, and neck" + }, { + "code": "C82.22", + "display": "Follicular lymphoma grade III, unspecified, intrathoracic lymph nodes" + }, { + "code": "C82.23", + "display": "Follicular lymphoma grade III, unspecified, intra-abdominal lymph nodes" + }, { + "code": "C82.24", + "display": "Follicular lymphoma grade III, unspecified, lymph nodes of axilla and upper limb" + }, { + "code": "C82.25", + "display": "Follicular lymphoma grade III, unspecified, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.26", + "display": "Follicular lymphoma grade III, unspecified, intrapelvic lymph nodes" + }, { + "code": "C82.27", + "display": "Follicular lymphoma grade III, unspecified, spleen" + }, { + "code": "C82.28", + "display": "Follicular lymphoma grade III, unspecified, lymph nodes of multiple sites" + }, { + "code": "C82.29", + "display": "Follicular lymphoma grade III, unspecified, extranodal and solid organ sites" + }, { + "code": "C82.30", + "display": "Follicular lymphoma grade IIIa, unspecified site" + }, { + "code": "C82.31", + "display": "Follicular lymphoma grade IIIa, lymph nodes of head, face, and neck" + }, { + "code": "C82.32", + "display": "Follicular lymphoma grade IIIa, intrathoracic lymph nodes" + }, { + "code": "C82.33", + "display": "Follicular lymphoma grade IIIa, intra-abdominal lymph nodes" + }, { + "code": "C82.34", + "display": "Follicular lymphoma grade IIIa, lymph nodes of axilla and upper limb" + }, { + "code": "C82.35", + "display": "Follicular lymphoma grade IIIa, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.36", + "display": "Follicular lymphoma grade IIIa, intrapelvic lymph nodes" + }, { + "code": "C82.37", + "display": "Follicular lymphoma grade IIIa, spleen" + }, { + "code": "C82.38", + "display": "Follicular lymphoma grade IIIa, lymph nodes of multiple sites" + }, { + "code": "C82.39", + "display": "Follicular lymphoma grade IIIa, extranodal and solid organ sites" + }, { + "code": "C82.40", + "display": "Follicular lymphoma grade IIIb, unspecified site" + }, { + "code": "C82.41", + "display": "Follicular lymphoma grade IIIb, lymph nodes of head, face, and neck" + }, { + "code": "C82.42", + "display": "Follicular lymphoma grade IIIb, intrathoracic lymph nodes" + }, { + "code": "C82.43", + "display": "Follicular lymphoma grade IIIb, intra-abdominal lymph nodes" + }, { + "code": "C82.44", + "display": "Follicular lymphoma grade IIIb, lymph nodes of axilla and upper limb" + }, { + "code": "C82.45", + "display": "Follicular lymphoma grade IIIb, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.46", + "display": "Follicular lymphoma grade IIIb, intrapelvic lymph nodes" + }, { + "code": "C82.47", + "display": "Follicular lymphoma grade IIIb, spleen" + }, { + "code": "C82.48", + "display": "Follicular lymphoma grade IIIb, lymph nodes of multiple sites" + }, { + "code": "C82.49", + "display": "Follicular lymphoma grade IIIb, extranodal and solid organ sites" + }, { + "code": "C82.50", + "display": "Diffuse follicle center lymphoma, unspecified site" + }, { + "code": "C82.51", + "display": "Diffuse follicle center lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C82.52", + "display": "Diffuse follicle center lymphoma, intrathoracic lymph nodes" + }, { + "code": "C82.53", + "display": "Diffuse follicle center lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C82.54", + "display": "Diffuse follicle center lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C82.55", + "display": "Diffuse follicle center lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.56", + "display": "Diffuse follicle center lymphoma, intrapelvic lymph nodes" + }, { + "code": "C82.57", + "display": "Diffuse follicle center lymphoma, spleen" + }, { + "code": "C82.58", + "display": "Diffuse follicle center lymphoma, lymph nodes of multiple sites" + }, { + "code": "C82.59", + "display": "Diffuse follicle center lymphoma, extranodal and solid organ sites" + }, { + "code": "C82.60", + "display": "Cutaneous follicle center lymphoma, unspecified site" + }, { + "code": "C82.61", + "display": "Cutaneous follicle center lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C82.62", + "display": "Cutaneous follicle center lymphoma, intrathoracic lymph nodes" + }, { + "code": "C82.63", + "display": "Cutaneous follicle center lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C82.64", + "display": "Cutaneous follicle center lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C82.65", + "display": "Cutaneous follicle center lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.66", + "display": "Cutaneous follicle center lymphoma, intrapelvic lymph nodes" + }, { + "code": "C82.67", + "display": "Cutaneous follicle center lymphoma, spleen" + }, { + "code": "C82.68", + "display": "Cutaneous follicle center lymphoma, lymph nodes of multiple sites" + }, { + "code": "C82.69", + "display": "Cutaneous follicle center lymphoma, extranodal and solid organ sites" + }, { + "code": "C82.80", + "display": "Other types of follicular lymphoma, unspecified site" + }, { + "code": "C82.81", + "display": "Other types of follicular lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C82.82", + "display": "Other types of follicular lymphoma, intrathoracic lymph nodes" + }, { + "code": "C82.83", + "display": "Other types of follicular lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C82.84", + "display": "Other types of follicular lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C82.85", + "display": "Other types of follicular lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.86", + "display": "Other types of follicular lymphoma, intrapelvic lymph nodes" + }, { + "code": "C82.87", + "display": "Other types of follicular lymphoma, spleen" + }, { + "code": "C82.88", + "display": "Other types of follicular lymphoma, lymph nodes of multiple sites" + }, { + "code": "C82.89", + "display": "Other types of follicular lymphoma, extranodal and solid organ sites" + }, { + "code": "C82.90", + "display": "Follicular lymphoma, unspecified, unspecified site" + }, { + "code": "C82.91", + "display": "Follicular lymphoma, unspecified, lymph nodes of head, face, and neck" + }, { + "code": "C82.92", + "display": "Follicular lymphoma, unspecified, intrathoracic lymph nodes" + }, { + "code": "C82.93", + "display": "Follicular lymphoma, unspecified, intra-abdominal lymph nodes" + }, { + "code": "C82.94", + "display": "Follicular lymphoma, unspecified, lymph nodes of axilla and upper limb" + }, { + "code": "C82.95", + "display": "Follicular lymphoma, unspecified, lymph nodes of inguinal region and lower limb" + }, { + "code": "C82.96", + "display": "Follicular lymphoma, unspecified, intrapelvic lymph nodes" + }, { + "code": "C82.97", + "display": "Follicular lymphoma, unspecified, spleen" + }, { + "code": "C82.98", + "display": "Follicular lymphoma, unspecified, lymph nodes of multiple sites" + }, { + "code": "C82.99", + "display": "Follicular lymphoma, unspecified, extranodal and solid organ sites" + }, { + "code": "C83.00", + "display": "Small cell B-cell lymphoma, unspecified site" + }, { + "code": "C83.01", + "display": "Small cell B-cell lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C83.02", + "display": "Small cell B-cell lymphoma, intrathoracic lymph nodes" + }, { + "code": "C83.03", + "display": "Small cell B-cell lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C83.04", + "display": "Small cell B-cell lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C83.05", + "display": "Small cell B-cell lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C83.06", + "display": "Small cell B-cell lymphoma, intrapelvic lymph nodes" + }, { + "code": "C83.07", + "display": "Small cell B-cell lymphoma, spleen" + }, { + "code": "C83.08", + "display": "Small cell B-cell lymphoma, lymph nodes of multiple sites" + }, { + "code": "C83.09", + "display": "Small cell B-cell lymphoma, extranodal and solid organ sites" + }, { + "code": "C83.10", + "display": "Mantle cell lymphoma, unspecified site" + }, { + "code": "C83.11", + "display": "Mantle cell lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C83.12", + "display": "Mantle cell lymphoma, intrathoracic lymph nodes" + }, { + "code": "C83.13", + "display": "Mantle cell lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C83.14", + "display": "Mantle cell lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C83.15", + "display": "Mantle cell lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C83.16", + "display": "Mantle cell lymphoma, intrapelvic lymph nodes" + }, { + "code": "C83.17", + "display": "Mantle cell lymphoma, spleen" + }, { + "code": "C83.18", + "display": "Mantle cell lymphoma, lymph nodes of multiple sites" + }, { + "code": "C83.19", + "display": "Mantle cell lymphoma, extranodal and solid organ sites" + }, { + "code": "C83.30", + "display": "Diffuse large B-cell lymphoma, unspecified site" + }, { + "code": "C83.31", + "display": "Diffuse large B-cell lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C83.32", + "display": "Diffuse large B-cell lymphoma, intrathoracic lymph nodes" + }, { + "code": "C83.33", + "display": "Diffuse large B-cell lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C83.34", + "display": "Diffuse large B-cell lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C83.35", + "display": "Diffuse large B-cell lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C83.36", + "display": "Diffuse large B-cell lymphoma, intrapelvic lymph nodes" + }, { + "code": "C83.37", + "display": "Diffuse large B-cell lymphoma, spleen" + }, { + "code": "C83.38", + "display": "Diffuse large B-cell lymphoma, lymph nodes of multiple sites" + }, { + "code": "C83.39", + "display": "Diffuse large B-cell lymphoma, extranodal and solid organ sites" + }, { + "code": "C83.50", + "display": "Lymphoblastic (diffuse) lymphoma, unspecified site" + }, { + "code": "C83.51", + "display": "Lymphoblastic (diffuse) lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C83.52", + "display": "Lymphoblastic (diffuse) lymphoma, intrathoracic lymph nodes" + }, { + "code": "C83.53", + "display": "Lymphoblastic (diffuse) lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C83.54", + "display": "Lymphoblastic (diffuse) lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C83.55", + "display": "Lymphoblastic (diffuse) lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C83.56", + "display": "Lymphoblastic (diffuse) lymphoma, intrapelvic lymph nodes" + }, { + "code": "C83.57", + "display": "Lymphoblastic (diffuse) lymphoma, spleen" + }, { + "code": "C83.58", + "display": "Lymphoblastic (diffuse) lymphoma, lymph nodes of multiple sites" + }, { + "code": "C83.59", + "display": "Lymphoblastic (diffuse) lymphoma, extranodal and solid organ sites" + }, { + "code": "C83.70", + "display": "Burkitt lymphoma, unspecified site" + }, { + "code": "C83.71", + "display": "Burkitt lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C83.72", + "display": "Burkitt lymphoma, intrathoracic lymph nodes" + }, { + "code": "C83.73", + "display": "Burkitt lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C83.74", + "display": "Burkitt lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C83.75", + "display": "Burkitt lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C83.76", + "display": "Burkitt lymphoma, intrapelvic lymph nodes" + }, { + "code": "C83.77", + "display": "Burkitt lymphoma, spleen" + }, { + "code": "C83.78", + "display": "Burkitt lymphoma, lymph nodes of multiple sites" + }, { + "code": "C83.79", + "display": "Burkitt lymphoma, extranodal and solid organ sites" + }, { + "code": "C83.80", + "display": "Other non-follicular lymphoma, unspecified site" + }, { + "code": "C83.81", + "display": "Other non-follicular lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C83.82", + "display": "Other non-follicular lymphoma, intrathoracic lymph nodes" + }, { + "code": "C83.83", + "display": "Other non-follicular lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C83.84", + "display": "Other non-follicular lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C83.85", + "display": "Other non-follicular lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C83.86", + "display": "Other non-follicular lymphoma, intrapelvic lymph nodes" + }, { + "code": "C83.87", + "display": "Other non-follicular lymphoma, spleen" + }, { + "code": "C83.88", + "display": "Other non-follicular lymphoma, lymph nodes of multiple sites" + }, { + "code": "C83.89", + "display": "Other non-follicular lymphoma, extranodal and solid organ sites" + }, { + "code": "C83.90", + "display": "Non-follicular (diffuse) lymphoma, unspecified, unspecified site" + }, { + "code": "C83.91", + "display": "Non-follicular (diffuse) lymphoma, unspecified, lymph nodes of head, face, and neck" + }, { + "code": "C83.92", + "display": "Non-follicular (diffuse) lymphoma, unspecified, intrathoracic lymph nodes" + }, { + "code": "C83.93", + "display": "Non-follicular (diffuse) lymphoma, unspecified, intra-abdominal lymph nodes" + }, { + "code": "C83.94", + "display": "Non-follicular (diffuse) lymphoma, unspecified, lymph nodes of axilla and upper limb" + }, { + "code": "C83.95", + "display": "Non-follicular (diffuse) lymphoma, unspecified, lymph nodes of inguinal region and lower limb" + }, { + "code": "C83.96", + "display": "Non-follicular (diffuse) lymphoma, unspecified, intrapelvic lymph nodes" + }, { + "code": "C83.97", + "display": "Non-follicular (diffuse) lymphoma, unspecified, spleen" + }, { + "code": "C83.98", + "display": "Non-follicular (diffuse) lymphoma, unspecified, lymph nodes of multiple sites" + }, { + "code": "C83.99", + "display": "Non-follicular (diffuse) lymphoma, unspecified, extranodal and solid organ sites" + }, { + "code": "C84.00", + "display": "Mycosis fungoides, unspecified site" + }, { + "code": "C84.01", + "display": "Mycosis fungoides, lymph nodes of head, face, and neck" + }, { + "code": "C84.02", + "display": "Mycosis fungoides, intrathoracic lymph nodes" + }, { + "code": "C84.03", + "display": "Mycosis fungoides, intra-abdominal lymph nodes" + }, { + "code": "C84.04", + "display": "Mycosis fungoides, lymph nodes of axilla and upper limb" + }, { + "code": "C84.05", + "display": "Mycosis fungoides, lymph nodes of inguinal region and lower limb" + }, { + "code": "C84.06", + "display": "Mycosis fungoides, intrapelvic lymph nodes" + }, { + "code": "C84.07", + "display": "Mycosis fungoides, spleen" + }, { + "code": "C84.08", + "display": "Mycosis fungoides, lymph nodes of multiple sites" + }, { + "code": "C84.09", + "display": "Mycosis fungoides, extranodal and solid organ sites" + }, { + "code": "C84.10", + "display": "Sézary disease, unspecified site" + }, { + "code": "C84.11", + "display": "Sézary disease, lymph nodes of head, face, and neck" + }, { + "code": "C84.12", + "display": "Sézary disease, intrathoracic lymph nodes" + }, { + "code": "C84.13", + "display": "Sézary disease, intra-abdominal lymph nodes" + }, { + "code": "C84.14", + "display": "Sézary disease, lymph nodes of axilla and upper limb" + }, { + "code": "C84.15", + "display": "Sézary disease, lymph nodes of inguinal region and lower limb" + }, { + "code": "C84.16", + "display": "Sézary disease, intrapelvic lymph nodes" + }, { + "code": "C84.17", + "display": "Sézary disease, spleen" + }, { + "code": "C84.18", + "display": "Sézary disease, lymph nodes of multiple sites" + }, { + "code": "C84.19", + "display": "Sézary disease, extranodal and solid organ sites" + }, { + "code": "C84.40", + "display": "Peripheral T-cell lymphoma, not classified, unspecified site" + }, { + "code": "C84.41", + "display": "Peripheral T-cell lymphoma, not classified, lymph nodes of head, face, and neck" + }, { + "code": "C84.42", + "display": "Peripheral T-cell lymphoma, not classified, intrathoracic lymph nodes" + }, { + "code": "C84.43", + "display": "Peripheral T-cell lymphoma, not classified, intra-abdominal lymph nodes" + }, { + "code": "C84.44", + "display": "Peripheral T-cell lymphoma, not classified, lymph nodes of axilla and upper limb" + }, { + "code": "C84.45", + "display": "Peripheral T-cell lymphoma, not classified, lymph nodes of inguinal region and lower limb" + }, { + "code": "C84.46", + "display": "Peripheral T-cell lymphoma, not classified, intrapelvic lymph nodes" + }, { + "code": "C84.47", + "display": "Peripheral T-cell lymphoma, not classified, spleen" + }, { + "code": "C84.48", + "display": "Peripheral T-cell lymphoma, not classified, lymph nodes of multiple sites" + }, { + "code": "C84.49", + "display": "Peripheral T-cell lymphoma, not classified, extranodal and solid organ sites" + }, { + "code": "C84.60", + "display": "Anaplastic large cell lymphoma, ALK-positive, unspecified site" + }, { + "code": "C84.61", + "display": "Anaplastic large cell lymphoma, ALK-positive, lymph nodes of head, face, and neck" + }, { + "code": "C84.62", + "display": "Anaplastic large cell lymphoma, ALK-positive, intrathoracic lymph nodes" + }, { + "code": "C84.63", + "display": "Anaplastic large cell lymphoma, ALK-positive, intra-abdominal lymph nodes" + }, { + "code": "C84.64", + "display": "Anaplastic large cell lymphoma, ALK-positive, lymph nodes of axilla and upper limb" + }, { + "code": "C84.65", + "display": "Anaplastic large cell lymphoma, ALK-positive, lymph nodes of inguinal region and lower limb" + }, { + "code": "C84.66", + "display": "Anaplastic large cell lymphoma, ALK-positive, intrapelvic lymph nodes" + }, { + "code": "C84.67", + "display": "Anaplastic large cell lymphoma, ALK-positive, spleen" + }, { + "code": "C84.68", + "display": "Anaplastic large cell lymphoma, ALK-positive, lymph nodes of multiple sites" + }, { + "code": "C84.69", + "display": "Anaplastic large cell lymphoma, ALK-positive, extranodal and solid organ sites" + }, { + "code": "C84.70", + "display": "Anaplastic large cell lymphoma, ALK-negative, unspecified site" + }, { + "code": "C84.71", + "display": "Anaplastic large cell lymphoma, ALK-negative, lymph nodes of head, face, and neck" + }, { + "code": "C84.72", + "display": "Anaplastic large cell lymphoma, ALK-negative, intrathoracic lymph nodes" + }, { + "code": "C84.73", + "display": "Anaplastic large cell lymphoma, ALK-negative, intra-abdominal lymph nodes" + }, { + "code": "C84.74", + "display": "Anaplastic large cell lymphoma, ALK-negative, lymph nodes of axilla and upper limb" + }, { + "code": "C84.75", + "display": "Anaplastic large cell lymphoma, ALK-negative, lymph nodes of inguinal region and lower limb" + }, { + "code": "C84.76", + "display": "Anaplastic large cell lymphoma, ALK-negative, intrapelvic lymph nodes" + }, { + "code": "C84.77", + "display": "Anaplastic large cell lymphoma, ALK-negative, spleen" + }, { + "code": "C84.78", + "display": "Anaplastic large cell lymphoma, ALK-negative, lymph nodes of multiple sites" + }, { + "code": "C84.79", + "display": "Anaplastic large cell lymphoma, ALK-negative, extranodal and solid organ sites" + }, { + "code": "C84.90", + "display": "Mature T/NK-cell lymphomas, unspecified, unspecified site" + }, { + "code": "C84.91", + "display": "Mature T/NK-cell lymphomas, unspecified, lymph nodes of head, face, and neck" + }, { + "code": "C84.92", + "display": "Mature T/NK-cell lymphomas, unspecified, intrathoracic lymph nodes" + }, { + "code": "C84.93", + "display": "Mature T/NK-cell lymphomas, unspecified, intra-abdominal lymph nodes" + }, { + "code": "C84.94", + "display": "Mature T/NK-cell lymphomas, unspecified, lymph nodes of axilla and upper limb" + }, { + "code": "C84.95", + "display": "Mature T/NK-cell lymphomas, unspecified, lymph nodes of inguinal region and lower limb" + }, { + "code": "C84.96", + "display": "Mature T/NK-cell lymphomas, unspecified, intrapelvic lymph nodes" + }, { + "code": "C84.97", + "display": "Mature T/NK-cell lymphomas, unspecified, spleen" + }, { + "code": "C84.98", + "display": "Mature T/NK-cell lymphomas, unspecified, lymph nodes of multiple sites" + }, { + "code": "C84.99", + "display": "Mature T/NK-cell lymphomas, unspecified, extranodal and solid organ sites" + }, { + "code": "C84.A0", + "display": "Cutaneous T-cell lymphoma, unspecified, unspecified site" + }, { + "code": "C84.A1", + "display": "Cutaneous T-cell lymphoma, unspecified lymph nodes of head, face, and neck" + }, { + "code": "C84.A2", + "display": "Cutaneous T-cell lymphoma, unspecified, intrathoracic lymph nodes" + }, { + "code": "C84.A3", + "display": "Cutaneous T-cell lymphoma, unspecified, intra-abdominal lymph nodes" + }, { + "code": "C84.A4", + "display": "Cutaneous T-cell lymphoma, unspecified, lymph nodes of axilla and upper limb" + }, { + "code": "C84.A5", + "display": "Cutaneous T-cell lymphoma, unspecified, lymph nodes of inguinal region and lower limb" + }, { + "code": "C84.A6", + "display": "Cutaneous T-cell lymphoma, unspecified, intrapelvic lymph nodes" + }, { + "code": "C84.A7", + "display": "Cutaneous T-cell lymphoma, unspecified, spleen" + }, { + "code": "C84.A8", + "display": "Cutaneous T-cell lymphoma, unspecified, lymph nodes of multiple sites" + }, { + "code": "C84.A9", + "display": "Cutaneous T-cell lymphoma, unspecified, extranodal and solid organ sites" + }, { + "code": "C84.Z0", + "display": "Other mature T/NK-cell lymphomas, unspecified site" + }, { + "code": "C84.Z1", + "display": "Other mature T/NK-cell lymphomas, lymph nodes of head, face, and neck" + }, { + "code": "C84.Z2", + "display": "Other mature T/NK-cell lymphomas, intrathoracic lymph nodes" + }, { + "code": "C84.Z3", + "display": "Other mature T/NK-cell lymphomas, intra-abdominal lymph nodes" + }, { + "code": "C84.Z4", + "display": "Other mature T/NK-cell lymphomas, lymph nodes of axilla and upper limb" + }, { + "code": "C84.Z5", + "display": "Other mature T/NK-cell lymphomas, lymph nodes of inguinal region and lower limb" + }, { + "code": "C84.Z6", + "display": "Other mature T/NK-cell lymphomas, intrapelvic lymph nodes" + }, { + "code": "C84.Z7", + "display": "Other mature T/NK-cell lymphomas, spleen" + }, { + "code": "C84.Z8", + "display": "Other mature T/NK-cell lymphomas, lymph nodes of multiple sites" + }, { + "code": "C84.Z9", + "display": "Other mature T/NK-cell lymphomas, extranodal and solid organ sites" + }, { + "code": "C85.10", + "display": "Unspecified B-cell lymphoma, unspecified site" + }, { + "code": "C85.11", + "display": "Unspecified B-cell lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C85.12", + "display": "Unspecified B-cell lymphoma, intrathoracic lymph nodes" + }, { + "code": "C85.13", + "display": "Unspecified B-cell lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C85.14", + "display": "Unspecified B-cell lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C85.15", + "display": "Unspecified B-cell lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C85.16", + "display": "Unspecified B-cell lymphoma, intrapelvic lymph nodes" + }, { + "code": "C85.17", + "display": "Unspecified B-cell lymphoma, spleen" + }, { + "code": "C85.18", + "display": "Unspecified B-cell lymphoma, lymph nodes of multiple sites" + }, { + "code": "C85.19", + "display": "Unspecified B-cell lymphoma, extranodal and solid organ sites" + }, { + "code": "C85.20", + "display": "Mediastinal (thymic) large B-cell lymphoma, unspecified site" + }, { + "code": "C85.21", + "display": "Mediastinal (thymic) large B-cell lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C85.22", + "display": "Mediastinal (thymic) large B-cell lymphoma, intrathoracic lymph nodes" + }, { + "code": "C85.23", + "display": "Mediastinal (thymic) large B-cell lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C85.24", + "display": "Mediastinal (thymic) large B-cell lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C85.25", + "display": "Mediastinal (thymic) large B-cell lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C85.26", + "display": "Mediastinal (thymic) large B-cell lymphoma, intrapelvic lymph nodes" + }, { + "code": "C85.27", + "display": "Mediastinal (thymic) large B-cell lymphoma, spleen" + }, { + "code": "C85.28", + "display": "Mediastinal (thymic) large B-cell lymphoma, lymph nodes of multiple sites" + }, { + "code": "C85.29", + "display": "Mediastinal (thymic) large B-cell lymphoma, extranodal and solid organ sites" + }, { + "code": "C85.80", + "display": "Other specified types of non-Hodgkin lymphoma, unspecified site" + }, { + "code": "C85.81", + "display": "Other specified types of non-Hodgkin lymphoma, lymph nodes of head, face, and neck" + }, { + "code": "C85.82", + "display": "Other specified types of non-Hodgkin lymphoma, intrathoracic lymph nodes" + }, { + "code": "C85.83", + "display": "Other specified types of non-Hodgkin lymphoma, intra-abdominal lymph nodes" + }, { + "code": "C85.84", + "display": "Other specified types of non-Hodgkin lymphoma, lymph nodes of axilla and upper limb" + }, { + "code": "C85.85", + "display": "Other specified types of non-Hodgkin lymphoma, lymph nodes of inguinal region and lower limb" + }, { + "code": "C85.86", + "display": "Other specified types of non-Hodgkin lymphoma, intrapelvic lymph nodes" + }, { + "code": "C85.87", + "display": "Other specified types of non-Hodgkin lymphoma, spleen" + }, { + "code": "C85.88", + "display": "Other specified types of non-Hodgkin lymphoma, lymph nodes of multiple sites" + }, { + "code": "C85.89", + "display": "Other specified types of non-Hodgkin lymphoma, extranodal and solid organ sites" + }, { + "code": "C85.90", + "display": "Non-Hodgkin lymphoma, unspecified, unspecified site" + }, { + "code": "C85.91", + "display": "Non-Hodgkin lymphoma, unspecified, lymph nodes of head, face, and neck" + }, { + "code": "C85.92", + "display": "Non-Hodgkin lymphoma, unspecified, intrathoracic lymph nodes" + }, { + "code": "C85.93", + "display": "Non-Hodgkin lymphoma, unspecified, intra-abdominal lymph nodes" + }, { + "code": "C85.94", + "display": "Non-Hodgkin lymphoma, unspecified, lymph nodes of axilla and upper limb" + }, { + "code": "C85.95", + "display": "Non-Hodgkin lymphoma, unspecified, lymph nodes of inguinal region and lower limb" + }, { + "code": "C85.96", + "display": "Non-Hodgkin lymphoma, unspecified, intrapelvic lymph nodes" + }, { + "code": "C85.97", + "display": "Non-Hodgkin lymphoma, unspecified, spleen" + }, { + "code": "C85.98", + "display": "Non-Hodgkin lymphoma, unspecified, lymph nodes of multiple sites" + }, { + "code": "C85.99", + "display": "Non-Hodgkin lymphoma, unspecified, extranodal and solid organ sites" + }, { + "code": "C86.0", + "display": "Extranodal NK/T-cell lymphoma, nasal type" + }, { + "code": "C86.1", + "display": "Hepatosplenic T-cell lymphoma" + }, { + "code": "C86.2", + "display": "Enteropathy-type (intestinal) T-cell lymphoma" + }, { + "code": "C86.3", + "display": "Subcutaneous panniculitis-like T-cell lymphoma" + }, { + "code": "C86.4", + "display": "Blastic NK-cell lymphoma" + }, { + "code": "C86.5", + "display": "Angioimmunoblastic T-cell lymphoma" + }, { + "code": "C86.6", + "display": "Primary cutaneous CD30-positive T-cell proliferations" + }, { + "code": "C88.0", + "display": "Waldenström macroglobulinemia" + }, { + "code": "C88.2", + "display": "Heavy chain disease" + }, { + "code": "C88.3", + "display": "Immunoproliferative small intestinal disease" + }, { + "code": "C88.4", + "display": "Extranodal marginal zone B-cell lymphoma of mucosa-associated lymphoid tissue [MALT-lymphoma]" + }, { + "code": "C88.8", + "display": "Other malignant immunoproliferative diseases" + }, { + "code": "C88.9", + "display": "Malignant immunoproliferative disease, unspecified" + }, { + "code": "C90.00", + "display": "Multiple myeloma not having achieved remission" + }, { + "code": "C90.02", + "display": "Multiple myeloma in relapse" + }, { + "code": "C90.10", + "display": "Plasma cell leukemia not having achieved remission" + }, { + "code": "C90.12", + "display": "Plasma cell leukemia in relapse" + }, { + "code": "C90.20", + "display": "Extramedullary plasmacytoma not having achieved remission" + }, { + "code": "C90.22", + "display": "Extramedullary plasmacytoma in relapse" + }, { + "code": "C90.30", + "display": "Solitary plasmacytoma not having achieved remission" + }, { + "code": "C90.32", + "display": "Solitary plasmacytoma in relapse" + }, { + "code": "C91.00", + "display": "Acute lymphoblastic leukemia not having achieved remission" + }, { + "code": "C91.02", + "display": "Acute lymphoblastic leukemia, in relapse" + }, { + "code": "C91.10", + "display": "Chronic lymphocytic leukemia of B-cell type not having achieved remission" + }, { + "code": "C91.12", + "display": "Chronic lymphocytic leukemia of B-cell type in relapse" + }, { + "code": "C91.30", + "display": "Prolymphocytic leukemia of B-cell type not having achieved remission" + }, { + "code": "C91.32", + "display": "Prolymphocytic leukemia of B-cell type, in relapse" + }, { + "code": "C91.40", + "display": "Hairy cell leukemia not having achieved remission" + }, { + "code": "C91.42", + "display": "Hairy cell leukemia, in relapse" + }, { + "code": "C91.50", + "display": "Adult T-cell lymphoma/leukemia (HTLV-1-associated) not having achieved remission" + }, { + "code": "C91.52", + "display": "Adult T-cell lymphoma/leukemia (HTLV-1-associated), in relapse" + }, { + "code": "C91.60", + "display": "Prolymphocytic leukemia of T-cell type not having achieved remission" + }, { + "code": "C91.62", + "display": "Prolymphocytic leukemia of T-cell type, in relapse" + }, { + "code": "C91.90", + "display": "Lymphoid leukemia, unspecified not having achieved remission" + }, { + "code": "C91.92", + "display": "Lymphoid leukemia, unspecified, in relapse" + }, { + "code": "C91.A0", + "display": "Mature B-cell leukemia Burkitt-type not having achieved remission" + }, { + "code": "C91.A2", + "display": "Mature B-cell leukemia Burkitt-type, in relapse" + }, { + "code": "C91.Z0", + "display": "Other lymphoid leukemia not having achieved remission" + }, { + "code": "C91.Z2", + "display": "Other lymphoid leukemia, in relapse" + }, { + "code": "C92.00", + "display": "Acute myeloblastic leukemia, not having achieved remission" + }, { + "code": "C92.02", + "display": "Acute myeloblastic leukemia, in relapse" + }, { + "code": "C92.10", + "display": "Chronic myeloid leukemia, BCR/ABL-positive, not having achieved remission" + }, { + "code": "C92.12", + "display": "Chronic myeloid leukemia, BCR/ABL-positive, in relapse" + }, { + "code": "C92.20", + "display": "Atypical chronic myeloid leukemia, BCR/ABL-negative, not having achieved remission" + }, { + "code": "C92.22", + "display": "Atypical chronic myeloid leukemia, BCR/ABL-negative, in relapse" + }, { + "code": "C92.30", + "display": "Myeloid sarcoma, not having achieved remission" + }, { + "code": "C92.32", + "display": "Myeloid sarcoma, in relapse" + }, { + "code": "C92.40", + "display": "Acute promyelocytic leukemia, not having achieved remission" + }, { + "code": "C92.42", + "display": "Acute promyelocytic leukemia, in relapse" + }, { + "code": "C92.50", + "display": "Acute myelomonocytic leukemia, not having achieved remission" + }, { + "code": "C92.52", + "display": "Acute myelomonocytic leukemia, in relapse" + }, { + "code": "C92.60", + "display": "Acute myeloid leukemia with 11q23-abnormality not having achieved remission" + }, { + "code": "C92.62", + "display": "Acute myeloid leukemia with 11q23-abnormality in relapse" + }, { + "code": "C92.90", + "display": "Myeloid leukemia, unspecified, not having achieved remission" + }, { + "code": "C92.92", + "display": "Myeloid leukemia, unspecified in relapse" + }, { + "code": "C92.A0", + "display": "Acute myeloid leukemia with multilineage dysplasia, not having achieved remission" + }, { + "code": "C92.A2", + "display": "Acute myeloid leukemia with multilineage dysplasia, in relapse" + }, { + "code": "C92.Z0", + "display": "Other myeloid leukemia not having achieved remission" + }, { + "code": "C92.Z2", + "display": "Other myeloid leukemia, in relapse" + }, { + "code": "C93.00", + "display": "Acute monoblastic/monocytic leukemia, not having achieved remission" + }, { + "code": "C93.02", + "display": "Acute monoblastic/monocytic leukemia, in relapse" + }, { + "code": "C93.10", + "display": "Chronic myelomonocytic leukemia not having achieved remission" + }, { + "code": "C93.12", + "display": "Chronic myelomonocytic leukemia, in relapse" + }, { + "code": "C93.30", + "display": "Juvenile myelomonocytic leukemia, not having achieved remission" + }, { + "code": "C93.32", + "display": "Juvenile myelomonocytic leukemia, in relapse" + }, { + "code": "C93.90", + "display": "Monocytic leukemia, unspecified, not having achieved remission" + }, { + "code": "C93.92", + "display": "Monocytic leukemia, unspecified in relapse" + }, { + "code": "C93.Z0", + "display": "Other monocytic leukemia, not having achieved remission" + }, { + "code": "C93.Z2", + "display": "Other monocytic leukemia, in relapse" + }, { + "code": "C94.00", + "display": "Acute erythroid leukemia, not having achieved remission" + }, { + "code": "C94.02", + "display": "Acute erythroid leukemia, in relapse" + }, { + "code": "C94.20", + "display": "Acute megakaryoblastic leukemia not having achieved remission" + }, { + "code": "C94.22", + "display": "Acute megakaryoblastic leukemia, in relapse" + }, { + "code": "C94.30", + "display": "Mast cell leukemia not having achieved remission" + }, { + "code": "C94.32", + "display": "Mast cell leukemia, in relapse" + }, { + "code": "C94.40", + "display": "Acute panmyelosis with myelofibrosis not having achieved remission" + }, { + "code": "C94.42", + "display": "Acute panmyelosis with myelofibrosis, in relapse" + }, { + "code": "C94.6", + "display": "Myelodysplastic disease, not classified" + }, { + "code": "C94.80", + "display": "Other specified leukemias not having achieved remission" + }, { + "code": "C94.82", + "display": "Other specified leukemias, in relapse" + }, { + "code": "C95.00", + "display": "Acute leukemia of unspecified cell type not having achieved remission" + }, { + "code": "C95.02", + "display": "Acute leukemia of unspecified cell type, in relapse" + }, { + "code": "C95.10", + "display": "Chronic leukemia of unspecified cell type not having achieved remission" + }, { + "code": "C95.12", + "display": "Chronic leukemia of unspecified cell type, in relapse" + }, { + "code": "C95.90", + "display": "Leukemia, unspecified not having achieved remission" + }, { + "code": "C95.92", + "display": "Leukemia, unspecified, in relapse" + }, { + "code": "C96.0", + "display": "Multifocal and multisystemic (disseminated) Langerhans-cell histiocytosis" + }, { + "code": "C96.20", + "display": "Malignant mast cell neoplasm, unspecified" + }, { + "code": "C96.21", + "display": "Aggressive systemic mastocytosis" + }, { + "code": "C96.22", + "display": "Mast cell sarcoma" + }, { + "code": "C96.29", + "display": "Other malignant mast cell neoplasm" + }, { + "code": "C96.4", + "display": "Sarcoma of dendritic cells (accessory cells)" + }, { + "code": "C96.5", + "display": "Multifocal and unisystemic Langerhans-cell histiocytosis" + }, { + "code": "C96.6", + "display": "Unifocal Langerhans-cell histiocytosis" + }, { + "code": "C96.9", + "display": "Malignant neoplasm of lymphoid, hematopoietic and related tissue, unspecified" + }, { + "code": "C96.A", + "display": "Histiocytic sarcoma" + }, { + "code": "C96.Z", + "display": "Other specified malignant neoplasms of lymphoid, hematopoietic and related tissue" + } ] + }, { + "system": "http://snomed.info/sct", + "version": "2019-09", + "concept": [ { + "code": "101371000119101", + "display": "Adamantinoma of long bone of lower limb (disorder)" + }, { + "code": "105111000119109", + "display": "Primary squamous cell carcinoma of thymus (disorder)" + }, { + "code": "105121000119102", + "display": "Squamous cell carcinoma of vagina (disorder)" + }, { + "code": "107571000119101", + "display": "Oligodendroglioma of brain stem (disorder)" + }, { + "code": "107581000119103", + "display": "Astrocytoma of brain stem (disorder)" + }, { + "code": "107591000119100", + "display": "Primary squamous cell carcinoma of urethra (disorder)" + }, { + "code": "107691000119101", + "display": "Non-seminomatous germ cell neoplasm of testis (disorder)" + }, { + "code": "107771000119106", + "display": "Primary malignant clear cell neoplasm of endometrium (disorder)" + }, { + "code": "107781000119109", + "display": "Primary papillary serous cystadenocarcinoma of endometrium (disorder)" + }, { + "code": "107791000119107", + "display": "Primary adenosquamous carcinoma of endometrium (disorder)" + }, { + "code": "1078881000119102", + "display": "Primary adenocarcinoma of lower lobe of left lung (disorder)" + }, { + "code": "1078901000119100", + "display": "Primary adenocarcinoma of upper lobe of left lung (disorder)" + }, { + "code": "1078931000119107", + "display": "Primary adenocarcinoma of lower lobe of right lung (disorder)" + }, { + "code": "1078961000119104", + "display": "Primary adenocarcinoma of upper lobe of right lung (disorder)" + }, { + "code": "1079091000119100", + "display": "Primary basal cell carcinoma of left upper limb (disorder)" + }, { + "code": "1079171000119100", + "display": "Primary basal cell carcinoma of right eyelid (disorder)" + }, { + "code": "108211000119108", + "display": "Secondary adenocarcinoma of kidney (disorder)" + }, { + "code": "1082191000119100", + "display": "Primary squamous cell carcinoma of right ear (disorder)" + }, { + "code": "109264009", + "display": "Overlapping malignant neoplasm of skin (disorder)" + }, { + "code": "109267002", + "display": "Overlapping malignant melanoma of skin (disorder)" + }, { + "code": "109347009", + "display": "Overlapping malignant neoplasm of bone and articular cartilage (disorder)" + }, { + "code": "109348004", + "display": "Overlapping malignant neoplasm of bone and articular cartilage of limbs (disorder)" + }, { + "code": "109349007", + "display": "Overlapping malignant neoplasm of soft tissues (disorder)" + }, { + "code": "109366009", + "display": "Overlapping malignant neoplasm of accessory sinuses (disorder)" + }, { + "code": "109367000", + "display": "Overlapping malignant neoplasm of nasopharynx (disorder)" + }, { + "code": "109368005", + "display": "Overlapping malignant neoplasm of hypopharynx (disorder)" + }, { + "code": "109369002", + "display": "Overlapping malignant neoplasm of larynx (disorder)" + }, { + "code": "109370001", + "display": "Primary malignant neoplasm of laryngeal cartilage (disorder)" + }, { + "code": "109371002", + "display": "Overlapping malignant neoplasm of bronchus and lung (disorder)" + }, { + "code": "109374005", + "display": "Overlapping malignant neoplasm of mediastinum and pleura (disorder)" + }, { + "code": "109383000", + "display": "Malignant mesothelioma of pericardium (disorder)" + }, { + "code": "109384006", + "display": "Overlapping malignant neoplasm of heart, mediastinum and pleura (disorder)" + }, { + "code": "109385007", + "display": "Kaposi's sarcoma (disorder)" + }, { + "code": "109386008", + "display": "Kaposi's sarcoma of skin (disorder)" + }, { + "code": "109388009", + "display": "Kaposi's sarcoma of palate (disorder)" + }, { + "code": "109389001", + "display": "Kaposi's sarcoma of gastrointestinal tract (disorder)" + }, { + "code": "109390005", + "display": "Kaposi's sarcoma of lung (disorder)" + }, { + "code": "109392002", + "display": "Kaposi's sarcoma of multiple organs (disorder)" + }, { + "code": "109821008", + "display": "Overlapping malignant neoplasm of gastrointestinal tract (disorder)" + }, { + "code": "109822001", + "display": "Overlapping malignant neoplasm of lip (disorder)" + }, { + "code": "109823006", + "display": "Overlapping malignant neoplasm of tongue (disorder)" + }, { + "code": "109824000", + "display": "Overlapping malignant neoplasm of major salivary gland (disorder)" + }, { + "code": "109828002", + "display": "Primary malignant neoplasm of salivary gland duct (disorder)" + }, { + "code": "109830000", + "display": "Overlapping malignant neoplasm of floor of mouth (disorder)" + }, { + "code": "109831001", + "display": "Overlapping malignant neoplasm of palate (disorder)" + }, { + "code": "109832008", + "display": "Overlapping malignant neoplasm of oropharynx (disorder)" + }, { + "code": "109835005", + "display": "Overlapping malignant neoplasm of esophagus (disorder)" + }, { + "code": "109836006", + "display": "Overlapping malignant neoplasm of stomach (disorder)" + }, { + "code": "109837002", + "display": "Overlapping malignant neoplasm of small intestine (disorder)" + }, { + "code": "109838007", + "display": "Overlapping malignant neoplasm of colon (disorder)" + }, { + "code": "109839004", + "display": "Overlapping malignant neoplasm of rectum, anus and anal canal (disorder)" + }, { + "code": "109840002", + "display": "Primary malignant neoplasm of cloacogenic zone (disorder)" + }, { + "code": "109841003", + "display": "Liver cell carcinoma (disorder)" + }, { + "code": "109844006", + "display": "Angiosarcoma of liver (disorder)" + }, { + "code": "109847004", + "display": "Overlapping malignant neoplasm of biliary tract (disorder)" + }, { + "code": "109848009", + "display": "Overlapping malignant neoplasm of pancreas (disorder)" + }, { + "code": "109851002", + "display": "Overlapping malignant neoplasm of retroperitoneum and peritoneum (disorder)" + }, { + "code": "109853004", + "display": "Malignant mesothelioma of peritoneum (disorder)" + }, { + "code": "109854005", + "display": "Malignant mesothelioma of parietal peritoneum (disorder)" + }, { + "code": "109855006", + "display": "Malignant mesothelioma of pelvic peritoneum (disorder)" + }, { + "code": "109856007", + "display": "Malignant mesothelioma of mesentery (disorder)" + }, { + "code": "109858008", + "display": "Malignant mesothelioma of omentum (disorder)" + }, { + "code": "109870007", + "display": "Overlapping malignant neoplasm of urinary system (disorder)" + }, { + "code": "109874003", + "display": "Overlapping malignant neoplasm of male genital organs (disorder)" + }, { + "code": "109875002", + "display": "Overlapping malignant neoplasm of penis (disorder)" + }, { + "code": "109876001", + "display": "Primary malignant neoplasm of descended testis (disorder)" + }, { + "code": "109878000", + "display": "Overlapping malignant neoplasm of female genital organs (disorder)" + }, { + "code": "109879008", + "display": "Overlapping malignant neoplasm of body of uterus (disorder)" + }, { + "code": "109880006", + "display": "Overlapping malignant neoplasm of uterine cervix (disorder)" + }, { + "code": "109882003", + "display": "Primary malignant neoplasm of fundus uteri (disorder)" + }, { + "code": "109885001", + "display": "Overlapping malignant neoplasm of vulva (disorder)" + }, { + "code": "109886000", + "display": "Overlapping malignant neoplasm of female breast (disorder)" + }, { + "code": "109911004", + "display": "Overlapping malignant neoplasm of brain and other parts of the central nervous system (disorder)" + }, { + "code": "109912006", + "display": "Overlapping malignant neoplasm of brain (disorder)" + }, { + "code": "109915008", + "display": "Primary malignant neoplasm of meninges (disorder)" + }, { + "code": "109923005", + "display": "Primary malignant neoplasm of peripheral nerves of head (disorder)" + }, { + "code": "109927006", + "display": "Primary malignant neoplasm of peripheral nerves of neck (disorder)" + }, { + "code": "109939003", + "display": "Primary malignant neoplasm of peripheral nerves of hip (disorder)" + }, { + "code": "109941002", + "display": "Primary malignant neoplasm of peripheral nerves of thorax (disorder)" + }, { + "code": "109948008", + "display": "Overlapping malignant neoplasm of eye and adnexa, primary (disorder)" + }, { + "code": "109951001", + "display": "Overlapping malignant neoplasm of multiple endocrine glands (disorder)" + }, { + "code": "109962001", + "display": "Diffuse non-Hodgkin's lymphoma (disorder)" + }, { + "code": "109964000", + "display": "Diffuse non-Hodgkin's lymphoma, undifferentiated (disorder)" + }, { + "code": "109965004", + "display": "Diffuse non-Hodgkin's lymphoma, lymphoblastic (disorder)" + }, { + "code": "109966003", + "display": "Diffuse non-Hodgkin's lymphoma, immunoblastic (disorder)" + }, { + "code": "109967007", + "display": "Diffuse non-Hodgkin's lymphoma, small cleaved cell (disorder)" + }, { + "code": "109968002", + "display": "Diffuse non-Hodgkin's lymphoma, small cell (disorder)" + }, { + "code": "109969005", + "display": "Diffuse non-Hodgkin's lymphoma, large cell (disorder)" + }, { + "code": "109970006", + "display": "Follicular non-Hodgkin's lymphoma, small cleaved cell (disorder)" + }, { + "code": "109971005", + "display": "Follicular non-Hodgkin's lymphoma, mixed small cleaved cell and large cell (disorder)" + }, { + "code": "109972003", + "display": "Follicular non-Hodgkin's lymphoma, large cell (disorder)" + }, { + "code": "109975001", + "display": "T-zone lymphoma (disorder)" + }, { + "code": "109976000", + "display": "Lymphoepithelioid lymphoma (disorder)" + }, { + "code": "109977009", + "display": "Peripheral T-cell lymphoma (disorder)" + }, { + "code": "109978004", + "display": "T-cell lymphoma (disorder)" + }, { + "code": "109979007", + "display": "B-cell lymphoma (disorder)" + }, { + "code": "109980005", + "display": "Malignant immunoproliferative disease (disorder)" + }, { + "code": "109988003", + "display": "Histiocytic sarcoma (disorder)" + }, { + "code": "109991003", + "display": "Acute myelofibrosis (disorder)" + }, { + "code": "109994006", + "display": "Essential thrombocythemia (disorder)" + }, { + "code": "109995007", + "display": "Myelodysplastic syndrome (disorder)" + }, { + "code": "109996008", + "display": "Myelodysplastic syndrome: Refractory anemia, without ringed sideroblasts, without excess blasts (disorder)" + }, { + "code": "110000005", + "display": "Refractory anemia with excess blasts in transformation (disorder)" + }, { + "code": "110002002", + "display": "Mast cell leukemia (disorder)" + }, { + "code": "110004001", + "display": "Acute promyelocytic leukemia, FAB M3 (disorder)" + }, { + "code": "110005000", + "display": "Acute myelomonocytic leukemia, FAB M4 (disorder)" + }, { + "code": "110006004", + "display": "Prolymphocytic leukemia (disorder)" + }, { + "code": "110007008", + "display": "Adult T-cell leukemia/lymphoma (disorder)" + }, { + "code": "110013004", + "display": "Overlapping malignant neoplasm of tonsil (disorder)" + }, { + "code": "116711000119103", + "display": "Marginal zone lymphoma of inguinal lymph node (disorder)" + }, { + "code": "116741000119104", + "display": "Marginal zone lymphoma of thoracic lymph node (disorder)" + }, { + "code": "116811000119106", + "display": "Non-Hodgkin lymphoma of central nervous system metastatic to lymph node of lower limb (disorder)" + }, { + "code": "116821000119104", + "display": "Non-Hodgkin lymphoma of central nervous system metastatic to lymph node of upper limb (disorder)" + }, { + "code": "117061000119101", + "display": "Peripheral T-cell lymphoma of spleen (disorder)" + }, { + "code": "117091000119108", + "display": "Peripheral T-cell lymphoma of axillary lymph node (disorder)" + }, { + "code": "117111000119100", + "display": "Peripheral T-cell lymphoma of thoracic lymph node (disorder)" + }, { + "code": "118599009", + "display": "Hodgkin's disease (disorder)" + }, { + "code": "118600007", + "display": "Malignant lymphoma (disorder)" + }, { + "code": "118601006", + "display": "Non-Hodgkin's lymphoma (disorder)" + }, { + "code": "118602004", + "display": "Hodgkin's granuloma (disorder)" + }, { + "code": "118605002", + "display": "Hodgkin lymphoma, nodular lymphocyte predominance (disorder)" + }, { + "code": "118606001", + "display": "Hodgkin's sarcoma (disorder)" + }, { + "code": "118607005", + "display": "Hodgkin lymphoma, lymphocyte-rich (disorder)" + }, { + "code": "118608000", + "display": "Hodgkin's disease, nodular sclerosis (disorder)" + }, { + "code": "118609008", + "display": "Hodgkin's disease, mixed cellularity (disorder)" + }, { + "code": "118610003", + "display": "Hodgkin's disease, lymphocytic depletion (disorder)" + }, { + "code": "118611004", + "display": "Sézary's disease (disorder)" + }, { + "code": "118612006", + "display": "Malignant histiocytosis (disorder)" + }, { + "code": "118613001", + "display": "Hairy cell leukemia (disorder)" + }, { + "code": "118614007", + "display": "Langerhans cell histiocytosis, disseminated (disorder)" + }, { + "code": "118615008", + "display": "Malignant mast cell tumor (disorder)" + }, { + "code": "118617000", + "display": "Burkitt's lymphoma (disorder)" + }, { + "code": "118618005", + "display": "Mycosis fungoides (disorder)" + }, { + "code": "122881000119107", + "display": "Chronic monocytic leukemia in relapse (disorder)" + }, { + "code": "122901000119109", + "display": "Myeloid leukemia in relapse (disorder)" + }, { + "code": "122951000119108", + "display": "Lymphoid leukemia in relapse (disorder)" + }, { + "code": "122961000119105", + "display": "Chronic lymphoid leukemia in relapse (disorder)" + }, { + "code": "122981000119101", + "display": "Plasma cell leukemia in relapse (disorder)" + }, { + "code": "12301000132103", + "display": "Acute lymphoid leukemia relapse (disorder)" + }, { + "code": "12311000132101", + "display": "Refractory acute lymphoid leukemia (disorder)" + }, { + "code": "123661000119106", + "display": "Malignant carcinoid tumor of lung (disorder)" + }, { + "code": "123701000119104", + "display": "Malignant carcinoid tumor of descending colon (disorder)" + }, { + "code": "123721000119108", + "display": "Malignant carcinoid tumor of ascending colon (disorder)" + }, { + "code": "123731000119106", + "display": "Malignant carcinoid tumor of cecum (disorder)" + }, { + "code": "123741000119102", + "display": "Malignant carcinoid tumor of large intestine (disorder)" + }, { + "code": "123751000119100", + "display": "Malignant carcinoid tumor of jejunum (disorder)" + }, { + "code": "123761000119103", + "display": "Malignant carcinoid tumor of duodenum (disorder)" + }, { + "code": "123781000119107", + "display": "Chronic leukemia in relapse (disorder)" + }, { + "code": "123842006", + "display": "Endocervical adenocarcinoma (disorder)" + }, { + "code": "127070008", + "display": "Malignant histiocytic disorder (disorder)" + }, { + "code": "127220001", + "display": "Malignant lymphoma of lymph nodes (disorder)" + }, { + "code": "127225006", + "display": "Chronic myelomonocytic leukemia (disorder)" + }, { + "code": "127961000119108", + "display": "Aleukemic myeloid leukemia in relapse (disorder)" + }, { + "code": "128041000119107", + "display": "Primary adenocarcinoma of distal third of esophagus (disorder)" + }, { + "code": "128874001", + "display": "Cutaneous CD30+ lymphoproliferative disorder (disorder)" + }, { + "code": "128875000", + "display": "Primary cutaneous CD30 antigen positive large T-cell lymphoma (disorder)" + }, { + "code": "130381000119103", + "display": "Primary malignant neuroendocrine neoplasm of ascending colon (disorder)" + }, { + "code": "13048006", + "display": "Orbital lymphoma (disorder)" + }, { + "code": "133751000119102", + "display": "Lymphoma of colon (disorder)" + }, { + "code": "133851000119107", + "display": "Merkel cell carcinoma of neck (disorder)" + }, { + "code": "133861000119109", + "display": "Merkel cell carcinoma of scalp (disorder)" + }, { + "code": "133871000119103", + "display": "Merkel cell carcinoma of upper limb (disorder)" + }, { + "code": "133881000119100", + "display": "Merkel cell carcinoma of lower limb (disorder)" + }, { + "code": "133891000119102", + "display": "Merkel cell carcinoma of trunk (disorder)" + }, { + "code": "134312002", + "display": "Odontogenic ghost cell carcinoma (disorder)" + }, { + "code": "134871000119100", + "display": "Poorly differentiated malignant carcinoid tumor (disorder)" + }, { + "code": "135931000119106", + "display": "Merkel cell carcinoma of buttock (disorder)" + }, { + "code": "143401000119106", + "display": "Malignant carcinoid tumor of pancreas (disorder)" + }, { + "code": "147131000119101", + "display": "Glioblastoma multiforme of central nervous system (disorder)" + }, { + "code": "1651000119109", + "display": "Primary adenocarcinoma of pancreas (disorder)" + }, { + "code": "1661000119106", + "display": "Metastasis to lung from adenocarcinoma (disorder)" + }, { + "code": "1681000119102", + "display": "Metastasis to lymph node from adenocarcinoma (disorder)" + }, { + "code": "1691000119104", + "display": "Metastasis to liver from adenocarcinoma (disorder)" + }, { + "code": "1701000119104", + "display": "Primary adenocarcinoma of colon (disorder)" + }, { + "code": "18121000119104", + "display": "Primary squamous cell carcinoma of palatine tonsil (disorder)" + }, { + "code": "184741000119107", + "display": "Primary adenocarcinoma of anus (disorder)" + }, { + "code": "184781000119102", + "display": "Primary adenocarcinoma of cervix uteri (disorder)" + }, { + "code": "184881000119106", + "display": "Primary adenocarcinoma of rectosigmoid junction (disorder)" + }, { + "code": "187601000", + "display": "Malignant neoplasm of upper lip, lipstick area (disorder)" + }, { + "code": "187604008", + "display": "Malignant neoplasm of lower lip, external (disorder)" + }, { + "code": "187606005", + "display": "Malignant tumor of upper labial mucosa (disorder)" + }, { + "code": "187608006", + "display": "Malignant tumor of frenum of upper lip (disorder)" + }, { + "code": "187613005", + "display": "Malignant neoplasm of lower lip, buccal aspect (disorder)" + }, { + "code": "187614004", + "display": "Malignant tumor of frenum of lower lip (disorder)" + }, { + "code": "187622006", + "display": "Malignant tumor of labial mucosa (disorder)" + }, { + "code": "187624007", + "display": "Malignant neoplasm of overlapping lesion of lip (disorder)" + }, { + "code": "187631006", + "display": "Malignant neoplasm of base of tongue dorsal surface (disorder)" + }, { + "code": "187634003", + "display": "Malignant tumor of anterior two-thirds of tongue - dorsal surface (disorder)" + }, { + "code": "187635002", + "display": "Malignant neoplasm of midline of tongue (disorder)" + }, { + "code": "187637005", + "display": "Malignant neoplasm of tongue, tip and lateral border (disorder)" + }, { + "code": "187640005", + "display": "Malignant tumor of anterior two-thirds of tongue - ventral surface (disorder)" + }, { + "code": "187641009", + "display": "Malignant tumor of frenum linguae (disorder)" + }, { + "code": "187644001", + "display": "Malignant tumor of junctional zone of tongue (disorder)" + }, { + "code": "187652003", + "display": "Malignant tumor of anterior floor of mouth (disorder)" + }, { + "code": "187653008", + "display": "Malignant tumor of lateral floor of mouth (disorder)" + }, { + "code": "187658004", + "display": "Malignant tumor of vestibule of mouth (disorder)" + }, { + "code": "187659007", + "display": "Malignant tumor of upper buccal sulcus (disorder)" + }, { + "code": "187660002", + "display": "Malignant tumor of lower buccal sulcus (disorder)" + }, { + "code": "187661003", + "display": "Malignant tumor of upper labial sulcus (disorder)" + }, { + "code": "187662005", + "display": "Malignant tumor of lower labial sulcus (disorder)" + }, { + "code": "187666008", + "display": "Malignant neoplasm of junction of hard and soft palate (disorder)" + }, { + "code": "187675005", + "display": "Malignant tumor of tonsillar pillar (disorder)" + }, { + "code": "187681002", + "display": "Malignant neoplasm of anterior epiglottis (disorder)" + }, { + "code": "187682009", + "display": "Malignant neoplasm of epiglottis, free border (disorder)" + }, { + "code": "187683004", + "display": "Malignant neoplasm of glossoepiglottic fold (disorder)" + }, { + "code": "187685006", + "display": "Malignant neoplasm of junctional region of epiglottis (disorder)" + }, { + "code": "187688008", + "display": "Malignant tumor of posterior wall of oropharynx (disorder)" + }, { + "code": "187692001", + "display": "Malignant tumor of nasopharynx (disorder)" + }, { + "code": "187693006", + "display": "Malignant tumor of posterior wall of nasopharynx (disorder)" + }, { + "code": "187694000", + "display": "Malignant tumor of adenoid (disorder)" + }, { + "code": "187697007", + "display": "Malignant tumor of pharyngeal recess (disorder)" + }, { + "code": "187698002", + "display": "Malignant tumor of opening of auditory tube (disorder)" + }, { + "code": "187700006", + "display": "Malignant tumor of anterior wall of nasopharynx (disorder)" + }, { + "code": "187701005", + "display": "Malignant neoplasm of floor of nasopharynx (disorder)" + }, { + "code": "187702003", + "display": "Malignant tumor of nasopharyngeal soft palate surface (disorder)" + }, { + "code": "187708004", + "display": "Malignant tumor aryepiglottic fold - hypopharyngeal aspect (disorder)" + }, { + "code": "187709007", + "display": "Malignant neoplasm of posterior pharynx (disorder)" + }, { + "code": "187716008", + "display": "Malignant tumor of Waldeyer's ring (disorder)" + }, { + "code": "187722004", + "display": "Malignant tumor of cervical part of esophagus (disorder)" + }, { + "code": "187723009", + "display": "Malignant tumor of thoracic part of esophagus (disorder)" + }, { + "code": "187724003", + "display": "Malignant tumor of abdominal part of esophagus (disorder)" + }, { + "code": "187725002", + "display": "Malignant tumor of upper third of esophagus (disorder)" + }, { + "code": "187726001", + "display": "Malignant tumor of middle third of esophagus (disorder)" + }, { + "code": "187727005", + "display": "Malignant tumor of lower third of esophagus (disorder)" + }, { + "code": "187732006", + "display": "Malignant tumor of cardia (disorder)" + }, { + "code": "187733001", + "display": "Malignant neoplasm of cardiac orifice of stomach (disorder)" + }, { + "code": "187734007", + "display": "Malignant neoplasm of cardioesophageal junction of stomach (disorder)" + }, { + "code": "187736009", + "display": "Malignant tumor of pylorus (disorder)" + }, { + "code": "187738005", + "display": "Malignant neoplasm of pyloric canal of stomach (disorder)" + }, { + "code": "187740000", + "display": "Malignant tumor of pyloric antrum (disorder)" + }, { + "code": "187741001", + "display": "Malignant tumor of fundus of stomach (disorder)" + }, { + "code": "187742008", + "display": "Malignant tumor of body of stomach (disorder)" + }, { + "code": "187757001", + "display": "Malignant neoplasm, overlapping lesion of colon (disorder)" + }, { + "code": "187760008", + "display": "Malignant neoplasm of rectum, rectosigmoid junction and anus (disorder)" + }, { + "code": "187786003", + "display": "Malignant neoplasm of sphincter of Oddi (disorder)" + }, { + "code": "187794005", + "display": "Malignant tumor of Islets of Langerhans (disorder)" + }, { + "code": "187798008", + "display": "Malignant neoplasm of ectopic pancreatic tissue (disorder)" + }, { + "code": "187801002", + "display": "Malignant tumor of peritoneum and retroperitoneum (disorder)" + }, { + "code": "187803004", + "display": "Malignant neoplasm of perinephric tissue (disorder)" + }, { + "code": "187807003", + "display": "Overlapping malignant lesion of retroperitoneum and peritoneum (disorder)" + }, { + "code": "187808008", + "display": "Malignant neoplasm of specified parts of peritoneum (disorder)" + }, { + "code": "187809000", + "display": "Malignant neoplasm of mesocolon (disorder)" + }, { + "code": "187810005", + "display": "Malignant neoplasm of mesocecum (disorder)" + }, { + "code": "187811009", + "display": "Malignant neoplasm of mesorectum (disorder)" + }, { + "code": "187814001", + "display": "Malignant neoplasm of the pouch of Douglas (disorder)" + }, { + "code": "187821001", + "display": "Angiosarcoma of spleen (disorder)" + }, { + "code": "187822008", + "display": "Fibrosarcoma of spleen (disorder)" + }, { + "code": "187824009", + "display": "Malignant neoplasm, overlapping lesion of digestive system (disorder)" + }, { + "code": "187829004", + "display": "Malignant neoplasm of cartilage of nose (disorder)" + }, { + "code": "187830009", + "display": "Malignant neoplasm of nasal conchae (disorder)" + }, { + "code": "187831008", + "display": "Malignant tumor of nasal vestibule (disorder)" + }, { + "code": "187833006", + "display": "Malignant neoplasm of auditory tube, middle ear and mastoid air cells (disorder)" + }, { + "code": "187834000", + "display": "Malignant tumor of Eustachian tube (disorder)" + }, { + "code": "187835004", + "display": "Malignant tumor of tympanic cavity (disorder)" + }, { + "code": "187836003", + "display": "Malignant tumor of tympanic antrum (disorder)" + }, { + "code": "187838002", + "display": "Malignant neoplasm, overlapping lesion of accessory sinuses (disorder)" + }, { + "code": "187841006", + "display": "Malignant tumor of glottis (disorder)" + }, { + "code": "187842004", + "display": "Malignant tumor of supraglottis (disorder)" + }, { + "code": "187843009", + "display": "Malignant neoplasm of arytenoid cartilage (disorder)" + }, { + "code": "187844003", + "display": "Malignant neoplasm of cricoid cartilage (disorder)" + }, { + "code": "187845002", + "display": "Malignant neoplasm of cuneiform cartilage (disorder)" + }, { + "code": "187846001", + "display": "Malignant neoplasm of thyroid cartilage (disorder)" + }, { + "code": "187853005", + "display": "Malignant neoplasm of cartilage of trachea (disorder)" + }, { + "code": "187854004", + "display": "Malignant neoplasm of mucosa of trachea (disorder)" + }, { + "code": "187857006", + "display": "Malignant neoplasm of carina of bronchus (disorder)" + }, { + "code": "187861000", + "display": "Malignant neoplasm of upper lobe bronchus (disorder)" + }, { + "code": "187862007", + "display": "Malignant neoplasm of upper lobe of lung (disorder)" + }, { + "code": "187864008", + "display": "Malignant neoplasm of middle lobe, bronchus or lung (disorder)" + }, { + "code": "187865009", + "display": "Malignant neoplasm of middle lobe bronchus (disorder)" + }, { + "code": "187866005", + "display": "Malignant neoplasm of middle lobe of lung (disorder)" + }, { + "code": "187868006", + "display": "Malignant neoplasm of lower lobe, bronchus or lung (disorder)" + }, { + "code": "187869003", + "display": "Malignant neoplasm of lower lobe bronchus (disorder)" + }, { + "code": "187870002", + "display": "Malignant neoplasm of lower lobe of lung (disorder)" + }, { + "code": "187881004", + "display": "Malignant neoplasm of thymus, heart and mediastinum (disorder)" + }, { + "code": "187900002", + "display": "Malignant neoplasm of bones of skull and face (disorder)" + }, { + "code": "187903000", + "display": "Malignant neoplasm of malar bone (disorder)" + }, { + "code": "187906008", + "display": "Malignant neoplasm of orbital bone (disorder)" + }, { + "code": "187916000", + "display": "Malignant neoplasm of cervical vertebra (disorder)" + }, { + "code": "187917009", + "display": "Malignant neoplasm of thoracic vertebra (disorder)" + }, { + "code": "187918004", + "display": "Malignant neoplasm of lumbar vertebra (disorder)" + }, { + "code": "187920001", + "display": "Malignant neoplasm of ribs and/or sternum and/or clavicle (disorder)" + }, { + "code": "187925006", + "display": "Malignant neoplasm of costal cartilage (disorder)" + }, { + "code": "187926007", + "display": "Malignant neoplasm of costovertebral joint (disorder)" + }, { + "code": "187927003", + "display": "Malignant neoplasm of xiphoid process (disorder)" + }, { + "code": "187929000", + "display": "Malignant neoplasm of scapula and long bones of upper arm (disorder)" + }, { + "code": "187932002", + "display": "Malignant neoplasm of humerus (disorder)" + }, { + "code": "187937008", + "display": "Malignant neoplasm of carpal bone - scaphoid (disorder)" + }, { + "code": "187938003", + "display": "Malignant neoplasm of carpal bone - lunate (disorder)" + }, { + "code": "187939006", + "display": "Malignant neoplasm of carpal bone - triquetrum (disorder)" + }, { + "code": "187940008", + "display": "Malignant neoplasm of carpal bone - pisiform (disorder)" + }, { + "code": "187941007", + "display": "Malignant neoplasm of carpal bone - trapezium (disorder)" + }, { + "code": "187942000", + "display": "Malignant neoplasm of carpal bone - trapezoid (disorder)" + }, { + "code": "187943005", + "display": "Malignant neoplasm of carpal bone - capitate (disorder)" + }, { + "code": "187944004", + "display": "Malignant neoplasm of carpal bone - hamate (disorder)" + }, { + "code": "187945003", + "display": "Malignant neoplasm of first metacarpal bone (disorder)" + }, { + "code": "187946002", + "display": "Malignant neoplasm of second metacarpal bone (disorder)" + }, { + "code": "187947006", + "display": "Malignant neoplasm of third metacarpal bone (disorder)" + }, { + "code": "187948001", + "display": "Malignant neoplasm of fourth metacarpal bone (disorder)" + }, { + "code": "187949009", + "display": "Malignant neoplasm of fifth metacarpal bone (disorder)" + }, { + "code": "187950009", + "display": "Malignant neoplasm of phalanges of hand (disorder)" + }, { + "code": "187952001", + "display": "Malignant neoplasm of pelvic bones, sacrum and coccyx (disorder)" + }, { + "code": "187956003", + "display": "Malignant neoplasm of sacral vertebra (disorder)" + }, { + "code": "187957007", + "display": "Malignant neoplasm of coccygeal vertebra (disorder)" + }, { + "code": "187967002", + "display": "Malignant neoplasm of calcaneum (disorder)" + }, { + "code": "187968007", + "display": "Malignant neoplasm of medial cuneiform (disorder)" + }, { + "code": "187969004", + "display": "Malignant neoplasm of intermediate cuneiform (disorder)" + }, { + "code": "187970003", + "display": "Malignant neoplasm of lateral cuneiform (disorder)" + }, { + "code": "187972006", + "display": "Malignant neoplasm of navicular (disorder)" + }, { + "code": "187973001", + "display": "Malignant neoplasm of first metatarsal bone (disorder)" + }, { + "code": "187974007", + "display": "Malignant neoplasm of second metatarsal bone (disorder)" + }, { + "code": "187975008", + "display": "Malignant neoplasm of third metatarsal bone (disorder)" + }, { + "code": "187976009", + "display": "Malignant neoplasm of fourth metatarsal bone (disorder)" + }, { + "code": "187977000", + "display": "Malignant neoplasm of fifth metatarsal bone (disorder)" + }, { + "code": "187978005", + "display": "Malignant neoplasm of phalanges of foot (disorder)" + }, { + "code": "187987001", + "display": "Malignant neoplasm of cartilage of ear (disorder)" + }, { + "code": "187988006", + "display": "Malignant neoplasm of tarsus of eyelid (disorder)" + }, { + "code": "187991006", + "display": "Malignant neoplasm of connective and soft tissue of upper limb and shoulder (disorder)" + }, { + "code": "187992004", + "display": "Malignant neoplasm of connective and soft tissue of shoulder (disorder)" + }, { + "code": "187993009", + "display": "Malignant neoplasm of connective and soft tissue, upper arm (disorder)" + }, { + "code": "187994003", + "display": "Malignant neoplasm of connective and soft tissue of forearm (disorder)" + }, { + "code": "187995002", + "display": "Malignant neoplasm of connective and soft tissue of hand (disorder)" + }, { + "code": "187996001", + "display": "Malignant neoplasm of connective and soft tissue of finger (disorder)" + }, { + "code": "187997005", + "display": "Malignant neoplasm of connective and soft tissue of thumb (disorder)" + }, { + "code": "187999008", + "display": "Malignant neoplasm of connective and soft tissue of hip and lower limb (disorder)" + }, { + "code": "188000002", + "display": "Malignant neoplasm of connective and soft tissue of hip (disorder)" + }, { + "code": "188001003", + "display": "Malignant neoplasm of connective and soft tissue of thigh and upper leg (disorder)" + }, { + "code": "188002005", + "display": "Malignant neoplasm of connective and soft tissue of popliteal space (disorder)" + }, { + "code": "188003000", + "display": "Malignant neoplasm of connective and soft tissue of lower leg (disorder)" + }, { + "code": "188004006", + "display": "Malignant neoplasm of connective and soft tissue of foot (disorder)" + }, { + "code": "188005007", + "display": "Malignant neoplasm of connective and soft tissue of toe (disorder)" + }, { + "code": "188009001", + "display": "Malignant neoplasm of connective and soft tissue of thorax (disorder)" + }, { + "code": "188010006", + "display": "Malignant neoplasm of connective and soft tissue of axilla (disorder)" + }, { + "code": "188013008", + "display": "Malignant neoplasm of connective and soft tissues of thoracic spine (disorder)" + }, { + "code": "188015001", + "display": "Malignant neoplasm of connective and soft tissue of abdomen (disorder)" + }, { + "code": "188016000", + "display": "Malignant neoplasm of connective and soft tissue of abdominal wall (disorder)" + }, { + "code": "188017009", + "display": "Malignant neoplasm of connective and soft tissues of lumbar spine (disorder)" + }, { + "code": "188019007", + "display": "Malignant neoplasm of connective and soft tissue of pelvis (disorder)" + }, { + "code": "188020001", + "display": "Malignant neoplasm of connective and soft tissue of buttock (disorder)" + }, { + "code": "188021002", + "display": "Malignant neoplasm of connective and soft tissue of inguinal region (disorder)" + }, { + "code": "188022009", + "display": "Malignant neoplasm of connective and soft tissue of perineum (disorder)" + }, { + "code": "188023004", + "display": "Malignant neoplasm of connective and soft tissue of sacrum or coccyx (disorder)" + }, { + "code": "188029000", + "display": "Kaposi's sarcoma of soft tissue (disorder)" + }, { + "code": "188030005", + "display": "Malignant melanoma of lip (disorder)" + }, { + "code": "188033007", + "display": "Malignant melanoma of auricle (ear) (disorder)" + }, { + "code": "188049009", + "display": "Malignant melanoma of axilla (disorder)" + }, { + "code": "188050009", + "display": "Malignant melanoma of breast (disorder)" + }, { + "code": "188051008", + "display": "Malignant melanoma of buttock (disorder)" + }, { + "code": "188052001", + "display": "Malignant melanoma of groin (disorder)" + }, { + "code": "188055004", + "display": "Malignant melanoma of umbilicus (disorder)" + }, { + "code": "188060000", + "display": "Malignant melanoma of shoulder (disorder)" + }, { + "code": "188061001", + "display": "Malignant melanoma of upper arm (disorder)" + }, { + "code": "188062008", + "display": "Malignant melanoma of forearm (disorder)" + }, { + "code": "188064009", + "display": "Malignant melanoma of finger (disorder)" + }, { + "code": "188065005", + "display": "Malignant melanoma of thumb (disorder)" + }, { + "code": "188068007", + "display": "Malignant melanoma of hip (disorder)" + }, { + "code": "188069004", + "display": "Malignant melanoma of thigh (disorder)" + }, { + "code": "188070003", + "display": "Malignant melanoma of knee (disorder)" + }, { + "code": "188071004", + "display": "Malignant melanoma of popliteal fossa area (disorder)" + }, { + "code": "188072006", + "display": "Malignant melanoma of lower leg (disorder)" + }, { + "code": "188073001", + "display": "Malignant melanoma of ankle (disorder)" + }, { + "code": "188074007", + "display": "Malignant melanoma of heel (disorder)" + }, { + "code": "188075008", + "display": "Malignant melanoma of foot (disorder)" + }, { + "code": "188076009", + "display": "Malignant melanoma of toe (disorder)" + }, { + "code": "188077000", + "display": "Malignant melanoma of great toe (disorder)" + }, { + "code": "188089003", + "display": "Malignant neoplasm of skin of ear and external auditory canal (disorder)" + }, { + "code": "188095002", + "display": "Malignant neoplasm of skin of cheek, external (disorder)" + }, { + "code": "188099008", + "display": "Malignant neoplasm of skin of nose (external) (disorder)" + }, { + "code": "188100000", + "display": "Malignant neoplasm of skin of temple (disorder)" + }, { + "code": "188102008", + "display": "Malignant neoplasm of scalp AND/OR skin of neck (disorder)" + }, { + "code": "188103003", + "display": "Malignant neoplasm of skin of scalp (disorder)" + }, { + "code": "188107002", + "display": "Malignant neoplasm of skin of axillary fold (disorder)" + }, { + "code": "188110009", + "display": "Malignant neoplasm of skin of abdominal wall (disorder)" + }, { + "code": "188122007", + "display": "Malignant neoplasm of skin of forearm (disorder)" + }, { + "code": "188125009", + "display": "Malignant neoplasm of skin of thumb (disorder)" + }, { + "code": "188135003", + "display": "Malignant neoplasm of skin of heel (disorder)" + }, { + "code": "188147009", + "display": "Malignant neoplasm of nipple and areola of female breast (disorder)" + }, { + "code": "188151006", + "display": "Malignant neoplasm of central part of female breast (disorder)" + }, { + "code": "188152004", + "display": "Malignant neoplasm of upper-inner quadrant of female breast (disorder)" + }, { + "code": "188153009", + "display": "Malignant neoplasm of lower-inner quadrant of female breast (disorder)" + }, { + "code": "188154003", + "display": "Malignant neoplasm of upper-outer quadrant of female breast (disorder)" + }, { + "code": "188155002", + "display": "Malignant neoplasm of lower-outer quadrant of female breast (disorder)" + }, { + "code": "188156001", + "display": "Malignant neoplasm of axillary tail of female breast (disorder)" + }, { + "code": "188157005", + "display": "Malignant neoplasm, overlapping lesion of breast (disorder)" + }, { + "code": "188159008", + "display": "Malignant neoplasm of ectopic site of female breast (disorder)" + }, { + "code": "188168005", + "display": "Malignant neoplasm of ectopic site of male breast (disorder)" + }, { + "code": "188176007", + "display": "Malignant neoplasm of endocervical canal (disorder)" + }, { + "code": "188177003", + "display": "Malignant neoplasm of endocervical gland (disorder)" + }, { + "code": "188180002", + "display": "Malignant neoplasm, overlapping lesion of cervix uteri (disorder)" + }, { + "code": "188183000", + "display": "Malignant neoplasm of cervical stump (disorder)" + }, { + "code": "188184006", + "display": "Malignant neoplasm of squamocolumnar junction of cervix (disorder)" + }, { + "code": "188189001", + "display": "Malignant neoplasm of corpus uteri, excluding isthmus (disorder)" + }, { + "code": "188190005", + "display": "Malignant neoplasm of cornu of corpus uteri (disorder)" + }, { + "code": "188191009", + "display": "Malignant neoplasm of fundus of corpus uteri (disorder)" + }, { + "code": "188192002", + "display": "Malignant neoplasm of endometrium of corpus uteri (disorder)" + }, { + "code": "188193007", + "display": "Malignant neoplasm of myometrium of corpus uteri (disorder)" + }, { + "code": "188195000", + "display": "Malignant neoplasm of isthmus of uterine body (disorder)" + }, { + "code": "188198003", + "display": "Malignant neoplasm of overlapping lesion of corpus uteri (disorder)" + }, { + "code": "188204000", + "display": "Malignant neoplasm of round ligament (disorder)" + }, { + "code": "188209005", + "display": "Malignant neoplasm of vaginal vault (disorder)" + }, { + "code": "188219004", + "display": "Malignant tumor of undescended testis (disorder)" + }, { + "code": "188220005", + "display": "Malignant tumor of ectopic testis (disorder)" + }, { + "code": "188230001", + "display": "Malignant tumor of body of penis (disorder)" + }, { + "code": "188234005", + "display": "Malignant tumor of seminal vesicle (disorder)" + }, { + "code": "188235006", + "display": "Malignant tumor of tunica vaginalis (disorder)" + }, { + "code": "188239000", + "display": "Malignant tumor of trigone of urinary bladder (disorder)" + }, { + "code": "188240003", + "display": "Malignant tumor of vault of bladder (disorder)" + }, { + "code": "188241004", + "display": "Malignant neoplasm of lateral wall of urinary bladder (disorder)" + }, { + "code": "188242006", + "display": "Malignant neoplasm of anterior wall of urinary bladder (disorder)" + }, { + "code": "188243001", + "display": "Malignant neoplasm of posterior wall of urinary bladder (disorder)" + }, { + "code": "188244007", + "display": "Malignant tumor of bladder neck (disorder)" + }, { + "code": "188245008", + "display": "Malignant tumor of ureteric orifice (disorder)" + }, { + "code": "188247000", + "display": "Malignant neoplasm, overlapping lesion of bladder (disorder)" + }, { + "code": "188250002", + "display": "Malignant tumor of kidney parenchyma (disorder)" + }, { + "code": "188252005", + "display": "Malignant tumor of renal calyx (disorder)" + }, { + "code": "188253000", + "display": "Malignant tumor of pelviureteric junction (disorder)" + }, { + "code": "188256008", + "display": "Malignant neoplasm of overlapping lesion of urinary organs (disorder)" + }, { + "code": "188261005", + "display": "Malignant neoplasm of eyeball excluding conjunctiva, cornea, retina and choroid (disorder)" + }, { + "code": "188263008", + "display": "Malignant tumor of ciliary body (disorder)" + }, { + "code": "188264002", + "display": "Malignant tumor of iris (disorder)" + }, { + "code": "188265001", + "display": "Malignant neoplasm of crystalline lens (disorder)" + }, { + "code": "188266000", + "display": "Malignant neoplasm of sclera (disorder)" + }, { + "code": "188268004", + "display": "Malignant neoplasm of connective tissue of orbit (disorder)" + }, { + "code": "188269007", + "display": "Malignant neoplasm of extraocular muscle of orbit (disorder)" + }, { + "code": "188272000", + "display": "Malignant tumor of lacrimal gland (disorder)" + }, { + "code": "188273005", + "display": "Malignant neoplasm of lacrimal sac (disorder)" + }, { + "code": "188274004", + "display": "Malignant neoplasm of nasolacrimal duct (disorder)" + }, { + "code": "188280007", + "display": "Malignant neoplasm of cerebrum (excluding lobes and ventricles) (disorder)" + }, { + "code": "188281006", + "display": "Malignant neoplasm of basal ganglia (disorder)" + }, { + "code": "188282004", + "display": "Malignant neoplasm of cerebral cortex (disorder)" + }, { + "code": "188283009", + "display": "Malignant neoplasm of corpus striatum (disorder)" + }, { + "code": "188285002", + "display": "Malignant neoplasm of globus pallidus (disorder)" + }, { + "code": "188286001", + "display": "Malignant tumor of hypothalamus (disorder)" + }, { + "code": "188287005", + "display": "Malignant neoplasm of thalamus (disorder)" + }, { + "code": "188289008", + "display": "Malignant neoplasm of hippocampus (disorder)" + }, { + "code": "188290004", + "display": "Malignant neoplasm of uncus (disorder)" + }, { + "code": "188292007", + "display": "Malignant tumor of choroid plexus (disorder)" + }, { + "code": "188293002", + "display": "Malignant neoplasm of floor of cerebral ventricle (disorder)" + }, { + "code": "188295009", + "display": "Malignant neoplasm of cerebral peduncle (disorder)" + }, { + "code": "188296005", + "display": "Malignant neoplasm of medulla oblongata (disorder)" + }, { + "code": "188297001", + "display": "Malignant neoplasm of midbrain (disorder)" + }, { + "code": "188298006", + "display": "Malignant neoplasm of pons (disorder)" + }, { + "code": "188301005", + "display": "Malignant neoplasm of corpus callosum (disorder)" + }, { + "code": "188302003", + "display": "Malignant neoplasm of tapetum (disorder)" + }, { + "code": "188308004", + "display": "Malignant neoplasm of olfactory bulb (disorder)" + }, { + "code": "188312005", + "display": "Malignant neoplasm of cerebral dura mater (disorder)" + }, { + "code": "188313000", + "display": "Malignant neoplasm of cerebral arachnoid mater (disorder)" + }, { + "code": "188315007", + "display": "Malignant neoplasm of cerebral pia mater (disorder)" + }, { + "code": "188317004", + "display": "Malignant neoplasm of spinal dura mater (disorder)" + }, { + "code": "188318009", + "display": "Malignant neoplasm of spinal arachnoid mater (disorder)" + }, { + "code": "188319001", + "display": "Malignant neoplasm of spinal pia mater (disorder)" + }, { + "code": "188325002", + "display": "Malignant neoplasm of peripheral nerve of thorax (disorder)" + }, { + "code": "188326001", + "display": "Malignant neoplasm of peripheral nerve of abdomen (disorder)" + }, { + "code": "188327005", + "display": "Malignant neoplasm of peripheral nerve of pelvis (disorder)" + }, { + "code": "188339002", + "display": "Malignant neoplasm of pituitary gland and craniopharyngeal duct (disorder)" + }, { + "code": "188340000", + "display": "Malignant tumor of craniopharyngeal duct (disorder)" + }, { + "code": "188361007", + "display": "Malignant neoplasm of thorax (disorder)" + }, { + "code": "188471005", + "display": "Secondary malignant neoplasm of epididymis AND vas deferens (disorder)" + }, { + "code": "188487008", + "display": "Lymphosarcoma and reticulosarcoma (disorder)" + }, { + "code": "188489006", + "display": "Reticulosarcoma of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188492005", + "display": "Reticulosarcoma of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188493000", + "display": "Reticulosarcoma of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188498009", + "display": "Lymphosarcoma (disorder)" + }, { + "code": "188500005", + "display": "Lymphosarcoma of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188501009", + "display": "Lymphosarcoma of intrathoracic lymph nodes (disorder)" + }, { + "code": "188502002", + "display": "Lymphosarcoma of intra-abdominal lymph nodes (disorder)" + }, { + "code": "188503007", + "display": "Lymphosarcoma of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188504001", + "display": "Lymphosarcoma of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188505000", + "display": "Lymphosarcoma of intrapelvic lymph nodes (disorder)" + }, { + "code": "188506004", + "display": "Lymphosarcoma of spleen (disorder)" + }, { + "code": "188507008", + "display": "Lymphosarcoma of lymph nodes of multiple sites (disorder)" + }, { + "code": "188511002", + "display": "Burkitt's lymphoma of intrathoracic lymph nodes (disorder)" + }, { + "code": "188512009", + "display": "Burkitt's lymphoma of intra-abdominal lymph nodes (disorder)" + }, { + "code": "188513004", + "display": "Burkitt's lymphoma of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188514005", + "display": "Burkitt's lymphoma of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188515006", + "display": "Burkitt's lymphoma of intrapelvic lymph nodes (disorder)" + }, { + "code": "188516007", + "display": "Burkitt's lymphoma of spleen (disorder)" + }, { + "code": "188517003", + "display": "Burkitt's lymphoma of lymph nodes of multiple sites (disorder)" + }, { + "code": "188524002", + "display": "Hodgkin's paragranuloma of intrathoracic lymph nodes (disorder)" + }, { + "code": "188529007", + "display": "Hodgkin's paragranuloma of intrapelvic lymph nodes (disorder)" + }, { + "code": "188531003", + "display": "Hodgkin's paragranuloma of lymph nodes of multiple sites (disorder)" + }, { + "code": "188536008", + "display": "Hodgkin's granuloma of intra-abdominal lymph nodes (disorder)" + }, { + "code": "188537004", + "display": "Hodgkin's granuloma of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188538009", + "display": "Hodgkin's granuloma of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188541000", + "display": "Hodgkin's granuloma of lymph nodes of multiple sites (disorder)" + }, { + "code": "188547001", + "display": "Hodgkin's sarcoma of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188548006", + "display": "Hodgkin's sarcoma of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188551004", + "display": "Hodgkin's sarcoma of lymph nodes of multiple sites (disorder)" + }, { + "code": "188554007", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188558005", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188559002", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188562004", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of lymph nodes of multiple sites (disorder)" + }, { + "code": "188565002", + "display": "Hodgkin's disease, nodular sclerosis of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188566001", + "display": "Hodgkin's disease, nodular sclerosis of intrathoracic lymph nodes (disorder)" + }, { + "code": "188567005", + "display": "Hodgkin's disease, nodular sclerosis of intra-abdominal lymph nodes (disorder)" + }, { + "code": "188568000", + "display": "Hodgkin's disease, nodular sclerosis of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188569008", + "display": "Hodgkin's disease, nodular sclerosis of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188570009", + "display": "Hodgkin's disease, nodular sclerosis of intrapelvic lymph nodes (disorder)" + }, { + "code": "188572001", + "display": "Hodgkin's disease, nodular sclerosis of lymph nodes of multiple sites (disorder)" + }, { + "code": "188575004", + "display": "Hodgkin's disease, mixed cellularity of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188576003", + "display": "Hodgkin's disease, mixed cellularity of intrathoracic lymph nodes (disorder)" + }, { + "code": "188577007", + "display": "Hodgkin's disease, mixed cellularity of intra-abdominal lymph nodes (disorder)" + }, { + "code": "188578002", + "display": "Hodgkin's disease, mixed cellularity of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188579005", + "display": "Hodgkin's disease, mixed cellularity of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188580008", + "display": "Hodgkin's disease, mixed cellularity of intrapelvic lymph nodes (disorder)" + }, { + "code": "188582000", + "display": "Hodgkin's disease, mixed cellularity of lymph nodes of multiple sites (disorder)" + }, { + "code": "188585003", + "display": "Hodgkin's disease, lymphocytic depletion of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188586002", + "display": "Hodgkin's disease, lymphocytic depletion of intrathoracic lymph nodes (disorder)" + }, { + "code": "188587006", + "display": "Hodgkin's disease, lymphocytic depletion of intra-abdominal lymph nodes (disorder)" + }, { + "code": "188589009", + "display": "Hodgkin's disease, lymphocytic depletion of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188590000", + "display": "Hodgkin's disease, lymphocytic depletion of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188591001", + "display": "Hodgkin's disease, lymphocytic depletion of intrapelvic lymph nodes (disorder)" + }, { + "code": "188592008", + "display": "Hodgkin's disease, lymphocytic depletion of spleen (disorder)" + }, { + "code": "188593003", + "display": "Hodgkin's disease, lymphocytic depletion of lymph nodes of multiple sites (disorder)" + }, { + "code": "188609000", + "display": "Nodular lymphoma of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188612002", + "display": "Nodular lymphoma of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188613007", + "display": "Nodular lymphoma of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188627002", + "display": "Mycosis fungoides of lymph nodes of multiple sites (disorder)" + }, { + "code": "188631008", + "display": "Sézary's disease of intrathoracic lymph nodes (disorder)" + }, { + "code": "188632001", + "display": "Sézary's disease of intra-abdominal lymph nodes (disorder)" + }, { + "code": "188633006", + "display": "Sézary's disease of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188634000", + "display": "Sézary's disease of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188635004", + "display": "Sézary's disease of intrapelvic lymph nodes (disorder)" + }, { + "code": "188637007", + "display": "Sézary's disease of lymph nodes of multiple sites (disorder)" + }, { + "code": "188641006", + "display": "Malignant histiocytosis of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188642004", + "display": "Malignant histiocytosis of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188645002", + "display": "Leukemic reticuloendotheliosis of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188648000", + "display": "Leukemic reticuloendotheliosis of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188649008", + "display": "Leukemic reticuloendotheliosis of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188660004", + "display": "Malignant mast cell tumors (disorder)" + }, { + "code": "188662007", + "display": "Mast cell malignancy of lymph nodes of head, face and neck (disorder)" + }, { + "code": "188663002", + "display": "Mast cell malignancy of intrathoracic lymph nodes (disorder)" + }, { + "code": "188664008", + "display": "Mast cell malignancy of intra-abdominal lymph nodes (disorder)" + }, { + "code": "188665009", + "display": "Mast cell malignancy of lymph nodes of axilla and upper limb (disorder)" + }, { + "code": "188666005", + "display": "Mast cell malignancy of lymph nodes of inguinal region and lower limb (disorder)" + }, { + "code": "188667001", + "display": "Mast cell malignancy of intrapelvic lymph nodes (disorder)" + }, { + "code": "188668006", + "display": "Mast cell malignancy of spleen (disorder)" + }, { + "code": "188669003", + "display": "Mast cell malignancy of lymph nodes of multiple sites (disorder)" + }, { + "code": "188672005", + "display": "Follicular non-Hodgkin's mixed small cleaved and large cell lymphoma (disorder)" + }, { + "code": "188674006", + "display": "Diffuse malignant lymphoma - small non-cleaved cell (disorder)" + }, { + "code": "188675007", + "display": "Malignant lymphoma - small cleaved cell (disorder)" + }, { + "code": "188676008", + "display": "Malignant lymphoma - mixed small and large cell (disorder)" + }, { + "code": "188679001", + "display": "Diffuse non-Hodgkin's lymphoma undifferentiated (diffuse) (disorder)" + }, { + "code": "188718006", + "display": "Malignant plasma cell neoplasm, extramedullary plasmacytoma (disorder)" + }, { + "code": "188725004", + "display": "Lymphoid leukemia (disorder)" + }, { + "code": "188726003", + "display": "Subacute lymphoid leukemia (disorder)" + }, { + "code": "188728002", + "display": "Aleukemic lymphoid leukemia (disorder)" + }, { + "code": "188729005", + "display": "Adult T-cell leukemia (disorder)" + }, { + "code": "188732008", + "display": "Myeloid leukemia (disorder)" + }, { + "code": "188733003", + "display": "Chronic eosinophilic leukemia (disorder)" + }, { + "code": "188734009", + "display": "Chronic neutrophilic leukemia (disorder)" + }, { + "code": "188736006", + "display": "Subacute myeloid leukemia (disorder)" + }, { + "code": "188737002", + "display": "Chloroma (disorder)" + }, { + "code": "188738007", + "display": "Granulocytic sarcoma (disorder)" + }, { + "code": "188741003", + "display": "Aleukemic myeloid leukemia (disorder)" + }, { + "code": "188744006", + "display": "Monocytic leukemia (disorder)" + }, { + "code": "188745007", + "display": "Chronic monocytic leukemia (disorder)" + }, { + "code": "188746008", + "display": "Subacute monocytic leukemia (disorder)" + }, { + "code": "188748009", + "display": "Aleukemic monocytic leukemia (disorder)" + }, { + "code": "188754005", + "display": "Megakaryocytic leukemia (disorder)" + }, { + "code": "188768003", + "display": "Myelomonocytic leukemia (disorder)" + }, { + "code": "188770007", + "display": "Subacute myelomonocytic leukemia (disorder)" + }, { + "code": "190030009", + "display": "Compound leukemias (disorder)" + }, { + "code": "190818004", + "display": "Waldenström macroglobulinemia (disorder)" + }, { + "code": "192681000119104", + "display": "Malignant carcinoid tumor of appendix (disorder)" + }, { + "code": "192701000119101", + "display": "Malignant carcinoid tumor of ileum (disorder)" + }, { + "code": "208041000119100", + "display": "Primary adenocarcinoma of endocervix (disorder)" + }, { + "code": "230156002", + "display": "Malignant meningitis (disorder)" + }, { + "code": "231829006", + "display": "Malignant neoplasm of eyelid (disorder)" + }, { + "code": "231831002", + "display": "Squamous cell carcinoma of eyelid (disorder)" + }, { + "code": "231832009", + "display": "Basal cell carcinoma of eyelid (disorder)" + }, { + "code": "231833004", + "display": "Sebaceous adenocarcinoma of eyelid (disorder)" + }, { + "code": "231834005", + "display": "Malignant melanoma of eyelid (disorder)" + }, { + "code": "231835006", + "display": "Kaposi's sarcoma of eyelid (disorder)" + }, { + "code": "232075002", + "display": "Lymphoma of retina (disorder)" + }, { + "code": "235966007", + "display": "Cystadenocarcinoma of pancreas (disorder)" + }, { + "code": "236512004", + "display": "Leukemic infiltrate of kidney (disorder)" + }, { + "code": "236513009", + "display": "Lymphoma of kidney (disorder)" + }, { + "code": "240163000", + "display": "Malignant neoplasm of nasopharyngeal wall (disorder)" + }, { + "code": "240531002", + "display": "African Burkitt's lymphoma (disorder)" + }, { + "code": "24111000119105", + "display": "Primary squamous cell carcinoma of upper limb (disorder)" + }, { + "code": "241861008", + "display": "Metastatic malignant neoplasm to nasopharynx (disorder)" + }, { + "code": "242862004", + "display": "Secondary malignant neoplasm of nasopharyngeal wall (disorder)" + }, { + "code": "253001006", + "display": "Merkel cell carcinoma (disorder)" + }, { + "code": "253003009", + "display": "Carcinoid bronchial adenoma (disorder)" + }, { + "code": "253017000", + "display": "Klatskin's tumor (disorder)" + }, { + "code": "253018005", + "display": "Fibrolamellar hepatocellular carcinoma (disorder)" + }, { + "code": "254389005", + "display": "Carcinoma of vermilion border of upper lip (disorder)" + }, { + "code": "254390001", + "display": "Carcinoma of vermilion border of lower lip (disorder)" + }, { + "code": "254393004", + "display": "Carcinoma of frenum of lip (disorder)" + }, { + "code": "254398008", + "display": "Carcinoma of frenum of upper lip (disorder)" + }, { + "code": "254402004", + "display": "Carcinoma of frenum of lower lip (disorder)" + }, { + "code": "254404003", + "display": "Carcinoma of commissure of lip (disorder)" + }, { + "code": "254408000", + "display": "Malignant tumor of anterior two-thirds of tongue - lateral margin (disorder)" + }, { + "code": "254412006", + "display": "Malignant tumor of tip of tongue (disorder)" + }, { + "code": "254417000", + "display": "Carcinoma of frenum linguae (disorder)" + }, { + "code": "254423005", + "display": "Carcinoma of lingual tonsil (disorder)" + }, { + "code": "254424004", + "display": "Carcinoma of upper gum (disorder)" + }, { + "code": "254425003", + "display": "Carcinoma of lower gum (disorder)" + }, { + "code": "254427006", + "display": "Carcinoma of anterior part of floor of mouth (disorder)" + }, { + "code": "254431000", + "display": "Carcinoma of lateral part of floor of mouth (disorder)" + }, { + "code": "254434008", + "display": "Carcinoma of hard palate (disorder)" + }, { + "code": "254435009", + "display": "Carcinoma of soft palate (disorder)" + }, { + "code": "254436005", + "display": "Carcinoma of uvula (disorder)" + }, { + "code": "254437001", + "display": "Squamous cell carcinoma of buccal mucosa (disorder)" + }, { + "code": "254441002", + "display": "Carcinoma of upper buccal sulcus (disorder)" + }, { + "code": "254445006", + "display": "Carcinoma of lower buccal sulcus (disorder)" + }, { + "code": "254450000", + "display": "Carcinoma of upper labial sulcus (disorder)" + }, { + "code": "254454009", + "display": "Carcinoma of lower labial sulcus (disorder)" + }, { + "code": "254457002", + "display": "Carcinoma of retromolar area (disorder)" + }, { + "code": "254459004", + "display": "Malignant tumor of anterior pillar of fauces (disorder)" + }, { + "code": "254462001", + "display": "Carcinoma of parotid gland (disorder)" + }, { + "code": "254465004", + "display": "Carcinoma of submandibular gland (disorder)" + }, { + "code": "254466003", + "display": "Carcinoma of sublingual gland (disorder)" + }, { + "code": "254478004", + "display": "Malignant tumor of inferior turbinate (disorder)" + }, { + "code": "254481009", + "display": "Malignant tumor of middle turbinate (disorder)" + }, { + "code": "254484001", + "display": "Malignant tumor of posterior margin of nasal septum and choanae (disorder)" + }, { + "code": "254503007", + "display": "Malignant tumor of inferior surface of soft palate (disorder)" + }, { + "code": "254509006", + "display": "Malignant tumor of anterior commissure (disorder)" + }, { + "code": "254513004", + "display": "Malignant tumor of posterior commissure (disorder)" + }, { + "code": "254517003", + "display": "Malignant tumor of suprahyoid epiglottis (disorder)" + }, { + "code": "254520006", + "display": "Malignant tumor of infrahyoid epiglottis (disorder)" + }, { + "code": "254526000", + "display": "Malignant tumor of laryngeal ventricle (disorder)" + }, { + "code": "254530002", + "display": "Malignant tumor of parapharyngeal space (disorder)" + }, { + "code": "254535007", + "display": "Carcinoma of cervical part of esophagus (disorder)" + }, { + "code": "254539001", + "display": "Carcinoma of thoracic part of esophagus (disorder)" + }, { + "code": "254543002", + "display": "Carcinoma of abdominal part of esophagus (disorder)" + }, { + "code": "254547001", + "display": "Carcinoma of upper third of esophagus (disorder)" + }, { + "code": "254549003", + "display": "Carcinoma of middle third of esophagus (disorder)" + }, { + "code": "254551004", + "display": "Carcinoma of lower third of esophagus (disorder)" + }, { + "code": "254553001", + "display": "Carcinoma of cardia (disorder)" + }, { + "code": "254555008", + "display": "Carcinoma of fundus of stomach (disorder)" + }, { + "code": "254557000", + "display": "Carcinoma of body of stomach (disorder)" + }, { + "code": "254559002", + "display": "Carcinoma of pyloric antrum (disorder)" + }, { + "code": "254561006", + "display": "Carcinoma of pylorus (disorder)" + }, { + "code": "254563009", + "display": "Carcinoma of lesser curve of stomach (disorder)" + }, { + "code": "254567005", + "display": "Carcinoma of greater curve of stomach (disorder)" + }, { + "code": "254570009", + "display": "Carcinoma of duodenum (disorder)" + }, { + "code": "254582000", + "display": "Adenocarcinoma of rectum (disorder)" + }, { + "code": "254586002", + "display": "Malignant tumor of anorectal junction (disorder)" + }, { + "code": "254601002", + "display": "Sarcoma of liver (disorder)" + }, { + "code": "254609000", + "display": "Carcinoma of ampulla of Vater (disorder)" + }, { + "code": "254611009", + "display": "Malignant tumor of endocrine pancreas (disorder)" + }, { + "code": "254612002", + "display": "Carcinoma of endocrine pancreas (disorder)" + }, { + "code": "254613007", + "display": "Carcinoid tumor of pancreas (disorder)" + }, { + "code": "254619006", + "display": "Adenoid cystic carcinoma of trachea (disorder)" + }, { + "code": "254620000", + "display": "Squamous cell carcinoma of trachea (disorder)" + }, { + "code": "254622008", + "display": "Squamous cell carcinoma of bronchus (disorder)" + }, { + "code": "254625005", + "display": "Malignant tumor of lung parenchyma (disorder)" + }, { + "code": "254626006", + "display": "Adenocarcinoma of lung (disorder)" + }, { + "code": "254627002", + "display": "Carcinoid tumor of lung (disorder)" + }, { + "code": "254629004", + "display": "Large cell carcinoma of lung (disorder)" + }, { + "code": "254631008", + "display": "Giant cell carcinoma of lung (disorder)" + }, { + "code": "254632001", + "display": "Small cell carcinoma of lung (disorder)" + }, { + "code": "254633006", + "display": "Oat cell carcinoma of lung (disorder)" + }, { + "code": "254634000", + "display": "Squamous cell carcinoma of lung (disorder)" + }, { + "code": "254635004", + "display": "Epithelioid hemangioendothelioma of lung (disorder)" + }, { + "code": "254637007", + "display": "Non-small cell lung cancer (disorder)" + }, { + "code": "254638002", + "display": "Pancoast tumor (disorder)" + }, { + "code": "254645002", + "display": "Malignant mesothelioma of pleura (disorder)" + }, { + "code": "254701007", + "display": "Basal cell carcinoma of skin (disorder)" + }, { + "code": "254711000", + "display": "Adenoid cystic eccrine carcinoma of skin (disorder)" + }, { + "code": "254713002", + "display": "Mucoepidermoid carcinoma of skin (disorder)" + }, { + "code": "254714008", + "display": "Mucinous eccrine carcinoma of skin (disorder)" + }, { + "code": "254730000", + "display": "Superficial spreading malignant melanoma of skin (disorder)" + }, { + "code": "254731001", + "display": "Nodular malignant melanoma of skin (disorder)" + }, { + "code": "254732008", + "display": "Acral lentiginous malignant melanoma of skin (disorder)" + }, { + "code": "254733003", + "display": "Malignant melanoma arising in intradermal nevus (disorder)" + }, { + "code": "254734009", + "display": "Malignant melanoma arising in congenital nevus (disorder)" + }, { + "code": "254792006", + "display": "Proliferating angioendotheliomatosis (disorder)" + }, { + "code": "254797000", + "display": "Malignant hemangiopericytoma of skin (disorder)" + }, { + "code": "254838004", + "display": "Carcinoma of breast (disorder)" + }, { + "code": "254839007", + "display": "Scirrhous carcinoma of breast (disorder)" + }, { + "code": "254849005", + "display": "Malignant epithelial tumor of ovary (disorder)" + }, { + "code": "254850005", + "display": "Serous papillary cystadenocarcinoma ovary (disorder)" + }, { + "code": "254851009", + "display": "Mucinous cystadenocarcinoma of ovary (disorder)" + }, { + "code": "254852002", + "display": "Endometrioid carcinoma ovary (disorder)" + }, { + "code": "254856004", + "display": "Undifferentiated carcinoma of ovary (disorder)" + }, { + "code": "254860001", + "display": "Malignant sex cord tumor of ovary (disorder)" + }, { + "code": "254861002", + "display": "Malignant granulosa cell tumor of ovary (disorder)" + }, { + "code": "254863004", + "display": "Granulosa cell tumor of ovary (disorder)" + }, { + "code": "254869000", + "display": "Malignant germ cell tumor of ovary (disorder)" + }, { + "code": "254870004", + "display": "Choriocarcinoma of ovary (disorder)" + }, { + "code": "254871000", + "display": "Immature teratoma of ovary (disorder)" + }, { + "code": "254872007", + "display": "Embryonal carcinoma of ovary (disorder)" + }, { + "code": "254874008", + "display": "Dysgerminoma of ovary (disorder)" + }, { + "code": "254876005", + "display": "Endodermal sinus tumor of ovary (disorder)" + }, { + "code": "254877001", + "display": "Sarcoma of uterus (disorder)" + }, { + "code": "254878006", + "display": "Endometrial carcinoma (disorder)" + }, { + "code": "254886006", + "display": "Squamous cell carcinoma of cervix (disorder)" + }, { + "code": "254887002", + "display": "Adenocarcinoma of cervix (disorder)" + }, { + "code": "254888007", + "display": "Adenosquamous carcinoma of cervix (disorder)" + }, { + "code": "254889004", + "display": "Carcinoma of cervix stage 0 (disorder)" + }, { + "code": "254893005", + "display": "Carcinoma of vagina (disorder)" + }, { + "code": "254895003", + "display": "Squamous cell carcinoma of vulva (disorder)" + }, { + "code": "254896002", + "display": "Malignant melanoma of vulva (disorder)" + }, { + "code": "254900004", + "display": "Carcinoma of prostate (disorder)" + }, { + "code": "254904008", + "display": "Carcinoma of glans penis (disorder)" + }, { + "code": "254908006", + "display": "Malignant tumor of skin of penis (disorder)" + }, { + "code": "254909003", + "display": "Carcinoma of foreskin (disorder)" + }, { + "code": "254912000", + "display": "Regressed malignant testicular tumor (disorder)" + }, { + "code": "254915003", + "display": "Clear cell carcinoma of kidney (disorder)" + }, { + "code": "254916002", + "display": "Cystadenocarcinoma of kidney (disorder)" + }, { + "code": "254917006", + "display": "Papillary cystadenocarcinoma of kidney (disorder)" + }, { + "code": "254918001", + "display": "Sarcoma of kidney (disorder)" + }, { + "code": "254920003", + "display": "Cystadenoma of kidney (disorder)" + }, { + "code": "254934003", + "display": "Malignant tumor of urethral stump (disorder)" + }, { + "code": "254936001", + "display": "Glial tumor of brain (disorder)" + }, { + "code": "254938000", + "display": "Astrocytoma of brain (disorder)" + }, { + "code": "254940005", + "display": "Oligodendroglioma of brain (disorder)" + }, { + "code": "254941009", + "display": "Mixed glial tumor of brain (disorder)" + }, { + "code": "254945000", + "display": "Embryonal tumor of brain (disorder)" + }, { + "code": "254946004", + "display": "Glial tumor of spinal cord (disorder)" + }, { + "code": "254947008", + "display": "Glioma of spinal cord (disorder)" + }, { + "code": "254948003", + "display": "Astrocytoma of spinal cord (disorder)" + }, { + "code": "254950006", + "display": "Oligodendroglioma of spinal cord (disorder)" + }, { + "code": "254951005", + "display": "Mixed glial tumor of spinal cord (disorder)" + }, { + "code": "254954002", + "display": "Embryonal tumor of spinal cord (disorder)" + }, { + "code": "254955001", + "display": "Pituitary carcinoma (disorder)" + }, { + "code": "254969001", + "display": "Malignant tumor of olfactory tract (disorder)" + }, { + "code": "254972008", + "display": "Malignant tumor of optic nerve and sheath (disorder)" + }, { + "code": "254973003", + "display": "Malignant astrocytoma of optic nerve (disorder)" + }, { + "code": "254974009", + "display": "Malignant tumor of optic nerve sheath (disorder)" + }, { + "code": "254975005", + "display": "Malignant meningioma of optic nerve sheath (disorder)" + }, { + "code": "254987003", + "display": "Adenoid cystic carcinoma of lacrimal gland (disorder)" + }, { + "code": "254988008", + "display": "Adenocarcinoma of lacrimal gland (disorder)" + }, { + "code": "254989000", + "display": "Carcinoma ex pleomorphic adenoma of lacrimal gland (disorder)" + }, { + "code": "254990009", + "display": "Mucoepidermoid tumor of lacrimal gland (disorder)" + }, { + "code": "254993006", + "display": "Liposarcoma of orbit (disorder)" + }, { + "code": "254994000", + "display": "Rhabdomyosarcoma of orbit (disorder)" + }, { + "code": "254995004", + "display": "Malignant hemangiopericytoma of orbit (disorder)" + }, { + "code": "254996003", + "display": "Malignant fibrous histiocytoma of orbit (disorder)" + }, { + "code": "255003007", + "display": "Squamous cell carcinoma of conjunctiva (disorder)" + }, { + "code": "255004001", + "display": "Malignant melanoma of conjunctiva (disorder)" + }, { + "code": "255008003", + "display": "Squamous cell carcinoma of cornea (disorder)" + }, { + "code": "255012009", + "display": "Malignant melanoma of iris (disorder)" + }, { + "code": "255015006", + "display": "Malignant melanoma of ciliary body (disorder)" + }, { + "code": "255016007", + "display": "Adenocarcinoma of pigmented epithelium of ciliary body (disorder)" + }, { + "code": "255017003", + "display": "Adenocarcinoma of non-pigmented epithelium of ciliary body (disorder)" + }, { + "code": "255021005", + "display": "Malignant melanoma of choroid (disorder)" + }, { + "code": "255026000", + "display": "Astrocytoma of retina (disorder)" + }, { + "code": "255028004", + "display": "Follicular thyroid carcinoma (disorder)" + }, { + "code": "255029007", + "display": "Papillary thyroid carcinoma (disorder)" + }, { + "code": "255030002", + "display": "Mixed follicular and papillary thyroid carcinoma (disorder)" + }, { + "code": "255031003", + "display": "Anaplastic thyroid carcinoma (disorder)" + }, { + "code": "255032005", + "display": "Medullary thyroid carcinoma (disorder)" + }, { + "code": "255035007", + "display": "Adrenal carcinoma (disorder)" + }, { + "code": "255037004", + "display": "Parathyroid carcinoma (disorder)" + }, { + "code": "255067005", + "display": "Sarcoma of bone and connective tissue (disorder)" + }, { + "code": "255071008", + "display": "Squamous cell carcinoma of lip (disorder)" + }, { + "code": "255072001", + "display": "Malignant tumor of salivary gland (disorder)" + }, { + "code": "255074000", + "display": "Malignant tumor of nasal cavity and nasopharynx (disorder)" + }, { + "code": "255075004", + "display": "Malignant tumor of lateral nasal wall (disorder)" + }, { + "code": "255078002", + "display": "Malignant tumor of esophagus, stomach and duodenum (disorder)" + }, { + "code": "255081007", + "display": "Carcinoma of cecum (disorder)" + }, { + "code": "255083005", + "display": "Malignant tumor of anus and anal canal (disorder)" + }, { + "code": "255084004", + "display": "Squamous cell carcinoma of anal margin (disorder)" + }, { + "code": "255090000", + "display": "Malignant neoplasm of carpal bones (disorder)" + }, { + "code": "255091001", + "display": "Malignant neoplasm of metacarpal bones (disorder)" + }, { + "code": "255101006", + "display": "Sézary disease of skin (disorder)" + }, { + "code": "255108000", + "display": "Carcinoma of bladder (disorder)" + }, { + "code": "255109008", + "display": "Transitional cell carcinoma of bladder (disorder)" + }, { + "code": "255110003", + "display": "Adenocarcinoma of bladder (disorder)" + }, { + "code": "255111004", + "display": "Squamous cell carcinoma of bladder (disorder)" + }, { + "code": "255112006", + "display": "Malignant tumor of pituitary and hypothalamus (disorder)" + }, { + "code": "255114007", + "display": "Kaposi's sarcoma of conjunctiva (disorder)" + }, { + "code": "255115008", + "display": "Kaposi's sarcoma of cornea (disorder)" + }, { + "code": "255119002", + "display": "Lymphangitis carcinomatosa (disorder)" + }, { + "code": "255121007", + "display": "Carcinomatosis of peritoneal cavity (disorder)" + }, { + "code": "255123005", + "display": "Metastasis to nervous system and eye (disorder)" + }, { + "code": "255124004", + "display": "Metastasis to peripheral nerve (disorder)" + }, { + "code": "255128001", + "display": "Malignant infiltration of peripheral nerve (disorder)" + }, { + "code": "255129009", + "display": "Malignant infiltration of peripheral nerve plexus (disorder)" + }, { + "code": "269459004", + "display": "Malignant tumor of lesser curve of stomach (disorder)" + }, { + "code": "269460009", + "display": "Malignant tumor of greater curve of stomach (disorder)" + }, { + "code": "269463006", + "display": "Malignant tumor of middle ear and mastoid (disorder)" + }, { + "code": "269464000", + "display": "Malignant neoplasm of upper lobe, bronchus or lung (disorder)" + }, { + "code": "269467007", + "display": "Malignant neoplasm of hand bones (disorder)" + }, { + "code": "269475001", + "display": "Malignant tumor of lymphoid, hemopoietic AND/OR related tissue (disorder)" + }, { + "code": "269476000", + "display": "Nodular lymphoma (disorder)" + }, { + "code": "269515006", + "display": "Carcinoma of lip (disorder)" + }, { + "code": "269516007", + "display": "Tongue carcinoma (disorder)" + }, { + "code": "269533000", + "display": "Carcinoma of colon (disorder)" + }, { + "code": "269544008", + "display": "Carcinoma of the rectosigmoid junction (disorder)" + }, { + "code": "269578002", + "display": "Malignant melanoma of head and neck (disorder)" + }, { + "code": "269580008", + "display": "Malignant melanoma of upper limb (disorder)" + }, { + "code": "269581007", + "display": "Malignant melanoma of lower limb (disorder)" + }, { + "code": "271323007", + "display": "Malignant neoplasm of lip, oral cavity and/or pharynx (disorder)" + }, { + "code": "271568003", + "display": "Malignant tumor of lower labial mucosa (disorder)" + }, { + "code": "271943005", + "display": "Carcinoma of base of tongue (disorder)" + }, { + "code": "274084007", + "display": "Palate carcinoma (disorder)" + }, { + "code": "274085008", + "display": "Tonsil carcinoma (disorder)" + }, { + "code": "274087000", + "display": "Malignant melanoma of eye (disorder)" + }, { + "code": "274902006", + "display": "Combined hepatocellular carcinoma and cholangiocarcinoma (disorder)" + }, { + "code": "274905008", + "display": "Malignant lymphoma - lymphocytic, intermediate differentiation (disorder)" + }, { + "code": "275266006", + "display": "Metastasis to digestive organs (disorder)" + }, { + "code": "275394001", + "display": "Carcinoma ventral surface of tongue (disorder)" + }, { + "code": "275395000", + "display": "Carcinoma anterior 2/3 tongue ventrum (disorder)" + }, { + "code": "275396004", + "display": "Carcinoma of anterior two-thirds of tongue - dorsal surface (disorder)" + }, { + "code": "275397008", + "display": "Carcinoma of midline of tongue (disorder)" + }, { + "code": "275399006", + "display": "Malignant tumor of lipstick area of lip (disorder)" + }, { + "code": "275490009", + "display": "Carcinoma of tongue base - dorsal surface (disorder)" + }, { + "code": "276419004", + "display": "Malignant tumor of corpus spongiosum (disorder)" + }, { + "code": "276420005", + "display": "Malignant tumor of corpus cavernosum (disorder)" + }, { + "code": "276751004", + "display": "Amelanotic malignant melanoma of skin (disorder)" + }, { + "code": "276803003", + "display": "Adenocarcinoma of esophagus (disorder)" + }, { + "code": "276804009", + "display": "Squamous cell carcinoma of esophagus (disorder)" + }, { + "code": "276808007", + "display": "Carcinoid tumor of stomach (disorder)" + }, { + "code": "276809004", + "display": "Early gastric cancer (disorder)" + }, { + "code": "276810009", + "display": "Late gastric cancer (disorder)" + }, { + "code": "276811008", + "display": "Gastric lymphoma (disorder)" + }, { + "code": "276815004", + "display": "Lymphoma of intestine (disorder)" + }, { + "code": "276816003", + "display": "Carcinoid tumor of intestine (disorder)" + }, { + "code": "276821000", + "display": "Malignant melanoma of anus (disorder)" + }, { + "code": "276822007", + "display": "Malignant melanoma of rectum (disorder)" + }, { + "code": "276826005", + "display": "Malignant glioma of brain (disorder)" + }, { + "code": "276827001", + "display": "Malignant glioma of spinal cord (disorder)" + }, { + "code": "276828006", + "display": "Glioblastoma multiforme of brain (disorder)" + }, { + "code": "276829003", + "display": "Glioblastoma multiforme of spinal cord (disorder)" + }, { + "code": "276836002", + "display": "Primary cerebral lymphoma (disorder)" + }, { + "code": "276860003", + "display": "Squamous cell carcinoma of scrotum (disorder)" + }, { + "code": "276870001", + "display": "Carcinoma of fallopian tube (disorder)" + }, { + "code": "276876007", + "display": "Carcinoma of Bartholin's gland (disorder)" + }, { + "code": "276952000", + "display": "Squamous cell carcinoma of tongue (disorder)" + }, { + "code": "276953005", + "display": "Squamous cell carcinoma of gum (disorder)" + }, { + "code": "276954004", + "display": "Squamous cell carcinoma of floor of mouth (disorder)" + }, { + "code": "276962007", + "display": "Squamous cell carcinoma of palate (disorder)" + }, { + "code": "276975007", + "display": "Carcinoma of larynx (disorder)" + }, { + "code": "277456001", + "display": "Suprasellar germ cell tumor (disorder)" + }, { + "code": "277461004", + "display": "Anaplastic astrocytoma of brain (disorder)" + }, { + "code": "277473004", + "display": "B-cell chronic lymphocytic leukemia (disorder)" + }, { + "code": "277474005", + "display": "B-cell chronic lymphocytic leukemia variant (disorder)" + }, { + "code": "277505007", + "display": "Medulloblastoma of cerebellum (disorder)" + }, { + "code": "277508009", + "display": "Pineal germ cell tumor (disorder)" + }, { + "code": "277530005", + "display": "Malignant melanoma of meninges (disorder)" + }, { + "code": "277545003", + "display": "T-cell chronic lymphocytic leukemia (disorder)" + }, { + "code": "277549009", + "display": "Chronic lymphocytic prolymphocytic leukemia syndrome (disorder)" + }, { + "code": "277550009", + "display": "Richter's syndrome (disorder)" + }, { + "code": "277551008", + "display": "Splenic lymphoma with villous lymphocytes (disorder)" + }, { + "code": "277567002", + "display": "T-cell prolymphocytic leukemia (disorder)" + }, { + "code": "277568007", + "display": "Hairy cell leukemia variant (disorder)" + }, { + "code": "277569004", + "display": "Large granular lymphocytic leukemia (disorder)" + }, { + "code": "277570003", + "display": "Lymphoma with spill (disorder)" + }, { + "code": "277571004", + "display": "B-cell acute lymphoblastic leukemia (disorder)" + }, { + "code": "277572006", + "display": "Pre B-cell acute lymphoblastic leukemia (disorder)" + }, { + "code": "277573001", + "display": "Common acute lymphoblastic leukemia (disorder)" + }, { + "code": "277574007", + "display": "Null cell acute lymphoblastic leukemia (disorder)" + }, { + "code": "277575008", + "display": "T-cell acute lymphoblastic leukemia (disorder)" + }, { + "code": "277587001", + "display": "Juvenile chronic myeloid leukemia (disorder)" + }, { + "code": "277589003", + "display": "Atypical chronic myeloid leukemia (disorder)" + }, { + "code": "277597005", + "display": "Myelodysplastic syndrome with isolated del(5q) (disorder)" + }, { + "code": "277601005", + "display": "Acute monoblastic leukemia (disorder)" + }, { + "code": "277602003", + "display": "Acute megakaryoblastic leukemia (disorder)" + }, { + "code": "277604002", + "display": "Acute eosinophilic leukemia (disorder)" + }, { + "code": "277609007", + "display": "Hodgkin's disease, lymphocytic predominance - diffuse (disorder)" + }, { + "code": "277610002", + "display": "Hodgkin's disease, nodular sclerosis - lymphocytic predominance (disorder)" + }, { + "code": "277611003", + "display": "Hodgkin's disease, nodular sclerosis - mixed cellularity (disorder)" + }, { + "code": "277612005", + "display": "Hodgkin's disease, nodular sclerosis - lymphocytic depletion (disorder)" + }, { + "code": "277613000", + "display": "Cutaneous/peripheral T-cell lymphoma (disorder)" + }, { + "code": "277614006", + "display": "Prethymic and thymic T-cell lymphoma/leukemia (disorder)" + }, { + "code": "277615007", + "display": "Low grade B-cell lymphoma (disorder)" + }, { + "code": "277616008", + "display": "Diffuse low grade B-cell lymphoma (disorder)" + }, { + "code": "277617004", + "display": "High grade B-cell lymphoma (disorder)" + }, { + "code": "277618009", + "display": "Follicular low grade B-cell lymphoma (disorder)" + }, { + "code": "277619001", + "display": "B-cell prolymphocytic leukemia (disorder)" + }, { + "code": "277622004", + "display": "Mucosa-associated lymphoma (disorder)" + }, { + "code": "277623009", + "display": "Monocytoid B-cell lymphoma (disorder)" + }, { + "code": "277624003", + "display": "Follicular malignant lymphoma - mixed cell type (disorder)" + }, { + "code": "277625002", + "display": "Follicular malignant lymphoma - small cleaved cell (disorder)" + }, { + "code": "277626001", + "display": "Diffuse high grade B-cell lymphoma (disorder)" + }, { + "code": "277627005", + "display": "Nodular high grade B-cell lymphoma (disorder)" + }, { + "code": "277628000", + "display": "Diffuse malignant lymphoma - large cleaved cell (disorder)" + }, { + "code": "277629008", + "display": "Diffuse malignant lymphoma - large non-cleaved cell (disorder)" + }, { + "code": "277632006", + "display": "Diffuse malignant lymphoma - centroblastic polymorphic (disorder)" + }, { + "code": "277637000", + "display": "Large cell anaplastic lymphoma (disorder)" + }, { + "code": "277642008", + "display": "Low grade T-cell lymphoma (disorder)" + }, { + "code": "277643003", + "display": "High grade T-cell lymphoma (disorder)" + }, { + "code": "277651000", + "display": "Peripheral T-cell lymphoma - pleomorphic small cell (disorder)" + }, { + "code": "277653002", + "display": "Peripheral T-cell lymphoma - pleomorphic medium and large cell (disorder)" + }, { + "code": "277654008", + "display": "Enteropathy-associated T-cell lymphoma (disorder)" + }, { + "code": "277664004", + "display": "Malignant lymphoma of testis (disorder)" + }, { + "code": "277782009", + "display": "Malignant peritoneal local recurrence (disorder)" + }, { + "code": "278024000", + "display": "Rhabdomyosarcoma of bladder (disorder)" + }, { + "code": "278042005", + "display": "Malignant teratoma of mediastinum (disorder)" + }, { + "code": "278043000", + "display": "Malignant seminoma of mediastinum (disorder)" + }, { + "code": "278044006", + "display": "Malignant neuroma of mediastinum (disorder)" + }, { + "code": "278046008", + "display": "Sarcoma of bladder (disorder)" + }, { + "code": "278050001", + "display": "Sarcoma of breast (disorder)" + }, { + "code": "278051002", + "display": "Malignant lymphoma of thyroid gland (disorder)" + }, { + "code": "278052009", + "display": "Malignant lymphoma of breast (disorder)" + }, { + "code": "278055006", + "display": "Malignant Leydig cell tumor of testis (disorder)" + }, { + "code": "278060005", + "display": "Endometrioid carcinoma of prostate (disorder)" + }, { + "code": "278189009", + "display": "Hypergranular promyelocytic leukemia (disorder)" + }, { + "code": "278433008", + "display": "Malignant infiltration of soft tissue (disorder)" + }, { + "code": "278453007", + "display": "Acute biphenotypic leukemia (disorder)" + }, { + "code": "278491007", + "display": "Mixed seminoma teratoma of testis (disorder)" + }, { + "code": "280959007", + "display": "Malignant tumor of lacrimal drainage structure (disorder)" + }, { + "code": "28122003", + "display": "Pulmonary eosinophilic granuloma (disorder)" + }, { + "code": "281560004", + "display": "Neuroblastoma of brain (disorder)" + }, { + "code": "281562007", + "display": "Adrenal neuroblastoma (disorder)" + }, { + "code": "281563002", + "display": "Thoracic neuroblastoma (disorder)" + }, { + "code": "281564008", + "display": "Pelvic neuroblastoma (disorder)" + }, { + "code": "281565009", + "display": "Paraspinal neuroblastoma (disorder)" + }, { + "code": "281566005", + "display": "Abdominothoracic neuroblastoma (disorder)" + }, { + "code": "281702006", + "display": "Tibial adamantinoma (disorder)" + }, { + "code": "285307007", + "display": "Squamous cell carcinoma of skin of upper lip (disorder)" + }, { + "code": "285308002", + "display": "Squamous cell carcinoma of skin of lower lip (disorder)" + }, { + "code": "285309005", + "display": "Squamous cell carcinoma of skin of cheek (disorder)" + }, { + "code": "285310000", + "display": "Carcinoma of anal canal (disorder)" + }, { + "code": "285312008", + "display": "Carcinoma of sigmoid colon (disorder)" + }, { + "code": "285432005", + "display": "Carcinoma of cervix (disorder)" + }, { + "code": "285598005", + "display": "Metastasis to trachea of unknown primary (disorder)" + }, { + "code": "285603002", + "display": "Metastasis to bronchus of unknown primary (disorder)" + }, { + "code": "285604008", + "display": "Metastasis to lung of unknown primary (disorder)" + }, { + "code": "285605009", + "display": "Metastasis to pleura of unknown primary (disorder)" + }, { + "code": "285606005", + "display": "Metastasis to heart of unknown primary (disorder)" + }, { + "code": "285607001", + "display": "Metastasis to mediastinum of unknown primary (disorder)" + }, { + "code": "285608006", + "display": "Metastasis to thymus of unknown primary (disorder)" + }, { + "code": "285611007", + "display": "Metastasis to colon of unknown primary (disorder)" + }, { + "code": "285612000", + "display": "Metastasis to rectum of unknown primary (disorder)" + }, { + "code": "285613005", + "display": "Metastasis to liver of unknown primary (disorder)" + }, { + "code": "285614004", + "display": "Metastasis to pancreas of unknown primary (disorder)" + }, { + "code": "285615003", + "display": "Metastasis to spleen of unknown primary (disorder)" + }, { + "code": "285616002", + "display": "Metastasis to peritoneum of unknown primary (disorder)" + }, { + "code": "285618001", + "display": "Metastasis to bone of unknown primary (disorder)" + }, { + "code": "285619009", + "display": "Metastasis to vertebral column of unknown primary (disorder)" + }, { + "code": "285631006", + "display": "Metastasis to skin of unknown primary (disorder)" + }, { + "code": "285633009", + "display": "Metastasis to soft tissue of unknown primary (disorder)" + }, { + "code": "285634003", + "display": "Metastasis to breast of unknown primary (disorder)" + }, { + "code": "285635002", + "display": "Metastasis to uterus of unknown primary (disorder)" + }, { + "code": "285637005", + "display": "Metastasis to ovary of unknown primary (disorder)" + }, { + "code": "285638000", + "display": "Metastasis to vagina of unknown primary (disorder)" + }, { + "code": "285639008", + "display": "Metastasis to kidney of unknown primary (disorder)" + }, { + "code": "285640005", + "display": "Metastasis to bladder of unknown primary (disorder)" + }, { + "code": "285641009", + "display": "Metastasis to brain of unknown primary (disorder)" + }, { + "code": "285642002", + "display": "Metastasis to eye of unknown primary (disorder)" + }, { + "code": "285643007", + "display": "Metastasis to adrenal gland of unknown primary (disorder)" + }, { + "code": "285644001", + "display": "Metastasis to lymph node of unknown primary (disorder)" + }, { + "code": "285769009", + "display": "Acute promyelocytic leukemia - hypogranular variant (disorder)" + }, { + "code": "285776004", + "display": "Intermediate grade B-cell lymphoma (disorder)" + }, { + "code": "285839005", + "display": "Acute myelomonocytic leukemia - eosinophilic variant (disorder)" + }, { + "code": "286889008", + "display": "Carcinoma of upper limb bones/scapula (disorder)" + }, { + "code": "286890004", + "display": "Carcinoma of lower limb bones (disorder)" + }, { + "code": "286893002", + "display": "Carcinoma of breast - upper, inner quadrant (disorder)" + }, { + "code": "286894008", + "display": "Carcinoma of breast - lower, inner quadrant (disorder)" + }, { + "code": "286895009", + "display": "Carcinoma of breast - upper, outer quadrant (disorder)" + }, { + "code": "286896005", + "display": "Carcinoma breast - lower, outer quadrant (disorder)" + }, { + "code": "286897001", + "display": "Carcinoma of breast - axillary tail (disorder)" + }, { + "code": "286900008", + "display": "Carcinoma of epididymis/spermatic cord (disorder)" + }, { + "code": "29421000119105", + "display": "Adenocarcinoma in adenomatous polyp (disorder)" + }, { + "code": "29431000119108", + "display": "Adenocarcinoma in villous adenoma (disorder)" + }, { + "code": "300988009", + "display": "Transitional cell carcinoma of ureter (disorder)" + }, { + "code": "301756000", + "display": "Adenocarcinoma of sigmoid colon (disorder)" + }, { + "code": "302815008", + "display": "Malignant tumor of frenum of lip (disorder)" + }, { + "code": "302820008", + "display": "Intracranial meningioma (disorder)" + }, { + "code": "302826002", + "display": "Adrenal cortical adenoma (disorder)" + }, { + "code": "302837001", + "display": "Lentigo maligna melanoma (disorder)" + }, { + "code": "302841002", + "display": "Malignant lymphoma - small lymphocytic (disorder)" + }, { + "code": "302842009", + "display": "Diffuse malignant lymphoma - centroblastic (disorder)" + }, { + "code": "302845006", + "display": "Nodular malignant lymphoma, lymphocytic - well differentiated (disorder)" + }, { + "code": "302848008", + "display": "Nodular malignant lymphoma, lymphocytic - intermediate differentiation (disorder)" + }, { + "code": "302849000", + "display": "Nephroblastoma (disorder)" + }, { + "code": "302855005", + "display": "Subacute leukemia (disorder)" + }, { + "code": "302856006", + "display": "Aleukemic leukemia (disorder)" + }, { + "code": "303012000", + "display": "Malignant tumor of posterior wall of hypopharynx (disorder)" + }, { + "code": "303017006", + "display": "Malignant lymphoma, convoluted cell type (disorder)" + }, { + "code": "303055001", + "display": "Malignant lymphoma, follicular center cell (disorder)" + }, { + "code": "303056000", + "display": "Malignant lymphoma, follicular center cell, cleaved (disorder)" + }, { + "code": "303057009", + "display": "Malignant lymphoma, follicular center cell, non-cleaved (disorder)" + }, { + "code": "303194003", + "display": "Metastasis to head and neck lymph node (disorder)" + }, { + "code": "303201005", + "display": "Metastasis to multiple lymph nodes (disorder)" + }, { + "code": "304545002", + "display": "Adenocarcinoma of ileum (disorder)" + }, { + "code": "307216009", + "display": "Perforated carcinoma of esophagus (disorder)" + }, { + "code": "307226002", + "display": "Metastatic adenocarcinoma of unknown origin (disorder)" + }, { + "code": "307340003", + "display": "Monosomy 7 syndrome (disorder)" + }, { + "code": "307341004", + "display": "Atypical hairy cell leukemia (disorder)" + }, { + "code": "307502000", + "display": "Squamous cell carcinoma of mouth (disorder)" + }, { + "code": "307576001", + "display": "Osteosarcoma of bone (disorder)" + }, { + "code": "307592006", + "display": "Basophilic leukemia (disorder)" + }, { + "code": "307599002", + "display": "Sebaceous adenocarcinoma (disorder)" + }, { + "code": "307601000", + "display": "Pseudomyxoma peritonei (disorder)" + }, { + "code": "307603002", + "display": "Malignant blue nevus of skin (disorder)" + }, { + "code": "307608006", + "display": "Ewing's sarcoma of bone (disorder)" + }, { + "code": "307609003", + "display": "Adamantinoma of long bone (disorder)" + }, { + "code": "307617006", + "display": "Neutrophilic leukemia (disorder)" + }, { + "code": "307622006", + "display": "Prolymphocytic lymphosarcoma (disorder)" + }, { + "code": "307623001", + "display": "Malignant lymphoma - lymphoplasmacytic (disorder)" + }, { + "code": "307624007", + "display": "Diffuse malignant lymphoma - centroblastic-centrocytic (disorder)" + }, { + "code": "307625008", + "display": "Malignant lymphoma - centrocytic (disorder)" + }, { + "code": "307633009", + "display": "Hodgkin's disease, lymphocytic depletion, diffuse fibrosis (disorder)" + }, { + "code": "307634003", + "display": "Hodgkin's disease, lymphocytic depletion, reticular type (disorder)" + }, { + "code": "307635002", + "display": "Hodgkin's disease, nodular sclerosis - cellular phase (disorder)" + }, { + "code": "307636001", + "display": "Malignant lymphoma, mixed lymphocytic-histiocytic, nodular (disorder)" + }, { + "code": "307637005", + "display": "Malignant lymphoma, centroblastic-centrocytic, follicular (disorder)" + }, { + "code": "307646004", + "display": "Malignant lymphoma, lymphocytic, poorly differentiated, nodular (disorder)" + }, { + "code": "307647008", + "display": "Malignant lymphoma, centroblastic type, follicular (disorder)" + }, { + "code": "307649006", + "display": "Microglioma (disorder)" + }, { + "code": "307650006", + "display": "Histiocytic medullary reticulosis (disorder)" + }, { + "code": "308121000", + "display": "Follicular non-Hodgkin's lymphoma (disorder)" + }, { + "code": "309245001", + "display": "Adenocarcinoma of uterus (disorder)" + }, { + "code": "31047003", + "display": "Lymphomatoid papulosis (disorder)" + }, { + "code": "310498001", + "display": "Malignant melanoma of back (disorder)" + }, { + "code": "310599006", + "display": "Malignant neoplasm of canthus (disorder)" + }, { + "code": "312104005", + "display": "Cholangiocarcinoma of biliary tract (disorder)" + }, { + "code": "312111009", + "display": "Carcinoma of ascending colon (disorder)" + }, { + "code": "312112002", + "display": "Carcinoma of transverse colon (disorder)" + }, { + "code": "312113007", + "display": "Carcinoma of descending colon (disorder)" + }, { + "code": "312114001", + "display": "Carcinoma of hepatic flexure (disorder)" + }, { + "code": "312115000", + "display": "Carcinoma of splenic flexure (disorder)" + }, { + "code": "312949007", + "display": "Retinal pigment epithelial adenocarcinoma (disorder)" + }, { + "code": "313248004", + "display": "Malignant melanoma of chest wall (disorder)" + }, { + "code": "313249007", + "display": "Malignant neoplasm of upper eyelid (disorder)" + }, { + "code": "313250007", + "display": "Malignant neoplasm of lower eyelid (disorder)" + }, { + "code": "313353007", + "display": "Squamous cell carcinoma of bronchus in left lower lobe (disorder)" + }, { + "code": "313354001", + "display": "Squamous cell carcinoma of bronchus in left upper lobe (disorder)" + }, { + "code": "313355000", + "display": "Squamous cell carcinoma of bronchus in right lower lobe (disorder)" + }, { + "code": "313356004", + "display": "Squamous cell carcinoma of bronchus in right middle lobe (disorder)" + }, { + "code": "313357008", + "display": "Squamous cell carcinoma of bronchus in right upper lobe (disorder)" + }, { + "code": "313428008", + "display": "Seminoma of undescended testis (disorder)" + }, { + "code": "313429000", + "display": "Seminoma of descended testis (disorder)" + }, { + "code": "314191009", + "display": "Cystadenocarcinoma of ovary (disorder)" + }, { + "code": "314408000", + "display": "Leukemic infiltrate of choroid (disorder)" + }, { + "code": "314418005", + "display": "Leukemic infiltrate of retina (disorder)" + }, { + "code": "314947008", + "display": "Carcinoid tumor of ampulla of Vater (disorder)" + }, { + "code": "314951005", + "display": "Local recurrence of malignant tumor of tongue (disorder)" + }, { + "code": "314952003", + "display": "Local recurrence of malignant tumor of buccal cavity (disorder)" + }, { + "code": "314953008", + "display": "Local recurrence of malignant tumor of thyroid gland (disorder)" + }, { + "code": "314954002", + "display": "Local recurrence of malignant tumor of lung (disorder)" + }, { + "code": "314955001", + "display": "Local recurrence of malignant tumor of breast (disorder)" + }, { + "code": "314960002", + "display": "Local recurrence of malignant tumor of esophagus (disorder)" + }, { + "code": "314961003", + "display": "Local recurrence of malignant tumor of stomach (disorder)" + }, { + "code": "314962005", + "display": "Local recurrence of malignant tumor of gallbladder (disorder)" + }, { + "code": "314963000", + "display": "Local recurrence of malignant tumor of liver (disorder)" + }, { + "code": "314964006", + "display": "Local recurrence of malignant tumor of pancreas (disorder)" + }, { + "code": "314965007", + "display": "Local recurrence of malignant tumor of colon (disorder)" + }, { + "code": "314966008", + "display": "Local recurrence of malignant tumor of rectum (disorder)" + }, { + "code": "314967004", + "display": "Local recurrence of malignant tumor of kidney (disorder)" + }, { + "code": "314968009", + "display": "Local recurrence of malignant tumor of urinary bladder (disorder)" + }, { + "code": "314969001", + "display": "Local recurrence of malignant tumor of prostate (disorder)" + }, { + "code": "314970000", + "display": "Local recurrence of malignant tumor of cervix (disorder)" + }, { + "code": "314973003", + "display": "Local recurrence of malignant tumor of bone (disorder)" + }, { + "code": "314974009", + "display": "Local recurrence of malignant tumor of soft tissue (disorder)" + }, { + "code": "314975005", + "display": "Local recurrence of malignant tumor of skin (disorder)" + }, { + "code": "314976006", + "display": "Local recurrence of malignant melanoma of skin (disorder)" + }, { + "code": "315058005", + "display": "Hereditary nonpolyposis colon cancer (disorder)" + }, { + "code": "326072005", + "display": "Carcinoma of head of pancreas (disorder)" + }, { + "code": "33581000119109", + "display": "Primary malignant neoplasm of extradural spinal cord (disorder)" + }, { + "code": "351461000119100", + "display": "Merkel cell carcinoma of right lower limb (disorder)" + }, { + "code": "352071000119105", + "display": "Merkel cell carcinoma of left lower limb (disorder)" + }, { + "code": "352201000119105", + "display": "Malignant melanoma of skin of left upper limb (disorder)" + }, { + "code": "354351000119105", + "display": "Primary malignant neoplasm of left kidney (disorder)" + }, { + "code": "354361000119107", + "display": "Primary malignant neoplasm of right kidney (disorder)" + }, { + "code": "354651000119102", + "display": "Primary malignant neoplasm of bone of left lower limb (disorder)" + }, { + "code": "354681000119109", + "display": "Primary malignant neoplasm of bone of right lower limb (disorder)" + }, { + "code": "354701000119107", + "display": "Primary malignant neoplasm of left lung (disorder)" + }, { + "code": "359631009", + "display": "Acute myeloid leukemia, minimal differentiation, FAB M0 (disorder)" + }, { + "code": "359640008", + "display": "Acute myeloid leukemia without maturation, FAB M1 (disorder)" + }, { + "code": "359648001", + "display": "Acute myeloid leukemia with maturation, FAB M2 (disorder)" + }, { + "code": "359782004", + "display": "Metastatic malignant neoplasm to apex of urinary bladder (disorder)" + }, { + "code": "359785002", + "display": "Metastatic malignant neoplasm to dome of urinary bladder (disorder)" + }, { + "code": "359987004", + "display": "Krukenberg tumor (disorder)" + }, { + "code": "363348004", + "display": "Malignant tumor of lip (disorder)" + }, { + "code": "363349007", + "display": "Malignant tumor of stomach (disorder)" + }, { + "code": "363351006", + "display": "Malignant tumor of rectum (disorder)" + }, { + "code": "363352004", + "display": "Malignant tumor of anal canal (disorder)" + }, { + "code": "363354003", + "display": "Malignant tumor of cervix (disorder)" + }, { + "code": "363355002", + "display": "Malignant tumor of adrenal gland (disorder)" + }, { + "code": "363358000", + "display": "Malignant tumor of lung (disorder)" + }, { + "code": "363359008", + "display": "Malignant tumor of middle ear (disorder)" + }, { + "code": "363360003", + "display": "Malignant tumor of anterior two-thirds of tongue (disorder)" + }, { + "code": "363365008", + "display": "Malignant tumor of soft tissue of thorax (disorder)" + }, { + "code": "363368005", + "display": "Carcinoma of body of pancreas (disorder)" + }, { + "code": "363369002", + "display": "Carcinoma of tail of pancreas (disorder)" + }, { + "code": "363370001", + "display": "Malignant neoplasm of mesentery (disorder)" + }, { + "code": "363372009", + "display": "Malignant tumor of vermilion border of upper lip (disorder)" + }, { + "code": "363373004", + "display": "Malignant tumor of vermilion border of lower lip (disorder)" + }, { + "code": "363374005", + "display": "Malignant tumor of commissure of lip (disorder)" + }, { + "code": "363375006", + "display": "Malignant tumor of tongue (disorder)" + }, { + "code": "363376007", + "display": "Malignant tumor of base of tongue (disorder)" + }, { + "code": "363377003", + "display": "Malignant tumor of lingual tonsil (disorder)" + }, { + "code": "363378008", + "display": "Malignant tumor of major salivary gland (disorder)" + }, { + "code": "363379000", + "display": "Malignant tumor of parotid gland (disorder)" + }, { + "code": "363380002", + "display": "Malignant tumor of submandibular gland (disorder)" + }, { + "code": "363381003", + "display": "Malignant tumor of sublingual gland (disorder)" + }, { + "code": "363382005", + "display": "Malignant tumor of gum (disorder)" + }, { + "code": "363383000", + "display": "Malignant tumor of upper gingiva (disorder)" + }, { + "code": "363384006", + "display": "Malignant tumor of lower gingiva (disorder)" + }, { + "code": "363385007", + "display": "Malignant tumor of floor of mouth (disorder)" + }, { + "code": "363386008", + "display": "Malignant tumor of buccal mucosa (disorder)" + }, { + "code": "363387004", + "display": "Malignant tumor of hard palate (disorder)" + }, { + "code": "363388009", + "display": "Malignant tumor of soft palate (disorder)" + }, { + "code": "363389001", + "display": "Malignant tumor of uvula (disorder)" + }, { + "code": "363390005", + "display": "Malignant tumor of palate (disorder)" + }, { + "code": "363391009", + "display": "Malignant tumor of retromolar area (disorder)" + }, { + "code": "363392002", + "display": "Malignant tumor of oropharynx (disorder)" + }, { + "code": "363393007", + "display": "Malignant tumor of tonsil (disorder)" + }, { + "code": "363394001", + "display": "Malignant tumor of tonsillar fossa (disorder)" + }, { + "code": "363395000", + "display": "Malignant tumor of vallecula (disorder)" + }, { + "code": "363398003", + "display": "Malignant tumor of lateral wall of nasopharynx (disorder)" + }, { + "code": "363399006", + "display": "Malignant tumor of hypopharynx (disorder)" + }, { + "code": "363400004", + "display": "Malignant tumor of postcricoid region (disorder)" + }, { + "code": "363401000", + "display": "Malignant tumor of pyriform fossa (disorder)" + }, { + "code": "363402007", + "display": "Malignant tumor of esophagus (disorder)" + }, { + "code": "363403002", + "display": "Malignant tumor of duodenum (disorder)" + }, { + "code": "363406005", + "display": "Malignant neoplasm of colon (disorder)" + }, { + "code": "363407001", + "display": "Malignant tumor of hepatic flexure (disorder)" + }, { + "code": "363408006", + "display": "Malignant tumor of transverse colon (disorder)" + }, { + "code": "363409003", + "display": "Malignant tumor of descending colon (disorder)" + }, { + "code": "363410008", + "display": "Malignant tumor of sigmoid colon (disorder)" + }, { + "code": "363412000", + "display": "Malignant tumor of ascending colon (disorder)" + }, { + "code": "363413005", + "display": "Malignant tumor of splenic flexure (disorder)" + }, { + "code": "363414004", + "display": "Malignant tumor of rectosigmoid junction (disorder)" + }, { + "code": "363417006", + "display": "Malignant tumor of ampulla of Vater (disorder)" + }, { + "code": "363421004", + "display": "Malignant neoplasm of omentum (disorder)" + }, { + "code": "363422006", + "display": "Malignant tumor of nasal cavity (disorder)" + }, { + "code": "363423001", + "display": "Malignant tumor of nasal septum (disorder)" + }, { + "code": "363424007", + "display": "Malignant tumor of mastoid air cells (disorder)" + }, { + "code": "363425008", + "display": "Malignant tumor of maxillary sinus (disorder)" + }, { + "code": "363426009", + "display": "Malignant tumor of ethmoid sinus (disorder)" + }, { + "code": "363427000", + "display": "Malignant tumor of frontal sinus (disorder)" + }, { + "code": "363428005", + "display": "Malignant tumor of sphenoid sinus (disorder)" + }, { + "code": "363429002", + "display": "Malignant tumor of larynx (disorder)" + }, { + "code": "363430007", + "display": "Malignant tumor of subglottis (disorder)" + }, { + "code": "363431006", + "display": "Malignant tumor of laryngeal cartilage (disorder)" + }, { + "code": "363432004", + "display": "Malignant tumor of trachea (disorder)" + }, { + "code": "363433009", + "display": "Malignant tumor of pleura (disorder)" + }, { + "code": "363434003", + "display": "Malignant tumor of thymus (disorder)" + }, { + "code": "363435002", + "display": "Malignant tumor of heart (disorder)" + }, { + "code": "363436001", + "display": "Malignant tumor of endocardium (disorder)" + }, { + "code": "363437005", + "display": "Malignant tumor of myocardium (disorder)" + }, { + "code": "363438000", + "display": "Malignant tumor of vertebral column (disorder)" + }, { + "code": "363439008", + "display": "Malignant tumor of soft tissue of head (disorder)" + }, { + "code": "363440005", + "display": "Malignant tumor of soft tissue of face (disorder)" + }, { + "code": "363443007", + "display": "Malignant tumor of ovary (disorder)" + }, { + "code": "363444001", + "display": "Malignant tumor of fallopian tube (disorder)" + }, { + "code": "363445000", + "display": "Malignant tumor of vagina (disorder)" + }, { + "code": "363446004", + "display": "Malignant neoplasm of labia majora (disorder)" + }, { + "code": "363447008", + "display": "Malignant neoplasm of labia minora (disorder)" + }, { + "code": "363449006", + "display": "Malignant tumor of testis (disorder)" + }, { + "code": "363451005", + "display": "Malignant tumor of glans penis (disorder)" + }, { + "code": "363452003", + "display": "Malignant tumor of epididymis (disorder)" + }, { + "code": "363453008", + "display": "Malignant tumor of spermatic cord (disorder)" + }, { + "code": "363454002", + "display": "Malignant tumor of scrotum (disorder)" + }, { + "code": "363456000", + "display": "Malignant tumor of urachus (disorder)" + }, { + "code": "363457009", + "display": "Malignant tumor of renal pelvis (disorder)" + }, { + "code": "363458004", + "display": "Malignant tumor of ureter (disorder)" + }, { + "code": "363459007", + "display": "Malignant tumor of urethra (disorder)" + }, { + "code": "363460002", + "display": "Malignant tumor of paraurethral gland (disorder)" + }, { + "code": "363461003", + "display": "Malignant tumor of eye (disorder)" + }, { + "code": "363462005", + "display": "Malignant tumor of orbit (disorder)" + }, { + "code": "363463000", + "display": "Malignant tumor of conjunctiva (disorder)" + }, { + "code": "363464006", + "display": "Malignant tumor of cornea (disorder)" + }, { + "code": "363465007", + "display": "Malignant tumor of retina (disorder)" + }, { + "code": "363466008", + "display": "Malignant tumor of choroid (disorder)" + }, { + "code": "363467004", + "display": "Malignant neoplasm of frontal lobe (disorder)" + }, { + "code": "363468009", + "display": "Malignant neoplasm of temporal lobe (disorder)" + }, { + "code": "363469001", + "display": "Malignant neoplasm of parietal lobe (disorder)" + }, { + "code": "363470000", + "display": "Malignant neoplasm of occipital lobe (disorder)" + }, { + "code": "363471001", + "display": "Malignant neoplasm of cerebral ventricles (disorder)" + }, { + "code": "363473003", + "display": "Malignant neoplasm of brainstem (disorder)" + }, { + "code": "363474009", + "display": "Malignant neoplasm of cerebral meninges (disorder)" + }, { + "code": "363475005", + "display": "Malignant tumor of spinal cord (disorder)" + }, { + "code": "363476006", + "display": "Malignant neoplasm of spinal meninges (disorder)" + }, { + "code": "363478007", + "display": "Malignant tumor of thyroid gland (disorder)" + }, { + "code": "363481002", + "display": "Malignant tumor of parathyroid gland (disorder)" + }, { + "code": "363482009", + "display": "Malignant tumor of pituitary gland (disorder)" + }, { + "code": "363483004", + "display": "Malignant tumor of pineal gland (disorder)" + }, { + "code": "363485006", + "display": "Malignant tumor of minor salivary gland (disorder)" + }, { + "code": "363486007", + "display": "Malignant tumor of vocal cord (disorder)" + }, { + "code": "363487003", + "display": "Malignant tumor of aryepiglottic fold - laryngeal aspect (disorder)" + }, { + "code": "363488008", + "display": "Malignant tumor of false cord (disorder)" + }, { + "code": "363490009", + "display": "Malignant tumor of anus (disorder)" + }, { + "code": "363491008", + "display": "Malignant tumor of cloacogenic zone (disorder)" + }, { + "code": "363492001", + "display": "Malignant tumor of peritoneum (disorder)" + }, { + "code": "363493006", + "display": "Malignant tumor of bronchus (disorder)" + }, { + "code": "363494000", + "display": "Malignant tumor of mediastinum (disorder)" + }, { + "code": "363497007", + "display": "Malignant tumor of meninges (disorder)" + }, { + "code": "363498002", + "display": "Malignant tumor of optic nerve (disorder)" + }, { + "code": "363502009", + "display": "Malignant tumor of axilla (disorder)" + }, { + "code": "363506007", + "display": "Malignant tumor of nasal sinuses (disorder)" + }, { + "code": "363507003", + "display": "Malignant neoplasm of pharynx (disorder)" + }, { + "code": "363510005", + "display": "Malignant tumor of large intestine (disorder)" + }, { + "code": "363514001", + "display": "Malignant tumor of female genital organ (disorder)" + }, { + "code": "363515000", + "display": "Malignant tumor of male genital organ (disorder)" + }, { + "code": "363516004", + "display": "Malignant tumor of penis (disorder)" + }, { + "code": "363517008", + "display": "Malignant tumor of urinary tract proper (disorder)" + }, { + "code": "363518003", + "display": "Malignant tumor of kidney (disorder)" + }, { + "code": "369463005", + "display": "Malignant tumor involving ureter by direct extension from bladder (disorder)" + }, { + "code": "369464004", + "display": "Malignant tumor involving ureter by separate metastasis from bladder (disorder)" + }, { + "code": "369465003", + "display": "Malignant tumor involving urethra by direct extension from bladder (disorder)" + }, { + "code": "369466002", + "display": "Malignant tumor involving urethra by direct extension from prostate (disorder)" + }, { + "code": "369467006", + "display": "Malignant tumor involving urethra by separate metastasis from bladder (disorder)" + }, { + "code": "369468001", + "display": "Malignant tumor involving urethra by separate metastasis from prostate (disorder)" + }, { + "code": "369469009", + "display": "Malignant tumor involving bladder by direct extension from endometrium (disorder)" + }, { + "code": "369470005", + "display": "Malignant tumor involving bladder by direct extension from fallopian tube (disorder)" + }, { + "code": "369471009", + "display": "Malignant tumor involving bladder by direct extension from ovary (disorder)" + }, { + "code": "369472002", + "display": "Malignant tumor involving bladder by direct extension from prostate (disorder)" + }, { + "code": "369473007", + "display": "Malignant tumor involving bladder by direct extension from uterine cervix (disorder)" + }, { + "code": "369475000", + "display": "Malignant tumor involving bladder by direct extension from vagina (disorder)" + }, { + "code": "369476004", + "display": "Malignant tumor involving bladder by separate metastasis from endometrium (disorder)" + }, { + "code": "369477008", + "display": "Malignant tumor involving bladder by separate metastasis from fallopian tube (disorder)" + }, { + "code": "369478003", + "display": "Malignant tumor involving bladder by separate metastasis from ovary (disorder)" + }, { + "code": "369479006", + "display": "Malignant tumor involving bladder by separate metastasis from prostate (disorder)" + }, { + "code": "369480009", + "display": "Malignant tumor involving bladder by separate metastasis from uterine cervix (disorder)" + }, { + "code": "369481008", + "display": "Malignant tumor involving bladder by separate metastasis from uterus (disorder)" + }, { + "code": "369482001", + "display": "Malignant tumor involving bladder by separate metastasis from vagina (disorder)" + }, { + "code": "369483006", + "display": "Malignant tumor involving vasa deferentia by direct extension from prostate (disorder)" + }, { + "code": "369484000", + "display": "Malignant tumor involving vasa deferentia by separate metastasis from prostate (disorder)" + }, { + "code": "369485004", + "display": "Malignant tumor involving prostate by direct extension from bladder (disorder)" + }, { + "code": "369486003", + "display": "Malignant tumor involving prostate by separate metastasis from bladder (disorder)" + }, { + "code": "369487007", + "display": "Primary malignant neoplasm of seminal vesicle (disorder)" + }, { + "code": "369489005", + "display": "Malignant tumor involving seminal vesicle by direct extension from bladder (disorder)" + }, { + "code": "369490001", + "display": "Malignant tumor involving seminal vesicle by direct extension from prostate (disorder)" + }, { + "code": "369491002", + "display": "Malignant tumor involving seminal vesicle by separate metastasis from bladder (disorder)" + }, { + "code": "369492009", + "display": "Malignant tumor involving seminal vesicle by separate metastasis from prostate (disorder)" + }, { + "code": "369493004", + "display": "Malignant tumor involving uterine corpus by direct extension from bladder (disorder)" + }, { + "code": "369494005", + "display": "Malignant tumor involving uterine corpus by direct extension from ovary (disorder)" + }, { + "code": "369495006", + "display": "Malignant tumor involving uterine corpus by direct extension from uterine cervix (disorder)" + }, { + "code": "369496007", + "display": "Malignant tumor involving uterine corpus by direct extension from vagina (disorder)" + }, { + "code": "369497003", + "display": "Malignant tumor involving uterine cervix by direct extension from fallopian tube (disorder)" + }, { + "code": "369498008", + "display": "Malignant tumor involving uterine cervix by direct extension from ovary (disorder)" + }, { + "code": "369499000", + "display": "Malignant tumor involving uterine cervix by direct extension from vagina (disorder)" + }, { + "code": "369500009", + "display": "Malignant tumor involving uterine cervix by separate metastasis from fallopian tube (disorder)" + }, { + "code": "369501008", + "display": "Malignant tumor involving uterine cervix by separate metastasis from ovary (disorder)" + }, { + "code": "369502001", + "display": "Malignant tumor involving uterine corpus by separate metastasis from bladder (disorder)" + }, { + "code": "369503006", + "display": "Malignant tumor involving vagina by direct extension from uterus (disorder)" + }, { + "code": "369504000", + "display": "Malignant tumor involving vagina by direct extension from bladder (disorder)" + }, { + "code": "369505004", + "display": "Malignant tumor involving vagina by direct extension from endometrium (disorder)" + }, { + "code": "369506003", + "display": "Malignant tumor involving vagina by direct extension from fallopian tube (disorder)" + }, { + "code": "369507007", + "display": "Malignant tumor involving vulva by direct extension from endometrium (disorder)" + }, { + "code": "369508002", + "display": "Malignant tumor involving vulva by direct extension from fallopian tube (disorder)" + }, { + "code": "369509005", + "display": "Malignant tumor involving vulva by direct extension from ovary (disorder)" + }, { + "code": "369510000", + "display": "Malignant tumor involving vulva by direct extension from uterine cervix (disorder)" + }, { + "code": "369511001", + "display": "Malignant tumor involving vulva by direct extension from uterus (disorder)" + }, { + "code": "369512008", + "display": "Malignant tumor involving vagina by direct extension from ovary (disorder)" + }, { + "code": "369513003", + "display": "Primary malignant neoplasm of left fallopian tube (disorder)" + }, { + "code": "369515005", + "display": "Malignant tumor involving left fallopian tube by direct extension from endometrium (disorder)" + }, { + "code": "369516006", + "display": "Malignant tumor involving left fallopian tube by direct extension from ovary (disorder)" + }, { + "code": "369517002", + "display": "Malignant tumor involving left fallopian tube by direct extension from right fallopian tube (disorder)" + }, { + "code": "369518007", + "display": "Malignant tumor involving left fallopian tube by direct extension from uterine cervix (disorder)" + }, { + "code": "369519004", + "display": "Malignant tumor involving left fallopian tube by direct extension from uterus (disorder)" + }, { + "code": "369520005", + "display": "Primary malignant neoplasm of right fallopian tube (disorder)" + }, { + "code": "369522002", + "display": "Primary malignant neoplasm of left ovary (disorder)" + }, { + "code": "369524001", + "display": "Malignant tumor involving left ovary by direct extension from endometrium (disorder)" + }, { + "code": "369525000", + "display": "Malignant tumor involving left ovary by direct extension from fallopian tube (disorder)" + }, { + "code": "369526004", + "display": "Malignant tumor involving left ovary by direct extension from right ovary (disorder)" + }, { + "code": "369527008", + "display": "Malignant tumor involving left ovary by direct extension from uterine cervix (disorder)" + }, { + "code": "369528003", + "display": "Malignant tumor involving left ovary by direct extension from uterus (disorder)" + }, { + "code": "369529006", + "display": "Primary malignant neoplasm of right ovary (disorder)" + }, { + "code": "369531002", + "display": "Malignant tumor involving right ovary by direct extension from endometrium (disorder)" + }, { + "code": "369532009", + "display": "Malignant tumor involving right ovary by direct extension from fallopian tube (disorder)" + }, { + "code": "369533004", + "display": "Malignant tumor involving right ovary by direct extension from left ovary (disorder)" + }, { + "code": "369534005", + "display": "Malignant tumor involving right ovary by direct extension from uterine cervix (disorder)" + }, { + "code": "369535006", + "display": "Secondary neoplasm of left broad ligament (disorder)" + }, { + "code": "369536007", + "display": "Secondary neoplasm of right broad ligament (disorder)" + }, { + "code": "369537003", + "display": "Malignant tumor involving left broad ligament by direct extension from ovary (disorder)" + }, { + "code": "369538008", + "display": "Malignant tumor involving left broad ligament by metastasis from ovary (disorder)" + }, { + "code": "369539000", + "display": "Malignant tumor involving right broad ligament by direct extension from ovary (disorder)" + }, { + "code": "369540003", + "display": "Malignant tumor involving right broad ligament by metastasis from ovary (disorder)" + }, { + "code": "369541004", + "display": "Malignant tumor involving left fallopian tube by direct extension from vagina (disorder)" + }, { + "code": "369547000", + "display": "Malignant tumor involving right fallopian tube by direct extension from endometrium (disorder)" + }, { + "code": "369548005", + "display": "Malignant tumor involving right fallopian tube by direct extension from left fallopian tube (disorder)" + }, { + "code": "369549002", + "display": "Malignant tumor involving right fallopian tube by direct extension from ovary (disorder)" + }, { + "code": "369550002", + "display": "Malignant tumor involving right fallopian tube by direct extension from uterine cervix (disorder)" + }, { + "code": "369551003", + "display": "Malignant tumor involving right fallopian tube by direct extension from uterus (disorder)" + }, { + "code": "369552005", + "display": "Malignant tumor involving right fallopian tube by direct extension from vagina (disorder)" + }, { + "code": "369555007", + "display": "Malignant tumor involving right fallopian tube by separate metastasis from ovary (disorder)" + }, { + "code": "369557004", + "display": "Malignant tumor involving right fallopian tube by separate metastasis from uterus (disorder)" + }, { + "code": "369558009", + "display": "Malignant tumor involving right fallopian tube by separate metastasis from vagina (disorder)" + }, { + "code": "369559001", + "display": "Malignant tumor involving left ovary by direct extension from vagina (disorder)" + }, { + "code": "369561005", + "display": "Malignant tumor involving left ovary by separate metastasis from fallopian tube (disorder)" + }, { + "code": "369564002", + "display": "Malignant tumor involving left ovary by separate metastasis from vagina (disorder)" + }, { + "code": "369565001", + "display": "Malignant tumor involving left ovary by separate metastasis uterus (disorder)" + }, { + "code": "369566000", + "display": "Malignant tumor involving right ovary by direct extension from uterus (disorder)" + }, { + "code": "369567009", + "display": "Malignant tumor involving right ovary by direct extension from vagina (disorder)" + }, { + "code": "369569007", + "display": "Malignant tumor involving right ovary by separate metastasis from fallopian tube (disorder)" + }, { + "code": "369570008", + "display": "Malignant tumor involving right ovary by separate metastasis from left ovary (disorder)" + }, { + "code": "369572000", + "display": "Malignant tumor involving right ovary by separate metastasis from uterus (disorder)" + }, { + "code": "369573005", + "display": "Malignant tumor involving right ovary by separate metastasis from vagina (disorder)" + }, { + "code": "369574004", + "display": "Malignant tumor involving uterine cervix by separate metastasis from vagina (disorder)" + }, { + "code": "369575003", + "display": "Malignant tumor involving uterine corpus by separate metastasis from fallopian tube (disorder)" + }, { + "code": "369576002", + "display": "Malignant tumor involving uterine corpus by separate metastasis from ovary (disorder)" + }, { + "code": "369577006", + "display": "Malignant tumor involving uterine corpus by separate metastasis from uterine cervix (disorder)" + }, { + "code": "369578001", + "display": "Malignant tumor involving uterine corpus by separate metastasis from vagina (disorder)" + }, { + "code": "369579009", + "display": "Malignant tumor involving uterine corpus by direct extension from fallopian tube (disorder)" + }, { + "code": "369580007", + "display": "Malignant tumor involving vagina by direct extension from uterine cervix (disorder)" + }, { + "code": "369581006", + "display": "Malignant tumor involving vagina by separate metastasis from bladder (disorder)" + }, { + "code": "369584003", + "display": "Malignant tumor involving vagina by separate metastasis from ovary (disorder)" + }, { + "code": "369586001", + "display": "Malignant tumor involving vagina by separate metastasis from uterus (disorder)" + }, { + "code": "369587005", + "display": "Malignant tumor involving vulva by direct extension from vagina (disorder)" + }, { + "code": "369588000", + "display": "Malignant tumor involving vulva by separate metastasis from endometrium (disorder)" + }, { + "code": "369589008", + "display": "Malignant tumor involving vulva by separate metastasis from fallopian tube (disorder)" + }, { + "code": "369590004", + "display": "Malignant tumor involving vulva by separate metastasis from ovary (disorder)" + }, { + "code": "369592007", + "display": "Malignant tumor involving vulva by separate metastasis from uterus (disorder)" + }, { + "code": "369593002", + "display": "Malignant tumor involving vulva by separate metastasis from vagina (disorder)" + }, { + "code": "370967009", + "display": "Retinoblastoma (disorder)" + }, { + "code": "370987005", + "display": "Anaplastic astrocytoma of spinal cord (disorder)" + }, { + "code": "371012000", + "display": "Acute lymphoblastic leukemia, transitional pre-B-cell (disorder)" + }, { + "code": "371134001", + "display": "Malignant lymphoma, large cell, polymorphous, immunoblastic (disorder)" + }, { + "code": "371962007", + "display": "Primary malignant neoplasm of abdominal esophagus (disorder)" + }, { + "code": "371963002", + "display": "Primary malignant neoplasm of adrenal cortex (disorder)" + }, { + "code": "371964008", + "display": "Malignant neoplasm of adrenal cortex (disorder)" + }, { + "code": "371965009", + "display": "Malignant neoplasm of adrenal medulla (disorder)" + }, { + "code": "371966005", + "display": "Primary malignant neoplasm of adrenal medulla (disorder)" + }, { + "code": "371967001", + "display": "Primary malignant neoplasm of ampulla of Vater (disorder)" + }, { + "code": "371968006", + "display": "Primary malignant neoplasm of anterior two-thirds of tongue (disorder)" + }, { + "code": "371969003", + "display": "Primary malignant neoplasm of apex of urinary bladder (disorder)" + }, { + "code": "371971003", + "display": "Primary malignant neoplasm of body of uterus (disorder)" + }, { + "code": "371972005", + "display": "Malignant neoplasm of body of uterus (disorder)" + }, { + "code": "371973000", + "display": "Malignant neoplasm of uterus (disorder)" + }, { + "code": "371974006", + "display": "Malignant neoplasm of border of tongue (disorder)" + }, { + "code": "371975007", + "display": "Primary malignant neoplasm of border of tongue (disorder)" + }, { + "code": "371976008", + "display": "Primary malignant neoplasm of buccal mucosa (disorder)" + }, { + "code": "371978009", + "display": "Primary malignant neoplasm of cervical esophagus (disorder)" + }, { + "code": "371979001", + "display": "Malignant neoplasm of clitoris (disorder)" + }, { + "code": "371980003", + "display": "Primary malignant neoplasm of clitoris (disorder)" + }, { + "code": "371981004", + "display": "Primary malignant neoplasm of commissure of lip (disorder)" + }, { + "code": "371982006", + "display": "Malignant neoplasm of endocrine gland (disorder)" + }, { + "code": "371983001", + "display": "Primary malignant neoplasm of endocrine gland (disorder)" + }, { + "code": "371984007", + "display": "Primary malignant neoplasm of esophagus (disorder)" + }, { + "code": "371986009", + "display": "Primary malignant neoplasm of eye (disorder)" + }, { + "code": "371987000", + "display": "Primary malignant neoplasm of fallopian tube (disorder)" + }, { + "code": "371988005", + "display": "Primary malignant neoplasm of false vocal cord (disorder)" + }, { + "code": "371989002", + "display": "Primary malignant neoplasm of glans penis (disorder)" + }, { + "code": "371990006", + "display": "Primary malignant neoplasm of gum (disorder)" + }, { + "code": "371991005", + "display": "Primary malignant neoplasm of hard palate (disorder)" + }, { + "code": "371993008", + "display": "Primary malignant neoplasm of lacrimal gland (disorder)" + }, { + "code": "371994002", + "display": "Primary malignant neoplasm of laryngeal aspect of aryepiglottic fold (disorder)" + }, { + "code": "371995001", + "display": "Primary malignant neoplasm of larynx (disorder)" + }, { + "code": "371996000", + "display": "Primary malignant neoplasm of lip (disorder)" + }, { + "code": "371997009", + "display": "Primary malignant neoplasm of lower gum (disorder)" + }, { + "code": "371998004", + "display": "Primary malignant neoplasm of lower third of esophagus (disorder)" + }, { + "code": "371999007", + "display": "Primary malignant neoplasm of middle third of esophagus (disorder)" + }, { + "code": "372000001", + "display": "Primary malignant neoplasm of minor salivary gland (disorder)" + }, { + "code": "372001002", + "display": "Primary malignant neoplasm of oral cavity (disorder)" + }, { + "code": "372002009", + "display": "Primary malignant neoplasm of palate (disorder)" + }, { + "code": "372004005", + "display": "Primary malignant neoplasm of parotid gland (disorder)" + }, { + "code": "372005006", + "display": "Primary malignant neoplasm of penis (disorder)" + }, { + "code": "372006007", + "display": "Primary malignant neoplasm of prepuce (disorder)" + }, { + "code": "372008008", + "display": "Primary malignant neoplasm of scaphoid bone (disorder)" + }, { + "code": "372009000", + "display": "Primary malignant neoplasm of scrotum (disorder)" + }, { + "code": "372013007", + "display": "Primary malignant neoplasm of spermatic cord (disorder)" + }, { + "code": "372014001", + "display": "Primary malignant neoplasm of stomach (disorder)" + }, { + "code": "372015000", + "display": "Primary malignant neoplasm of the mesentery (disorder)" + }, { + "code": "372016004", + "display": "Primary malignant neoplasm of the peritoneum (disorder)" + }, { + "code": "372017008", + "display": "Primary malignant neoplasm of thoracic esophagus (disorder)" + }, { + "code": "372018003", + "display": "Malignant neoplasm of thoracic vertebral column (disorder)" + }, { + "code": "372019006", + "display": "Primary malignant neoplasm of thoracic vertebral column (disorder)" + }, { + "code": "372020000", + "display": "Primary malignant neoplasm of tonsil (disorder)" + }, { + "code": "372021001", + "display": "Primary malignant neoplasm of trapezium (disorder)" + }, { + "code": "372022008", + "display": "Primary malignant neoplasm of upper gum (disorder)" + }, { + "code": "372023003", + "display": "Primary malignant neoplasm of upper third of esophagus (disorder)" + }, { + "code": "372024009", + "display": "Primary malignant neoplasm of uterine cervix (disorder)" + }, { + "code": "372025005", + "display": "Primary malignant neoplasm of vagina (disorder)" + }, { + "code": "372026006", + "display": "Primary malignant neoplasm of vermilion border of lower lip (disorder)" + }, { + "code": "372027002", + "display": "Primary malignant neoplasm of vermilion border of upper lip (disorder)" + }, { + "code": "372028007", + "display": "Primary malignant neoplasm of vertebral column (disorder)" + }, { + "code": "372030009", + "display": "Primary malignant neoplasm of vocal cord (disorder)" + }, { + "code": "372062007", + "display": "Malignant neoplasm of central nervous system (disorder)" + }, { + "code": "372064008", + "display": "Malignant neoplasm of female breast (disorder)" + }, { + "code": "372065009", + "display": "Malignant neoplasm of main bronchus (disorder)" + }, { + "code": "372092003", + "display": "Primary malignant neoplasm of axillary tail of breast (disorder)" + }, { + "code": "372094002", + "display": "Malignant neoplasm of axillary tail of breast (disorder)" + }, { + "code": "372097009", + "display": "Malignant neoplasm of endocervix (disorder)" + }, { + "code": "372098004", + "display": "Carcinoma of endocervix (disorder)" + }, { + "code": "372099007", + "display": "Malignant neoplasm of exocervix (disorder)" + }, { + "code": "372100004", + "display": "Carcinoma of exocervix (disorder)" + }, { + "code": "372103002", + "display": "Carcinoma of glottis (disorder)" + }, { + "code": "372104008", + "display": "Carcinoma of subglottis (disorder)" + }, { + "code": "372105009", + "display": "Carcinoma of supraglottis (disorder)" + }, { + "code": "372106005", + "display": "Carcinoma of penis (disorder)" + }, { + "code": "372107001", + "display": "Primary malignant neoplasm of ribs and/or sternum and/or clavicle (disorder)" + }, { + "code": "372108006", + "display": "Malignant neoplasm of bone of lower limb (disorder)" + }, { + "code": "372110008", + "display": "Primary malignant neoplasm of lower lobe, bronchus or lung (disorder)" + }, { + "code": "372111007", + "display": "Carcinoma of lower lobe, bronchus or lung (disorder)" + }, { + "code": "372112000", + "display": "Primary malignant neoplasm of middle lobe, bronchus or lung (disorder)" + }, { + "code": "372113005", + "display": "Carcinoma of middle lobe, bronchus or lung (disorder)" + }, { + "code": "372115003", + "display": "Primary malignant neoplasm of pelvic bones, sacrum and coccyx (disorder)" + }, { + "code": "372116002", + "display": "Carcinoma of pelvic bones, sacrum and coccyx (disorder)" + }, { + "code": "372120003", + "display": "Carcinoma of main bronchus (disorder)" + }, { + "code": "372121004", + "display": "Carcinoma of ribs and/or sternum and/or clavicle (disorder)" + }, { + "code": "372122006", + "display": "Malignant neoplasm of skin head and neck (disorder)" + }, { + "code": "372126009", + "display": "Malignant neoplasm of skin of trunk (disorder)" + }, { + "code": "372131006", + "display": "Malignant neoplasm of upper limb bones and scapula (disorder)" + }, { + "code": "372133009", + "display": "Primary malignant neoplasm of upper limb bones and scapula (disorder)" + }, { + "code": "372135002", + "display": "Primary malignant neoplasm of upper lobe, bronchus or lung (disorder)" + }, { + "code": "372136001", + "display": "Carcinoma of upper lobe, bronchus or lung (disorder)" + }, { + "code": "372138000", + "display": "Carcinoma of esophagus (disorder)" + }, { + "code": "372141009", + "display": "Carcinoma of vocal cord (disorder)" + }, { + "code": "372142002", + "display": "Carcinoma of pancreas (disorder)" + }, { + "code": "372143007", + "display": "Carcinoma of stomach (disorder)" + }, { + "code": "373168002", + "display": "Reticulosarcoma (disorder)" + }, { + "code": "373888000", + "display": "Extrauterine adenocarcinoma (disorder)" + }, { + "code": "385478001", + "display": "Adenoma malignum (disorder)" + }, { + "code": "396198006", + "display": "Small cell carcinoma of prostate (disorder)" + }, { + "code": "397008008", + "display": "Aggressive lymphadenopathic mastocytosis with eosinophilia (disorder)" + }, { + "code": "397009000", + "display": "Mast cell malignancy (disorder)" + }, { + "code": "397011009", + "display": "Mast cell malignancy of lymph nodes (disorder)" + }, { + "code": "397015000", + "display": "Systemic mastocytosis with associated clonal hematological non-mast cell lineage disease (disorder)" + }, { + "code": "399068003", + "display": "Malignant tumor of prostate (disorder)" + }, { + "code": "399326009", + "display": "Malignant tumor of urinary bladder (disorder)" + }, { + "code": "399490008", + "display": "Adenocarcinoma of prostate (disorder)" + }, { + "code": "399590005", + "display": "Squamous cell carcinoma of prostate (disorder)" + }, { + "code": "399660006", + "display": "Ring melanoma of ciliary body (disorder)" + }, { + "code": "399934007", + "display": "Basal cell carcinoma of preauricular skin (disorder)" + }, { + "code": "399954008", + "display": "Basal cell carcinoma of earlobe (disorder)" + }, { + "code": "400001003", + "display": "Primary cutaneous lymphoma (disorder)" + }, { + "code": "400122007", + "display": "Primary cutaneous T-cell lymphoma (disorder)" + }, { + "code": "400174005", + "display": "Basal cell carcinoma of antihelix of ear (disorder)" + }, { + "code": "400175006", + "display": "Myxofibrosarcoma of skin (disorder)" + }, { + "code": "402494003", + "display": "Basal cell carcinoma of lower eyelid (disorder)" + }, { + "code": "402495002", + "display": "Basal cell carcinoma of medial canthus (disorder)" + }, { + "code": "402496001", + "display": "Basal cell carcinoma of lateral canthus (disorder)" + }, { + "code": "402497005", + "display": "Basal cell carcinoma of root of nose (disorder)" + }, { + "code": "402498000", + "display": "Basal cell carcinoma of dorsum of nose (disorder)" + }, { + "code": "402499008", + "display": "Basal cell carcinoma of lateral side wall of nose (disorder)" + }, { + "code": "402500004", + "display": "Basal cell carcinoma of ala nasi (disorder)" + }, { + "code": "402501000", + "display": "Basal cell carcinoma of supratip of nose (disorder)" + }, { + "code": "402502007", + "display": "Basal cell carcinoma of tip of nose (disorder)" + }, { + "code": "402503002", + "display": "Basal cell carcinoma of nasal columella (disorder)" + }, { + "code": "402504008", + "display": "Basal cell carcinoma of nasolabial groove (disorder)" + }, { + "code": "402505009", + "display": "Basal cell carcinoma of upper lip (disorder)" + }, { + "code": "402506005", + "display": "Basal cell carcinoma of lower lip (disorder)" + }, { + "code": "402507001", + "display": "Basal cell carcinoma of cheek (disorder)" + }, { + "code": "402508006", + "display": "Basal cell carcinoma of chin (disorder)" + }, { + "code": "402509003", + "display": "Basal cell carcinoma of neck (disorder)" + }, { + "code": "402510008", + "display": "Basal cell carcinoma of helix of ear (disorder)" + }, { + "code": "402511007", + "display": "Basal cell carcinoma of conchal bowl of ear (disorder)" + }, { + "code": "402512000", + "display": "Basal cell carcinoma of antitragus (disorder)" + }, { + "code": "402513005", + "display": "Basal cell carcinoma of tragus (disorder)" + }, { + "code": "402514004", + "display": "Basal cell carcinoma of obverse of pinna (disorder)" + }, { + "code": "402515003", + "display": "Basal cell carcinoma of anterior chest (disorder)" + }, { + "code": "402517006", + "display": "Basal cell carcinoma of upper back (disorder)" + }, { + "code": "402518001", + "display": "Basal cell carcinoma of lower back (disorder)" + }, { + "code": "402519009", + "display": "Basal cell carcinoma of face (disorder)" + }, { + "code": "402520003", + "display": "Basal cell carcinoma of hand (disorder)" + }, { + "code": "402521004", + "display": "Basal cell carcinoma of upper extremity (disorder)" + }, { + "code": "402524007", + "display": "Basal cell carcinoma - adamantinoid (disorder)" + }, { + "code": "402525008", + "display": "Basal cell carcinoma - adenoid (disorder)" + }, { + "code": "402526009", + "display": "Basal cell carcinoma - follicular (disorder)" + }, { + "code": "402527000", + "display": "Basal cell carcinoma - infiltrative (disorder)" + }, { + "code": "402528005", + "display": "Basal cell carcinoma - keratotic (disorder)" + }, { + "code": "402536001", + "display": "Basal cell carcinoma - primary (disorder)" + }, { + "code": "402558004", + "display": "Malignant melanoma (vertical growth phase) (disorder)" + }, { + "code": "402561003", + "display": "Malignant melanoma of soft tissues (disorder)" + }, { + "code": "402816008", + "display": "Squamous cell carcinoma of anogenital area (disorder)" + }, { + "code": "402817004", + "display": "Squamous cell carcinoma of nail apparatus (disorder)" + }, { + "code": "402818009", + "display": "Basal cell carcinoma of nose (disorder)" + }, { + "code": "402819001", + "display": "Basal cell carcinoma of skin of lip (disorder)" + }, { + "code": "402820007", + "display": "Basal cell carcinoma of ear (disorder)" + }, { + "code": "402880009", + "display": "Primary cutaneous large T-cell lymphoma (disorder)" + }, { + "code": "402881008", + "display": "Primary cutaneous B-cell lymphoma (disorder)" + }, { + "code": "402882001", + "display": "Hodgkin's disease affecting skin (disorder)" + }, { + "code": "403468003", + "display": "Squamous cell carcinoma of penis (disorder)" + }, { + "code": "403714009", + "display": "Psoralen and long-wave ultraviolet radiation therapy-associated malignant melanoma (disorder)" + }, { + "code": "403889000", + "display": "Verrucous carcinoma of oral cavity (disorder)" + }, { + "code": "403891008", + "display": "Squamous cell carcinoma of scalp (disorder)" + }, { + "code": "403893006", + "display": "Squamous cell carcinoma of forehead (disorder)" + }, { + "code": "403894000", + "display": "Squamous cell carcinoma of skin of ear (disorder)" + }, { + "code": "403902008", + "display": "Adenosquamous carcinoma (disorder)" + }, { + "code": "403904009", + "display": "Verrucous squamous cell carcinoma (disorder)" + }, { + "code": "403915004", + "display": "Basal cell carcinoma of scalp (disorder)" + }, { + "code": "403916003", + "display": "Basal cell carcinoma of forehead (disorder)" + }, { + "code": "403917007", + "display": "Basal cell carcinoma of temple (disorder)" + }, { + "code": "403918002", + "display": "Basal cell carcinoma of glabella (disorder)" + }, { + "code": "403919005", + "display": "Basal cell carcinoma of upper eyelid (disorder)" + }, { + "code": "403926005", + "display": "Malignant melanoma of oral cavity (disorder)" + }, { + "code": "403927001", + "display": "Malignant melanoma of nail apparatus (disorder)" + }, { + "code": "403949007", + "display": "Apocrine adenocarcinoma of skin (disorder)" + }, { + "code": "403950007", + "display": "Moll's gland adenocarcinoma (disorder)" + }, { + "code": "403951006", + "display": "Ceruminous gland adenocarcinoma of skin (disorder)" + }, { + "code": "403955002", + "display": "Undifferentiated adnexal carcinoma of skin (disorder)" + }, { + "code": "403977003", + "display": "Angiosarcoma (disorder)" + }, { + "code": "403978008", + "display": "Kaposi's sarcoma - sporadic (disorder)" + }, { + "code": "403979000", + "display": "Kaposi's sarcoma - endemic (disorder)" + }, { + "code": "404014008", + "display": "Malignant fibrous histiocytoma of skin (disorder)" + }, { + "code": "404090003", + "display": "Malignant infiltration of oral cavity by underlying tumor (disorder)" + }, { + "code": "404091004", + "display": "Malignant infiltration of skin by underlying tumor (disorder)" + }, { + "code": "404094007", + "display": "Metastasis involving oral cavity (disorder)" + }, { + "code": "404103007", + "display": "Lymphomatoid papulosis type A (CD-30 positive type) (disorder)" + }, { + "code": "404104001", + "display": "Lymphomatoid papulosis type B - mycosis fungoides-like (disorder)" + }, { + "code": "404105000", + "display": "Lymphomatoid papulosis type C (anaplastic large-cell lymphoma-like) (disorder)" + }, { + "code": "404106004", + "display": "Lymphomatoid papulosis with Hodgkin's disease (disorder)" + }, { + "code": "404107008", + "display": "Patch/plaque stage mycosis fungoides (disorder)" + }, { + "code": "404108003", + "display": "Poikilodermatous mycosis fungoides (disorder)" + }, { + "code": "404109006", + "display": "Follicular mucinosis type mycosis fungoides (disorder)" + }, { + "code": "404110001", + "display": "Hypomelanotic mycosis fungoides (disorder)" + }, { + "code": "404111002", + "display": "Lymphomatoid papulosis-associated mycosis fungoides (disorder)" + }, { + "code": "404112009", + "display": "Granulomatous mycosis fungoides (disorder)" + }, { + "code": "404113004", + "display": "Tumor stage mycosis fungoides (disorder)" + }, { + "code": "404114005", + "display": "Erythrodermic mycosis fungoides (disorder)" + }, { + "code": "404115006", + "display": "Bullous mycosis fungoides (disorder)" + }, { + "code": "404116007", + "display": "Mycosis fungoides with systemic infiltration (disorder)" + }, { + "code": "404117003", + "display": "Spongiotic mycosis fungoides (disorder)" + }, { + "code": "404118008", + "display": "Syringotropic mycosis fungoides (disorder)" + }, { + "code": "404119000", + "display": "Pagetoid reticulosis (disorder)" + }, { + "code": "404120006", + "display": "Localized pagetoid reticulosis (disorder)" + }, { + "code": "404121005", + "display": "Generalized pagetoid reticulosis (disorder)" + }, { + "code": "404122003", + "display": "Leukemic infiltration of skin (chronic T-cell lymphocytic leukemia) (disorder)" + }, { + "code": "404123008", + "display": "Leukemic infiltration of skin (T-cell prolymphocytic leukemia) (disorder)" + }, { + "code": "404124002", + "display": "Leukemic infiltration of skin (T-cell lymphoblastic leukemia) (disorder)" + }, { + "code": "404126000", + "display": "CD-30 positive pleomorphic large T-cell cutaneous lymphoma (disorder)" + }, { + "code": "404127009", + "display": "CD-30 positive T-immunoblastic cutaneous lymphoma (disorder)" + }, { + "code": "404128004", + "display": "CD-30 negative cutaneous T-cell lymphoma (disorder)" + }, { + "code": "404129007", + "display": "CD-30 negative anaplastic large T-cell cutaneous lymphoma (disorder)" + }, { + "code": "404130002", + "display": "CD-30 negative pleomorphic large T-cell cutaneous lymphoma (disorder)" + }, { + "code": "404131003", + "display": "CD-30 negative T-immunoblastic cutaneous lymphoma (disorder)" + }, { + "code": "404132005", + "display": "Pleomorphic small/medium-sized cell cutaneous T-cell lymphoma (disorder)" + }, { + "code": "404133000", + "display": "Subcutaneous panniculitic cutaneous T-cell lymphoma (disorder)" + }, { + "code": "404134006", + "display": "Anaplastic large T-cell systemic malignant lymphoma (disorder)" + }, { + "code": "404135007", + "display": "Angiocentric natural killer/T-cell malignant lymphoma involving skin (disorder)" + }, { + "code": "404136008", + "display": "Aggressive natural killer-cell leukemia involving skin (disorder)" + }, { + "code": "404137004", + "display": "Precursor B-cell lymphoblastic lymphoma involving skin (disorder)" + }, { + "code": "404138009", + "display": "Small lymphocytic B-cell lymphoma involving skin (disorder)" + }, { + "code": "404139001", + "display": "Leukemic infiltration of skin in hairy-cell leukemia (disorder)" + }, { + "code": "404140004", + "display": "Primary cutaneous marginal zone B-cell lymphoma (disorder)" + }, { + "code": "404141000", + "display": "Primary cutaneous immunocytoma (disorder)" + }, { + "code": "404142007", + "display": "Primary cutaneous plasmacytoma (disorder)" + }, { + "code": "404143002", + "display": "Primary cutaneous follicular center B-cell lymphoma (disorder)" + }, { + "code": "404144008", + "display": "Primary cutaneous diffuse large cell B-cell lymphoma (disorder)" + }, { + "code": "404145009", + "display": "Primary cutaneous anaplastic large cell B-cell lymphoma (disorder)" + }, { + "code": "404147001", + "display": "Follicular center B-cell lymphoma (nodal/systemic with skin involvement) (disorder)" + }, { + "code": "404148006", + "display": "Diffuse large B-cell lymphoma (nodal/systemic with skin involvement) (disorder)" + }, { + "code": "404149003", + "display": "Lymphoplasmacytic B-cell lymphoma, nodal/systemic with skin involvement (disorder)" + }, { + "code": "404150003", + "display": "Mantle cell B-cell lymphoma (nodal/systemic with skin involvement) (disorder)" + }, { + "code": "404151004", + "display": "Leukemic infiltration of skin in myeloid leukemia (disorder)" + }, { + "code": "404152006", + "display": "Leukemic infiltration of skin in acute myeloid leukemia (disorder)" + }, { + "code": "404153001", + "display": "Leukemic infiltration of skin in chronic myeloid leukemia (disorder)" + }, { + "code": "404154007", + "display": "Leukemic infiltration of skin in monocytic leukemia (disorder)" + }, { + "code": "404155008", + "display": "Granulocytic sarcoma affecting skin (disorder)" + }, { + "code": "404156009", + "display": "Leukemic infiltration of skin (disorder)" + }, { + "code": "404157000", + "display": "Specific skin infiltration in Hodgkin's disease (disorder)" + }, { + "code": "404169008", + "display": "Malignant histiocytosis involving skin (disorder)" + }, { + "code": "404172001", + "display": "Mast cell leukemia affecting skin (disorder)" + }, { + "code": "404653000", + "display": "Chiasmal glioma (disorder)" + }, { + "code": "404664002", + "display": "Malignant optic glioma (disorder)" + }, { + "code": "405546008", + "display": "Pericardial effusion co-occurrent and due to malignant neoplasm of pericardium (disorder)" + }, { + "code": "405822008", + "display": "Squamous cell carcinoma of larynx (disorder)" + }, { + "code": "405945003", + "display": "Malignant neoplasm of metatarsal bone of foot (disorder)" + }, { + "code": "408642003", + "display": "Transitional cell carcinoma of kidney (disorder)" + }, { + "code": "408643008", + "display": "Infiltrating duct carcinoma of breast (disorder)" + }, { + "code": "408644002", + "display": "Adenocarcinoma of duodenum (disorder)" + }, { + "code": "408646000", + "display": "Adenocarcinoma of liver (disorder)" + }, { + "code": "408647009", + "display": "Adenocarcinoma of stomach (disorder)" + }, { + "code": "408648004", + "display": "Squamous cell carcinoma of epiglottis (disorder)" + }, { + "code": "408649007", + "display": "Squamous cell carcinoma of pharynx (disorder)" + }, { + "code": "413389003", + "display": "Accelerated phase chronic myeloid leukemia (disorder)" + }, { + "code": "413441006", + "display": "Acute monocytic leukemia, FAB M5b (disorder)" + }, { + "code": "413442004", + "display": "Acute monocytic/monoblastic leukemia (disorder)" + }, { + "code": "413537009", + "display": "Angioimmunoblastic T-cell lymphoma (disorder)" + }, { + "code": "413656006", + "display": "Blastic phase chronic myeloid leukemia (disorder)" + }, { + "code": "413842007", + "display": "Chronic myeloid leukemia in lymphoid blast crisis (disorder)" + }, { + "code": "413843002", + "display": "Chronic myeloid leukemia in myeloid blast crisis (disorder)" + }, { + "code": "413847001", + "display": "Chronic phase chronic myeloid leukemia (disorder)" + }, { + "code": "414166008", + "display": "Extranodal natural killer/T-cell lymphoma, nasal type (disorder)" + }, { + "code": "414676007", + "display": "Metastatic neuroblastoma of orbit proper (disorder)" + }, { + "code": "414780005", + "display": "Mucosa-associated lymphoid tissue lymphoma of orbit (disorder)" + }, { + "code": "414785000", + "display": "Multiple solitary plasmacytomas (disorder)" + }, { + "code": "415112005", + "display": "Plasmacytoma (disorder)" + }, { + "code": "415287001", + "display": "Relapsing chronic myeloid leukemia (disorder)" + }, { + "code": "416351002", + "display": "Intraocular optic nerve glioma (disorder)" + }, { + "code": "416712009", + "display": "Clear cell (mesonephric) neoplasm of ovary (disorder)" + }, { + "code": "416769008", + "display": "Malignant teratoma of testis (disorder)" + }, { + "code": "416842003", + "display": "Malignant sacral teratoma (disorder)" + }, { + "code": "416901002", + "display": "Malignant medulloepithelioma of ciliary body (disorder)" + }, { + "code": "417417007", + "display": "Malignant teratoma of undescended testis (disorder)" + }, { + "code": "417554000", + "display": "Malignant teratoma of descended testis (disorder)" + }, { + "code": "417570003", + "display": "Gestational choriocarcinoma (disorder)" + }, { + "code": "417619001", + "display": "Intracranial optic nerve glioma (disorder)" + }, { + "code": "418372008", + "display": "Squamous cell carcinoma of mucous membrane of lower lip (disorder)" + }, { + "code": "419052002", + "display": "Malignant tumor of urinary system (disorder)" + }, { + "code": "419240004", + "display": "Squamous cell carcinoma of mucous membrane of upper lip (disorder)" + }, { + "code": "419842002", + "display": "Squamous cell carcinoma of oral mucous membrane (disorder)" + }, { + "code": "420302007", + "display": "Reticulosarcoma associated with acquired immunodeficiency syndrome (disorder)" + }, { + "code": "420519005", + "display": "Malignant lymphoma of the eye region (disorder)" + }, { + "code": "420524008", + "display": "Kaposi's sarcoma associated with acquired immunodeficiency syndrome (disorder)" + }, { + "code": "420788006", + "display": "Intraocular non-Hodgkin malignant lymphoma (disorder)" + }, { + "code": "421246008", + "display": "Precursor T-cell lymphoblastic lymphoma (disorder)" + }, { + "code": "421249001", + "display": "Malignant tumor of vermilion border of lip (disorder)" + }, { + "code": "421283008", + "display": "Primary lymphoma of brain associated with acquired immunodeficiency syndrome (disorder)" + }, { + "code": "422378004", + "display": "Squamous cell carcinoma of bridge of nose (disorder)" + }, { + "code": "422541001", + "display": "Undifferentiated carcinoma of nasopharynx (disorder)" + }, { + "code": "422572002", + "display": "Squamous cell carcinoma of chin (disorder)" + }, { + "code": "422676009", + "display": "Squamous cell carcinoma of ala nasi (disorder)" + }, { + "code": "422691006", + "display": "Squamous cell carcinoma of nasopharynx (disorder)" + }, { + "code": "422758009", + "display": "Carcinoma of nasal meatus (disorder)" + }, { + "code": "422782004", + "display": "Primary malignant neoplasm of ovary, with widespread metastatic disease (disorder)" + }, { + "code": "422833009", + "display": "Adenoid cystic carcinoma of salivary gland (disorder)" + }, { + "code": "422853008", + "display": "Lymphoma of retroperitoneal space (disorder)" + }, { + "code": "422886007", + "display": "Olfactory neuroblastoma (disorder)" + }, { + "code": "422968005", + "display": "Non-small cell carcinoma of lung, TNM stage 3 (disorder)" + }, { + "code": "423005002", + "display": "Primary malignant neoplasm of lacrimal gland duct (disorder)" + }, { + "code": "423032007", + "display": "Leukemic infiltration of orbit (disorder)" + }, { + "code": "423038006", + "display": "Polymorphous low grade adenocarcinoma of salivary gland (disorder)" + }, { + "code": "423050000", + "display": "Large cell carcinoma of lung, TNM stage 2 (disorder)" + }, { + "code": "423106003", + "display": "Adenocarcinoma of nasopharynx (disorder)" + }, { + "code": "423121009", + "display": "Non-small cell carcinoma of lung, TNM stage 4 (disorder)" + }, { + "code": "423158009", + "display": "Hurthle cell carcinoma of thyroid (disorder)" + }, { + "code": "423189008", + "display": "Adenoid cystic carcinoma of submandibular gland (disorder)" + }, { + "code": "423195009", + "display": "Primary malignant neoplasm of lacrimal drainage system (disorder)" + }, { + "code": "423280002", + "display": "Malignant melanoma of skin of canthus of eye (disorder)" + }, { + "code": "423295000", + "display": "Squamous cell carcinoma of lung, TNM stage 1 (disorder)" + }, { + "code": "423318000", + "display": "Adenoid cystic carcinoma of oropharynx (disorder)" + }, { + "code": "423349005", + "display": "Carcinoma of tip of nose (disorder)" + }, { + "code": "423384009", + "display": "Secondary malignant neoplasm of lacrimal gland duct (disorder)" + }, { + "code": "423424005", + "display": "Mucoepidermoid carcinoma of submandibular gland (disorder)" + }, { + "code": "423425006", + "display": "Malignant neoplasm of skin of eyelid (disorder)" + }, { + "code": "423447006", + "display": "Malignant melanoma of skin of lower eyelid (disorder)" + }, { + "code": "423463003", + "display": "Basal cell carcinoma of back (disorder)" + }, { + "code": "423464009", + "display": "Squamous cell carcinoma of oropharynx (disorder)" + }, { + "code": "423468007", + "display": "Squamous cell carcinoma of lung, TNM stage 2 (disorder)" + }, { + "code": "423494003", + "display": "Malignant melanoma of skin of upper eyelid (disorder)" + }, { + "code": "423506005", + "display": "Squamous cell carcinoma of external auditory canal (disorder)" + }, { + "code": "423535002", + "display": "Basal cell carcinoma of chest wall (disorder)" + }, { + "code": "423600008", + "display": "Large cell carcinoma of lung, TNM stage 4 (disorder)" + }, { + "code": "423607006", + "display": "Adenocarcinoma of anus (disorder)" + }, { + "code": "423610004", + "display": "Rhabdomyosarcoma of connective or soft tissue (disorder)" + }, { + "code": "423615009", + "display": "Adenoid cystic carcinoma of parotid gland (disorder)" + }, { + "code": "423627007", + "display": "Sarcoma of ovary (disorder)" + }, { + "code": "423673009", + "display": "Malignant melanoma of retina (disorder)" + }, { + "code": "423691004", + "display": "Malignant neoplasm of gum and contiguous sites (disorder)" + }, { + "code": "423700001", + "display": "Squamous cell carcinoma of auricle of ear (disorder)" + }, { + "code": "423708008", + "display": "Mucoepidermoid carcinoma of salivary gland (disorder)" + }, { + "code": "423793008", + "display": "Mucoepidermoid carcinoma of parotid gland (disorder)" + }, { + "code": "423807009", + "display": "Primary leiomyosarcoma (disorder)" + }, { + "code": "423896007", + "display": "Squamous cell carcinoma of tip of nose (disorder)" + }, { + "code": "423973006", + "display": "Carcinoma of uterine cervix, invasive (disorder)" + }, { + "code": "423987006", + "display": "Primary malignant neoplasm of vulva, with widespread metastatic disease (disorder)" + }, { + "code": "424132000", + "display": "Non-small cell carcinoma of lung, TNM stage 1 (disorder)" + }, { + "code": "424151006", + "display": "Anaplastic glioma of brain (disorder)" + }, { + "code": "424260006", + "display": "Squamous cell carcinoma of nasolabial fold (disorder)" + }, { + "code": "424276002", + "display": "Malignant glioma of brainstem (disorder)" + }, { + "code": "424302003", + "display": "Malignant melanoma of skin of lower lip (disorder)" + }, { + "code": "424334007", + "display": "Malignant tumor of spinal cord, intramedullary (disorder)" + }, { + "code": "424487008", + "display": "Malignant melanoma of skin of upper lip (disorder)" + }, { + "code": "424549003", + "display": "Malignant tumor of spinal cord, extramedullary (disorder)" + }, { + "code": "424666005", + "display": "Basal cell carcinoma of auricle of ear (disorder)" + }, { + "code": "424779008", + "display": "Primary Kaposi's sarcoma of oral cavity (disorder)" + }, { + "code": "424849005", + "display": "Primary sarcoma of tongue (disorder)" + }, { + "code": "424887002", + "display": "Primary malignant neoplasm of thyroid gland, metastatic to bone (disorder)" + }, { + "code": "424938000", + "display": "Large cell carcinoma of lung, TNM stage 1 (disorder)" + }, { + "code": "424952003", + "display": "Sarcoma of soft tissue (disorder)" + }, { + "code": "424954002", + "display": "Undifferentiated large cell carcinomatosis (disorder)" + }, { + "code": "424970000", + "display": "Large cell carcinoma of lung, TNM stage 3 (disorder)" + }, { + "code": "425048006", + "display": "Non-small cell carcinoma of lung, TNM stage 2 (disorder)" + }, { + "code": "425066001", + "display": "Carcinoma of urinary bladder, invasive (disorder)" + }, { + "code": "425127006", + "display": "Carcinoma ex pleomorphic adenoma of parotid gland (disorder)" + }, { + "code": "425148008", + "display": "Squamous cell carcinoma of temple (disorder)" + }, { + "code": "425178004", + "display": "Adenocarcinoma of rectosigmoid junction (disorder)" + }, { + "code": "425225007", + "display": "Malignant mixed tumor of salivary gland (disorder)" + }, { + "code": "425230006", + "display": "Squamous cell carcinoma of lung, TNM stage 3 (disorder)" + }, { + "code": "425231005", + "display": "Carcinoma of urinary bladder, superficial (disorder)" + }, { + "code": "425376008", + "display": "Squamous cell carcinoma of lung, TNM stage 4 (disorder)" + }, { + "code": "425688002", + "display": "Philadelphia chromosome-positive acute lymphoblastic leukemia (disorder)" + }, { + "code": "426336007", + "display": "Solitary osseous myeloma (disorder)" + }, { + "code": "426885008", + "display": "Hodgkin's disease, lymphocytic depletion of lymph nodes of head (disorder)" + }, { + "code": "426964009", + "display": "Non-small cell lung cancer, positive for epidermal growth factor receptor expression (disorder)" + }, { + "code": "427038005", + "display": "Non-small cell lung cancer, negative for epidermal growth factor receptor expression (disorder)" + }, { + "code": "427492003", + "display": "Hormone refractory prostate cancer (disorder)" + }, { + "code": "428061005", + "display": "Malignant neoplasm of brain (disorder)" + }, { + "code": "428100006", + "display": "Malignant neoplasm of thoracic cavity structure (disorder)" + }, { + "code": "428281000", + "display": "Malignant neoplasm of bone (disorder)" + }, { + "code": "428753007", + "display": "Low grade glioma of cerebellum (disorder)" + }, { + "code": "428960009", + "display": "Low grade glioma of brainstem (disorder)" + }, { + "code": "428964000", + "display": "Low grade glioma of cerebrum (disorder)" + }, { + "code": "428965004", + "display": "Low grade glioma of thalamus (disorder)" + }, { + "code": "429033009", + "display": "Malignant neoplasm of cerebrum (disorder)" + }, { + "code": "429408002", + "display": "Low grade glioma of brain (disorder)" + }, { + "code": "429565004", + "display": "Germ cell tumor of the brain (disorder)" + }, { + "code": "430338009", + "display": "Smoldering chronic lymphocytic leukemia (disorder)" + }, { + "code": "430621000", + "display": "Malignant neoplasm of lower respiratory tract (disorder)" + }, { + "code": "432131000124100", + "display": "Malignant mesothelioma of the tunica vaginalis (disorder)" + }, { + "code": "432328008", + "display": "Neuroblastoma (disorder)" + }, { + "code": "433067002", + "display": "Adamantinoma of femur (disorder)" + }, { + "code": "438946002", + "display": "Siewert type I adenocarcinoma of esophagogastric junction (disorder)" + }, { + "code": "439478008", + "display": "Siewert type III adenocarcinoma of esophagogastric junction (disorder)" + }, { + "code": "440173001", + "display": "Nonsquamous nonsmall cell neoplasm of lung (disorder)" + }, { + "code": "440397000", + "display": "Primary osteosarcoma of pelvis (disorder)" + }, { + "code": "440501006", + "display": "Siewert type II adenocarcinoma of esophagogastric junction (disorder)" + }, { + "code": "440525003", + "display": "Primary small cell neoplasm of thymus (disorder)" + }, { + "code": "440527006", + "display": "Primary squamous cell carcinoma of naris (disorder)" + }, { + "code": "441535001", + "display": "Adenocarcinoma of head and neck (disorder)" + }, { + "code": "441559006", + "display": "Mantle cell lymphoma of spleen (disorder)" + }, { + "code": "441962003", + "display": "Large cell lymphoma of intrapelvic lymph nodes (disorder)" + }, { + "code": "442537007", + "display": "Non-Hodgkin lymphoma associated with Human immunodeficiency virus infection (disorder)" + }, { + "code": "443136000", + "display": "Malignant neoplasm of skin of face (disorder)" + }, { + "code": "443261008", + "display": "Oxyphilic adenocarcinoma (disorder)" + }, { + "code": "443333004", + "display": "Medulloblastoma (disorder)" + }, { + "code": "443487006", + "display": "Mantle cell lymphoma (disorder)" + }, { + "code": "443675005", + "display": "Seminoma (disorder)" + }, { + "code": "443719001", + "display": "Leiomyosarcoma (disorder)" + }, { + "code": "443961001", + "display": "Malignant adenomatous neoplasm (disorder)" + }, { + "code": "444545003", + "display": "Glioma of brainstem (disorder)" + }, { + "code": "444597005", + "display": "Extranodal marginal zone lymphoma of mucosa-associated lymphoid tissue of stomach (disorder)" + }, { + "code": "444712000", + "display": "Mucinous carcinoma of breast (disorder)" + }, { + "code": "444910004", + "display": "Primary mediastinal (thymic) large B-cell lymphoma (disorder)" + }, { + "code": "444911000", + "display": "Acute myeloid leukemia with t(9:11)(p22;q23); MLLT3-MLL (disorder)" + }, { + "code": "445227008", + "display": "Juvenile myelomonocytic leukemia (disorder)" + }, { + "code": "445269007", + "display": "Extranodal marginal zone B-cell lymphoma of mucosa-associated lymphoid tissue (disorder)" + }, { + "code": "445406001", + "display": "Hepatosplenic T-cell lymphoma (disorder)" + }, { + "code": "445448008", + "display": "Acute myeloid leukemia with myelodysplasia-related changes (disorder)" + }, { + "code": "445736006", + "display": "Gastrointestinal stromal tumor of stomach (disorder)" + }, { + "code": "446022000", + "display": "Malignant epithelial neoplasm of uterus (disorder)" + }, { + "code": "446076000", + "display": "Extragastrointestinal stromal tumor of peritoneum (disorder)" + }, { + "code": "446124001", + "display": "Gastrointestinal stromal tumor of esophagus (disorder)" + }, { + "code": "446710005", + "display": "Low grade prostatic intraepithelial neoplasia (disorder)" + }, { + "code": "447100004", + "display": "Marginal zone lymphoma (disorder)" + }, { + "code": "447266004", + "display": "Sarcoma of endometrium (disorder)" + }, { + "code": "447389009", + "display": "Leiomyosarcoma of uterus (disorder)" + }, { + "code": "447390000", + "display": "Adenosarcoma of uterus (disorder)" + }, { + "code": "447656001", + "display": "Lymphoma of pylorus of stomach (disorder)" + }, { + "code": "447658000", + "display": "Lymphoma of fundus of stomach (disorder)" + }, { + "code": "447705002", + "display": "Malignant germ cell neoplasm of posterior mediastinum (disorder)" + }, { + "code": "447706001", + "display": "Leiomyosarcoma of scalp (disorder)" + }, { + "code": "447707005", + "display": "Leiomyosarcoma of cardia of stomach (disorder)" + }, { + "code": "447708000", + "display": "Malignant germ cell neoplasm of anterior mediastinum (disorder)" + }, { + "code": "447712006", + "display": "Malignant melanoma of skin of anus (disorder)" + }, { + "code": "447738006", + "display": "Paget's disease of skin of scrotum (disorder)" + }, { + "code": "447757002", + "display": "Angiosarcoma of cheek (disorder)" + }, { + "code": "447766003", + "display": "Lymphoma of pyloric antrum of stomach (disorder)" + }, { + "code": "447781009", + "display": "Malignant epithelial neoplasm of peritoneum (disorder)" + }, { + "code": "447782002", + "display": "Malignant epithelial neoplasm of female breast (disorder)" + }, { + "code": "447783007", + "display": "Sarcoma of peritoneum (disorder)" + }, { + "code": "447784001", + "display": "Sarcoma of axillary tail of female breast (disorder)" + }, { + "code": "447785000", + "display": "Leiomyosarcoma of stomach (disorder)" + }, { + "code": "447800002", + "display": "Adenocarcinoma of scrotum (disorder)" + }, { + "code": "447804006", + "display": "Leiomyosarcoma of connective tissue (disorder)" + }, { + "code": "447805007", + "display": "Lymphoma of greater curvature of stomach (disorder)" + }, { + "code": "447806008", + "display": "Lymphoma of cardia of stomach (disorder)" + }, { + "code": "447882007", + "display": "Malignant epithelial neoplasm of vulva (disorder)" + }, { + "code": "447886005", + "display": "Adenocarcinoma of anorectum (disorder)" + }, { + "code": "447949005", + "display": "Malignant epithelial neoplasm of cheek (disorder)" + }, { + "code": "447989004", + "display": "Non-Hodgkin's lymphoma of extranodal site (disorder)" + }, { + "code": "448139005", + "display": "Fibrosarcoma of connective tissue (disorder)" + }, { + "code": "448148000", + "display": "Functioning pituitary neoplasm (disorder)" + }, { + "code": "448212009", + "display": "Anaplastic lymphoma kinase negative anaplastic large cell lymphoma (disorder)" + }, { + "code": "448213004", + "display": "Diffuse non-Hodgkin's lymphoma of prostate (disorder)" + }, { + "code": "448214005", + "display": "Malignant epithelial neoplasm of oropharynx (disorder)" + }, { + "code": "448215006", + "display": "Malignant epithelial neoplasm of renal pelvis (disorder)" + }, { + "code": "448216007", + "display": "Malignant epithelial neoplasm of thyroid (disorder)" + }, { + "code": "448217003", + "display": "Follicular non-Hodgkin's lymphoma of prostate (disorder)" + }, { + "code": "448218008", + "display": "Malignant neoplasm of cerebellopontine angle (disorder)" + }, { + "code": "448220006", + "display": "Non-Hodgkin's lymphoma of bone (disorder)" + }, { + "code": "448221005", + "display": "Sarcoma of fibula (disorder)" + }, { + "code": "448229007", + "display": "Leiomyosarcoma of lower esophagus (disorder)" + }, { + "code": "448231003", + "display": "Follicular non-Hodgkin's lymphoma of nose (disorder)" + }, { + "code": "448233000", + "display": "Malignant neoplasm of urinary organ (disorder)" + }, { + "code": "448248006", + "display": "Malignant neoplasm of axial suprasellar region of brain (disorder)" + }, { + "code": "448250003", + "display": "Malignant teratoma of pineal region (disorder)" + }, { + "code": "448254007", + "display": "Non-Hodgkin's lymphoma of central nervous system (disorder)" + }, { + "code": "448257000", + "display": "Sarcoma of male breast (disorder)" + }, { + "code": "448258005", + "display": "Sarcoma of mesentery (disorder)" + }, { + "code": "448259002", + "display": "Sarcoma of posterior mediastinum (disorder)" + }, { + "code": "448269008", + "display": "Lymphoma of lesser curvature of stomach (disorder)" + }, { + "code": "448273006", + "display": "Malignant melanoma of skin of scrotum (disorder)" + }, { + "code": "448298007", + "display": "Malignant melanoma of skin of penis (disorder)" + }, { + "code": "448299004", + "display": "Malignant neoplasm of mastoid (disorder)" + }, { + "code": "448300007", + "display": "Malignant melanoma of skin of vulva (disorder)" + }, { + "code": "448315008", + "display": "Malignant epithelial neoplasm of anus (disorder)" + }, { + "code": "448317000", + "display": "Follicular non-Hodgkin's lymphoma of soft tissue (disorder)" + }, { + "code": "448319002", + "display": "Diffuse non-Hodgkin's lymphoma of nasopharynx (disorder)" + }, { + "code": "448354009", + "display": "Non-Hodgkin's lymphoma of intestine (disorder)" + }, { + "code": "448371005", + "display": "Non-Hodgkin's lymphoma of nasopharynx (disorder)" + }, { + "code": "448372003", + "display": "Non-Hodgkin's lymphoma of lung (disorder)" + }, { + "code": "448376000", + "display": "Non-Hodgkin's lymphoma of ovary (disorder)" + }, { + "code": "448377009", + "display": "Sarcoma of sacrum (disorder)" + }, { + "code": "448378004", + "display": "Sarcoma of bone of foot (disorder)" + }, { + "code": "448384001", + "display": "Non-Hodgkin's lymphoma of nose (disorder)" + }, { + "code": "448386004", + "display": "Non-Hodgkin's lymphoma of oral cavity (disorder)" + }, { + "code": "448387008", + "display": "Non-Hodgkin's lymphoma of testis (disorder)" + }, { + "code": "448388003", + "display": "Sarcoma of lower outer quadrant of female breast (disorder)" + }, { + "code": "448401007", + "display": "Choriocarcinoma of placenta (disorder)" + }, { + "code": "448408001", + "display": "Sarcoma of upper inner quadrant of female breast (disorder)" + }, { + "code": "448435005", + "display": "Sarcoma lower inner quadrant of female breast (disorder)" + }, { + "code": "448436006", + "display": "Sarcoma of central portion of female breast (disorder)" + }, { + "code": "448447004", + "display": "Non-Hodgkin's lymphoma of skin (disorder)" + }, { + "code": "448449001", + "display": "Sarcoma of female breast (disorder)" + }, { + "code": "448450001", + "display": "Sarcoma of omentum (disorder)" + }, { + "code": "448451002", + "display": "Sarcoma upper outer quadrant of female breast (disorder)" + }, { + "code": "448465000", + "display": "Diffuse non-Hodgkin's lymphoma of testis (disorder)" + }, { + "code": "448468003", + "display": "Diffuse non-Hodgkin's lymphoma of oral cavity (disorder)" + }, { + "code": "448509007", + "display": "Transglottic malignant neoplasm of larynx (disorder)" + }, { + "code": "448553002", + "display": "Lymphoma of pelvis (disorder)" + }, { + "code": "448555009", + "display": "Lymphoma of body of stomach (disorder)" + }, { + "code": "448558006", + "display": "Malignant neoplasm of maxillofacial bone (disorder)" + }, { + "code": "448560008", + "display": "Diffuse non-Hodgkin's lymphoma of extranodal site (disorder)" + }, { + "code": "448561007", + "display": "Follicular non-Hodgkin's lymphoma of extranodal site (disorder)" + }, { + "code": "448607004", + "display": "Diffuse non-Hodgkin's lymphoma of uterine cervix (disorder)" + }, { + "code": "448609001", + "display": "Diffuse non-Hodgkin's lymphoma of ovary (disorder)" + }, { + "code": "448663003", + "display": "Diffuse non-Hodgkin's lymphoma of stomach (disorder)" + }, { + "code": "448665005", + "display": "Malignant epithelial neoplasm of hypopharynx (disorder)" + }, { + "code": "448666006", + "display": "Follicular non-Hodgkin's lymphoma of bone (disorder)" + }, { + "code": "448668007", + "display": "Malignant neoplasm of mandible (disorder)" + }, { + "code": "448669004", + "display": "Malignant neoplasm of soft tissue of orbit (disorder)" + }, { + "code": "448670003", + "display": "Malignant neoplasm of posterior mediastinum (disorder)" + }, { + "code": "448672006", + "display": "Follicular non-Hodgkin's lymphoma of lung (disorder)" + }, { + "code": "448674007", + "display": "Malignant neoplasm of parametrium (disorder)" + }, { + "code": "448709005", + "display": "Non-Hodgkin's lymphoma of stomach (disorder)" + }, { + "code": "448710000", + "display": "Sarcoma of bone (disorder)" + }, { + "code": "448711001", + "display": "Sarcoma of back (disorder)" + }, { + "code": "448712008", + "display": "Sarcoma of femur (disorder)" + }, { + "code": "448738008", + "display": "Non-Hodgkin's lymphoma of soft tissue (disorder)" + }, { + "code": "448774004", + "display": "Non-Hodgkin's lymphoma of uterine cervix (disorder)" + }, { + "code": "448775003", + "display": "Sarcoma of radius (disorder)" + }, { + "code": "448776002", + "display": "Sarcoma of vertebra (disorder)" + }, { + "code": "448863000", + "display": "Malignant epithelial neoplasm of pineal gland (disorder)" + }, { + "code": "448864006", + "display": "Malignant epithelial neoplasm of ureter (disorder)" + }, { + "code": "448865007", + "display": "Follicular non-Hodgkin's lymphoma of skin (disorder)" + }, { + "code": "448867004", + "display": "Diffuse non-Hodgkin's lymphoma of lung (disorder)" + }, { + "code": "448868009", + "display": "Malignant neoplasm of lateral wall of oropharynx (disorder)" + }, { + "code": "448930008", + "display": "Squamous cell carcinoma of nose (disorder)" + }, { + "code": "448931007", + "display": "Squamous cell carcinoma of shoulder (disorder)" + }, { + "code": "448952004", + "display": "Infiltrating duct carcinoma of female breast (disorder)" + }, { + "code": "448954003", + "display": "Malignant epithelial neoplasm of urethra (disorder)" + }, { + "code": "448988009", + "display": "Malignant epithelial neoplasm of nose (disorder)" + }, { + "code": "448989001", + "display": "Malignant epithelial neoplasm of brain (disorder)" + }, { + "code": "448990005", + "display": "Malignant epithelial neoplasm of nasal cavity (disorder)" + }, { + "code": "448992002", + "display": "Malignant epithelial neoplasm of appendix (disorder)" + }, { + "code": "448993007", + "display": "Malignant epithelial neoplasm of lung (disorder)" + }, { + "code": "448995000", + "display": "Follicular non-Hodgkin's lymphoma of central nervous system (disorder)" + }, { + "code": "449034009", + "display": "Malignant neoplasm of anterior and lateral floor of mouth (disorder)" + }, { + "code": "449053004", + "display": "Lymphoma of lower esophagus (disorder)" + }, { + "code": "449054005", + "display": "Malignant epithelial neoplasm of fundus of uterus (disorder)" + }, { + "code": "449055006", + "display": "Leiomyosarcoma of cardioesophageal junction (disorder)" + }, { + "code": "449058008", + "display": "Follicular non-Hodgkin's lymphoma of tonsil (disorder)" + }, { + "code": "449059000", + "display": "Follicular non-Hodgkin's lymphoma of uterine cervix (disorder)" + }, { + "code": "449063007", + "display": "Follicular non-Hodgkin's lymphoma of oral cavity (disorder)" + }, { + "code": "449065000", + "display": "Diffuse non-Hodgkin's lymphoma of nose (disorder)" + }, { + "code": "449066004", + "display": "Malignant neoplasm of upper respiratory tract (disorder)" + }, { + "code": "449067008", + "display": "Malignant neoplasm of parietal pleura (disorder)" + }, { + "code": "449072004", + "display": "Lymphoma of gastrointestinal tract (disorder)" + }, { + "code": "449073009", + "display": "Malignant epithelial neoplasm of body of uterus (disorder)" + }, { + "code": "449074003", + "display": "Lymphoma of small intestine (disorder)" + }, { + "code": "449075002", + "display": "Lymphoma of cardioesophageal junction (disorder)" + }, { + "code": "449077005", + "display": "Malignant epithelial neoplasm of maxilla (disorder)" + }, { + "code": "449100005", + "display": "Sarcoma of bone of pelvis (disorder)" + }, { + "code": "449101009", + "display": "Sarcoma of sternum (disorder)" + }, { + "code": "449108003", + "display": "Philadelphia chromosome positive chronic myelogenous leukemia (disorder)" + }, { + "code": "449153001", + "display": "Adenocarcinoma of lower esophagus (disorder)" + }, { + "code": "449156009", + "display": "Malignant epithelial neoplasm of floor of mouth (disorder)" + }, { + "code": "449173006", + "display": "Diffuse non-Hodgkin's lymphoma of tonsil (disorder)" + }, { + "code": "449176003", + "display": "Diffuse non-Hodgkin's lymphoma of intestine (disorder)" + }, { + "code": "449177007", + "display": "Diffuse non-Hodgkin's lymphoma of bone (disorder)" + }, { + "code": "449206007", + "display": "Sarcoma of tibia (disorder)" + }, { + "code": "449207003", + "display": "Sarcoma of humerus (disorder)" + }, { + "code": "449208008", + "display": "Sarcoma of coccyx (disorder)" + }, { + "code": "449216004", + "display": "Diffuse non-Hodgkin's lymphoma of soft tissue (disorder)" + }, { + "code": "449217008", + "display": "Diffuse non-Hodgkin's lymphoma of skin (disorder)" + }, { + "code": "449218003", + "display": "Lymphoma of sigmoid colon (disorder)" + }, { + "code": "449219006", + "display": "Follicular non-Hodgkin's lymphoma of nasopharynx (disorder)" + }, { + "code": "449220000", + "display": "Diffuse follicle center lymphoma (disorder)" + }, { + "code": "449221001", + "display": "Diffuse non-Hodgkin's lymphoma of central nervous system (disorder)" + }, { + "code": "449222008", + "display": "Follicular non-Hodgkin's lymphoma of stomach (disorder)" + }, { + "code": "449223003", + "display": "Malignant neoplasm of alveolus of maxilla (disorder)" + }, { + "code": "449224009", + "display": "Malignant neoplasm of anterior mediastinum (disorder)" + }, { + "code": "449248000", + "display": "Nasopharyngeal carcinoma (disorder)" + }, { + "code": "449253005", + "display": "Malignant epithelial neoplasm of hypothalamus (disorder)" + }, { + "code": "449254004", + "display": "Malignant epithelial neoplasm of pharynx (disorder)" + }, { + "code": "449259009", + "display": "Malignant neoplasm of broad ligament of uterus (disorder)" + }, { + "code": "449260004", + "display": "Malignant neoplasm of alveolus dentalis (disorder)" + }, { + "code": "449267001", + "display": "Sarcoma of mandible (disorder)" + }, { + "code": "449268006", + "display": "Sarcoma of clavicle (disorder)" + }, { + "code": "449269003", + "display": "Sarcoma of rib (disorder)" + }, { + "code": "449292003", + "display": "Non-Hodgkin's lymphoma of tonsil (disorder)" + }, { + "code": "449294002", + "display": "Sarcoma of scapula (disorder)" + }, { + "code": "449295001", + "display": "Sarcoma of skull (disorder)" + }, { + "code": "449307001", + "display": "Follicular non-Hodgkin's lymphoma of ovary (disorder)" + }, { + "code": "449308006", + "display": "Malignant neoplasm of visceral pleura (disorder)" + }, { + "code": "449309003", + "display": "Malignant neoplasm of skin of scrotum (disorder)" + }, { + "code": "449318001", + "display": "Non-Hodgkin's lymphoma of prostate (disorder)" + }, { + "code": "449377002", + "display": "Malignant neoplasm of pelvic peritoneum (disorder)" + }, { + "code": "449386007", + "display": "Philadelphia chromosome negative chronic myelogenous leukemia (disorder)" + }, { + "code": "449416001", + "display": "Malignant epithelial neoplasm of skin of anus (disorder)" + }, { + "code": "449417005", + "display": "Malignant epithelial neoplasm of nasal septum (disorder)" + }, { + "code": "449418000", + "display": "Follicular non-Hodgkin's lymphoma of testis (disorder)" + }, { + "code": "449419008", + "display": "Follicular non-Hodgkin's lymphoma of intestine (disorder)" + }, { + "code": "449420002", + "display": "Malignant neoplasm of cerebellum (disorder)" + }, { + "code": "449472007", + "display": "Malignant epithelial neoplasm of alveolus dentalis (disorder)" + }, { + "code": "449487002", + "display": "Malignant epithelial neoplasm of mandible (disorder)" + }, { + "code": "449497006", + "display": "Sarcoma of pelvic peritoneum (disorder)" + }, { + "code": "449578008", + "display": "Malignant neoplasm of alveolus of mandible (disorder)" + }, { + "code": "449628003", + "display": "Malignant neoplasm of long bone of lower leg (disorder)" + }, { + "code": "449636007", + "display": "Malignant melanoma of skin of lower leg (disorder)" + }, { + "code": "449637003", + "display": "Malignant melanoma of skin of upper arm (disorder)" + }, { + "code": "449803009", + "display": "Primary malignant neoplasm of dome of urinary bladder (disorder)" + }, { + "code": "450521000124109", + "display": "Marginal zone lymphoma of axillary lymph node (disorder)" + }, { + "code": "456911000124108", + "display": "Diffuse non-Hodgkin's lymphoma Lugano stage III (disorder)" + }, { + "code": "458581000124106", + "display": "Metastatic HER2 positive neoplasm of gastroesophageal junction (disorder)" + }, { + "code": "459371000124108", + "display": "Metastasis from gastroesophageal adenocarcinoma (disorder)" + }, { + "code": "459381000124106", + "display": "Metastasis from hormone-refractory prostate cancer (disorder)" + }, { + "code": "473419009", + "display": "Intraductal papillary mucinous carcinoma in situ of pancreas (disorder)" + }, { + "code": "58961005", + "display": "Lethal midline granuloma (disorder)" + }, { + "code": "61301000119102", + "display": "Disorder of central nervous system co-occurrent and due to acute lymphoid leukemia (disorder)" + }, { + "code": "61471000119100", + "display": "Basal cell carcinoma of naris (disorder)" + }, { + "code": "67811000119102", + "display": "Primary small cell malignant neoplasm of lung, TNM stage 1 (disorder)" + }, { + "code": "67821000119109", + "display": "Primary small cell malignant neoplasm of lung, TNM stage 2 (disorder)" + }, { + "code": "67831000119107", + "display": "Primary small cell malignant neoplasm of lung, TNM stage 3 (disorder)" + }, { + "code": "67841000119103", + "display": "Primary small cell malignant neoplasm of lung, TNM stage 4 (disorder)" + }, { + "code": "681601000119101", + "display": "Primary adenocarcinoma of ascending colon (disorder)" + }, { + "code": "681621000119105", + "display": "Primary adenocarcinoma of body of pancreas (disorder)" + }, { + "code": "681631000119108", + "display": "Primary adenocarcinoma of body of stomach (disorder)" + }, { + "code": "681721000119103", + "display": "Primary adenocarcinoma of head of pancreas (disorder)" + }, { + "code": "68261000119102", + "display": "Diffuse non-Hodgkin's lymphoma Lugano stage I (disorder)" + }, { + "code": "68271000119108", + "display": "Diffuse non-Hodgkin's lymphoma Lugano stage II (disorder)" + }, { + "code": "68291000119109", + "display": "Diffuse non-Hodgkin's lymphoma Lugano stage IV (disorder)" + }, { + "code": "683991000119103", + "display": "Extensive stage primary small cell carcinoma of lung (disorder)" + }, { + "code": "684911000119105", + "display": "Primary glioblastoma multiforme of frontal lobe (disorder)" + }, { + "code": "687981000119106", + "display": "Sarcoma of face (disorder)" + }, { + "code": "697993003", + "display": "Undifferentiated carcinoma of nasal sinus (disorder)" + }, { + "code": "698041000", + "display": "Malignant melanoma of vestibule of mouth (disorder)" + }, { + "code": "698042007", + "display": "Malignant melanoma of tongue (disorder)" + }, { + "code": "698043002", + "display": "Malignant melanoma of floor of mouth (disorder)" + }, { + "code": "698044008", + "display": "Malignant melanoma of palatine arch (disorder)" + }, { + "code": "698045009", + "display": "Malignant melanoma of buccal mucosa (disorder)" + }, { + "code": "698048006", + "display": "Undifferentiated nonkeratinizing squamous cell carcinoma of nasopharynx (disorder)" + }, { + "code": "698200003", + "display": "Large cell Ewing sarcoma of bone (disorder)" + }, { + "code": "698285005", + "display": "Malignant melanoma of ethmoid sinus (disorder)" + }, { + "code": "698286006", + "display": "Malignant melanoma of palate (disorder)" + }, { + "code": "698287002", + "display": "Malignant melanoma of gum (disorder)" + }, { + "code": "698288007", + "display": "Malignant melanoma of maxillary sinus (disorder)" + }, { + "code": "699354006", + "display": "Sarcoma of orbit (disorder)" + }, { + "code": "699355007", + "display": "Leiomyosarcoma of orbit (disorder)" + }, { + "code": "699356008", + "display": "Endometrial stromal sarcoma (disorder)" + }, { + "code": "699657009", + "display": "Hepatosplenic gamma-delta cell lymphoma (disorder)" + }, { + "code": "699818003", + "display": "T-cell large granular lymphocytic leukemia (disorder)" + }, { + "code": "700423003", + "display": "Adenocarcinoma of pancreas (disorder)" + }, { + "code": "7021009", + "display": "Gastrointestinal eosinophilic granuloma (disorder)" + }, { + "code": "702391001", + "display": "Renal cell carcinoma (disorder)" + }, { + "code": "702392008", + "display": "Metastatic renal cell carcinoma (disorder)" + }, { + "code": "702405001", + "display": "Malignant granulosa cell tumor of testis (disorder)" + }, { + "code": "702446006", + "display": "Core binding factor acute myeloid leukemia (disorder)" + }, { + "code": "702785000", + "display": "Large cell anaplastic lymphoma T cell and Null cell type (disorder)" + }, { + "code": "702786004", + "display": "Follicular non-Hodgkin's lymphoma diffuse follicle center sub-type grade 1 (disorder)" + }, { + "code": "702977001", + "display": "Follicular non-Hodgkin's lymphoma diffuse follicle center cell sub-type grade 2 (disorder)" + }, { + "code": "703228009", + "display": "Non-small cell lung cancer with mutation in epidermal growth factor receptor (disorder)" + }, { + "code": "703230006", + "display": "Non-small cell lung cancer without mutation in epidermal growth factor receptor (disorder)" + }, { + "code": "703387000", + "display": "Acute myeloid leukemia with normal karyotype (disorder)" + }, { + "code": "703429003", + "display": "Malignant optic glioma of adulthood (disorder)" + }, { + "code": "703625002", + "display": "Kaposi sarcoma not associated with acquired immunodeficiency syndrome (disorder)" + }, { + "code": "703626001", + "display": "Anaplastic large cell lymphoma, T/Null cell, primary systemic type (disorder)" + }, { + "code": "704152002", + "display": "Metastatic neuroblastoma (disorder)" + }, { + "code": "705061009", + "display": "Childhood myelodysplastic syndrome (disorder)" + }, { + "code": "705176003", + "display": "Metastatic carcinoid tumor (disorder)" + }, { + "code": "707337006", + "display": "Primary adenocarcinoma of accessory sinus (disorder)" + }, { + "code": "707339009", + "display": "Primary adenocarcinoma of maxillary sinus (disorder)" + }, { + "code": "707342003", + "display": "Primary adenocarcinoma of ethmoidal sinus (disorder)" + }, { + "code": "707344002", + "display": "Primary adenocarcinoma of sphenoidal sinus (disorder)" + }, { + "code": "707345001", + "display": "Primary carcinoma of accessory sinus (disorder)" + }, { + "code": "707346000", + "display": "Primary carcinoma of ethmoidal sinus (disorder)" + }, { + "code": "707347009", + "display": "Primary carcinoma of maxillary sinus (disorder)" + }, { + "code": "707348004", + "display": "Primary carcinoma of sphenoidal sinus (disorder)" + }, { + "code": "707349007", + "display": "Primary carcinoma of frontal sinus (disorder)" + }, { + "code": "707350007", + "display": "Malignant melanoma of accessory sinus (disorder)" + }, { + "code": "707353009", + "display": "Primary squamous cell carcinoma of accessory sinus (disorder)" + }, { + "code": "707354003", + "display": "Primary squamous cell carcinoma of maxillary sinus (disorder)" + }, { + "code": "707355002", + "display": "Primary squamous cell carcinoma of sphenoidal sinus (disorder)" + }, { + "code": "707356001", + "display": "Primary squamous cell carcinoma of frontal sinus (disorder)" + }, { + "code": "707358000", + "display": "Primary squamous cell carcinoma of larynx (disorder)" + }, { + "code": "707359008", + "display": "Primary squamous cell carcinoma of ethmoidal sinus (disorder)" + }, { + "code": "707361004", + "display": "Malignant melanoma of frontal sinus (disorder)" + }, { + "code": "707362006", + "display": "Malignant melanoma of sphenoidal sinus (disorder)" + }, { + "code": "707378008", + "display": "Primary myoepithelial carcinoma of trachea (disorder)" + }, { + "code": "707380002", + "display": "Primary salivary gland type carcinoma of trachea (disorder)" + }, { + "code": "707383000", + "display": "Primary mucinous cystadenocarcinoma of trachea (disorder)" + }, { + "code": "707384006", + "display": "Primary solid carcinoma of trachea (disorder)" + }, { + "code": "707388009", + "display": "Primary squamous cell carcinoma of trachea (disorder)" + }, { + "code": "707393007", + "display": "Primary adenosquamous carcinoma of trachea (disorder)" + }, { + "code": "707395000", + "display": "Primary adenocarcinoma of hypopharynx (disorder)" + }, { + "code": "707396004", + "display": "Primary oxyphilic adenocarcinoma of oropharynx (disorder)" + }, { + "code": "707400004", + "display": "Primary mucinous adenocarcinoma of oropharynx (disorder)" + }, { + "code": "707404008", + "display": "Primary mixed subtype adenocarcinoma of lung (disorder)" + }, { + "code": "707405009", + "display": "Primary adenosquamous carcinoma of lung (disorder)" + }, { + "code": "707408006", + "display": "Primary small cell non-keratinizing squamous cell carcinoma of lung (disorder)" + }, { + "code": "707410008", + "display": "Primary solid carcinoma of lung (disorder)" + }, { + "code": "707411007", + "display": "Primary papillary adenocarcinoma of lung (disorder)" + }, { + "code": "707424007", + "display": "Primary adenosquamous cell carcinoma of larynx (disorder)" + }, { + "code": "707451005", + "display": "Primary adenocarcinoma of lung (disorder)" + }, { + "code": "707452003", + "display": "Primary mucinous adenocarcinoma of lung (disorder)" + }, { + "code": "707453008", + "display": "Primary clear cell squamous cell carcinoma of lung (disorder)" + }, { + "code": "707454002", + "display": "Primary basaloid squamous cell carcinoma of lung (disorder)" + }, { + "code": "707455001", + "display": "Primary papillary squamous cell carcinoma of lung (disorder)" + }, { + "code": "707456000", + "display": "Primary undifferentiated carcinoma of lung (disorder)" + }, { + "code": "707457009", + "display": "Primary spindle cell carcinoma of lung (disorder)" + }, { + "code": "707458004", + "display": "Primary pleomorphic carcinoma of lung (disorder)" + }, { + "code": "707460002", + "display": "Primary pseudosarcomatous carcinoma of lung (disorder)" + }, { + "code": "707464006", + "display": "Primary myoepithelial carcinoma of lung (disorder)" + }, { + "code": "707466008", + "display": "Primary adenoid cystic carcinoma of lung (disorder)" + }, { + "code": "707467004", + "display": "Primary salivary gland type carcinoma of lung (disorder)" + }, { + "code": "707468009", + "display": "Primary mixed mucinous and non-mucinous bronchiolo-alveolar carcinoma of lung (disorder)" + }, { + "code": "707469001", + "display": "Primary non-mucinous bronchiolo-alveolar carcinoma of lung (disorder)" + }, { + "code": "707470000", + "display": "Primary mucinous bronchiolo-alveolar carcinoma of lung (disorder)" + }, { + "code": "707471001", + "display": "Primary clear cell adenocarcinoma of trachea (disorder)" + }, { + "code": "707472008", + "display": "Primary papillary adenocarcinoma of trachea (disorder)" + }, { + "code": "707473003", + "display": "Primary mucinous adenocarcinoma of trachea (disorder)" + }, { + "code": "707475005", + "display": "Primary adenocarcinoma of trachea (disorder)" + }, { + "code": "707485006", + "display": "Primary adenosquamous carcinoma of hypopharynx (disorder)" + }, { + "code": "707535004", + "display": "Primary squamous cell carcinoma of lateral wall of oropharynx (disorder)" + }, { + "code": "707538002", + "display": "Primary squamous cell carcinoma of vallecula (disorder)" + }, { + "code": "707539005", + "display": "Primary adenoid cystic carcinoma of hypopharynx (disorder)" + }, { + "code": "707576008", + "display": "Primary squamous cell carcinoma of subglottis (disorder)" + }, { + "code": "707583001", + "display": "Primary adenosquamous carcinoma of oropharynx (disorder)" + }, { + "code": "707586009", + "display": "Primary myoepithelial carcinoma of oropharynx (disorder)" + }, { + "code": "707587000", + "display": "Primary carcinoma ex pleomorphic adenoma of oropharynx (disorder)" + }, { + "code": "707593008", + "display": "Primary salivary gland-type tumour of oropharynx (disorder)" + }, { + "code": "707595001", + "display": "Primary mucinous cystadenocarcinoma of lung (disorder)" + }, { + "code": "707627009", + "display": "Primary salivary gland type carcinoma of hypopharynx (disorder)" + }, { + "code": "709031009", + "display": "Malignant neoplasm of superior wall of nasopharynx (disorder)" + }, { + "code": "709471005", + "display": "Periodontitis co-occurrent with leukemia (disorder)" + }, { + "code": "709517003", + "display": "Malignant carcinoid tumor of small intestine (disorder)" + }, { + "code": "709830006", + "display": "Malignant carcinoid tumor of stomach (disorder)" + }, { + "code": "710195004", + "display": "Malignant odontogenic neoplasm of lower jaw (disorder)" + }, { + "code": "711414003", + "display": "Primary clear cell adenocarcinoma of lung (disorder)" + }, { + "code": "712525007", + "display": "Malignant neoplasm of short bone of lower limb (disorder)" + }, { + "code": "713189001", + "display": "Malignant insulinoma (disorder)" + }, { + "code": "713290004", + "display": "Malignant ameloblastoma of mandible (disorder)" + }, { + "code": "713293002", + "display": "Malignant germ cell neoplasm of mediastinum (disorder)" + }, { + "code": "713325002", + "display": "Primary cerebral lymphoma co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713327005", + "display": "Malignant meningioma of meninges of brain (disorder)" + }, { + "code": "713483007", + "display": "Reticulosarcoma co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713516007", + "display": "Primary effusion lymphoma (disorder)" + }, { + "code": "713573006", + "display": "Malignant carcinoid tumor of rectum (disorder)" + }, { + "code": "713574000", + "display": "Malignant carcinoid tumor of kidney (disorder)" + }, { + "code": "713718006", + "display": "Diffuse non-Hodgkin immunoblastic lymphoma co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "713897006", + "display": "Burkitt lymphoma co-occurrent with human immunodeficiency virus infection (disorder)" + }, { + "code": "714251006", + "display": "Philadelphia chromosome-negative precursor B-cell acute lymphoblastic leukemia (disorder)" + }, { + "code": "714463003", + "display": "Primary effusion lymphoma co-occurrent with infection caused by Human herpesvirus 8 (disorder)" + }, { + "code": "715664005", + "display": "Interdigitating dendritic cell sarcoma (disorder)" + }, { + "code": "715904005", + "display": "Pineal parenchymal tumor of intermediate differentiation (disorder)" + }, { + "code": "715950008", + "display": "Anaplastic lymphoma kinase positive large B-cell lymphoma (disorder)" + }, { + "code": "716588005", + "display": "Primary non-gestational choriocarcinoma of ovary (disorder)" + }, { + "code": "716593008", + "display": "Carcinoma of salivary gland type of breast (disorder)" + }, { + "code": "716649003", + "display": "Extraovarian primary peritoneal carcinoma (disorder)" + }, { + "code": "716651004", + "display": "Leiomyosarcoma of small intestine (disorder)" + }, { + "code": "716788007", + "display": "Epstein-Barr virus positive diffuse large B-cell lymphoma of elderly (disorder)" + }, { + "code": "716859000", + "display": "Hereditary diffuse carcinoma of stomach (disorder)" + }, { + "code": "717735006", + "display": "Renal cell carcinoma of kidney except renal pelvis (disorder)" + }, { + "code": "717736007", + "display": "Familial renal cell carcinoma (disorder)" + }, { + "code": "718200007", + "display": "Primary pulmonary lymphoma (disorder)" + }, { + "code": "721305008", + "display": "Acute myeloid leukemia due to recurrent genetic abnormality (disorder)" + }, { + "code": "721306009", + "display": "Therapy related acute myeloid leukemia and myelodysplastic syndrome (disorder)" + }, { + "code": "721308005", + "display": "Acute leukemia of ambiguous lineage (disorder)" + }, { + "code": "721310007", + "display": "Aggressive natural killer-cell leukemia (disorder)" + }, { + "code": "721313009", + "display": "Indeterminate dendritic cell neoplasm (disorder)" + }, { + "code": "721314003", + "display": "Fibroblastic reticular cell neoplasm (disorder)" + }, { + "code": "721541009", + "display": "Primary malignant sarcoma of skin (disorder)" + }, { + "code": "721546004", + "display": "Primary adenocarcinoma of ciliary epithelium (disorder)" + }, { + "code": "721549006", + "display": "Primary adenocarcinoma of lacrimal apparatus (disorder)" + }, { + "code": "721555001", + "display": "Follicular lymphoma of small intestine (disorder)" + }, { + "code": "721557009", + "display": "Primary adenocarcinoma of parotid gland (disorder)" + }, { + "code": "721558004", + "display": "Primary adenocarcinoma of cystic duct (disorder)" + }, { + "code": "721559007", + "display": "Primary adenocarcinoma of common bile duct (disorder)" + }, { + "code": "721568009", + "display": "Primary adenocarcinoma of parametrium (disorder)" + }, { + "code": "721569001", + "display": "Primary adenocarcinoma of uterine ligament (disorder)" + }, { + "code": "721575005", + "display": "Primary angiosarcoma of heart (disorder)" + }, { + "code": "721576006", + "display": "Primary angiosarcoma of breast (disorder)" + }, { + "code": "721579004", + "display": "Primary synovial sarcoma of soft tissue of limb (disorder)" + }, { + "code": "721602000", + "display": "Primary embryonal carcinoma of testis (disorder)" + }, { + "code": "721603005", + "display": "Primary choriocarcinoma of testis (disorder)" + }, { + "code": "721605003", + "display": "Primary squamous cell carcinoma of overlapping lesion of accessory sinuses (disorder)" + }, { + "code": "721606002", + "display": "Primary adenocarcinoma of overlapping lesion of accessory sinuses (disorder)" + }, { + "code": "721619003", + "display": "Primary squamous cell carcinoma of middle third of esophagus (disorder)" + }, { + "code": "721620009", + "display": "Primary squamous cell carcinoma of lower third of esophagus (disorder)" + }, { + "code": "721621008", + "display": "Primary squamous cell carcinoma of overlapping lesion of esophagus (disorder)" + }, { + "code": "721622001", + "display": "Primary adenocarcinoma of upper third of esophagus (disorder)" + }, { + "code": "721623006", + "display": "Primary adenocarcinoma of middle third of esophagus (disorder)" + }, { + "code": "721624000", + "display": "Primary adenocarcinoma of overlapping lesion of esophagus (disorder)" + }, { + "code": "721627007", + "display": "Malignant melanoma of esophagus (disorder)" + }, { + "code": "721628002", + "display": "Primary adenocarcinoma of esophagogastric junction (disorder)" + }, { + "code": "721629005", + "display": "Linitis plastica of stomach (disorder)" + }, { + "code": "721630000", + "display": "Primary adenocarcinoma of cardia of stomach (disorder)" + }, { + "code": "721632008", + "display": "Primary adenocarcinoma of pyloric antrum of stomach (disorder)" + }, { + "code": "721633003", + "display": "Primary adenocarcinoma of overlapping lesion of stomach (disorder)" + }, { + "code": "721635005", + "display": "Primary malignant neuroendocrine neoplasm of cardia of stomach (disorder)" + }, { + "code": "721644006", + "display": "Primary malignant neuroendocrine neoplasm of duodenum (disorder)" + }, { + "code": "721645007", + "display": "Primary neuroendocrine carcinoma of duodenum (disorder)" + }, { + "code": "721672004", + "display": "Primary mucinous adenocarcinoma of appendix (disorder)" + }, { + "code": "721695008", + "display": "Primary adenocarcinoma of ascending colon and right flexure (disorder)" + }, { + "code": "721696009", + "display": "Primary adenocarcinoma of transverse colon (disorder)" + }, { + "code": "721699002", + "display": "Primary adenocarcinoma of descending colon and splenic flexure (disorder)" + }, { + "code": "721716004", + "display": "Primary cholangiocarcinoma of intrahepatic biliary tract (disorder)" + }, { + "code": "721718003", + "display": "Primary adenocarcinoma of ampulla of Vater (disorder)" + }, { + "code": "721725005", + "display": "Primary adenocarcinoma of peritoneum (disorder)" + }, { + "code": "721762007", + "display": "Adult T-cell leukemia/lymphoma of skin (disorder)" + }, { + "code": "722112006", + "display": "Primary squamous cell carcinoma of ear (disorder)" + }, { + "code": "722229001", + "display": "Primary sarcoma of retroperitoneum (disorder)" + }, { + "code": "722513008", + "display": "Primary leiomyosarcoma of retroperitoneum (disorder)" + }, { + "code": "722514002", + "display": "Primary leiomyosarcoma of peritoneum (disorder)" + }, { + "code": "722519007", + "display": "Primary sarcoma of peritoneum (disorder)" + }, { + "code": "722530005", + "display": "Primary squamous cell carcinoma of pharyngeal tonsil (disorder)" + }, { + "code": "722533007", + "display": "Primary malignant neoplasm of esophagogastric junction (disorder)" + }, { + "code": "722542000", + "display": "Primary squamous cell carcinoma of anal canal (disorder)" + }, { + "code": "722543005", + "display": "Primary malignant melanoma of anal canal (disorder)" + }, { + "code": "722665003", + "display": "Primary malignant melanoma of cornea (disorder)" + }, { + "code": "722666002", + "display": "Primary squamous cell carcinoma of lacrimal apparatus (disorder)" + }, { + "code": "722676004", + "display": "Primary squamous cell carcinoma of middle ear (disorder)" + }, { + "code": "722678003", + "display": "Primary squamous cell carcinoma of vagina (disorder)" + }, { + "code": "722679006", + "display": "Primary mucinous adenocarcinoma of endometrium (disorder)" + }, { + "code": "722680009", + "display": "Primary serous adenocarcinoma of endometrium (disorder)" + }, { + "code": "722681008", + "display": "Primary mixed adenocarcinoma of endometrium (disorder)" + }, { + "code": "722682001", + "display": "Primary small cell carcinoma of endometrium (disorder)" + }, { + "code": "722686003", + "display": "Primary serous carcinoma of uterine adnexa (disorder)" + }, { + "code": "722687007", + "display": "Primary mucinous carcinoma of uterine adnexa (disorder)" + }, { + "code": "722714004", + "display": "Primary mucoepidermoid carcinoma of lacrimal apparatus (disorder)" + }, { + "code": "722795004", + "display": "Meningeal leukemia (disorder)" + }, { + "code": "722827008", + "display": "Primary synovial sarcoma of respiratory organ (disorder)" + }, { + "code": "722953004", + "display": "B-cell lymphoma unclassifiable with features intermediate between Burkitt lymphoma and diffuse large B-cell lymphoma (disorder)" + }, { + "code": "722954005", + "display": "B-cell lymphoma unclassifiable with features intermediate between classical Hodgkin lymphoma and diffuse large B-cell lymphoma (disorder)" + }, { + "code": "723076008", + "display": "Primary myxofibrosarcoma (disorder)" + }, { + "code": "723265000", + "display": "Primary squamous cell carcinoma of anus (disorder)" + }, { + "code": "723281005", + "display": "Primary malignant melanoma of anus (disorder)" + }, { + "code": "723301009", + "display": "Squamous non-small cell lung cancer (disorder)" + }, { + "code": "723848001", + "display": "Primary osteosarcoma of bone of jaw (disorder)" + }, { + "code": "723853006", + "display": "Primary Ewing sarcoma of bone of limb (disorder)" + }, { + "code": "723879002", + "display": "Primary adenocarcinoma of overlapping lesion of urinary organ (disorder)" + }, { + "code": "723887001", + "display": "Primary Ewing sarcoma of bone of rib (disorder)" + }, { + "code": "723889003", + "display": "B lymphoblastic leukemia lymphoma with t(9:22) (q34;q11.2); BCR-ABL 1 (disorder)" + }, { + "code": "724056005", + "display": "Malignant neoplasm of lower lobe of right lung (disorder)" + }, { + "code": "724536000", + "display": "Primary adenocarcinoma of ileum (disorder)" + }, { + "code": "724552002", + "display": "Primary poorly differentiated carcinoma of thyroid gland (disorder)" + }, { + "code": "724553007", + "display": "Primary undifferentiated carcinoma of thyroid gland (disorder)" + }, { + "code": "724644005", + "display": "Myeloid leukemia co-occurrent with Down syndrome (disorder)" + }, { + "code": "724645006", + "display": "T-cell histiocyte rich large B-cell lymphoma (disorder)" + }, { + "code": "724647003", + "display": "Diffuse large B-cell lymphoma co-occurrent with chronic inflammation caused by Epstein-Barr virus (disorder)" + }, { + "code": "724648008", + "display": "Plasmablastic lymphoma (disorder)" + }, { + "code": "724649000", + "display": "Langerhans cell sarcoma (disorder)" + }, { + "code": "724650000", + "display": "Primary follicular dendritic cell sarcoma (disorder)" + }, { + "code": "725390002", + "display": "Acute myeloid leukemia with t(8;16)(p11;p13) translocation (disorder)" + }, { + "code": "725437002", + "display": "Chronic lymphocytic leukemia genetic mutation variant (disorder)" + }, { + "code": "726652005", + "display": "Malignant carcinoid tumor of thymus (disorder)" + }, { + "code": "726653000", + "display": "Malignant carcinoid tumor of bronchus (disorder)" + }, { + "code": "726654006", + "display": "Malignant carcinoid tumor of colon (disorder)" + }, { + "code": "726721002", + "display": "Nodal marginal zone B-cell lymphoma (disorder)" + }, { + "code": "72891000119103", + "display": "Kaposi sarcoma of viscus (disorder)" + }, { + "code": "733134009", + "display": "Primary squamous cell carcinoma of paraurethral gland (disorder)" + }, { + "code": "733136006", + "display": "Primary adenocarcinoma of urethra (disorder)" + }, { + "code": "733344004", + "display": "Primary squamous cell carcinoma of lip (disorder)" + }, { + "code": "733345003", + "display": "Primary squamous cell carcinoma of pharynx (disorder)" + }, { + "code": "733346002", + "display": "Primary mucinous cystic neoplasm with associated invasive carcinoma of perihilar bile duct (disorder)" + }, { + "code": "733347006", + "display": "Primary mucinous cystic neoplasm with associated invasive carcinoma of cystic duct (disorder)" + }, { + "code": "733349009", + "display": "Primary mucinous cystic neoplasm with associated invasive carcinoma of distal bile duct (disorder)" + }, { + "code": "733351008", + "display": "Primary malignant neuroendocrine neoplasm of ampulla of Vater (disorder)" + }, { + "code": "733352001", + "display": "Primary mucinous cystic neoplasm with associated invasive carcinoma of biliary tract (disorder)" + }, { + "code": "733354000", + "display": "Primary adenocarcinoma of biliary tract (disorder)" + }, { + "code": "733355004", + "display": "Primary adenocarcinoma of digestive organ (disorder)" + }, { + "code": "733359005", + "display": "Primary squamous cell carcinoma of endometrium (disorder)" + }, { + "code": "733360000", + "display": "Primary undifferentiated carcinoma of endometrium (disorder)" + }, { + "code": "733362008", + "display": "Primary adenocarcinoma of paraurethral gland (disorder)" + }, { + "code": "733470002", + "display": "Collecting duct carcinoma of kidney (disorder)" + }, { + "code": "733471003", + "display": "Chromophobe renal cell carcinoma (disorder)" + }, { + "code": "733598001", + "display": "Acute myeloid leukemia with t(6;9)(p23;q34) translocation (disorder)" + }, { + "code": "733603009", + "display": "Tubulocystic renal cell carcinoma (disorder)" + }, { + "code": "733608000", + "display": "Papillary renal cell carcinoma (disorder)" + }, { + "code": "733627006", + "display": "Primary cutaneous gamma-delta-positive T-cell lymphoma (disorder)" + }, { + "code": "734015000", + "display": "Clear cell papillary renal cell carcinoma (disorder)" + }, { + "code": "734066005", + "display": "Diffuse large B-cell lymphoma of central nervous system (disorder)" + }, { + "code": "734099007", + "display": "Neuroblastoma of central nervous system (disorder)" + }, { + "code": "7343008", + "display": "Liparitosis (disorder)" + }, { + "code": "734522002", + "display": "Acute myeloid leukemia with FMS-like tyrosine kinase-3 mutation (disorder)" + }, { + "code": "735920008", + "display": "Primary malignant neuroepithelial neoplasm of ciliary body (disorder)" + }, { + "code": "737058005", + "display": "Microsatellite instability-high colorectal cancer (disorder)" + }, { + "code": "737308008", + "display": "Primary adenocarcinoma of sublingual gland (disorder)" + }, { + "code": "737309000", + "display": "Primary adenocarcinoma of submandibular gland (disorder)" + }, { + "code": "7403002", + "display": "Orthodontic (qualifier value)" + }, { + "code": "762458004", + "display": "Primary endometrioid carcinoma of endometrium of body of uterus (disorder)" + }, { + "code": "763064007", + "display": "Adenoid cystic carcinoma of cervix uteri (disorder)" + }, { + "code": "763131005", + "display": "Clear cell adenocarcinoma of ovary (disorder)" + }, { + "code": "763309005", + "display": "Acute myeloid leukemia with nucleophosmin 1 somatic mutation (disorder)" + }, { + "code": "763408003", + "display": "Rhabdomyosarcoma of cervix uteri (disorder)" + }, { + "code": "763409006", + "display": "Rhabdomyosarcoma of corpus uteri (disorder)" + }, { + "code": "763477007", + "display": "Primary lymphoma of conjunctiva (disorder)" + }, { + "code": "763771009", + "display": "Leiomyosarcoma of cervix uteri (disorder)" + }, { + "code": "763796007", + "display": "Megakaryoblastic acute myeloid leukemia with t(1;22)(p13;q13) (disorder)" + }, { + "code": "764694005", + "display": "MiT family translocation renal cell carcinoma (disorder)" + }, { + "code": "764735002", + "display": "Squamous cell carcinoma of small intestine (disorder)" + }, { + "code": "764737005", + "display": "Squamous cell carcinoma of corpus uteri (disorder)" + }, { + "code": "764845008", + "display": "Adenocarcinoma of anal canal (disorder)" + }, { + "code": "764846009", + "display": "Adenocarcinoma of penis (disorder)" + }, { + "code": "764847000", + "display": "Adenosarcoma of cervix uteri (disorder)" + }, { + "code": "764855007", + "display": "Acute myeloid leukemia with CCAAT/enhancer binding protein alpha somatic mutation (disorder)" + }, { + "code": "764940002", + "display": "Inherited acute myeloid leukemia (disorder)" + }, { + "code": "764961009", + "display": "Hereditary clear cell renal cell carcinoma (disorder)" + }, { + "code": "764990003", + "display": "Renal mucinous tubular and spindle cell carcinoma (disorder)" + }, { + "code": "765095002", + "display": "Renal medullary carcinoma (disorder)" + }, { + "code": "765740002", + "display": "Adenosarcoma of corpus uteri (disorder)" + }, { + "code": "765741003", + "display": "Adenocarcinoma of gallbladder and extrahepatic biliary tract (disorder)" + }, { + "code": "766247009", + "display": "Primitive neuroectodermal tumor of corpus uteri (disorder)" + }, { + "code": "7664003", + "display": "Incision of external auditory canal (procedure)" + }, { + "code": "766757006", + "display": "Undifferentiated carcinoma of stomach (disorder)" + }, { + "code": "766758001", + "display": "Undifferentiated carcinoma of corpus uteri (disorder)" + }, { + "code": "766759009", + "display": "Rhabdomyosarcoma of vulva and vagina (disorder)" + }, { + "code": "766930002", + "display": "Glassy cell carcinoma of cervix uteri (disorder)" + }, { + "code": "766978002", + "display": "Squamous cell carcinoma of gallbladder and extrahepatic biliary tract (disorder)" + }, { + "code": "766979005", + "display": "Squamous cell carcinoma of rectum (disorder)" + }, { + "code": "766980008", + "display": "Squamous cell carcinoma of stomach (disorder)" + }, { + "code": "766981007", + "display": "Squamous cell carcinoma of colon (disorder)" + }, { + "code": "767448007", + "display": "Pineoblastoma (disorder)" + }, { + "code": "78411000119107", + "display": "Ewing sarcoma of bone of pelvis (disorder)" + }, { + "code": "79281000119106", + "display": "Primary adenocarcinoma of skin (disorder)" + }, { + "code": "80914001", + "display": "Anaplasia of cervix (disorder)" + }, { + "code": "82501000119102", + "display": "Anaplastic astrocytoma of central nervous system (disorder)" + }, { + "code": "84811000119107", + "display": "Follicular dendritic sarcoma of intraabdominal lymph node (disorder)" + }, { + "code": "84831000119102", + "display": "Follicular dendritic sarcoma of lymph nodes of multiple sites (disorder)" + }, { + "code": "87131000119104", + "display": "Primary extramedullary malignant tumor of spinal cord (disorder)" + }, { + "code": "91041000119104", + "display": "Ewing sarcoma of bone structure of upper limb (disorder)" + }, { + "code": "91131000119109", + "display": "Primary adenocarcinoma of vulva (disorder)" + }, { + "code": "91151000119103", + "display": "Primary squamous cell carcinoma of chest wall (disorder)" + }, { + "code": "91161000119101", + "display": "Primary adenocarcinoma of chest wall (disorder)" + }, { + "code": "91281000119103", + "display": "Secondary adenocarcinoma of bone (disorder)" + }, { + "code": "91855006", + "display": "Acute leukemia, disease (disorder)" + }, { + "code": "91857003", + "display": "Acute lymphoid leukemia, disease (disorder)" + }, { + "code": "91861009", + "display": "Acute myeloid leukemia, disease (disorder)" + }, { + "code": "92508006", + "display": "Burkitt's tumor of intra-abdominal lymph nodes (disorder)" + }, { + "code": "92509003", + "display": "Burkitt's tumor of intrapelvic lymph nodes (disorder)" + }, { + "code": "92510008", + "display": "Burkitt's tumor of intrathoracic lymph nodes (disorder)" + }, { + "code": "92511007", + "display": "Burkitt's tumor of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "92512000", + "display": "Burkitt's tumor of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "92513005", + "display": "Burkitt's tumor of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "92514004", + "display": "Burkitt's tumor of lymph nodes of multiple sites (disorder)" + }, { + "code": "92515003", + "display": "Burkitt's tumor of spleen (disorder)" + }, { + "code": "92516002", + "display": "Burkitt's tumor of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "92812005", + "display": "Chronic leukemia, disease (disorder)" + }, { + "code": "92814006", + "display": "Chronic lymphoid leukemia, disease (disorder)" + }, { + "code": "92818009", + "display": "Chronic myeloid leukemia, disease (disorder)" + }, { + "code": "93133006", + "display": "Letterer-Siwe disease of intra-abdominal lymph nodes (disorder)" + }, { + "code": "93134000", + "display": "Letterer-Siwe disease of intrapelvic lymph nodes (disorder)" + }, { + "code": "93135004", + "display": "Letterer-Siwe disease of intrathoracic lymph nodes (disorder)" + }, { + "code": "93136003", + "display": "Letterer-Siwe disease of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93137007", + "display": "Letterer-Siwe disease of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93138002", + "display": "Letterer-Siwe disease of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93139005", + "display": "Letterer-Siwe disease of lymph nodes of multiple sites (disorder)" + }, { + "code": "93140007", + "display": "Letterer-Siwe disease of spleen (disorder)" + }, { + "code": "93141006", + "display": "Letterer-Siwe disease of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93143009", + "display": "Leukemia, disease (disorder)" + }, { + "code": "93144003", + "display": "Leukemic reticuloendotheliosis of intra-abdominal lymph nodes (disorder)" + }, { + "code": "93145002", + "display": "Leukemic reticuloendotheliosis of intrapelvic lymph nodes (disorder)" + }, { + "code": "93146001", + "display": "Leukemic reticuloendotheliosis of intrathoracic lymph nodes (disorder)" + }, { + "code": "93150008", + "display": "Leukemic reticuloendotheliosis of lymph nodes of multiple sites (disorder)" + }, { + "code": "93151007", + "display": "Hairy cell leukemia of spleen (disorder)" + }, { + "code": "93152000", + "display": "Leukemic reticuloendotheliosis of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93182006", + "display": "Malignant histiocytosis of intra-abdominal lymph nodes (disorder)" + }, { + "code": "93183001", + "display": "Malignant histiocytosis of intrapelvic lymph nodes (disorder)" + }, { + "code": "93184007", + "display": "Malignant histiocytosis of intrathoracic lymph nodes (disorder)" + }, { + "code": "93185008", + "display": "Malignant histiocytosis of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93186009", + "display": "Malignant histiocytosis of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93187000", + "display": "Malignant histiocytosis of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93188005", + "display": "Malignant histiocytosis of lymph nodes of multiple sites (disorder)" + }, { + "code": "93189002", + "display": "Malignant histiocytosis of spleen (disorder)" + }, { + "code": "93190006", + "display": "Malignant histiocytosis of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93191005", + "display": "Malignant lymphoma of intra-abdominal lymph nodes (disorder)" + }, { + "code": "93192003", + "display": "Malignant lymphoma of intrapelvic lymph nodes (disorder)" + }, { + "code": "93193008", + "display": "Malignant lymphoma of intrathoracic lymph nodes (disorder)" + }, { + "code": "93194002", + "display": "Malignant lymphoma of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93195001", + "display": "Malignant lymphoma of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93196000", + "display": "Malignant lymphoma of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93197009", + "display": "Malignant lymphoma of lymph nodes of multiple sites (disorder)" + }, { + "code": "93198004", + "display": "Malignant lymphoma of spleen (disorder)" + }, { + "code": "93199007", + "display": "Malignant lymphoma of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93200005", + "display": "Malignant mast cell tumor of intra-abdominal lymph nodes (disorder)" + }, { + "code": "93201009", + "display": "Malignant mast cell tumor of intrapelvic lymph nodes (disorder)" + }, { + "code": "93202002", + "display": "Malignant mast cell tumor of intrathoracic lymph nodes (disorder)" + }, { + "code": "93203007", + "display": "Malignant mast cell tumor of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93204001", + "display": "Malignant mast cell tumor of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93205000", + "display": "Malignant mast cell tumor of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93206004", + "display": "Malignant mast cell tumor of lymph nodes of multiple sites (disorder)" + }, { + "code": "93207008", + "display": "Malignant mast cell tumor of spleen (disorder)" + }, { + "code": "93208003", + "display": "Malignant mast cell tumor of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93209006", + "display": "Malignant melanoma of perianal skin (disorder)" + }, { + "code": "93210001", + "display": "Malignant melanoma of skin of abdomen (disorder)" + }, { + "code": "93211002", + "display": "Malignant melanoma of skin of ankle (disorder)" + }, { + "code": "93213004", + "display": "Malignant melanoma of skin of axilla (disorder)" + }, { + "code": "93214005", + "display": "Malignant melanoma of skin of back (disorder)" + }, { + "code": "93215006", + "display": "Malignant melanoma of skin of breast (disorder)" + }, { + "code": "93216007", + "display": "Malignant melanoma of skin of buttock (disorder)" + }, { + "code": "93217003", + "display": "Malignant melanoma of skin of cheek (disorder)" + }, { + "code": "93218008", + "display": "Malignant melanoma of skin of chest (disorder)" + }, { + "code": "93219000", + "display": "Malignant melanoma of skin of chin (disorder)" + }, { + "code": "93220006", + "display": "Malignant melanoma of skin of ear (disorder)" + }, { + "code": "93221005", + "display": "Malignant melanoma of skin of elbow (disorder)" + }, { + "code": "93222003", + "display": "Malignant melanoma of skin of external auditory canal (disorder)" + }, { + "code": "93223008", + "display": "Malignant melanoma of skin of eyebrow (disorder)" + }, { + "code": "93224002", + "display": "Malignant melanoma of skin of eyelid (disorder)" + }, { + "code": "93225001", + "display": "Malignant melanoma of skin of face (disorder)" + }, { + "code": "93226000", + "display": "Malignant melanoma of skin of finger (disorder)" + }, { + "code": "93227009", + "display": "Malignant melanoma of skin of foot (disorder)" + }, { + "code": "93228004", + "display": "Malignant melanoma of skin of forearm (disorder)" + }, { + "code": "93229007", + "display": "Malignant melanoma of skin of forehead (disorder)" + }, { + "code": "93230002", + "display": "Malignant melanoma of skin of groin (disorder)" + }, { + "code": "93451002", + "display": "Erythroleukemia, FAB M6 (disorder)" + }, { + "code": "93487009", + "display": "Hodgkin's disease, lymphocytic depletion of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93488004", + "display": "Hodgkin's disease, lymphocytic depletion of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93489007", + "display": "Hodgkin's disease, lymphocytic depletion of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93492006", + "display": "Hodgkin's disease, lymphocytic depletion of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93493001", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of intra-abdominal lymph nodes (disorder)" + }, { + "code": "93494007", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of intrapelvic lymph nodes (disorder)" + }, { + "code": "93495008", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of intrathoracic lymph nodes (disorder)" + }, { + "code": "93496009", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93497000", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93498005", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93500006", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of spleen (disorder)" + }, { + "code": "93501005", + "display": "Hodgkin's disease, lymphocytic-histiocytic predominance of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93505001", + "display": "Hodgkin's disease, mixed cellularity of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93506000", + "display": "Hodgkin's disease, mixed cellularity of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93507009", + "display": "Hodgkin's disease, mixed cellularity of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93509007", + "display": "Hodgkin's disease, mixed cellularity of spleen (disorder)" + }, { + "code": "93510002", + "display": "Hodgkin's disease, mixed cellularity of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93514006", + "display": "Hodgkin's disease, nodular sclerosis of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93515007", + "display": "Hodgkin's disease, nodular sclerosis of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93516008", + "display": "Hodgkin's disease, nodular sclerosis of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93518009", + "display": "Hodgkin's disease, nodular sclerosis of spleen (disorder)" + }, { + "code": "93519001", + "display": "Hodgkin's disease, nodular sclerosis of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93520007", + "display": "Hodgkin's disease of intra-abdominal lymph nodes (disorder)" + }, { + "code": "93521006", + "display": "Hodgkin's disease of intrapelvic lymph nodes (disorder)" + }, { + "code": "93522004", + "display": "Hodgkin's disease of intrathoracic lymph nodes (disorder)" + }, { + "code": "93523009", + "display": "Hodgkin's disease of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93524003", + "display": "Hodgkin's disease of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93525002", + "display": "Hodgkin's disease of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93526001", + "display": "Hodgkin's disease of lymph nodes of multiple sites (disorder)" + }, { + "code": "93527005", + "display": "Hodgkin's disease of spleen (disorder)" + }, { + "code": "93528000", + "display": "Hodgkin's disease of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93530003", + "display": "Hodgkin's granuloma of intrapelvic lymph nodes (disorder)" + }, { + "code": "93531004", + "display": "Hodgkin's granuloma of intrathoracic lymph nodes (disorder)" + }, { + "code": "93532006", + "display": "Hodgkin's granuloma of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93533001", + "display": "Hodgkin's granuloma of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93534007", + "display": "Hodgkin's granuloma of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93536009", + "display": "Hodgkin's granuloma of spleen (disorder)" + }, { + "code": "93537000", + "display": "Hodgkin's granuloma of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93541001", + "display": "Hodgkin's paragranuloma of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93542008", + "display": "Hodgkin's paragranuloma of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93543003", + "display": "Hodgkin's paragranuloma of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93545005", + "display": "Hodgkin's paragranuloma of spleen (disorder)" + }, { + "code": "93546006", + "display": "Hodgkin's paragranuloma of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93547002", + "display": "Hodgkin's sarcoma of intra-abdominal lymph nodes (disorder)" + }, { + "code": "93548007", + "display": "Hodgkin's sarcoma of intrapelvic lymph nodes (disorder)" + }, { + "code": "93549004", + "display": "Hodgkin's sarcoma of intrathoracic lymph nodes (disorder)" + }, { + "code": "93550004", + "display": "Hodgkin's sarcoma of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "93551000", + "display": "Hodgkin's sarcoma of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "93552007", + "display": "Hodgkin's sarcoma of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "93554008", + "display": "Hodgkin's sarcoma of spleen (disorder)" + }, { + "code": "93555009", + "display": "Hodgkin's sarcoma of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "93636004", + "display": "Malignant melanoma of skin of hand (disorder)" + }, { + "code": "93637008", + "display": "Malignant melanoma of skin of hip (disorder)" + }, { + "code": "93638003", + "display": "Malignant melanoma of skin of knee (disorder)" + }, { + "code": "93640008", + "display": "Malignant melanoma of skin of lip (disorder)" + }, { + "code": "93641007", + "display": "Malignant melanoma of skin of lower limb (disorder)" + }, { + "code": "93642000", + "display": "Malignant melanoma of skin of neck (disorder)" + }, { + "code": "93643005", + "display": "Malignant melanoma of skin of nose (disorder)" + }, { + "code": "93644004", + "display": "Malignant melanoma of skin of perineum (disorder)" + }, { + "code": "93645003", + "display": "Malignant melanoma of skin of popliteal area (disorder)" + }, { + "code": "93646002", + "display": "Malignant melanoma of skin of scalp (disorder)" + }, { + "code": "93647006", + "display": "Malignant melanoma of skin of shoulder (disorder)" + }, { + "code": "93648001", + "display": "Malignant melanoma of skin of temporal region (disorder)" + }, { + "code": "93649009", + "display": "Malignant melanoma of skin of thigh (disorder)" + }, { + "code": "93650009", + "display": "Malignant melanoma of skin of toe (disorder)" + }, { + "code": "93651008", + "display": "Malignant melanoma of skin of trunk (disorder)" + }, { + "code": "93652001", + "display": "Malignant melanoma of skin of umbilicus (disorder)" + }, { + "code": "93653006", + "display": "Malignant melanoma of skin of upper limb (disorder)" + }, { + "code": "93654000", + "display": "Malignant melanoma of skin of wrist (disorder)" + }, { + "code": "93655004", + "display": "Malignant melanoma of skin (disorder)" + }, { + "code": "93658002", + "display": "Primary malignant neoplasm of accessory nerve (disorder)" + }, { + "code": "93659005", + "display": "Primary malignant neoplasm of accessory sinus (disorder)" + }, { + "code": "93661001", + "display": "Primary malignant neoplasm of acromion (disorder)" + }, { + "code": "93662008", + "display": "Primary malignant neoplasm of adenoid (disorder)" + }, { + "code": "93665005", + "display": "Primary malignant neoplasm of adrenal gland (disorder)" + }, { + "code": "93667002", + "display": "Primary malignant neoplasm of alveolar ridge mucosa (disorder)" + }, { + "code": "93669004", + "display": "Primary malignant neoplasm of anal canal (disorder)" + }, { + "code": "93670003", + "display": "Primary malignant neoplasm of anterior aspect of epiglottis (disorder)" + }, { + "code": "93671004", + "display": "Primary malignant neoplasm of anterior mediastinum (disorder)" + }, { + "code": "93672006", + "display": "Primary malignant neoplasm of anterior portion of floor of mouth (disorder)" + }, { + "code": "93674007", + "display": "Primary malignant neoplasm of anterior wall of nasopharynx (disorder)" + }, { + "code": "93676009", + "display": "Primary malignant neoplasm of anus (disorder)" + }, { + "code": "93680004", + "display": "Primary malignant neoplasm of areola of female breast (disorder)" + }, { + "code": "93681000", + "display": "Primary malignant neoplasm of areola of male breast (disorder)" + }, { + "code": "93683002", + "display": "Primary malignant neoplasm of ascending colon (disorder)" + }, { + "code": "93684008", + "display": "Primary malignant neoplasm of axilla (disorder)" + }, { + "code": "93687001", + "display": "Primary malignant neoplasm of base of tongue (disorder)" + }, { + "code": "93689003", + "display": "Primary malignant neoplasm of bladder (disorder)" + }, { + "code": "93692004", + "display": "Primary malignant neoplasm of blood vessel of axilla (disorder)" + }, { + "code": "93710000", + "display": "Primary malignant neoplasm of blood vessel of thorax (disorder)" + }, { + "code": "93715005", + "display": "Primary malignant neoplasm of body of pancreas (disorder)" + }, { + "code": "93716006", + "display": "Primary malignant neoplasm of body of penis (disorder)" + }, { + "code": "93717002", + "display": "Primary malignant neoplasm of body of stomach (disorder)" + }, { + "code": "93721009", + "display": "Primary malignant neoplasm of bone of face (disorder)" + }, { + "code": "93722002", + "display": "Primary malignant neoplasm of bone of lower limb (disorder)" + }, { + "code": "93723007", + "display": "Primary malignant neoplasm of bone of skull (disorder)" + }, { + "code": "93724001", + "display": "Primary malignant neoplasm of bone of upper limb (disorder)" + }, { + "code": "93725000", + "display": "Primary malignant neoplasm of bone (disorder)" + }, { + "code": "93726004", + "display": "Primary malignant neoplasm of brain stem (disorder)" + }, { + "code": "93727008", + "display": "Primary malignant neoplasm of brain (disorder)" + }, { + "code": "93728003", + "display": "Primary malignant neoplasm of broad ligament (disorder)" + }, { + "code": "93729006", + "display": "Primary malignant neoplasm of bronchus of left lower lobe (disorder)" + }, { + "code": "93730001", + "display": "Primary malignant neoplasm of bronchus of left upper lobe (disorder)" + }, { + "code": "93731002", + "display": "Primary malignant neoplasm of bronchus of right lower lobe (disorder)" + }, { + "code": "93732009", + "display": "Primary malignant neoplasm of bronchus of right middle lobe (disorder)" + }, { + "code": "93733004", + "display": "Primary malignant neoplasm of bronchus of right upper lobe (disorder)" + }, { + "code": "93734005", + "display": "Primary malignant neoplasm of bronchus (disorder)" + }, { + "code": "93737003", + "display": "Primary malignant neoplasm of calcaneus (disorder)" + }, { + "code": "93738008", + "display": "Primary malignant neoplasm of cardia of stomach (disorder)" + }, { + "code": "93739000", + "display": "Primary malignant neoplasm of carina (disorder)" + }, { + "code": "93740003", + "display": "Primary malignant neoplasm of carotid body (disorder)" + }, { + "code": "93741004", + "display": "Primary malignant neoplasm of carpal bone (disorder)" + }, { + "code": "93742006", + "display": "Primary malignant neoplasm of cartilage of nose (disorder)" + }, { + "code": "93744007", + "display": "Primary malignant neoplasm of central nervous system (disorder)" + }, { + "code": "93745008", + "display": "Primary malignant neoplasm of central portion of female breast (disorder)" + }, { + "code": "93746009", + "display": "Primary malignant neoplasm of cerebellum (disorder)" + }, { + "code": "93747000", + "display": "Primary malignant neoplasm of cerebral meninges (disorder)" + }, { + "code": "93748005", + "display": "Primary malignant neoplasm of cerebral ventricle (disorder)" + }, { + "code": "93749002", + "display": "Primary malignant neoplasm of cerebrum (disorder)" + }, { + "code": "93753000", + "display": "Primary malignant neoplasm of cheek (disorder)" + }, { + "code": "93754006", + "display": "Primary malignant neoplasm of chest wall (disorder)" + }, { + "code": "93755007", + "display": "Primary malignant neoplasm of choroid, primary (disorder)" + }, { + "code": "93756008", + "display": "Primary malignant neoplasm of ciliary body, primary (disorder)" + }, { + "code": "93757004", + "display": "Primary malignant neoplasm of clavicle (disorder)" + }, { + "code": "93759001", + "display": "Primary malignant neoplasm of coccygeal body (disorder)" + }, { + "code": "93760006", + "display": "Primary malignant neoplasm of coccyx (disorder)" + }, { + "code": "93761005", + "display": "Primary malignant neoplasm of colon (disorder)" + }, { + "code": "93764002", + "display": "Primary malignant neoplasm of conjunctiva, primary (disorder)" + }, { + "code": "93766000", + "display": "Primary malignant neoplasm of cornea, primary (disorder)" + }, { + "code": "93768004", + "display": "Primary malignant neoplasm of craniopharyngeal duct (disorder)" + }, { + "code": "93769007", + "display": "Primary malignant neoplasm of cuboid (disorder)" + }, { + "code": "93771007", + "display": "Primary malignant neoplasm of descending colon (disorder)" + }, { + "code": "93772000", + "display": "Primary malignant neoplasm of diaphragm (disorder)" + }, { + "code": "93773005", + "display": "Primary malignant neoplasm of dorsal surface of tongue (disorder)" + }, { + "code": "93775003", + "display": "Primary malignant neoplasm of duodenum (disorder)" + }, { + "code": "93776002", + "display": "Primary malignant neoplasm of ectopic female breast tissue (disorder)" + }, { + "code": "93777006", + "display": "Primary malignant neoplasm of ectopic male breast tissue (disorder)" + }, { + "code": "93778001", + "display": "Primary malignant neoplasm of endocardium (disorder)" + }, { + "code": "93779009", + "display": "Primary malignant neoplasm of endocervix (disorder)" + }, { + "code": "93781006", + "display": "Primary malignant neoplasm of endometrium (disorder)" + }, { + "code": "93782004", + "display": "Primary malignant neoplasm of epicardium (disorder)" + }, { + "code": "93783009", + "display": "Primary malignant neoplasm of epididymis (disorder)" + }, { + "code": "93784003", + "display": "Primary malignant neoplasm of epiglottis (disorder)" + }, { + "code": "93786001", + "display": "Primary malignant neoplasm of ethmoid bone (disorder)" + }, { + "code": "93787005", + "display": "Primary malignant neoplasm of ethmoidal sinus (disorder)" + }, { + "code": "93788000", + "display": "Primary malignant neoplasm of eustachian tube (disorder)" + }, { + "code": "93789008", + "display": "Primary malignant neoplasm of exocervix (disorder)" + }, { + "code": "93796005", + "display": "Primary malignant neoplasm of female breast (disorder)" + }, { + "code": "93797001", + "display": "Primary malignant neoplasm of female genital organ (disorder)" + }, { + "code": "93798006", + "display": "Primary malignant neoplasm of femur (disorder)" + }, { + "code": "93799003", + "display": "Primary malignant neoplasm of fibula (disorder)" + }, { + "code": "93800004", + "display": "Primary malignant neoplasm of first cuneiform bone of foot (disorder)" + }, { + "code": "93802007", + "display": "Primary malignant neoplasm of floor of mouth (disorder)" + }, { + "code": "93806005", + "display": "Primary malignant neoplasm of frontal bone (disorder)" + }, { + "code": "93807001", + "display": "Primary malignant neoplasm of frontal lobe (disorder)" + }, { + "code": "93808006", + "display": "Primary malignant neoplasm of frontal sinus (disorder)" + }, { + "code": "93809003", + "display": "Primary malignant neoplasm of fundus of stomach (disorder)" + }, { + "code": "93812000", + "display": "Primary malignant neoplasm of gingival mucosa (disorder)" + }, { + "code": "93816002", + "display": "Primary malignant neoplasm of glottis (disorder)" + }, { + "code": "93818001", + "display": "Primary malignant neoplasm of greater curvature of stomach (disorder)" + }, { + "code": "93820003", + "display": "Primary malignant neoplasm of hamate bone (disorder)" + }, { + "code": "93825008", + "display": "Primary malignant neoplasm of heart (disorder)" + }, { + "code": "93826009", + "display": "Primary malignant neoplasm of hepatic flexure of colon (disorder)" + }, { + "code": "93827000", + "display": "Primary malignant neoplasm of hilus of lung (disorder)" + }, { + "code": "93829002", + "display": "Primary malignant neoplasm of hypopharyngeal aspect of aryepiglottic fold (disorder)" + }, { + "code": "93830007", + "display": "Primary malignant neoplasm of hypopharyngeal aspect of interarytenoid fold (disorder)" + }, { + "code": "93831006", + "display": "Primary malignant neoplasm of hypopharynx (disorder)" + }, { + "code": "93833009", + "display": "Primary malignant neoplasm of ilium (disorder)" + }, { + "code": "93835002", + "display": "Primary malignant neoplasm of inner aspect of lip (disorder)" + }, { + "code": "93836001", + "display": "Primary malignant neoplasm of inner aspect of lower lip (disorder)" + }, { + "code": "93837005", + "display": "Primary malignant neoplasm of inner aspect of upper lip (disorder)" + }, { + "code": "93841009", + "display": "Primary malignant neoplasm of intrathoracic organs (disorder)" + }, { + "code": "93842002", + "display": "Primary malignant neoplasm of ischium (disorder)" + }, { + "code": "93843007", + "display": "Primary malignant neoplasm of islets of Langerhans (disorder)" + }, { + "code": "93844001", + "display": "Primary malignant neoplasm of isthmus of uterus (disorder)" + }, { + "code": "93845000", + "display": "Primary malignant neoplasm of jaw (disorder)" + }, { + "code": "93848003", + "display": "Primary malignant neoplasm of junctional zone of tongue (disorder)" + }, { + "code": "93849006", + "display": "Primary malignant neoplasm of kidney (disorder)" + }, { + "code": "93850006", + "display": "Primary malignant neoplasm of labia majora (disorder)" + }, { + "code": "93851005", + "display": "Primary malignant neoplasm of labia minora (disorder)" + }, { + "code": "93857009", + "display": "Primary malignant neoplasm of laryngeal commissure (disorder)" + }, { + "code": "93858004", + "display": "Primary malignant neoplasm of laryngeal surface of epiglottis (disorder)" + }, { + "code": "93860002", + "display": "Primary malignant neoplasm of lateral portion of floor of mouth (disorder)" + }, { + "code": "93861003", + "display": "Primary malignant neoplasm of lateral wall of nasopharynx (disorder)" + }, { + "code": "93862005", + "display": "Primary malignant neoplasm of lateral wall of oropharynx (disorder)" + }, { + "code": "93864006", + "display": "Primary malignant neoplasm of lower lobe of left lung (disorder)" + }, { + "code": "93865007", + "display": "Primary malignant neoplasm of upper lobe of left lung (disorder)" + }, { + "code": "93867004", + "display": "Primary malignant neoplasm of lesser curvature of stomach (disorder)" + }, { + "code": "93868009", + "display": "Primary malignant neoplasm of lingual tonsil (disorder)" + }, { + "code": "93871001", + "display": "Primary malignant neoplasm of long bone of lower limb (disorder)" + }, { + "code": "93872008", + "display": "Primary malignant neoplasm of long bone of upper limb (disorder)" + }, { + "code": "93874009", + "display": "Primary malignant neoplasm of lower inner quadrant of female breast (disorder)" + }, { + "code": "93876006", + "display": "Primary malignant neoplasm of lower outer quadrant of female breast (disorder)" + }, { + "code": "93879004", + "display": "Primary malignant neoplasm of lunate bone (disorder)" + }, { + "code": "93880001", + "display": "Primary malignant neoplasm of lung (disorder)" + }, { + "code": "93882009", + "display": "Primary malignant neoplasm of main bronchus (disorder)" + }, { + "code": "93883004", + "display": "Primary malignant neoplasm of major salivary gland (disorder)" + }, { + "code": "93885006", + "display": "Primary malignant neoplasm of male genital organ (disorder)" + }, { + "code": "93886007", + "display": "Primary malignant neoplasm of mandible (disorder)" + }, { + "code": "93887003", + "display": "Primary malignant neoplasm of mastoid air cells (disorder)" + }, { + "code": "93888008", + "display": "Primary malignant neoplasm of maxilla (disorder)" + }, { + "code": "93889000", + "display": "Primary malignant neoplasm of maxillary sinus (disorder)" + }, { + "code": "93891008", + "display": "Primary malignant neoplasm of mediastinum (disorder)" + }, { + "code": "93892001", + "display": "Primary malignant neoplasm of metacarpal bone (disorder)" + }, { + "code": "93893006", + "display": "Primary malignant neoplasm of metatarsal bone (disorder)" + }, { + "code": "93894000", + "display": "Primary malignant neoplasm of middle ear (disorder)" + }, { + "code": "93898002", + "display": "Primary malignant neoplasm of multiple endocrine glands (disorder)" + }, { + "code": "93910009", + "display": "Primary malignant neoplasm of muscle of thorax (disorder)" + }, { + "code": "93914000", + "display": "Primary malignant neoplasm of myocardium (disorder)" + }, { + "code": "93915004", + "display": "Primary malignant neoplasm of myometrium (disorder)" + }, { + "code": "93916003", + "display": "Primary malignant neoplasm of nasal bone (disorder)" + }, { + "code": "93917007", + "display": "Primary malignant neoplasm of nasal cavity (disorder)" + }, { + "code": "93918002", + "display": "Primary malignant neoplasm of nasal concha (disorder)" + }, { + "code": "93920004", + "display": "Primary malignant neoplasm of navicular bone of foot (disorder)" + }, { + "code": "93924008", + "display": "Primary malignant neoplasm of nipple of female breast (disorder)" + }, { + "code": "93925009", + "display": "Primary malignant neoplasm of nipple of male breast (disorder)" + }, { + "code": "93927001", + "display": "Primary malignant neoplasm of occipital bone (disorder)" + }, { + "code": "93928006", + "display": "Primary malignant neoplasm of occipital lobe (disorder)" + }, { + "code": "93930008", + "display": "Primary malignant neoplasm of olfactory nerve (disorder)" + }, { + "code": "93931007", + "display": "Primary malignant neoplasm of optic nerve (disorder)" + }, { + "code": "93932000", + "display": "Primary malignant neoplasm of orbit (disorder)" + }, { + "code": "93933005", + "display": "Primary malignant neoplasm of oropharynx (disorder)" + }, { + "code": "93934004", + "display": "Primary malignant neoplasm of ovary (disorder)" + }, { + "code": "93936002", + "display": "Primary malignant neoplasm of palatine bone (disorder)" + }, { + "code": "93942003", + "display": "Primary malignant neoplasm of parametrium (disorder)" + }, { + "code": "93943008", + "display": "Primary malignant neoplasm of parathyroid gland (disorder)" + }, { + "code": "93944002", + "display": "Primary malignant neoplasm of paraurethral glands (disorder)" + }, { + "code": "93945001", + "display": "Primary malignant neoplasm of parietal bone (disorder)" + }, { + "code": "93946000", + "display": "Primary malignant neoplasm of parietal lobe (disorder)" + }, { + "code": "93947009", + "display": "Primary malignant neoplasm of parietal peritoneum (disorder)" + }, { + "code": "93948004", + "display": "Primary malignant neoplasm of parietal pleura (disorder)" + }, { + "code": "93950007", + "display": "Primary malignant neoplasm of patella (disorder)" + }, { + "code": "93951006", + "display": "Primary malignant neoplasm of pelvic bone (disorder)" + }, { + "code": "93952004", + "display": "Primary malignant neoplasm of pelvic peritoneum (disorder)" + }, { + "code": "93955002", + "display": "Primary malignant neoplasm of periadrenal tissue (disorder)" + }, { + "code": "93957005", + "display": "Primary malignant neoplasm of pericardium (disorder)" + }, { + "code": "93958000", + "display": "Primary malignant neoplasm of perirenal tissue (disorder)" + }, { + "code": "93959008", + "display": "Primary malignant neoplasm of phalanx of foot (disorder)" + }, { + "code": "93960003", + "display": "Primary malignant neoplasm of phalanx of hand (disorder)" + }, { + "code": "93961004", + "display": "Primary malignant neoplasm of pharynx (disorder)" + }, { + "code": "93962006", + "display": "Primary malignant neoplasm of pineal gland (disorder)" + }, { + "code": "93963001", + "display": "Primary malignant neoplasm of pisiform bone of hand (disorder)" + }, { + "code": "93964007", + "display": "Primary malignant neoplasm of pituitary gland (disorder)" + }, { + "code": "93966009", + "display": "Primary malignant neoplasm of pleura (disorder)" + }, { + "code": "93967000", + "display": "Primary malignant neoplasm of postcricoid region (disorder)" + }, { + "code": "93968005", + "display": "Primary malignant neoplasm of posterior hypopharyngeal wall (disorder)" + }, { + "code": "93969002", + "display": "Primary malignant neoplasm of posterior mediastinum (disorder)" + }, { + "code": "93970001", + "display": "Primary malignant neoplasm of posterior wall of nasopharynx (disorder)" + }, { + "code": "93971002", + "display": "Primary malignant neoplasm of posterior wall of oropharynx (disorder)" + }, { + "code": "93974005", + "display": "Primary malignant neoplasm of prostate (disorder)" + }, { + "code": "93975006", + "display": "Primary malignant neoplasm of pubis (disorder)" + }, { + "code": "93976007", + "display": "Primary malignant neoplasm of pyloric antrum (disorder)" + }, { + "code": "93977003", + "display": "Primary malignant neoplasm of pylorus (disorder)" + }, { + "code": "93978008", + "display": "Primary malignant neoplasm of pyriform sinus (disorder)" + }, { + "code": "93979000", + "display": "Primary malignant neoplasm of radius (disorder)" + }, { + "code": "93980002", + "display": "Primary malignant neoplasm of rectosigmoid junction (disorder)" + }, { + "code": "93981003", + "display": "Primary malignant neoplasm of rectouterine pouch (disorder)" + }, { + "code": "93982005", + "display": "Primary malignant neoplasm of rectovaginal septum (disorder)" + }, { + "code": "93983000", + "display": "Primary malignant neoplasm of rectovesical septum (disorder)" + }, { + "code": "93985007", + "display": "Primary malignant neoplasm of renal pelvis (disorder)" + }, { + "code": "93986008", + "display": "Primary malignant neoplasm of respiratory tract (disorder)" + }, { + "code": "93987004", + "display": "Primary malignant neoplasm of retina, primary (disorder)" + }, { + "code": "93989001", + "display": "Primary malignant neoplasm of retromolar area (disorder)" + }, { + "code": "93990005", + "display": "Primary malignant neoplasm of rib (disorder)" + }, { + "code": "93991009", + "display": "Primary malignant neoplasm of right lower lobe of lung (disorder)" + }, { + "code": "93992002", + "display": "Primary malignant neoplasm of right middle lobe of lung (disorder)" + }, { + "code": "93993007", + "display": "Primary malignant neoplasm of upper lobe of right lung (disorder)" + }, { + "code": "93994001", + "display": "Primary malignant neoplasm of round ligament of uterus (disorder)" + }, { + "code": "93996004", + "display": "Primary malignant neoplasm of sacrum (disorder)" + }, { + "code": "93997008", + "display": "Primary malignant neoplasm of scapula (disorder)" + }, { + "code": "93998003", + "display": "Primary malignant neoplasm of sclera, primary (disorder)" + }, { + "code": "94001007", + "display": "Primary malignant neoplasm of second cuneiform bone of foot (disorder)" + }, { + "code": "94002000", + "display": "Primary malignant neoplasm of septum of nose (disorder)" + }, { + "code": "94003005", + "display": "Primary malignant neoplasm of short bone of lower limb (disorder)" + }, { + "code": "94006002", + "display": "Primary malignant neoplasm of sigmoid colon (disorder)" + }, { + "code": "94010004", + "display": "Primary malignant neoplasm of skin of axilla (disorder)" + }, { + "code": "94014008", + "display": "Primary malignant neoplasm of skin of cheek (disorder)" + }, { + "code": "94015009", + "display": "Primary malignant neoplasm of skin of chest (disorder)" + }, { + "code": "94016005", + "display": "Primary malignant neoplasm of skin of chin (disorder)" + }, { + "code": "94017001", + "display": "Primary malignant neoplasm of skin of ear (disorder)" + }, { + "code": "94019003", + "display": "Primary malignant neoplasm of skin of external auditory canal (disorder)" + }, { + "code": "94020009", + "display": "Primary malignant neoplasm of skin of eyebrow (disorder)" + }, { + "code": "94021008", + "display": "Primary malignant neoplasm of skin of eyelid (disorder)" + }, { + "code": "94026003", + "display": "Primary malignant neoplasm of skin of forehead (disorder)" + }, { + "code": "94032008", + "display": "Primary malignant neoplasm of skin of lip (disorder)" + }, { + "code": "94035005", + "display": "Primary malignant neoplasm of skin of nose (disorder)" + }, { + "code": "94038007", + "display": "Primary malignant neoplasm of skin of scalp (disorder)" + }, { + "code": "94040002", + "display": "Primary malignant neoplasm of skin of temporal region (disorder)" + }, { + "code": "94049001", + "display": "Primary malignant neoplasm of soft palate (disorder)" + }, { + "code": "94051002", + "display": "Primary malignant neoplasm of soft tissues of axilla (disorder)" + }, { + "code": "94062002", + "display": "Primary malignant neoplasm of soft tissues of thorax (disorder)" + }, { + "code": "94066004", + "display": "Primary malignant neoplasm of sphenoid bone (disorder)" + }, { + "code": "94067008", + "display": "Primary malignant neoplasm of sphenoidal sinus (disorder)" + }, { + "code": "94068003", + "display": "Primary malignant neoplasm of spinal cord (disorder)" + }, { + "code": "94069006", + "display": "Primary malignant neoplasm of spinal meninges (disorder)" + }, { + "code": "94071006", + "display": "Primary malignant neoplasm of spleen (disorder)" + }, { + "code": "94072004", + "display": "Primary malignant neoplasm of splenic flexure of colon (disorder)" + }, { + "code": "94073009", + "display": "Primary malignant neoplasm of sternum (disorder)" + }, { + "code": "94075002", + "display": "Primary malignant neoplasm of subglottis (disorder)" + }, { + "code": "94076001", + "display": "Primary malignant neoplasm of sublingual gland (disorder)" + }, { + "code": "94077005", + "display": "Primary malignant neoplasm of submaxillary gland (disorder)" + }, { + "code": "94078000", + "display": "Primary malignant neoplasm of superior wall of nasopharynx (disorder)" + }, { + "code": "94080006", + "display": "Primary malignant neoplasm of supraglottis (disorder)" + }, { + "code": "94083008", + "display": "Primary malignant neoplasm of talus (disorder)" + }, { + "code": "94084002", + "display": "Primary malignant neoplasm of tarsal bone (disorder)" + }, { + "code": "94085001", + "display": "Primary malignant neoplasm of temporal bone (disorder)" + }, { + "code": "94086000", + "display": "Primary malignant neoplasm of temporal lobe (disorder)" + }, { + "code": "94087009", + "display": "Primary malignant neoplasm of testis (disorder)" + }, { + "code": "94089007", + "display": "Primary malignant neoplasm of the mesocolon (disorder)" + }, { + "code": "94090003", + "display": "Primary malignant neoplasm of omentum (disorder)" + }, { + "code": "94094007", + "display": "Primary malignant neoplasm of third cuneiform bone of foot (disorder)" + }, { + "code": "94096009", + "display": "Primary malignant neoplasm of thymus (disorder)" + }, { + "code": "94098005", + "display": "Primary malignant neoplasm of thyroid gland (disorder)" + }, { + "code": "94099002", + "display": "Primary malignant neoplasm of tibia (disorder)" + }, { + "code": "94101009", + "display": "Primary malignant neoplasm of tongue (disorder)" + }, { + "code": "94102002", + "display": "Primary malignant neoplasm of tonsillar fossa (disorder)" + }, { + "code": "94103007", + "display": "Primary malignant neoplasm of tonsillar pillar (disorder)" + }, { + "code": "94104001", + "display": "Primary malignant neoplasm of trachea (disorder)" + }, { + "code": "94105000", + "display": "Primary malignant neoplasm of transverse colon (disorder)" + }, { + "code": "94107008", + "display": "Primary malignant neoplasm of trapezoid bone (disorder)" + }, { + "code": "94109006", + "display": "Primary malignant neoplasm of trigone of urinary bladder (disorder)" + }, { + "code": "94112009", + "display": "Primary malignant neoplasm of ulna (disorder)" + }, { + "code": "94113004", + "display": "Primary malignant neoplasm of undescended testis (disorder)" + }, { + "code": "94115006", + "display": "Primary malignant neoplasm of upper inner quadrant of female breast (disorder)" + }, { + "code": "94117003", + "display": "Primary malignant neoplasm of upper outer quadrant of female breast (disorder)" + }, { + "code": "94118008", + "display": "Primary malignant neoplasm of upper respiratory tract (disorder)" + }, { + "code": "94120006", + "display": "Primary malignant neoplasm of urachus (disorder)" + }, { + "code": "94121005", + "display": "Primary malignant neoplasm of ureter (disorder)" + }, { + "code": "94122003", + "display": "Primary malignant neoplasm of ureteric orifice of urinary bladder (disorder)" + }, { + "code": "94123008", + "display": "Primary malignant neoplasm of urethra (disorder)" + }, { + "code": "94124002", + "display": "Primary malignant neoplasm of urinary bladder neck (disorder)" + }, { + "code": "94125001", + "display": "Primary malignant neoplasm of urinary system (disorder)" + }, { + "code": "94128004", + "display": "Primary malignant neoplasm of uveal tract, primary (disorder)" + }, { + "code": "94129007", + "display": "Primary malignant neoplasm of uvula (disorder)" + }, { + "code": "94132005", + "display": "Primary malignant neoplasm of vallecula (disorder)" + }, { + "code": "94133000", + "display": "Primary malignant neoplasm of vas deferens (disorder)" + }, { + "code": "94134006", + "display": "Primary malignant neoplasm of ventral surface of tongue (disorder)" + }, { + "code": "94135007", + "display": "Primary malignant neoplasm of vermilion border of lip (disorder)" + }, { + "code": "94138009", + "display": "Primary malignant neoplasm of vestibule of mouth (disorder)" + }, { + "code": "94139001", + "display": "Primary malignant neoplasm of vestibule of nose (disorder)" + }, { + "code": "94140004", + "display": "Primary malignant neoplasm of visceral pleura (disorder)" + }, { + "code": "94142007", + "display": "Primary malignant neoplasm of vomer (disorder)" + }, { + "code": "94143002", + "display": "Primary malignant neoplasm of vulva (disorder)" + }, { + "code": "94144008", + "display": "Primary malignant neoplasm of Waldeyer's ring (disorder)" + }, { + "code": "94145009", + "display": "Primary malignant neoplasm of zygomatic bone (disorder)" + }, { + "code": "94152006", + "display": "Secondary malignant neoplasm of abdominal esophagus (disorder)" + }, { + "code": "94157000", + "display": "Secondary malignant neoplasm of acromion (disorder)" + }, { + "code": "94158005", + "display": "Secondary malignant neoplasm of adenoid (disorder)" + }, { + "code": "94160007", + "display": "Secondary malignant neoplasm of adrenal cortex (disorder)" + }, { + "code": "94162004", + "display": "Secondary malignant neoplasm of adrenal medulla (disorder)" + }, { + "code": "94163009", + "display": "Secondary malignant neoplasm of alveolar ridge mucosa (disorder)" + }, { + "code": "94164003", + "display": "Secondary malignant neoplasm of ampulla of Vater (disorder)" + }, { + "code": "94165002", + "display": "Secondary malignant neoplasm of anal canal (disorder)" + }, { + "code": "94166001", + "display": "Secondary malignant neoplasm of anterior aspect of epiglottis (disorder)" + }, { + "code": "94167005", + "display": "Secondary malignant neoplasm of anterior mediastinum (disorder)" + }, { + "code": "94170009", + "display": "Secondary malignant neoplasm of anterior wall of nasopharynx (disorder)" + }, { + "code": "94171008", + "display": "Secondary malignant neoplasm of anterior wall of urinary bladder (disorder)" + }, { + "code": "94172001", + "display": "Secondary malignant neoplasm of anus (disorder)" + }, { + "code": "94176003", + "display": "Secondary malignant neoplasm of areola of female breast (disorder)" + }, { + "code": "94179005", + "display": "Secondary malignant neoplasm of ascending colon (disorder)" + }, { + "code": "94182000", + "display": "Secondary malignant neoplasm of axillary tail of female breast (disorder)" + }, { + "code": "94213007", + "display": "Secondary malignant neoplasm of body of penis (disorder)" + }, { + "code": "94218003", + "display": "Secondary malignant neoplasm of bone of face (disorder)" + }, { + "code": "94219006", + "display": "Secondary malignant neoplasm of bone of lower limb (disorder)" + }, { + "code": "94220000", + "display": "Secondary malignant neoplasm of bone of skull (disorder)" + }, { + "code": "94221001", + "display": "Secondary malignant neoplasm of bone of upper limb (disorder)" + }, { + "code": "94222008", + "display": "Secondary malignant neoplasm of bone (disorder)" + }, { + "code": "94224009", + "display": "Secondary malignant neoplasm of brain stem (disorder)" + }, { + "code": "94225005", + "display": "Secondary malignant neoplasm of brain (disorder)" + }, { + "code": "94226006", + "display": "Secondary malignant neoplasm of broad ligament (disorder)" + }, { + "code": "94228007", + "display": "Secondary malignant neoplasm of bronchus of left lower lobe (disorder)" + }, { + "code": "94230009", + "display": "Secondary malignant neoplasm of bronchus of right lower lobe (disorder)" + }, { + "code": "94231008", + "display": "Secondary malignant neoplasm of bronchus of right middle lobe (disorder)" + }, { + "code": "94234000", + "display": "Secondary malignant neoplasm of buccal mucosa (disorder)" + }, { + "code": "94236003", + "display": "Secondary malignant neoplasm of calcaneus (disorder)" + }, { + "code": "94238002", + "display": "Secondary malignant neoplasm of carina (disorder)" + }, { + "code": "94240007", + "display": "Secondary malignant neoplasm of carpal bone (disorder)" + }, { + "code": "94241006", + "display": "Secondary malignant neoplasm of cartilage of nose (disorder)" + }, { + "code": "94244003", + "display": "Secondary malignant neoplasm of central portion of female breast (disorder)" + }, { + "code": "94246001", + "display": "Secondary malignant neoplasm of cerebral meninges (disorder)" + }, { + "code": "94248000", + "display": "Secondary malignant neoplasm of cerebrum (disorder)" + }, { + "code": "94250008", + "display": "Secondary malignant neoplasm of cervical vertebral column (disorder)" + }, { + "code": "94254004", + "display": "Secondary malignant neoplasm of choroid (disorder)" + }, { + "code": "94255003", + "display": "Secondary malignant neoplasm of ciliary body (disorder)" + }, { + "code": "94256002", + "display": "Secondary malignant neoplasm of clavicle (disorder)" + }, { + "code": "94257006", + "display": "Secondary malignant neoplasm of clitoris (disorder)" + }, { + "code": "94259009", + "display": "Secondary malignant neoplasm of coccyx (disorder)" + }, { + "code": "94260004", + "display": "Secondary malignant neoplasm of colon (disorder)" + }, { + "code": "94261000", + "display": "Secondary malignant neoplasm of commissure of lip (disorder)" + }, { + "code": "94264008", + "display": "Secondary malignant neoplasm of soft tissues (disorder)" + }, { + "code": "94267001", + "display": "Secondary malignant neoplasm of craniopharyngeal duct (disorder)" + }, { + "code": "94271003", + "display": "Secondary malignant neoplasm of descending colon (disorder)" + }, { + "code": "94274006", + "display": "Secondary malignant neoplasm of thoracic vertebral column (disorder)" + }, { + "code": "94276008", + "display": "Secondary malignant neoplasm of ectopic female breast tissue (disorder)" + }, { + "code": "94277004", + "display": "Secondary malignant neoplasm of ectopic male breast tissue (disorder)" + }, { + "code": "94278009", + "display": "Secondary malignant neoplasm of endocardium (disorder)" + }, { + "code": "94279001", + "display": "Secondary malignant neoplasm of endocervix (disorder)" + }, { + "code": "94281004", + "display": "Secondary malignant neoplasm of endometrium (disorder)" + }, { + "code": "94287000", + "display": "Secondary malignant neoplasm of ethmoid bone (disorder)" + }, { + "code": "94290006", + "display": "Secondary malignant neoplasm of exocervix (disorder)" + }, { + "code": "94291000119103", + "display": "Mucinous adenocarcinoma of gastrointestinal tract (disorder)" + }, { + "code": "94300004", + "display": "Secondary malignant neoplasm of femur (disorder)" + }, { + "code": "94301000", + "display": "Secondary malignant neoplasm of fibula (disorder)" + }, { + "code": "94302007", + "display": "Secondary malignant neoplasm of first cuneiform bone of foot (disorder)" + }, { + "code": "94308006", + "display": "Secondary malignant neoplasm of frontal bone (disorder)" + }, { + "code": "94311007", + "display": "Secondary malignant neoplasm of fundus of stomach (disorder)" + }, { + "code": "94314004", + "display": "Secondary malignant neoplasm of gingival mucosa (disorder)" + }, { + "code": "94315003", + "display": "Secondary malignant neoplasm of glans penis (disorder)" + }, { + "code": "94318001", + "display": "Secondary malignant neoplasm of glottis (disorder)" + }, { + "code": "94319009", + "display": "Secondary malignant neoplasm of great vessels (disorder)" + }, { + "code": "94320003", + "display": "Secondary malignant neoplasm of greater curvature of stomach (disorder)" + }, { + "code": "94321004", + "display": "Secondary malignant neoplasm of gum (disorder)" + }, { + "code": "94322006", + "display": "Secondary malignant neoplasm of hamate bone (disorder)" + }, { + "code": "94327000", + "display": "Secondary malignant neoplasm of heart (disorder)" + }, { + "code": "94328005", + "display": "Secondary malignant neoplasm of hepatic flexure of colon (disorder)" + }, { + "code": "94332004", + "display": "Secondary malignant neoplasm of hypopharyngeal aspect of aryepiglottic fold (disorder)" + }, { + "code": "94334003", + "display": "Secondary malignant neoplasm of hypopharynx (disorder)" + }, { + "code": "94337005", + "display": "Secondary malignant neoplasm of ilium (disorder)" + }, { + "code": "94341009", + "display": "Secondary malignant neoplasm of inner aspect of lip (disorder)" + }, { + "code": "94342002", + "display": "Secondary malignant neoplasm of inner aspect of lower lip (disorder)" + }, { + "code": "94343007", + "display": "Secondary malignant neoplasm of inner aspect of upper lip (disorder)" + }, { + "code": "94353008", + "display": "Secondary malignant neoplasm of ischium (disorder)" + }, { + "code": "94354002", + "display": "Secondary malignant neoplasm of islets of Langerhans (disorder)" + }, { + "code": "94355001", + "display": "Secondary malignant neoplasm of isthmus of uterus (disorder)" + }, { + "code": "94358004", + "display": "Secondary malignant neoplasm of junctional region of epiglottis (disorder)" + }, { + "code": "94359007", + "display": "Secondary malignant neoplasm of junctional zone of tongue (disorder)" + }, { + "code": "94361003", + "display": "Secondary malignant neoplasm of labia majora (disorder)" + }, { + "code": "94362005", + "display": "Secondary malignant neoplasm of labia minora (disorder)" + }, { + "code": "94364006", + "display": "Secondary malignant neoplasm of lacrimal gland (disorder)" + }, { + "code": "94366008", + "display": "Secondary malignant neoplasm of laryngeal aspect of aryepiglottic fold (disorder)" + }, { + "code": "94372008", + "display": "Secondary malignant neoplasm of lateral wall of nasopharynx (disorder)" + }, { + "code": "94374009", + "display": "Secondary malignant neoplasm of lateral wall of urinary bladder (disorder)" + }, { + "code": "94379004", + "display": "Secondary malignant neoplasm of lingual tonsil (disorder)" + }, { + "code": "94382009", + "display": "Secondary malignant neoplasm of long bone of lower limb (disorder)" + }, { + "code": "94383004", + "display": "Secondary malignant neoplasm of long bone of upper limb (disorder)" + }, { + "code": "94384005", + "display": "Secondary malignant neoplasm of lower gum (disorder)" + }, { + "code": "94385006", + "display": "Secondary malignant neoplasm of lower inner quadrant of female breast (disorder)" + }, { + "code": "94387003", + "display": "Secondary malignant neoplasm of lower outer quadrant of female breast (disorder)" + }, { + "code": "94389000", + "display": "Secondary malignant neoplasm of lumbar vertebral column (disorder)" + }, { + "code": "94390009", + "display": "Secondary malignant neoplasm of lunate bone (disorder)" + }, { + "code": "94399005", + "display": "Secondary malignant neoplasm of main bronchus (disorder)" + }, { + "code": "94400003", + "display": "Secondary malignant neoplasm of major salivary gland (disorder)" + }, { + "code": "94403001", + "display": "Secondary malignant neoplasm of mandible (disorder)" + }, { + "code": "94404007", + "display": "Secondary malignant neoplasm of mastoid air cells (disorder)" + }, { + "code": "94405008", + "display": "Secondary malignant neoplasm of maxilla (disorder)" + }, { + "code": "94411006", + "display": "Secondary malignant neoplasm of metacarpal bone (disorder)" + }, { + "code": "94412004", + "display": "Secondary malignant neoplasm of metatarsal bone (disorder)" + }, { + "code": "94415002", + "display": "Secondary malignant neoplasm of minor salivary gland (disorder)" + }, { + "code": "94420002", + "display": "Secondary malignant neoplasm of muscle of face (disorder)" + }, { + "code": "94421003", + "display": "Secondary malignant neoplasm of muscle of head (disorder)" + }, { + "code": "94433008", + "display": "Secondary malignant neoplasm of myocardium (disorder)" + }, { + "code": "94434002", + "display": "Secondary malignant neoplasm of myometrium (disorder)" + }, { + "code": "94435001", + "display": "Secondary malignant neoplasm of nasal bone (disorder)" + }, { + "code": "94437009", + "display": "Secondary malignant neoplasm of nasal concha (disorder)" + }, { + "code": "94439007", + "display": "Secondary malignant neoplasm of navicular bone of foot (disorder)" + }, { + "code": "94440009", + "display": "Secondary malignant neoplasm of scaphoid bone (disorder)" + }, { + "code": "94443006", + "display": "Secondary malignant neoplasm of nipple of female breast (disorder)" + }, { + "code": "94447007", + "display": "Secondary malignant neoplasm of occipital bone (disorder)" + }, { + "code": "94448002", + "display": "Secondary malignant neoplasm of occipital lobe (disorder)" + }, { + "code": "94451009", + "display": "Secondary malignant neoplasm of olfactory nerve (disorder)" + }, { + "code": "94452002", + "display": "Secondary malignant neoplasm of optic nerve (disorder)" + }, { + "code": "94457008", + "display": "Secondary malignant neoplasm of palatine bone (disorder)" + }, { + "code": "94458003", + "display": "Secondary malignant neoplasm of tonsil (disorder)" + }, { + "code": "94465006", + "display": "Secondary malignant neoplasm of parametrium (disorder)" + }, { + "code": "94467003", + "display": "Secondary malignant neoplasm of parathyroid gland (disorder)" + }, { + "code": "94470004", + "display": "Secondary malignant neoplasm of parietal bone (disorder)" + }, { + "code": "94471000", + "display": "Secondary malignant neoplasm of parietal lobe (disorder)" + }, { + "code": "94473002", + "display": "Secondary malignant neoplasm of parietal pleura (disorder)" + }, { + "code": "94474008", + "display": "Secondary malignant neoplasm of parotid gland (disorder)" + }, { + "code": "94478006", + "display": "Secondary malignant neoplasm of pelvic bone (disorder)" + }, { + "code": "94484009", + "display": "Secondary malignant neoplasm of pericardium (disorder)" + }, { + "code": "94485005", + "display": "Secondary malignant neoplasm of perirenal tissue (disorder)" + }, { + "code": "94486006", + "display": "Secondary malignant neoplasm of phalanx of foot (disorder)" + }, { + "code": "94487002", + "display": "Secondary malignant neoplasm of phalanx of hand (disorder)" + }, { + "code": "94488007", + "display": "Secondary malignant neoplasm of pharynx (disorder)" + }, { + "code": "94489004", + "display": "Secondary malignant neoplasm of pineal gland (disorder)" + }, { + "code": "94490008", + "display": "Secondary malignant neoplasm of pisiform bone of hand (disorder)" + }, { + "code": "94491007", + "display": "Secondary malignant neoplasm of pituitary gland (disorder)" + }, { + "code": "94495003", + "display": "Secondary malignant neoplasm of postcricoid region (disorder)" + }, { + "code": "94497006", + "display": "Secondary malignant neoplasm of posterior mediastinum (disorder)" + }, { + "code": "94498001", + "display": "Secondary malignant neoplasm of posterior wall of nasopharynx (disorder)" + }, { + "code": "94500000", + "display": "Secondary malignant neoplasm of posterior wall of urinary bladder (disorder)" + }, { + "code": "94504009", + "display": "Secondary malignant neoplasm of pubis (disorder)" + }, { + "code": "94505005", + "display": "Secondary malignant neoplasm of pyloric antrum (disorder)" + }, { + "code": "94507002", + "display": "Secondary malignant neoplasm of pyriform sinus (disorder)" + }, { + "code": "94508007", + "display": "Secondary malignant neoplasm of radius (disorder)" + }, { + "code": "94509004", + "display": "Secondary malignant neoplasm of rectosigmoid junction (disorder)" + }, { + "code": "94518002", + "display": "Secondary malignant neoplasm of retromolar area (disorder)" + }, { + "code": "94521000", + "display": "Secondary malignant neoplasm of rib (disorder)" + }, { + "code": "94522007", + "display": "Secondary malignant neoplasm of right lower lobe of lung (disorder)" + }, { + "code": "94523002", + "display": "Secondary malignant neoplasm of right middle lobe of lung (disorder)" + }, { + "code": "94525009", + "display": "Secondary malignant neoplasm of round ligament of uterus (disorder)" + }, { + "code": "94527001", + "display": "Secondary malignant neoplasm of sacrum (disorder)" + }, { + "code": "94529003", + "display": "Secondary malignant neoplasm of scapula (disorder)" + }, { + "code": "94530008", + "display": "Secondary malignant neoplasm of sclera (disorder)" + }, { + "code": "94533005", + "display": "Secondary malignant neoplasm of second cuneiform bone of foot (disorder)" + }, { + "code": "94534004", + "display": "Secondary malignant neoplasm of septum of nose (disorder)" + }, { + "code": "94536002", + "display": "Secondary malignant neoplasm of short bone of upper limb (disorder)" + }, { + "code": "94538001", + "display": "Secondary malignant neoplasm of sigmoid colon (disorder)" + }, { + "code": "94546000", + "display": "Secondary malignant neoplasm of skin of cheek (disorder)" + }, { + "code": "94551006", + "display": "Secondary malignant neoplasm of skin of external auditory canal (disorder)" + }, { + "code": "94559008", + "display": "Secondary malignant neoplasm of skin of groin (disorder)" + }, { + "code": "94576007", + "display": "Secondary malignant neoplasm of skin of umbilicus (disorder)" + }, { + "code": "94594001", + "display": "Secondary malignant neoplasm of soft tissues of thorax (disorder)" + }, { + "code": "94597008", + "display": "Secondary malignant neoplasm of spermatic cord (disorder)" + }, { + "code": "94598003", + "display": "Secondary malignant neoplasm of sphenoid bone (disorder)" + }, { + "code": "94599006", + "display": "Secondary malignant neoplasm of sphenoidal sinus (disorder)" + }, { + "code": "94602001", + "display": "Secondary malignant neoplasm of vertebral column (disorder)" + }, { + "code": "94604000", + "display": "Secondary malignant neoplasm of splenic flexure of colon (disorder)" + }, { + "code": "94605004", + "display": "Secondary malignant neoplasm of sternum (disorder)" + }, { + "code": "94607007", + "display": "Secondary malignant neoplasm of subglottis (disorder)" + }, { + "code": "94608002", + "display": "Secondary malignant neoplasm of sublingual gland (disorder)" + }, { + "code": "94613003", + "display": "Secondary malignant neoplasm of superior wall of nasopharynx (disorder)" + }, { + "code": "94621009", + "display": "Secondary malignant neoplasm of temporal bone (disorder)" + }, { + "code": "94622002", + "display": "Secondary malignant neoplasm of temporal lobe (disorder)" + }, { + "code": "94624001", + "display": "Secondary malignant neoplasm of the mesentery (disorder)" + }, { + "code": "94625000", + "display": "Secondary malignant neoplasm of the mesocolon (disorder)" + }, { + "code": "94626004", + "display": "Secondary malignant neoplasm of omentum (disorder)" + }, { + "code": "94630001", + "display": "Secondary malignant neoplasm of third cuneiform bone of foot (disorder)" + }, { + "code": "94632009", + "display": "Secondary malignant neoplasm of thymus (disorder)" + }, { + "code": "94635006", + "display": "Secondary malignant neoplasm of tibia (disorder)" + }, { + "code": "94637003", + "display": "Secondary malignant neoplasm of tip and lateral border of tongue (disorder)" + }, { + "code": "94639000", + "display": "Secondary malignant neoplasm of tonsillar fossa (disorder)" + }, { + "code": "94643001", + "display": "Secondary malignant neoplasm of transverse colon (disorder)" + }, { + "code": "94644007", + "display": "Secondary malignant neoplasm of trapezium (disorder)" + }, { + "code": "94645008", + "display": "Secondary malignant neoplasm of trapezoid bone (disorder)" + }, { + "code": "94647000", + "display": "Secondary malignant neoplasm of trigone of urinary bladder (disorder)" + }, { + "code": "94650002", + "display": "Secondary malignant neoplasm of ulna (disorder)" + }, { + "code": "94651003", + "display": "Secondary malignant neoplasm of undescended testis (disorder)" + }, { + "code": "94652005", + "display": "Secondary malignant neoplasm of upper gum (disorder)" + }, { + "code": "94653000", + "display": "Secondary malignant neoplasm of upper inner quadrant of female breast (disorder)" + }, { + "code": "94655007", + "display": "Secondary malignant neoplasm of upper outer quadrant of female breast (disorder)" + }, { + "code": "94658009", + "display": "Secondary malignant neoplasm of urachus (disorder)" + }, { + "code": "94659001", + "display": "Secondary malignant neoplasm of ureter (disorder)" + }, { + "code": "94660006", + "display": "Secondary malignant neoplasm of ureteric orifice of urinary bladder (disorder)" + }, { + "code": "94662003", + "display": "Secondary malignant neoplasm of urinary bladder neck (disorder)" + }, { + "code": "94667009", + "display": "Secondary malignant neoplasm of uvula (disorder)" + }, { + "code": "94670008", + "display": "Secondary malignant neoplasm of vallecula (disorder)" + }, { + "code": "94671007", + "display": "Secondary malignant neoplasm of vas deferens (disorder)" + }, { + "code": "94673005", + "display": "Secondary malignant neoplasm of vermilion border of lip (disorder)" + }, { + "code": "94674004", + "display": "Secondary malignant neoplasm of vermilion border of lower lip (disorder)" + }, { + "code": "94675003", + "display": "Secondary malignant neoplasm of vermilion border of upper lip (disorder)" + }, { + "code": "94676002", + "display": "Secondary malignant neoplasm of vestibule of mouth (disorder)" + }, { + "code": "94677006", + "display": "Secondary malignant neoplasm of vestibule of nose (disorder)" + }, { + "code": "94679009", + "display": "Secondary malignant neoplasm of vocal cord (disorder)" + }, { + "code": "94680007", + "display": "Secondary malignant neoplasm of vomer (disorder)" + }, { + "code": "94682004", + "display": "Secondary malignant neoplasm of Waldeyer's ring (disorder)" + }, { + "code": "94683009", + "display": "Secondary malignant neoplasm of zygomatic bone (disorder)" + }, { + "code": "94686001", + "display": "Mixed cell type lymphosarcoma of intra-abdominal lymph nodes (disorder)" + }, { + "code": "94687005", + "display": "Mixed cell type lymphosarcoma of intrapelvic lymph nodes (disorder)" + }, { + "code": "94688000", + "display": "Mixed cell type lymphosarcoma of intrathoracic lymph nodes (disorder)" + }, { + "code": "94690004", + "display": "Mixed cell type lymphosarcoma of lymph nodes of head, face, and neck (disorder)" + }, { + "code": "94707004", + "display": "Mycosis fungoides of intra-abdominal lymph nodes (disorder)" + }, { + "code": "94708009", + "display": "Mycosis fungoides of intrapelvic lymph nodes (disorder)" + }, { + "code": "94709001", + "display": "Mycosis fungoides of intrathoracic lymph nodes (disorder)" + }, { + "code": "94710006", + "display": "Mycosis fungoides of lymph nodes of axilla AND/OR upper limb (disorder)" + }, { + "code": "94711005", + "display": "Mycosis fungoides of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "94712003", + "display": "Mycosis fungoides of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "94714002", + "display": "Mycosis fungoides of spleen (disorder)" + }, { + "code": "94715001", + "display": "Mycosis fungoides of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "94719007", + "display": "Myeloid sarcoma, disease (disorder)" + }, { + "code": "95186006", + "display": "Nodular lymphoma of intra-abdominal lymph nodes (disorder)" + }, { + "code": "95187002", + "display": "Nodular lymphoma of intrapelvic lymph nodes (disorder)" + }, { + "code": "95188007", + "display": "Nodular lymphoma of intrathoracic lymph nodes (disorder)" + }, { + "code": "95192000", + "display": "Nodular lymphoma of lymph nodes of multiple sites (disorder)" + }, { + "code": "95193005", + "display": "Nodular lymphoma of spleen (disorder)" + }, { + "code": "95194004", + "display": "Nodular lymphoma of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "95210003", + "display": "Plasma cell leukemia, disease (disorder)" + }, { + "code": "95224004", + "display": "Reticulosarcoma of intra-abdominal lymph nodes (disorder)" + }, { + "code": "95225003", + "display": "Reticulosarcoma of intrapelvic lymph nodes (disorder)" + }, { + "code": "95226002", + "display": "Reticulosarcoma of intrathoracic lymph nodes (disorder)" + }, { + "code": "95230004", + "display": "Reticulosarcoma of lymph nodes of multiple sites (disorder)" + }, { + "code": "95231000", + "display": "Reticulosarcoma of spleen (disorder)" + }, { + "code": "95260009", + "display": "Sézary's disease of lymph nodes of head, face AND/OR neck (disorder)" + }, { + "code": "95261008", + "display": "Sézary's disease of lymph nodes of inguinal region AND/OR lower limb (disorder)" + }, { + "code": "95263006", + "display": "Sézary's disease of spleen (disorder)" + }, { + "code": "95264000", + "display": "Sézary's disease of extranodal AND/OR solid organ site (disorder)" + }, { + "code": "9541000119105", + "display": "Primary adenocarcinoma of gallbladder (disorder)" + }, { + "code": "96281000119107", + "display": "Overlapping malignant neoplasm of colon and rectum (disorder)" + }, { + "code": "96981000119102", + "display": "Malignant neoplasm of rectosigmoid junction metastatic to brain (disorder)" + }, { + "code": "99101000119101", + "display": "Primary adenocarcinoma of fallopian tube (disorder)" + }, { + "code": "99121000119105", + "display": "Primary adenocarcinoma of vagina (disorder)" + }, { + "code": "99131000119108", + "display": "Astrocytoma of cerebrum (disorder)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1111.161" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113883.3.3157.1004.20", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20", + "title": "Hospice Care", + "status": "active", + "publisher": "Mathematica", + "compose": { + "include": [ { + "system": "http://snomed.info/sct", + "version": "2019-09", + "concept": [ { + "code": "170935008", + "display": "Full care by hospice (finding)" + }, { + "code": "170936009", + "display": "Shared care - hospice and general practitioner (finding)" + }, { + "code": "1891000124102", + "display": "Transition from acute care to hospice (finding)" + }, { + "code": "1921000124108", + "display": "Transition from home-health care to hospice (finding)" + }, { + "code": "1951000124104", + "display": "Transition from long-term care to hospice (finding)" + }, { + "code": "1981000124107", + "display": "Transition from hospice to long-term care (finding)" + }, { + "code": "305911006", + "display": "Seen in hospice (finding)" + }, { + "code": "313372007", + "display": "Patient died in hospice (finding)" + }, { + "code": "448451000124101", + "display": "Transition from self-care to hospice (finding)" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113883.3.3157.1004.20" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1125.2", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2", + "title": "Schedule II and Schedule III Opioids", + "status": "active", + "publisher": "Mathematica", + "compose": { + "include": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "version": "2019-11", + "concept": [ { + "code": "1010600", + "display": "Buprenorphine 2 MG / Naloxone 0.5 MG Oral Strip" + }, { + "code": "1010604", + "display": "Buprenorphine 8 MG / Naloxone 2 MG Oral Strip" + }, { + "code": "1014599", + "display": "Acetaminophen 300 MG / Oxycodone Hydrochloride 10 MG Oral Tablet" + }, { + "code": "1014615", + "display": "Acetaminophen 300 MG / Oxycodone Hydrochloride 5 MG Oral Tablet" + }, { + "code": "1014632", + "display": "Acetaminophen 300 MG / Oxycodone Hydrochloride 7.5 MG Oral Tablet" + }, { + "code": "1037259", + "display": "Acetaminophen 300 MG / Oxycodone Hydrochloride 2.5 MG Oral Tablet" + }, { + "code": "1042693", + "display": "Chlorpheniramine Maleate 0.4 MG/ML / Codeine Phosphate 2 MG/ML / Phenylephrine Hydrochloride 1 MG/ML Oral Solution" + }, { + "code": "1044427", + "display": "Acetaminophen 20 MG/ML / Hydrocodone Bitartrate 0.667 MG/ML Oral Solution" + }, { + "code": "1049214", + "display": "Acetaminophen 325 MG / Oxycodone Hydrochloride 10 MG Oral Tablet" + }, { + "code": "1049221", + "display": "Acetaminophen 325 MG / Oxycodone Hydrochloride 5 MG Oral Tablet" + }, { + "code": "1049225", + "display": "Acetaminophen 325 MG / Oxycodone Hydrochloride 7.5 MG Oral Tablet" + }, { + "code": "1049251", + "display": "Acetaminophen 400 MG / Oxycodone Hydrochloride 10 MG Oral Tablet" + }, { + "code": "1049260", + "display": "Acetaminophen 400 MG / Oxycodone Hydrochloride 5 MG Oral Tablet" + }, { + "code": "1049502", + "display": "12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + }, { + "code": "1049543", + "display": "12 HR Oxycodone Hydrochloride 15 MG Extended Release Oral Tablet" + }, { + "code": "1049563", + "display": "12 HR Oxycodone Hydrochloride 20 MG Extended Release Oral Tablet" + }, { + "code": "1049574", + "display": "12 HR Oxycodone Hydrochloride 30 MG Extended Release Oral Tablet" + }, { + "code": "1049580", + "display": "Acetaminophen 65 MG/ML / Oxycodone Hydrochloride 1 MG/ML Oral Solution" + }, { + "code": "1049584", + "display": "12 HR Oxycodone Hydrochloride 40 MG Extended Release Oral Tablet" + }, { + "code": "1049589", + "display": "Ibuprofen 400 MG / Oxycodone Hydrochloride 5 MG Oral Tablet" + }, { + "code": "1049593", + "display": "12 HR Oxycodone Hydrochloride 60 MG Extended Release Oral Tablet" + }, { + "code": "1049599", + "display": "12 HR Oxycodone Hydrochloride 80 MG Extended Release Oral Tablet" + }, { + "code": "1049604", + "display": "Oxycodone Hydrochloride 1 MG/ML Oral Solution" + }, { + "code": "1049611", + "display": "Oxycodone Hydrochloride 15 MG Oral Tablet" + }, { + "code": "1049615", + "display": "Oxycodone Hydrochloride 20 MG/ML Oral Solution" + }, { + "code": "1049618", + "display": "Oxycodone Hydrochloride 30 MG Oral Tablet" + }, { + "code": "1049621", + "display": "Oxycodone Hydrochloride 5 MG Oral Tablet" + }, { + "code": "1049635", + "display": "Acetaminophen 325 MG / Oxycodone Hydrochloride 2.5 MG Oral Tablet" + }, { + "code": "1049683", + "display": "Oxycodone Hydrochloride 10 MG Oral Tablet" + }, { + "code": "1049686", + "display": "Oxycodone Hydrochloride 20 MG Oral Tablet" + }, { + "code": "1049691", + "display": "Aspirin 325 MG / Oxycodone Hydrochloride 5 MG Oral Tablet" + }, { + "code": "1049696", + "display": "Oxycodone Hydrochloride 5 MG Oral Capsule" + }, { + "code": "1053647", + "display": "Fentanyl 0.1 MG Sublingual Tablet" + }, { + "code": "1053652", + "display": "Fentanyl 0.2 MG Sublingual Tablet" + }, { + "code": "1053655", + "display": "Fentanyl 0.3 MG Sublingual Tablet" + }, { + "code": "1053658", + "display": "Fentanyl 0.4 MG Sublingual Tablet" + }, { + "code": "1053661", + "display": "Fentanyl 0.6 MG Sublingual Tablet" + }, { + "code": "1053664", + "display": "Fentanyl 0.8 MG Sublingual Tablet" + }, { + "code": "1087459", + "display": "12 HR CHLORPHENIRAMINE POLISTIREX 1.6 MG/ML / HYDROCODONE POLISTIREX 2 MG/ML Extended Release Suspension" + }, { + "code": "1089055", + "display": "Codeine Phosphate 10 MG / Guaifenesin 400 MG / Pseudoephedrine Hydrochloride 20 MG Oral Tablet" + }, { + "code": "1089058", + "display": "Codeine Phosphate 10 MG / Guaifenesin 400 MG / Pseudoephedrine Hydrochloride 30 MG Oral Tablet" + }, { + "code": "1089061", + "display": "Codeine Phosphate 10 MG / Guaifenesin 400 MG / Pseudoephedrine Hydrochloride 40 MG Oral Tablet" + }, { + "code": "1089070", + "display": "Codeine Phosphate 10 MG / Guaifenesin 400 MG / Pseudoephedrine Hydrochloride 60 MG Oral Tablet" + }, { + "code": "1099711", + "display": "Codeine Phosphate 20 MG / Pseudoephedrine Hydrochloride 60 MG / Triprolidine Hydrochloride 4 MG Oral Tablet" + }, { + "code": "1112220", + "display": "Chlorpheniramine Maleate 0.8 MG/ML / Hydrocodone Bitartrate 1 MG/ML / Pseudoephedrine Hydrochloride 12 MG/ML Oral Solution" + }, { + "code": "1113314", + "display": "Oxycodone Hydrochloride 7.5 MG Oral Tablet" + }, { + "code": "1113417", + "display": "Chlorpheniramine Maleate 0.4 MG/ML / Codeine Phosphate 2 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "1113998", + "display": "Chlorpheniramine Maleate 0.4 MG/ML / Codeine Phosphate 1.6 MG/ML Oral Solution" + }, { + "code": "1114003", + "display": "Chlorpheniramine Maleate 0.4 MG/ML / Codeine Phosphate 1.6 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "1114026", + "display": "Codeine Phosphate 1.6 MG/ML / Guaifenesin 40 MG/ML Oral Solution" + }, { + "code": "1114110", + "display": "Codeine Phosphate 1.6 MG/ML / Guaifenesin 40 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "1114334", + "display": "Hydrocodone Bitartrate 1 MG/ML / Pseudoephedrine Hydrochloride 12 MG/ML Oral Solution" + }, { + "code": "1114878", + "display": "Codeine Phosphate 1.6 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "1115573", + "display": "Fentanyl 0.1 MG/ACTUAT Metered Dose Nasal Spray" + }, { + "code": "1115577", + "display": "Fentanyl 0.4 MG/ACTUAT Metered Dose Nasal Spray" + }, { + "code": "1148797", + "display": "12 HR tapentadol 100 MG Extended Release Oral Tablet" + }, { + "code": "1148800", + "display": "12 HR tapentadol 150 MG Extended Release Oral Tablet" + }, { + "code": "1148803", + "display": "12 HR tapentadol 200 MG Extended Release Oral Tablet" + }, { + "code": "1148807", + "display": "12 HR tapentadol 250 MG Extended Release Oral Tablet" + }, { + "code": "1148809", + "display": "12 HR tapentadol 50 MG Extended Release Oral Tablet" + }, { + "code": "1190580", + "display": "Codeine Phosphate 1.2 MG/ML / Dexbrompheniramine maleate 0.133 MG/ML / Pseudoephedrine Hydrochloride 4 MG/ML Oral Solution" + }, { + "code": "1232113", + "display": "1 ML Morphine Sulfate 15 MG/ML Prefilled Syringe" + }, { + "code": "1234872", + "display": "Aspirin 356.4 MG / Caffeine 30 MG / dihydrocodeine bitartrate 16 MG Oral Capsule" + }, { + "code": "1234941", + "display": "Chlorpheniramine Maleate 0.4 MG/ML / dihydrocodeine bitartrate 0.6 MG/ML / Phenylephrine Hydrochloride 1.5 MG/ML Oral Solution" + }, { + "code": "1235862", + "display": "Chlorcyclizine hydrochloride 2.5 MG/ML / Codeine Phosphate 1.8 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "1236239", + "display": "dihydrocodeine bitartrate 60 MG Oral Tablet" + }, { + "code": "1237050", + "display": "Fentanyl 0.1 MG/ACTUAT Mucosal Spray" + }, { + "code": "1237057", + "display": "Fentanyl 0.2 MG/ACTUAT Mucosal Spray" + }, { + "code": "1237060", + "display": "Fentanyl 0.4 MG/ACTUAT Mucosal Spray" + }, { + "code": "1237064", + "display": "Fentanyl 0.6 MG/ACTUAT Mucosal Spray" + }, { + "code": "1237068", + "display": "Fentanyl 0.8 MG/ACTUAT Mucosal Spray" + }, { + "code": "1303736", + "display": "Morphine Sulfate 40 MG Extended Release Oral Capsule" + }, { + "code": "1306898", + "display": "24 HR Hydromorphone Hydrochloride 32 MG Extended Release Oral Tablet" + }, { + "code": "1307056", + "display": "Buprenorphine 4 MG / Naloxone 1 MG Oral Strip" + }, { + "code": "1307061", + "display": "Buprenorphine 12 MG / Naloxone 3 MG Oral Strip" + }, { + "code": "1356797", + "display": "Brompheniramine Maleate 4 MG / Codeine Phosphate 10 MG / Phenylephrine Hydrochloride 10 MG Oral Tablet" + }, { + "code": "1356800", + "display": "Brompheniramine Maleate 4 MG / Codeine Phosphate 10 MG Oral Tablet" + }, { + "code": "1356804", + "display": "Brompheniramine Maleate 4 MG / Codeine Phosphate 20 MG / Phenylephrine Hydrochloride 10 MG Oral Tablet" + }, { + "code": "1356807", + "display": "Brompheniramine Maleate 4 MG / Codeine Phosphate 20 MG Oral Tablet" + }, { + "code": "1366873", + "display": "Hydrocodone Bitartrate 5 MG / Pseudoephedrine Hydrochloride 60 MG Oral Tablet" + }, { + "code": "1372265", + "display": "Chlorpheniramine Maleate 0.8 MG/ML / Hydrocodone Bitartrate 1 MG/ML Oral Solution" + }, { + "code": "1424295", + "display": "Acetaminophen 325 MG / Chlorpheniramine Maleate 2 MG / Codeine Phosphate 8 MG / Pseudoephedrine Hydrochloride 30 MG Oral Tablet" + }, { + "code": "1431076", + "display": "Buprenorphine 1.4 MG / Naloxone 0.36 MG Sublingual Tablet" + }, { + "code": "1431102", + "display": "Buprenorphine 5.7 MG / Naloxone 1.4 MG Sublingual Tablet" + }, { + "code": "1431286", + "display": "Acetaminophen 300 MG / butalbital 50 MG / Caffeine 40 MG / Codeine Phosphate 30 MG Oral Capsule" + }, { + "code": "1432969", + "display": "168 HR Buprenorphine 0.015 MG/HR Transdermal System" + }, { + "code": "1433251", + "display": "0.5 ML Hydromorphone Hydrochloride 1 MG/ML Prefilled Syringe" + }, { + "code": "1440003", + "display": "Codeine Phosphate 1.8 MG/ML / Dexchlorpheniramine maleate 0.2 MG/ML / Phenylephrine Hydrochloride 1 MG/ML Oral Solution" + }, { + "code": "1442790", + "display": "1 ML Morphine Sulfate 5 MG/ML Prefilled Syringe" + }, { + "code": "1491832", + "display": "12 HR Acetaminophen 325 MG / Oxycodone Hydrochloride 7.5 MG Extended Release Oral Tablet" + }, { + "code": "1541630", + "display": "Brompheniramine Maleate 0.8 MG/ML / Codeine Phosphate 2 MG/ML / Phenylephrine Hydrochloride 2 MG/ML Oral Solution" + }, { + "code": "1542390", + "display": "Buprenorphine 2.1 MG / Naloxone 0.3 MG Buccal Film" + }, { + "code": "1542997", + "display": "168 HR Buprenorphine 0.0075 MG/HR Transdermal System" + }, { + "code": "1544851", + "display": "Buprenorphine 4.2 MG / Naloxone 0.7 MG Buccal Film" + }, { + "code": "1544854", + "display": "Buprenorphine 6.3 MG / Naloxone 1 MG Buccal Film" + }, { + "code": "1595730", + "display": "Abuse-Deterrent 24 HR Hydrocodone Bitartrate 20 MG Extended Release Oral Tablet" + }, { + "code": "1595740", + "display": "Abuse-Deterrent 24 HR Hydrocodone Bitartrate 30 MG Extended Release Oral Tablet" + }, { + "code": "1595746", + "display": "Abuse-Deterrent 24 HR Hydrocodone Bitartrate 40 MG Extended Release Oral Tablet" + }, { + "code": "1595752", + "display": "Abuse-Deterrent 24 HR Hydrocodone Bitartrate 60 MG Extended Release Oral Tablet" + }, { + "code": "1595758", + "display": "Abuse-Deterrent 24 HR Hydrocodone Bitartrate 80 MG Extended Release Oral Tablet" + }, { + "code": "1595764", + "display": "Abuse-Deterrent 24 HR Hydrocodone Bitartrate 100 MG Extended Release Oral Tablet" + }, { + "code": "1595770", + "display": "Abuse-Deterrent 24 HR Hydrocodone Bitartrate 120 MG Extended Release Oral Tablet" + }, { + "code": "1596108", + "display": "Acetaminophen 320.5 MG / Caffeine 30 MG / dihydrocodeine bitartrate 16 MG Oral Capsule" + }, { + "code": "1597568", + "display": "Buprenorphine 11.4 MG / Naloxone 2.9 MG Sublingual Tablet" + }, { + "code": "1597573", + "display": "Buprenorphine 8.6 MG / Naloxone 2.1 MG Sublingual Tablet" + }, { + "code": "1603495", + "display": "72 HR Fentanyl 0.0375 MG/HR Transdermal System" + }, { + "code": "1603498", + "display": "72 HR Fentanyl 0.0625 MG/HR Transdermal System" + }, { + "code": "1603501", + "display": "72 HR Fentanyl 0.0875 MG/HR Transdermal System" + }, { + "code": "1651558", + "display": "Guaifenesin 40 MG/ML / Hydrocodone Bitartrate 0.5 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "1652087", + "display": "12 HR CHLORPHENIRAMINE POLISTIREX 0.8 MG/ML / CODEINE POLISTIREX 4 MG/ML Extended Release Suspension" + }, { + "code": "1655032", + "display": "1 ML Buprenorphine 0.3 MG/ML Cartridge" + }, { + "code": "1655058", + "display": "Meperidine Hydrochloride 150 MG Oral Tablet" + }, { + "code": "1655060", + "display": "Meperidine Hydrochloride 75 MG Oral Tablet" + }, { + "code": "1661319", + "display": "Codeine Phosphate 2 MG/ML / Phenylephrine Hydrochloride 2 MG/ML / Triprolidine Hydrochloride 0.5 MG/ML Oral Solution" + }, { + "code": "1664543", + "display": "12 HR Chlorpheniramine Maleate 8 MG / Codeine Phosphate 54.3 MG Extended Release Oral Tablet" + }, { + "code": "1666338", + "display": "Buprenorphine 2.9 MG / Naloxone 0.71 MG Sublingual Tablet" + }, { + "code": "1666831", + "display": "80 ACTUAT Fentanyl 0.04 MG/ACTUAT Transdermal System" + }, { + "code": "1716057", + "display": "Buprenorphine 0.15 MG Buccal Film" + }, { + "code": "1716065", + "display": "Buprenorphine 0.3 MG Buccal Film" + }, { + "code": "1716069", + "display": "Buprenorphine 0.45 MG Buccal Film" + }, { + "code": "1716073", + "display": "Buprenorphine 0.6 MG Buccal Film" + }, { + "code": "1716077", + "display": "Buprenorphine 0.075 MG Buccal Film" + }, { + "code": "1716081", + "display": "Buprenorphine 0.75 MG Buccal Film" + }, { + "code": "1716086", + "display": "Buprenorphine 0.9 MG Buccal Film" + }, { + "code": "1724383", + "display": "1 ML Hydromorphone Hydrochloride 1 MG/ML Cartridge" + }, { + "code": "1724644", + "display": "1 ML Hydromorphone Hydrochloride 2 MG/ML Cartridge" + }, { + "code": "1729197", + "display": "1 ML Morphine Sulfate 2 MG/ML Cartridge" + }, { + "code": "1729320", + "display": "Fentanyl 0.3 MG/ACTUAT Metered Dose Nasal Spray" + }, { + "code": "1731995", + "display": "1 ML Morphine Sulfate 10 MG/ML Cartridge" + }, { + "code": "1732003", + "display": "1 ML Morphine Sulfate 8 MG/ML Cartridge" + }, { + "code": "1732014", + "display": "1 ML Morphine Sulfate 4 MG/ML Cartridge" + }, { + "code": "1733080", + "display": "1 ML Morphine Sulfate 15 MG/ML Cartridge" + }, { + "code": "1790527", + "display": "Abuse-Deterrent 12 HR Oxycodone 9 MG Extended Release Oral Capsule" + }, { + "code": "1791558", + "display": "Abuse-Deterrent 12 HR Oxycodone 13.5 MG Extended Release Oral Capsule" + }, { + "code": "1791567", + "display": "Abuse-Deterrent 12 HR Oxycodone 18 MG Extended Release Oral Capsule" + }, { + "code": "1791574", + "display": "Abuse-Deterrent 12 HR Oxycodone 27 MG Extended Release Oral Capsule" + }, { + "code": "1791580", + "display": "Abuse-Deterrent 12 HR Oxycodone 36 MG Extended Release Oral Capsule" + }, { + "code": "1792707", + "display": "Codeine Phosphate 2 MG/ML / Guaifenesin 40 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "1797650", + "display": "Buprenorphine 74.2 MG Drug Implant" + }, { + "code": "1812164", + "display": "Acetaminophen 325 MG / Caffeine 30 MG / dihydrocodeine bitartrate 16 MG Oral Tablet" + }, { + "code": "1860127", + "display": "Abuse-Deterrent 12 HR Oxycodone Hydrochloride 60 MG Extended Release Oral Tablet" + }, { + "code": "1860129", + "display": "Abuse-Deterrent 12 HR Oxycodone Hydrochloride 20 MG Extended Release Oral Tablet" + }, { + "code": "1860137", + "display": "Abuse-Deterrent 12 HR Oxycodone Hydrochloride 40 MG Extended Release Oral Tablet" + }, { + "code": "1860148", + "display": "Abuse-Deterrent 12 HR Oxycodone Hydrochloride 80 MG Extended Release Oral Tablet" + }, { + "code": "1860151", + "display": "Abuse-Deterrent 12 HR Oxycodone Hydrochloride 30 MG Extended Release Oral Tablet" + }, { + "code": "1860154", + "display": "Abuse-Deterrent 12 HR Oxycodone Hydrochloride 15 MG Extended Release Oral Tablet" + }, { + "code": "1860157", + "display": "Abuse-Deterrent 12 HR Oxycodone Hydrochloride 10 MG Extended Release Oral Tablet" + }, { + "code": "1860491", + "display": "12 HR Hydrocodone Bitartrate 10 MG Extended Release Oral Capsule" + }, { + "code": "1860493", + "display": "12 HR Hydrocodone Bitartrate 15 MG Extended Release Oral Capsule" + }, { + "code": "1860495", + "display": "12 HR Hydrocodone Bitartrate 20 MG Extended Release Oral Capsule" + }, { + "code": "1860497", + "display": "12 HR Hydrocodone Bitartrate 30 MG Extended Release Oral Capsule" + }, { + "code": "1860499", + "display": "12 HR Hydrocodone Bitartrate 40 MG Extended Release Oral Capsule" + }, { + "code": "1860501", + "display": "12 HR Hydrocodone Bitartrate 50 MG Extended Release Oral Capsule" + }, { + "code": "1864412", + "display": "Buprenorphine 0.7 MG / Naloxone 0.18 MG Sublingual Tablet" + }, { + "code": "1871434", + "display": "Abuse-Deterrent 12 HR Morphine Sulfate 15 MG Extended Release Oral Tablet" + }, { + "code": "1871441", + "display": "Abuse-Deterrent 12 HR Morphine Sulfate 30 MG Extended Release Oral Tablet" + }, { + "code": "1871444", + "display": "Abuse-Deterrent 12 HR Morphine Sulfate 60 MG Extended Release Oral Tablet" + }, { + "code": "1872234", + "display": "Abuse-Deterrent 12 HR Morphine Sulfate 100 MG Extended Release Oral Tablet" + }, { + "code": "1872271", + "display": "1 ML Hydromorphone Hydrochloride 4 MG/ML Prefilled Syringe" + }, { + "code": "197696", + "display": "72 HR Fentanyl 0.075 MG/HR Transdermal System" + }, { + "code": "197873", + "display": "Levorphanol 2 MG Oral Tablet" + }, { + "code": "200240", + "display": "paregoric 0.4 MG/ML Oral Solution" + }, { + "code": "245134", + "display": "72 HR Fentanyl 0.025 MG/HR Transdermal System" + }, { + "code": "245135", + "display": "72 HR Fentanyl 0.05 MG/HR Transdermal System" + }, { + "code": "245136", + "display": "72 HR Fentanyl 0.1 MG/HR Transdermal System" + }, { + "code": "310293", + "display": "Fentanyl 1.2 MG Oral Lozenge" + }, { + "code": "310294", + "display": "Fentanyl 1.6 MG Oral Lozenge" + }, { + "code": "310295", + "display": "Fentanyl 0.2 MG Oral Lozenge" + }, { + "code": "310297", + "display": "Fentanyl 0.4 MG Oral Lozenge" + }, { + "code": "312104", + "display": "Belladonna Alkaloids 16.2 MG / Opium 30 MG Rectal Suppository" + }, { + "code": "312107", + "display": "Belladonna Alkaloids 16.2 MG / Opium 60 MG Rectal Suppository" + }, { + "code": "313992", + "display": "Fentanyl 0.6 MG Oral Lozenge" + }, { + "code": "313993", + "display": "Fentanyl 0.8 MG Oral Lozenge" + }, { + "code": "351264", + "display": "Buprenorphine 2 MG Sublingual Tablet" + }, { + "code": "351265", + "display": "Buprenorphine 8 MG Sublingual Tablet" + }, { + "code": "351266", + "display": "Buprenorphine 2 MG / Naloxone 0.5 MG Sublingual Tablet" + }, { + "code": "351267", + "display": "Buprenorphine 8 MG / Naloxone 2 MG Sublingual Tablet" + }, { + "code": "577057", + "display": "72 HR Fentanyl 0.012 MG/HR Transdermal System" + }, { + "code": "637540", + "display": "Aspirin 325 MG / Oxycodone Hydrochloride 4.5 MG / oxycodone terephthalate 0.38 MG Oral Tablet" + }, { + "code": "668363", + "display": "Fentanyl 0.1 MG Buccal Tablet" + }, { + "code": "668364", + "display": "Fentanyl 0.2 MG Buccal Tablet" + }, { + "code": "668365", + "display": "Fentanyl 0.4 MG Buccal Tablet" + }, { + "code": "668366", + "display": "Fentanyl 0.6 MG Buccal Tablet" + }, { + "code": "668367", + "display": "Fentanyl 0.8 MG Buccal Tablet" + }, { + "code": "727759", + "display": "2 ML Fentanyl 0.05 MG/ML Cartridge" + }, { + "code": "825409", + "display": "tapentadol 100 MG Oral Tablet" + }, { + "code": "825411", + "display": "tapentadol 50 MG Oral Tablet" + }, { + "code": "825413", + "display": "tapentadol 75 MG Oral Tablet" + }, { + "code": "830196", + "display": "opium tincture 100 MG/ML Oral Solution" + }, { + "code": "848768", + "display": "Aspirin 325 MG / Oxycodone Hydrochloride 4.84 MG Oral Tablet" + }, { + "code": "856908", + "display": "Acetaminophen 660 MG / Hydrocodone Bitartrate 10 MG Oral Tablet" + }, { + "code": "856940", + "display": "Acetaminophen 21.7 MG/ML / Hydrocodone Bitartrate 0.5 MG/ML Oral Solution" + }, { + "code": "856944", + "display": "Acetaminophen 21.7 MG/ML / Hydrocodone Bitartrate 0.67 MG/ML Oral Solution" + }, { + "code": "856980", + "display": "Acetaminophen 300 MG / Hydrocodone Bitartrate 10 MG Oral Tablet" + }, { + "code": "856987", + "display": "Acetaminophen 300 MG / Hydrocodone Bitartrate 5 MG Oral Tablet" + }, { + "code": "856992", + "display": "Acetaminophen 300 MG / Hydrocodone Bitartrate 7.5 MG Oral Tablet" + }, { + "code": "856999", + "display": "Acetaminophen 325 MG / Hydrocodone Bitartrate 10 MG Oral Tablet" + }, { + "code": "857002", + "display": "Acetaminophen 325 MG / Hydrocodone Bitartrate 5 MG Oral Tablet" + }, { + "code": "857005", + "display": "Acetaminophen 325 MG / Hydrocodone Bitartrate 7.5 MG Oral Tablet" + }, { + "code": "857099", + "display": "Acetaminophen 33.3 MG/ML / Hydrocodone Bitartrate 0.5 MG/ML Oral Solution" + }, { + "code": "857131", + "display": "Acetaminophen 400 MG / Hydrocodone Bitartrate 5 MG Oral Tablet" + }, { + "code": "857391", + "display": "Acetaminophen 325 MG / Hydrocodone Bitartrate 2.5 MG Oral Tablet" + }, { + "code": "857510", + "display": "12 HR CHLORPHENIRAMINE POLISTIREX 4 MG / HYDROCODONE POLISTIREX 5 MG Extended Release Oral Capsule" + }, { + "code": "857512", + "display": "12 HR CHLORPHENIRAMINE POLISTIREX 8 MG / HYDROCODONE POLISTIREX 10 MG Extended Release Oral Capsule" + }, { + "code": "858770", + "display": "Hydrocodone Bitartrate 2.5 MG / Ibuprofen 200 MG Oral Tablet" + }, { + "code": "858778", + "display": "Hydrocodone Bitartrate 5 MG / Ibuprofen 200 MG Oral Tablet" + }, { + "code": "858798", + "display": "Hydrocodone Bitartrate 7.5 MG / Ibuprofen 200 MG Oral Tablet" + }, { + "code": "859315", + "display": "Hydrocodone Bitartrate 10 MG / Ibuprofen 200 MG Oral Tablet" + }, { + "code": "859383", + "display": "Guaifenesin 40 MG/ML / Hydrocodone Bitartrate 0.5 MG/ML Oral Solution" + }, { + "code": "860792", + "display": "1 ML Meperidine Hydrochloride 75 MG/ML Cartridge" + }, { + "code": "861447", + "display": "Meperidine Hydrochloride 10 MG/ML Injectable Solution" + }, { + "code": "861455", + "display": "Meperidine Hydrochloride 100 MG Oral Tablet" + }, { + "code": "861459", + "display": "Meperidine Hydrochloride 100 MG/ML Injectable Solution" + }, { + "code": "861463", + "display": "Meperidine Hydrochloride 50 MG/ML Injectable Solution" + }, { + "code": "861467", + "display": "Meperidine Hydrochloride 50 MG Oral Tablet" + }, { + "code": "861473", + "display": "1 ML Meperidine Hydrochloride 50 MG/ML Cartridge" + }, { + "code": "861479", + "display": "Meperidine Hydrochloride 10 MG/ML Oral Solution" + }, { + "code": "861493", + "display": "1 ML Meperidine Hydrochloride 100 MG/ML Cartridge" + }, { + "code": "861494", + "display": "1 ML Meperidine Hydrochloride 25 MG/ML Cartridge" + }, { + "code": "861578", + "display": "Meperidine Hydrochloride 50 MG / Promethazine Hydrochloride 25 MG Oral Capsule" + }, { + "code": "863845", + "display": "Abuse-Deterrent Morphine Sulfate 100 MG / Naltrexone hydrochloride 4 MG Extended Release Oral Capsule" + }, { + "code": "863848", + "display": "Abuse-Deterrent Morphine Sulfate 20 MG / Naltrexone hydrochloride 0.8 MG Extended Release Oral Capsule" + }, { + "code": "863850", + "display": "Abuse-Deterrent Morphine Sulfate 30 MG / Naltrexone hydrochloride 1.2 MG Extended Release Oral Capsule" + }, { + "code": "863852", + "display": "Abuse-Deterrent Morphine Sulfate 50 MG / Naltrexone hydrochloride 2 MG Extended Release Oral Capsule" + }, { + "code": "863854", + "display": "Abuse-Deterrent Morphine Sulfate 60 MG / Naltrexone hydrochloride 2.4 MG Extended Release Oral Capsule" + }, { + "code": "863856", + "display": "Abuse-Deterrent Morphine Sulfate 80 MG / Naltrexone hydrochloride 3.2 MG Extended Release Oral Capsule" + }, { + "code": "864706", + "display": "Methadone Hydrochloride 10 MG Oral Tablet" + }, { + "code": "864714", + "display": "Methadone Hydrochloride 10 MG/ML Injectable Solution" + }, { + "code": "864718", + "display": "Methadone Hydrochloride 5 MG Oral Tablet" + }, { + "code": "864761", + "display": "Methadone Hydrochloride 1 MG/ML Oral Solution" + }, { + "code": "864769", + "display": "Methadone Hydrochloride 2 MG/ML Oral Solution" + }, { + "code": "864978", + "display": "Methadone Hydrochloride 40 MG Tablet for Oral Suspension" + }, { + "code": "891874", + "display": "Morphine Sulfate 100 MG Extended Release Oral Tablet" + }, { + "code": "891878", + "display": "12 HR Morphine Sulfate 15 MG Extended Release Oral Tablet" + }, { + "code": "891881", + "display": "Morphine Sulfate 15 MG Extended Release Oral Tablet" + }, { + "code": "891883", + "display": "12 HR Morphine Sulfate 100 MG Extended Release Oral Tablet" + }, { + "code": "891885", + "display": "12 HR Morphine Sulfate 30 MG Extended Release Oral Tablet" + }, { + "code": "891888", + "display": "Morphine Sulfate 30 MG Extended Release Oral Tablet" + }, { + "code": "891890", + "display": "12 HR Morphine Sulfate 60 MG Extended Release Oral Tablet" + }, { + "code": "891893", + "display": "Morphine Sulfate 60 MG Extended Release Oral Tablet" + }, { + "code": "892297", + "display": "24 HR Morphine Sulfate 120 MG Extended Release Oral Capsule" + }, { + "code": "892342", + "display": "24 HR Morphine Sulfate 30 MG Extended Release Oral Capsule" + }, { + "code": "892345", + "display": "Morphine Sulfate 30 MG Extended Release Oral Capsule" + }, { + "code": "892349", + "display": "24 HR Morphine Sulfate 60 MG Extended Release Oral Capsule" + }, { + "code": "892352", + "display": "Morphine Sulfate 60 MG Extended Release Oral Capsule" + }, { + "code": "892355", + "display": "24 HR Morphine Sulfate 90 MG Extended Release Oral Capsule" + }, { + "code": "892494", + "display": "Morphine Sulfate 10 MG Extended Release Oral Capsule" + }, { + "code": "892516", + "display": "Morphine Sulfate 10 MG Rectal Suppository" + }, { + "code": "892554", + "display": "Morphine Sulfate 100 MG Extended Release Oral Capsule" + }, { + "code": "892582", + "display": "Morphine Sulfate 15 MG Oral Tablet" + }, { + "code": "892589", + "display": "Morphine Sulfate 2 MG/ML Oral Solution" + }, { + "code": "892596", + "display": "Morphine Sulfate 20 MG Extended Release Oral Capsule" + }, { + "code": "892603", + "display": "Morphine Sulfate 20 MG Rectal Suppository" + }, { + "code": "892625", + "display": "Morphine Sulfate 20 MG/ML Oral Solution" + }, { + "code": "892643", + "display": "Morphine Sulfate 200 MG Extended Release Oral Capsule" + }, { + "code": "892646", + "display": "Morphine Sulfate 200 MG Extended Release Oral Tablet" + }, { + "code": "892672", + "display": "Morphine Sulfate 30 MG Oral Tablet" + }, { + "code": "892678", + "display": "Morphine Sulfate 30 MG Rectal Suppository" + }, { + "code": "894780", + "display": "Morphine Sulfate 4 MG/ML Oral Solution" + }, { + "code": "894801", + "display": "Morphine Sulfate 50 MG Extended Release Oral Capsule" + }, { + "code": "894807", + "display": "Morphine Sulfate 5 MG Rectal Suppository" + }, { + "code": "894814", + "display": "Morphine Sulfate 80 MG Extended Release Oral Capsule" + }, { + "code": "894911", + "display": "0.7 ML Morphine Sulfate 14.3 MG/ML Auto-Injector" + }, { + "code": "894912", + "display": "1 ML Morphine Sulfate 10 MG/ML Prefilled Syringe" + }, { + "code": "894914", + "display": "1 ML Morphine Sulfate 8 MG/ML Prefilled Syringe" + }, { + "code": "894918", + "display": "12 HR Morphine Sulfate 200 MG Extended Release Oral Tablet" + }, { + "code": "894942", + "display": "24 HR Morphine Sulfate 45 MG Extended Release Oral Capsule" + }, { + "code": "894970", + "display": "24 HR Morphine Sulfate 75 MG Extended Release Oral Capsule" + }, { + "code": "895201", + "display": "Morphine Sulfate 20 MG Oral Tablet" + }, { + "code": "895217", + "display": "Morphine Sulfate 5 MG Extended Release Oral Tablet" + }, { + "code": "895221", + "display": "Morphine Sulfate 50 MG Oral Tablet" + }, { + "code": "895861", + "display": "Morphine Sulfate 25 MG Oral Tablet" + }, { + "code": "895867", + "display": "Morphine hydrochloride 40 MG Oral Tablet" + }, { + "code": "895869", + "display": "Morphine Sulfate 5 MG Oral Tablet" + }, { + "code": "897657", + "display": "Hydromorphone Hydrochloride 1 MG/ML Oral Solution" + }, { + "code": "897696", + "display": "Hydromorphone Hydrochloride 2 MG Oral Tablet" + }, { + "code": "897702", + "display": "Hydromorphone Hydrochloride 4 MG Oral Tablet" + }, { + "code": "897710", + "display": "Hydromorphone Hydrochloride 8 MG Oral Tablet" + }, { + "code": "897745", + "display": "Hydromorphone Hydrochloride 2 MG/ML Injectable Solution" + }, { + "code": "897749", + "display": "Hydromorphone Hydrochloride 3 MG Rectal Suppository" + }, { + "code": "897756", + "display": "1 ML Hydromorphone Hydrochloride 1 MG/ML Prefilled Syringe" + }, { + "code": "897757", + "display": "1 ML Hydromorphone Hydrochloride 2 MG/ML Prefilled Syringe" + }, { + "code": "897758", + "display": "1 ML Hydromorphone Hydrochloride 4 MG/ML Cartridge" + }, { + "code": "898612", + "display": "12 HR Hydromorphone Hydrochloride 3 MG Extended Release Oral Capsule" + }, { + "code": "898624", + "display": "Hydromorphone Hydrochloride 30 MG Extended Release Oral Capsule" + }, { + "code": "902729", + "display": "24 HR Hydromorphone Hydrochloride 12 MG Extended Release Oral Tablet" + }, { + "code": "902736", + "display": "24 HR Hydromorphone Hydrochloride 16 MG Extended Release Oral Tablet" + }, { + "code": "902741", + "display": "24 HR Hydromorphone Hydrochloride 8 MG Extended Release Oral Tablet" + }, { + "code": "904870", + "display": "168 HR Buprenorphine 0.01 MG/HR Transdermal System" + }, { + "code": "904876", + "display": "168 HR Buprenorphine 0.02 MG/HR Transdermal System" + }, { + "code": "904880", + "display": "168 HR Buprenorphine 0.005 MG/HR Transdermal System" + }, { + "code": "977874", + "display": "12 HR Oxymorphone Hydrochloride 10 MG Extended Release Oral Tablet" + }, { + "code": "977894", + "display": "12 HR Oxymorphone Hydrochloride 15 MG Extended Release Oral Tablet" + }, { + "code": "977902", + "display": "12 HR Oxymorphone Hydrochloride 20 MG Extended Release Oral Tablet" + }, { + "code": "977909", + "display": "12 HR Oxymorphone Hydrochloride 30 MG Extended Release Oral Tablet" + }, { + "code": "977915", + "display": "12 HR Oxymorphone Hydrochloride 40 MG Extended Release Oral Tablet" + }, { + "code": "977923", + "display": "12 HR Oxymorphone Hydrochloride 5 MG Extended Release Oral Tablet" + }, { + "code": "977929", + "display": "12 HR Oxymorphone Hydrochloride 7.5 MG Extended Release Oral Tablet" + }, { + "code": "977939", + "display": "Oxymorphone Hydrochloride 5 MG Oral Tablet" + }, { + "code": "977942", + "display": "Oxymorphone Hydrochloride 10 MG Oral Tablet" + }, { + "code": "991147", + "display": "Methadone Hydrochloride 10 MG/ML Oral Solution" + }, { + "code": "991486", + "display": "Codeine Phosphate 2 MG/ML / Promethazine Hydrochloride 1.25 MG/ML Oral Solution" + }, { + "code": "992656", + "display": "homatropine methylbromide 1.5 MG / Hydrocodone Bitartrate 5 MG Oral Tablet" + }, { + "code": "992668", + "display": "homatropine methylbromide 0.3 MG/ML / Hydrocodone Bitartrate 1 MG/ML Oral Solution" + }, { + "code": "993755", + "display": "Acetaminophen 24 MG/ML / Codeine Phosphate 2.4 MG/ML Oral Solution" + }, { + "code": "993763", + "display": "Acetaminophen 24 MG/ML / Codeine Phosphate 2.4 MG/ML Oral Suspension" + }, { + "code": "993770", + "display": "Acetaminophen 300 MG / Codeine Phosphate 15 MG Oral Tablet" + }, { + "code": "993781", + "display": "Acetaminophen 300 MG / Codeine Phosphate 30 MG Oral Tablet" + }, { + "code": "993890", + "display": "Acetaminophen 300 MG / Codeine Phosphate 60 MG Oral Tablet" + }, { + "code": "993943", + "display": "Acetaminophen 325 MG / butalbital 50 MG / Caffeine 40 MG / Codeine Phosphate 30 MG Oral Capsule" + }, { + "code": "994226", + "display": "Aspirin 325 MG / Carisoprodol 200 MG / Codeine Phosphate 16 MG Oral Tablet" + }, { + "code": "994237", + "display": "Aspirin 325 MG / butalbital 50 MG / Caffeine 40 MG / Codeine Phosphate 30 MG Oral Capsule" + }, { + "code": "994289", + "display": "Brompheniramine Maleate 0.27 MG/ML / Codeine Phosphate 1.27 MG/ML / Pseudoephedrine Hydrochloride 2 MG/ML Oral Solution" + }, { + "code": "994402", + "display": "Brompheniramine Maleate 0.4 MG/ML / Codeine Phosphate 1.5 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "995226", + "display": "Codeine Phosphate 0.5 MG/ML / Guaifenesin 15 MG/ML Oral Solution" + }, { + "code": "995438", + "display": "Codeine Phosphate 1.26 MG/ML / Guaifenesin 20 MG/ML Oral Solution" + }, { + "code": "995441", + "display": "Codeine Phosphate 1.5 MG/ML / Guaifenesin 45 MG/ML Oral Solution" + }, { + "code": "995447", + "display": "Codeine Phosphate 1.8 MG/ML / Pyrilamine Maleate 1.67 MG/ML Oral Solution" + }, { + "code": "995450", + "display": "Codeine Phosphate 10 MG / Guaifenesin 300 MG Oral Tablet" + }, { + "code": "995476", + "display": "Codeine Phosphate 10 MG / Guaifenesin 400 MG Oral Tablet" + }, { + "code": "995483", + "display": "Codeine Phosphate 2 MG/ML / Guaifenesin 40 MG/ML Oral Solution" + }, { + "code": "995868", + "display": "Codeine Phosphate 2 MG/ML / Guaifenesin 20 MG/ML Oral Solution" + }, { + "code": "995983", + "display": "Codeine Phosphate 2 MG/ML / Guaifenesin 20 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML Oral Solution" + }, { + "code": "996580", + "display": "Codeine Phosphate 2 MG/ML / Phenylephrine Hydrochloride 1 MG/ML / Pyrilamine Maleate 1 MG/ML Oral Solution" + }, { + "code": "996640", + "display": "Codeine Phosphate 2 MG/ML / Pseudoephedrine Hydrochloride 6 MG/ML / Triprolidine Hydrochloride 0.25 MG/ML Oral Solution" + }, { + "code": "996706", + "display": "Codeine Phosphate 20 MG / Guaifenesin 400 MG / Phenylephrine Hydrochloride 10 MG Oral Tablet" + }, { + "code": "996710", + "display": "Codeine Phosphate 20 MG / Guaifenesin 400 MG / Pseudoephedrine Hydrochloride 20 MG Oral Tablet" + }, { + "code": "996714", + "display": "Codeine Phosphate 20 MG / Guaifenesin 400 MG / Pseudoephedrine Hydrochloride 30 MG Oral Tablet" + }, { + "code": "996718", + "display": "Codeine Phosphate 20 MG / Guaifenesin 400 MG / Pseudoephedrine Hydrochloride 40 MG Oral Tablet" + }, { + "code": "996722", + "display": "Codeine Phosphate 20 MG / Guaifenesin 400 MG / Pseudoephedrine Hydrochloride 60 MG Oral Tablet" + }, { + "code": "996725", + "display": "Codeine Phosphate 20 MG / Guaifenesin 400 MG Oral Tablet" + }, { + "code": "996728", + "display": "Codeine Phosphate 20 MG / Pseudoephedrine Hydrochloride 60 MG Oral Capsule" + }, { + "code": "996736", + "display": "Codeine Phosphate 9 MG / Guaifenesin 200 MG Oral Capsule" + }, { + "code": "996757", + "display": "Codeine Phosphate 2 MG/ML / Phenylephrine Hydrochloride 1 MG/ML / Promethazine Hydrochloride 1.25 MG/ML Oral Solution" + }, { + "code": "996988", + "display": "Aspirin 300 MG / Codeine Phosphate 8 MG Oral Tablet" + }, { + "code": "996998", + "display": "Brompheniramine Maleate 0.266 MG/ML / Codeine Phosphate 1.27 MG/ML / Phenylephrine Hydrochloride 0.666 MG/ML Oral Solution" + }, { + "code": "997169", + "display": "Codeine Phosphate 15 MG Oral Tablet" + }, { + "code": "997170", + "display": "Codeine sulfate 15 MG Oral Tablet" + }, { + "code": "997287", + "display": "Codeine sulfate 30 MG Oral Tablet" + }, { + "code": "997296", + "display": "Codeine sulfate 60 MG Oral Tablet" + }, { + "code": "997398", + "display": "Codeine Phosphate 2 MG/ML Oral Solution" + }, { + "code": "998212", + "display": "1 ML Morphine Sulfate 2 MG/ML Prefilled Syringe" + }, { + "code": "998213", + "display": "1 ML Morphine Sulfate 4 MG/ML Prefilled Syringe" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1125.2" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1125.1", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1", + "title": "Schedule IV Benzodiazepines", + "status": "active", + "publisher": "Mathematica", + "compose": { + "include": [ { + "system": "http://www.nlm.nih.gov/research/umls/rxnorm", + "version": "2019-11", + "concept": [ { + "code": "1298088", + "display": "Flurazepam Hydrochloride 15 MG Oral Capsule" + }, { + "code": "1298091", + "display": "Flurazepam Hydrochloride 30 MG Oral Capsule" + }, { + "code": "1366192", + "display": "clobazam 2.5 MG/ML Oral Suspension" + }, { + "code": "1551393", + "display": "2 ML Midazolam 5 MG/ML Prefilled Syringe" + }, { + "code": "1551395", + "display": "1 ML Midazolam 5 MG/ML Prefilled Syringe" + }, { + "code": "1665188", + "display": "1 ML Lorazepam 2 MG/ML Injection" + }, { + "code": "1665326", + "display": "1 ML Lorazepam 4 MG/ML Injection" + }, { + "code": "1666777", + "display": "2 ML Midazolam 1 MG/ML Cartridge" + }, { + "code": "1666798", + "display": "2 ML Midazolam 1 MG/ML Injection" + }, { + "code": "1666800", + "display": "5 ML Midazolam 1 MG/ML Injection" + }, { + "code": "1666814", + "display": "1 ML Midazolam 5 MG/ML Injection" + }, { + "code": "1666821", + "display": "1 ML Midazolam 5 MG/ML Cartridge" + }, { + "code": "1666823", + "display": "2 ML Midazolam 5 MG/ML Injection" + }, { + "code": "197321", + "display": "Alprazolam 1 MG Oral Tablet" + }, { + "code": "197322", + "display": "Alprazolam 2 MG Oral Tablet" + }, { + "code": "197464", + "display": "Clorazepate Dipotassium 15 MG Oral Tablet" + }, { + "code": "197465", + "display": "Clorazepate Dipotassium 3.75 MG Oral Tablet" + }, { + "code": "197466", + "display": "Clorazepate Dipotassium 7.5 MG Oral Tablet" + }, { + "code": "197527", + "display": "Clonazepam 0.5 MG Oral Tablet" + }, { + "code": "197528", + "display": "Clonazepam 1 MG Oral Tablet" + }, { + "code": "197529", + "display": "Clonazepam 2 MG Oral Tablet" + }, { + "code": "197589", + "display": "Diazepam 10 MG Oral Tablet" + }, { + "code": "197590", + "display": "Diazepam 2 MG Oral Tablet" + }, { + "code": "197591", + "display": "Diazepam 5 MG Oral Tablet" + }, { + "code": "197653", + "display": "Estazolam 1 MG Oral Tablet" + }, { + "code": "197654", + "display": "Estazolam 2 MG Oral Tablet" + }, { + "code": "197900", + "display": "Lorazepam 0.5 MG Oral Tablet" + }, { + "code": "197901", + "display": "Lorazepam 1 MG Oral Tablet" + }, { + "code": "197902", + "display": "Lorazepam 2 MG Oral Tablet" + }, { + "code": "198057", + "display": "Oxazepam 10 MG Oral Capsule" + }, { + "code": "198059", + "display": "Oxazepam 30 MG Oral Capsule" + }, { + "code": "198183", + "display": "quazepam 15 MG Oral Tablet" + }, { + "code": "198241", + "display": "Temazepam 15 MG Oral Capsule" + }, { + "code": "198242", + "display": "Temazepam 30 MG Oral Capsule" + }, { + "code": "198243", + "display": "Temazepam 7.5 MG Oral Capsule" + }, { + "code": "198317", + "display": "Triazolam 0.125 MG Oral Tablet" + }, { + "code": "198318", + "display": "Triazolam 0.25 MG Oral Tablet" + }, { + "code": "199273", + "display": "Temazepam 10 MG Oral Capsule" + }, { + "code": "199275", + "display": "Lorazepam 2.5 MG Oral Tablet" + }, { + "code": "199278", + "display": "Temazepam 20 MG Oral Capsule" + }, { + "code": "199450", + "display": "clobazam 10 MG Oral Tablet" + }, { + "code": "199775", + "display": "Midazolam 7.5 MG Oral Tablet" + }, { + "code": "199975", + "display": "Temazepam 10 MG Oral Tablet" + }, { + "code": "204892", + "display": "Clonazepam 0.25 MG Oral Tablet" + }, { + "code": "238100", + "display": "Lorazepam 2 MG/ML Injectable Solution" + }, { + "code": "238101", + "display": "Lorazepam 4 MG/ML Injectable Solution" + }, { + "code": "246172", + "display": "clobazam 20 MG Oral Tablet" + }, { + "code": "308047", + "display": "Alprazolam 0.25 MG Oral Tablet" + }, { + "code": "308048", + "display": "Alprazolam 0.5 MG Oral Tablet" + }, { + "code": "308050", + "display": "Alprazolam 1 MG/ML Oral Solution" + }, { + "code": "309843", + "display": "Diazepam 1 MG/ML Oral Solution" + }, { + "code": "309844", + "display": "Diazepam 5 MG/ML Oral Solution" + }, { + "code": "309845", + "display": "Diazepam 5 MG/ML Injectable Solution" + }, { + "code": "311376", + "display": "Lorazepam 2 MG/ML Oral Solution" + }, { + "code": "311700", + "display": "Midazolam 1 MG/ML Injectable Solution" + }, { + "code": "311702", + "display": "Midazolam 5 MG/ML Injectable Solution" + }, { + "code": "312133", + "display": "Oxazepam 10 MG Oral Tablet" + }, { + "code": "312134", + "display": "Oxazepam 15 MG Oral Capsule" + }, { + "code": "312135", + "display": "Oxazepam 30 MG Oral Tablet" + }, { + "code": "349194", + "display": "Clonazepam 0.125 MG Disintegrating Oral Tablet" + }, { + "code": "349195", + "display": "Clonazepam 0.25 MG Disintegrating Oral Tablet" + }, { + "code": "349196", + "display": "Clonazepam 1 MG Disintegrating Oral Tablet" + }, { + "code": "349197", + "display": "Clonazepam 2 MG Disintegrating Oral Tablet" + }, { + "code": "349198", + "display": "Clonazepam 0.5 MG Disintegrating Oral Tablet" + }, { + "code": "422410", + "display": "Midazolam 2 MG/ML Oral Solution" + }, { + "code": "433798", + "display": "24 HR Alprazolam 0.5 MG Extended Release Oral Tablet" + }, { + "code": "433799", + "display": "24 HR Alprazolam 2 MG Extended Release Oral Tablet" + }, { + "code": "433800", + "display": "24 HR Alprazolam 1 MG Extended Release Oral Tablet" + }, { + "code": "433801", + "display": "24 HR Alprazolam 3 MG Extended Release Oral Tablet" + }, { + "code": "485413", + "display": "Alprazolam 0.25 MG Disintegrating Oral Tablet" + }, { + "code": "485414", + "display": "Alprazolam 1 MG Disintegrating Oral Tablet" + }, { + "code": "485415", + "display": "Alprazolam 0.5 MG Disintegrating Oral Tablet" + }, { + "code": "485416", + "display": "Alprazolam 2 MG Disintegrating Oral Tablet" + }, { + "code": "485489", + "display": "Temazepam 22.5 MG Oral Capsule" + }, { + "code": "618737", + "display": "Clorazepate Dipotassium 5 MG Oral Capsule" + }, { + "code": "763028", + "display": "1 ML Lorazepam 2 MG/ML Cartridge" + }, { + "code": "763029", + "display": "1 ML Lorazepam 4 MG/ML Cartridge" + }, { + "code": "801957", + "display": "0.5 ML Diazepam 5 MG/ML Rectal Gel" + }, { + "code": "801961", + "display": "2 ML Diazepam 5 MG/ML Rectal Gel" + }, { + "code": "801966", + "display": "4 ML Diazepam 5 MG/ML Rectal Gel" + }, { + "code": "856769", + "display": "Amitriptyline Hydrochloride 12.5 MG / Chlordiazepoxide 5 MG Oral Tablet" + }, { + "code": "856792", + "display": "Amitriptyline Hydrochloride 25 MG / Chlordiazepoxide 10 MG Oral Tablet" + }, { + "code": "889614", + "display": "Chlordiazepoxide Hydrochloride 5 MG / Clidinium bromide 2.5 MG Oral Capsule" + }, { + "code": "905369", + "display": "Chlordiazepoxide Hydrochloride 10 MG Oral Capsule" + }, { + "code": "905495", + "display": "Chlordiazepoxide Hydrochloride 25 MG Oral Capsule" + }, { + "code": "905516", + "display": "Chlordiazepoxide Hydrochloride 5 MG Oral Capsule" + }, { + "code": "998211", + "display": "2 ML Midazolam 1 MG/ML Prefilled Syringe" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1125.1" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.836", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.836" + } ], + "version": "20121025", + "name": "Race", + "title": "Race", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "1002-5", + "display": "American Indian or Alaska Native" + }, { + "code": "2028-9", + "display": "Asian" + }, { + "code": "2054-5", + "display": "Black or African American" + }, { + "code": "2076-8", + "display": "Native Hawaiian or Other Pacific Islander" + }, { + "code": "2106-3", + "display": "White" + }, { + "code": "2131-1", + "display": "Other Race" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.114222.4.11.837", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.114222.4.11.837" + } ], + "version": "20121025", + "name": "Ethnicity", + "title": "Ethnicity", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://www.cdc.gov/phin/resources/vocabulary/index.html", + "version": "1.2", + "concept": [ { + "code": "2135-2", + "display": "Hispanic or Latino" + }, { + "code": "2186-5", + "display": "Not Hispanic or Latino" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "resource": { + "resourceType": "ValueSet", + "id": "2.16.840.1.113762.1.4.1", + "url": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1", + "identifier": [ { + "system": "urn:ietf:rfc:3986", + "value": "2.16.840.1.113762.1.4.1" + } ], + "version": "20150331", + "name": "ONCAdministrativeSex", + "title": "ONC Administrative Sex", + "status": "active", + "publisher": "NLM", + "compose": { + "include": [ { + "system": "http://hl7.org/fhir/v3/AdministrativeGender", + "version": "HL7V3.0_2017-07", + "concept": [ { + "code": "F", + "display": "Female" + }, { + "code": "M", + "display": "Male" + } ] + } ] + } + }, + "request": { + "method": "PUT", + "url": "ValueSet/2.16.840.1.113762.1.4.1" + } + } ] +} \ No newline at end of file diff --git a/fhir3/ig.ini b/fhir3/ig.ini index 356fe6e6..4104b94f 100644 --- a/fhir3/ig.ini +++ b/fhir3/ig.ini @@ -2,4 +2,4 @@ ig = input/connectathon.xml template = cqf.fhir.template usage-stats-opt-out = false -fhirspec = http://hl7.org/fhir/STU3 +fhir-version = 3.0.2 diff --git a/fhir3/input/connectathon.xml b/fhir3/input/connectathon.xml index b1ab6e78..14d1b39a 100644 --- a/fhir3/input/connectathon.xml +++ b/fhir3/input/connectathon.xml @@ -4,7 +4,6 @@ - <status value="draft"/> <experimental value="false"/> <date value="2020-04-24"/> @@ -16,115 +15,20 @@ </telecom> </contact> <description value="Connectathon Implementation Guide"/> - <packageId value="fhir.dbcg.connectathon-stu3"/> <fhirVersion value="3.0.2"/> - <definition> - <page> - <nameUrl value="toc.html" /> - <title value="Table of Contents" /> - <generation value="html" /> - <page> - <nameUrl value="index.html" /> - <title value="Home" /> - <generation value="markdown" /> - </page> - <page> - <nameUrl value="measures.html" /> - <title value="Measures" /> - <generation value="html" /> - </page> - <page> - <nameUrl value="EXM104-8.2.000.html" /> - <title value="Measure - EXM104" /> - <generation value="html" /> - <page> - <nameUrl value="exm104-cql.html" /> - <title value="EXM104 - CQL Source" /> - <generation value="html" /> - </page> - </page> - <page> - <nameUrl value="EXM105-8.2.000.html" /> - <title value="Measure - EXM105" /> - <generation value="html" /> - <page> - <nameUrl value="exm105-cql.html" /> - <title value="EXM105 - CQL Source" /> - <generation value="html" /> - </page> - </page> - <page> - <nameUrl value="EXM108-8.3.000.html" /> - <title value="Measure - EXM108" /> - <generation value="html" /> - <page> - <nameUrl value="exm108-cql.html" /> - <title value="EXM108 - CQL Source" /> - <generation value="html" /> - </page> - </page> - </page> - - <!-- copyright year is a mandatory parameter --> - <parameter> - <code value="copyrightyear" /> - <value value="2019+" /> - </parameter> - <!-- releaselabel should be the ballot status for HL7-published IGs. --> - <parameter> - <code value="releaselabel" /> - <value value="CI Build" /> - </parameter> - <parameter> - <code value="find-other-resources" /> - <value value="true" /> - </parameter> - - <!-- <parameter> - <code value="path-binary" /> - <value value="input/cql"/> - </parameter> --> - - <parameter> - <code value="path-pages" /> - <value value="input/pagecontent"/> - </parameter> - <parameter> - <code value="path-resource" /> - <value value="input/resources/device"/> - </parameter> - <parameter> - <code value="path-resource" /> - <value value="input/resources/library"/> - </parameter> - <parameter> - <code value="path-resource" /> - <value value="input/resources/measure"/> - </parameter> - <parameter> - <code value="path-resource" /> - <value value="input/vocabulary/codesystem"/> - </parameter> - <!-- <parameter> - <code value="path-resource" /> - <value value="input/vocabulary/valueset"/> - </parameter> --> - <!-- Uncomment one or more of these if you want to limit which syntaxes are supported or want to disable the display of mappings - <parameter> - <code value="excludexml"/> - <value value="true"/> - </parameter> - <parameter> - <code value="excludejson"/> - <value value="true"/> - </parameter> - <parameter> - <code value="excludettl"/> - <value value="true"/> - </parameter> - <parameter> - <code value="excludemap"/> - <value value="true"/> - </parameter>--> - </definition> + <package> + <name value="DBCG Connectathon Implementation Guide"/> + </package> + <page> + <source value="toc.html" /> + <title value="Table of Contents" /> + <kind value="page"/> + <format value="text/html" /> + <page> + <source value="index.html" /> + <title value="Home" /> + <kind value="page"/> + <format value="markdown" /> + </page> + </page> </ImplementationGuide> diff --git a/fhir3/input/pagecontent/cql/EXM506_FHIR3-1.3.000.cql b/fhir3/input/pagecontent/cql/EXM506_FHIR3-1.3.000.cql index a7ad2471..87a0ccc0 100644 --- a/fhir3/input/pagecontent/cql/EXM506_FHIR3-1.3.000.cql +++ b/fhir3/input/pagecontent/cql/EXM506_FHIR3-1.3.000.cql @@ -153,7 +153,7 @@ define "Numerator": difference in days between start of Value and end of Value define function "Global.ToDate"(Value DateTime): -DateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value) +DateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezoneoffset from Value) define function "Global.CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime): years between ToDate(BirthDateTime)and ToDate(AsOf) */ diff --git a/fhir3/input/pagecontent/cql/MATGlobalCommonFunctions_FHIR3-2.0.000.cql b/fhir3/input/pagecontent/cql/MATGlobalCommonFunctions_FHIR3-2.0.000.cql index 8f580636..e9210af2 100644 --- a/fhir3/input/pagecontent/cql/MATGlobalCommonFunctions_FHIR3-2.0.000.cql +++ b/fhir3/input/pagecontent/cql/MATGlobalCommonFunctions_FHIR3-2.0.000.cql @@ -36,7 +36,7 @@ define "Inpatient Encounter": and EncounterInpatient.period ends during "Measurement Period" define function "ToDate"(Value DateTime): - DateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value) + DateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezoneoffset from Value) define function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime): days between ToDate(BirthDateTime)and ToDate(AsOf) diff --git a/fhir3/input/pagecontent/cql/MATGlobalCommonFunctions_FHIR3-4.0.000.cql b/fhir3/input/pagecontent/cql/MATGlobalCommonFunctions_FHIR3-4.0.000.cql index 01e6e462..2d2bb275 100644 --- a/fhir3/input/pagecontent/cql/MATGlobalCommonFunctions_FHIR3-4.0.000.cql +++ b/fhir3/input/pagecontent/cql/MATGlobalCommonFunctions_FHIR3-4.0.000.cql @@ -37,7 +37,7 @@ define "Inpatient Encounter": and EncounterInpatient.period ends during "Measurement Period" define function "ToDate"(Value DateTime): - DateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value) + DateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezoneoffset from Value) define function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime): days between ToDate(BirthDateTime)and ToDate(AsOf) diff --git a/fhir3/input/pagecontent/cql/VTEICU_FHIR3-2.4.000.cql b/fhir3/input/pagecontent/cql/VTEICU_FHIR3-2.4.000.cql index d4c4cd16..22a7337c 100644 --- a/fhir3/input/pagecontent/cql/VTEICU_FHIR3-2.4.000.cql +++ b/fhir3/input/pagecontent/cql/VTEICU_FHIR3-2.4.000.cql @@ -26,7 +26,7 @@ parameter "Measurement Period" Interval<DateTime> context Patient define function "ToDate"(Value DateTime): - DateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value) + DateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezoneoffset from Value) define function "CalendarDayOfOrDayAfter"(StartValue DateTime): Interval[StartValue, ToDate(StartValue + 2 days)) diff --git a/fhir3/input/resources/device/cqf-tooling.json b/fhir3/input/resources/device/cqf-tooling.json new file mode 100644 index 00000000..1081c10a --- /dev/null +++ b/fhir3/input/resources/device/cqf-tooling.json @@ -0,0 +1,15 @@ +{ + "resourceType": "Device", + "id": "cqf-tooling", + "meta": { + "profile": [ "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/device-softwaresystem-cqfm" ] + }, + "type": { + "coding": [ { + "system": "http://hl7.org/fhir/us/cqfmeasures/CodeSystem/software-system-type", + "code": "tooling" + } ] + }, + "manufacturer": "cqf-tooling", + "version": "1.3.1-SNAPSHOT" +} \ No newline at end of file diff --git a/fhir3/input/resources/library/library-AdultOutpatientEncounters_FHIR3-1.1.000.json b/fhir3/input/resources/library/library-AdultOutpatientEncounters_FHIR3-1.1.000.json index ac3e2510..8dfaa14f 100644 --- a/fhir3/input/resources/library/library-AdultOutpatientEncounters_FHIR3-1.1.000.json +++ b/fhir3/input/resources/library/library-AdultOutpatientEncounters_FHIR3-1.1.000.json @@ -3,83 +3,113 @@ "id": "library-AdultOutpatientEncounters-FHIR3-1.1.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-AdultOutpatientEncounters-FHIR3-1.1.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">1.1.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"5\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library AdultOutpatientEncounters_FHIR3 version '1.1.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "Annual Wellness Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\n\ncontext Patient\n\ndefine function "Qualifying Encounters"(MeasurementPeriod Interval<DateTime>):\n\t(\n\t [Encounter: "Office Visit"]\n\t\tunion [Encounter: "Annual Wellness Visit"] \n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Home Healthcare Services"]\n ) ValidEncounter\n\t\twhere ValidEncounter.period during day of MeasurementPeriod\n\t\tand ValidEncounter.status = 'finished' \n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-AdultOutpatientEncounters-FHIR3-1.1.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">1.1.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"5\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library AdultOutpatientEncounters_FHIR3 version '1.1.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "Annual Wellness Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\n\ncontext Patient\n\ndefine function "Qualifying Encounters"(MeasurementPeriod Interval<DateTime>):\n\t(\n\t [Encounter: "Office Visit"]\n\t\tunion [Encounter: "Annual Wellness Visit"] \n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"] \n\t\tunion [Encounter: "Home Healthcare Services"]\n ) ValidEncounter\n\t\twhere ValidEncounter.period during day of MeasurementPeriod\n\t\tand ValidEncounter.status = 'finished' \n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "1.1.000", "name": "AdultOutpatientEncounters_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" - } + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/Library/FHIR-ModelInfo|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/FHIRHelpers|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240" } - ], - "dataRequirement": [ - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" - } - ] + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMiIHZlcnNpb249IjEuMS4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT2ZmaWNlIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iQW5udWFsIFdlbGxuZXNzIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgLSBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUXVhbGlmeWluZyBFbmNvdW50ZXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZhbGlkRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik9mZmljZSBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJBbm51YWwgV2VsbG5lc3MgVmlzaXQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW5jbHVkZWRJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWYWxpZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudFBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iVmFsaWRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIHZlcnNpb24gJzEuMS4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnCnZhbHVlc2V0ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCcKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMnCnZhbHVlc2V0ICJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYnCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIihNZWFzdXJlbWVudFBlcmlvZCBJbnRlcnZhbDxEYXRlVGltZT4pOgoJKAoJICAgIFtFbmNvdW50ZXI6ICJPZmZpY2UgVmlzaXQiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIl0KICAgICkgVmFsaWRFbmNvdW50ZXIKCQl3aGVyZSBWYWxpZEVuY291bnRlci5wZXJpb2QgZHVyaW5nIGRheSBvZiBNZWFzdXJlbWVudFBlcmlvZAoJCWFuZCBWYWxpZEVuY291bnRlci5zdGF0dXMgID0gJ2ZpbmlzaGVkJyAK" + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" } - ] + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" + } + } ], + "parameter": [ { + "name": "Patient", + "use": "out", + "min": 0, + "max": "1", + "type": "Patient" + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" + } + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIHZlcnNpb24gJzEuMS4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnCnZhbHVlc2V0ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCcKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMnCnZhbHVlc2V0ICJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYnCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIihNZWFzdXJlbWVudFBlcmlvZCBJbnRlcnZhbDxEYXRlVGltZT4pOgoJKAoJICAgIFtFbmNvdW50ZXI6ICJPZmZpY2UgVmlzaXQiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJBbm51YWwgV2VsbG5lc3MgVmlzaXQiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXSAKCQl1bmlvbiBbRW5jb3VudGVyOiAiSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIl0KICAgICkgVmFsaWRFbmNvdW50ZXIKCQl3aGVyZSBWYWxpZEVuY291bnRlci5wZXJpb2QgZHVyaW5nIGRheSBvZiBNZWFzdXJlbWVudFBlcmlvZAoJCWFuZCBWYWxpZEVuY291bnRlci5zdGF0dXMgID0gJ2ZpbmlzaGVkJyAK" + }, { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjMiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGlkZW50aWZpZXIgaWQ9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMiIHZlcnNpb249IjEuMS4wMDAiLz4KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4KICAgPHVzaW5ncz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4KICAgICAgPGRlZiBsb2NhbElkPSIxIiBsb2NhdG9yPSIxMDoxLTEwOjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxIj4KICAgICAgICAgICAgICAgPGE6cz51c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyIiBsb2NhdG9yPSIxMjoxLTEyOjU0IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8dmFsdWVTZXRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMiIGxvY2F0b3I9IjE0OjEtMTQ6MTA0IiBuYW1lPSJPZmZpY2UgVmlzaXQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O09mZmljZSBWaXNpdCZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDAxJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0IiBsb2NhdG9yPSIxNToxLTE1OjEwMyIgbmFtZT0iQW5udWFsIFdlbGxuZXNzIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTI0MCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0FubnVhbCBXZWxsbmVzcyBWaXNpdCZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjEyNDAnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUiIGxvY2F0b3I9IjE2OjEtMTY6MTU0IiBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgLSBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNSI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7UHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyNSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNiIgbG9jYXRvcj0iMTc6MS0xNzoxNDgiIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtQcmV2ZW50aXZlIENhcmUgU2VydmljZXMtSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDIzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3IiBsb2NhdG9yPSIxODoxLTE4OjExNiIgbmFtZT0iSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtIb21lIEhlYWx0aGNhcmUgU2VydmljZXMmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxNic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdmFsdWVTZXRzPgogICA8Y29udGV4dHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMjA6MS0yMDoxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhdG9yPSIyMDoxLTIwOjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMDoxLTIwOjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMCIgbG9jYXRvcj0iMjI6MS0zMTo0MSIgbmFtZT0iUXVhbGlmeWluZyBFbmNvdW50ZXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O1F1YWxpZnlpbmcgRW5jb3VudGVycyZxdW90OyhNZWFzdXJlbWVudFBlcmlvZCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KAoJICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0VuY291bnRlcjogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7T2ZmaWNlIFZpc2l0JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJdW5pb24gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltFbmNvdW50ZXI6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0FubnVhbCBXZWxsbmVzcyBWaXNpdCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gCgkJdW5pb24gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltFbmNvdW50ZXI6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1ByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiAKCQl1bmlvbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0VuY291bnRlcjogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IAoJCXVuaW9uIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bRW5jb3VudGVyOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtIb21lIEhlYWx0aGNhcmUgU2VydmljZXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICApPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBWYWxpZEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5WYWxpZEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMiPiBkdXJpbmcgZGF5IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5NZWFzdXJlbWVudFBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlZhbGlkRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidmaW5pc2hlZCc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjkiIGxvY2F0b3I9IjIzOjItMzE6NDEiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTkiIGxvY2F0b3I9IjIzOjItMjk6MjAiIGFsaWFzPSJWYWxpZEVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE4IiBsb2NhdG9yPSIyMzoyLTI5OjUiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2IiBsb2NhdG9yPSIyNDo2LTI3Ojc5IiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMiIgbG9jYXRvcj0iMjQ6Ni0yNTo0NCIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTAiIGxvY2F0b3I9IjI0OjYtMjQ6MzIiIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIyNDoxOC0yNDozMSIgbmFtZT0iT2ZmaWNlIFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMSIgbG9jYXRvcj0iMjU6OS0yNTo0NCIgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjI1OjIxLTI1OjQzIiBuYW1lPSJBbm51YWwgV2VsbG5lc3MgVmlzaXQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTMiIGxvY2F0b3I9IjI2OjktMjY6ODUiIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIyNjoyMS0yNjo4NCIgbmFtZT0iUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1IiBsb2NhdG9yPSIyNzo5LTI3Ojc5IiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iMjc6MjEtMjc6NzgiIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTciIGxvY2F0b3I9IjI4OjktMjg6NDciIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIyODoyMS0yODo0NiIgbmFtZT0iSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMjgiIGxvY2F0b3I9IjMwOjMtMzE6NDEiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMyIgbG9jYXRvcj0iMzA6OS0zMDo2MSIgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJJbmNsdWRlZEluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMSIgbG9jYXRvcj0iMzA6OS0zMDoyOSIgcGF0aD0icGVyaW9kIiBzY29wZT0iVmFsaWRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyIiBsb2NhdG9yPSIzMDo0NS0zMDo2MSIgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjciIGxvY2F0b3I9IjMxOjctMzE6NDEiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1IiBsb2NhdG9yPSIzMTo3LTMxOjI3IiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJWYWxpZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjYiIGxvY2F0b3I9IjMxOjMyLTMxOjQxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudFBlcmlvZCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5IiBsb2NhdG9yPSIyMjo1OS0yMjo3NiIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbG9jYWxJZD0iOCIgbG9jYXRvcj0iMjI6NjgtMjI6NzUiIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-AdvancedIllnessandFrailtyExclusion_FHIR3-4.0.000.json b/fhir3/input/resources/library/library-AdvancedIllnessandFrailtyExclusion_FHIR3-4.0.000.json index fe028151..e2579793 100644 --- a/fhir3/input/resources/library/library-AdvancedIllnessandFrailtyExclusion_FHIR3-4.0.000.json +++ b/fhir3/input/resources/library/library-AdvancedIllnessandFrailtyExclusion_FHIR3-4.0.000.json @@ -3,164 +3,133 @@ "id": "library-AdvancedIllnessandFrailtyExclusion-FHIR3-4.0.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-AdvancedIllnessandFrailtyExclusion-FHIR3-4.0.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">4.0.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"2\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"14\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1087</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1086</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1085</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1084</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1014</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1012</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1083</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationDispense</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library AdvancedIllnessandFrailtyExclusion_FHIR3 version '4.0.000'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\n\ncodesystem "LOINC": 'urn:oid:2.16.840.1.113883.6.1'\n\nvalueset "Acute Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1083'\nvalueset "Advanced Illness": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082'\nvalueset "Care Services in Long-Term Residential Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1014'\nvalueset "Dementia Medications": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510'\nvalueset "ED": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1085'\nvalueset "Frailty Device": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300'\nvalueset "Frailty Diagnosis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074'\nvalueset "Frailty Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088'\nvalueset "Frailty Symptom": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075'\nvalueset "Nonacute Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1084'\nvalueset "Nursing Facility Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1012'\nvalueset "Observation": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1086'\nvalueset "Outpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1087'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Advanced Illness Diagnoses":\n [Condition: "Advanced Illness"] AdvancedIllnessDiagnosis\n\ndefine "Outpatient Encounters with Advanced Illness":\n\t( [Encounter: "Outpatient"]\n\t\tunion [Encounter: "Observation"]\n\t\tunion [Encounter: "ED"]\n\t\tunion [Encounter: "Nonacute Inpatient"] ) OutpatientEncounter\n\t\twith "Advanced Illness Diagnoses" AdvancedIllnessDiagnosis\n such that exists (\n OutpatientEncounter.diagnosis.condition Condition\n where EndsWith(Condition.reference, AdvancedIllnessDiagnosis.id)\n )\n and OutpatientEncounter.period starts 2 years or less before\n\t\t\tend of "Measurement Period"\n\ndefine "Long Term Care Periods During Measurement Period":\n\t( [Encounter: "Care Services in Long-Term Residential Facility"]\n\t\tunion [Encounter: "Nursing Facility Visit"] ) LongTermFacilityEncounter\n\t\twhere LongTermFacilityEncounter.period overlaps "Measurement Period"\n\t\treturn LongTermFacilityEncounter.period\n\t\t\tintersect "Measurement Period"\n\ndefine "Inpatient Encounter with Advanced Illness":\n\t[Encounter: "Acute Inpatient"] InpatientEncounter\n\t\twith "Advanced Illness Diagnoses" AdvancedIllnessDiagnosis\n such that exists (\n InpatientEncounter.diagnosis.condition Condition\n where EndsWith(Condition.reference, AdvancedIllnessDiagnosis.id)\n )\n\t\t\tand InpatientEncounter.period starts 2 years or less before\n\t\t\tend of "Measurement Period"\n\ndefine "Dementia Medications In Year Before or During Measurement Period":\n\t["MedicationDispense": "Dementia Medications"] DementiaMed\n\t\twhere DementiaMed.whenHandedOver as dateTime during day of Interval[\n ( start of "Measurement Period" - 1 year ), end of "Measurement Period"\n ]\n\ndefine "Has Criteria Indicating Frailty":\n\texists ( [DeviceRequest: "Frailty Device"] FrailtyDeviceOrder\n\t\t\twhere FrailtyDeviceOrder.authoredOn during day of "Measurement Period"\n\t)\n\t\tor exists ( [DeviceUseStatement: "Frailty Device"] FrailtyDeviceUse\n\t\t\t\twhere FrailtyDeviceUse.timing as Period overlaps "Measurement Period"\n or FrailtyDeviceUse.timing as dateTime during day of "Measurement Period"\n\t\t)\n\t\tor exists ( [Condition: "Frailty Diagnosis"] FrailtyDiagnosis\n\t\t\t\twhere FrailtyDiagnosis.onset as Period overlaps "Measurement Period"\n or FrailtyDiagnosis.onset as dateTime during day of "Measurement Period"\n\t\t)\n\t\tor exists ( [Encounter: "Frailty Encounter"] FrailtyEncounter\n\t\t\t\twhere FrailtyEncounter.period overlaps "Measurement Period"\n\t\t)\n\t\tor exists ( [Observation: "Frailty Symptom"] FrailtySymptomObservation\n\t\t\t\twhere FrailtySymptomObservation.effective as Period overlaps "Measurement Period"\n or FrailtySymptomObservation.effective as dateTime during day of "Measurement Period"\n\t\t)\n\ndefine "Advanced Illness and Frailty Exclusion Including Over Age 80":\n\t//If the measure includes populations age 80 and older, then use this logic:\n\t(\n Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")in Interval[66, 80]\n and "Has Criteria Indicating Frailty"\n and ( Count("Outpatient Encounters with Advanced Illness")>= 2\n or exists ( "Inpatient Encounter with Advanced Illness" )\n or exists "Dementia Medications In Year Before or During Measurement Period"\n )\n\t)\n\t\tor (\n Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")>= 81\n\t\t\t and "Has Criteria Indicating Frailty"\n\t\t)\n\ndefine "Advanced Illness and Frailty Exclusion Including Under Age 80":\n\t//If the measure does NOT include populations age 80 and older, then use this logic:\n\tGlobal."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")>= 65\n and "Has Criteria Indicating Frailty"\n and ( Count("Outpatient Encounters with Advanced Illness")>= 2\n or exists ( "Inpatient Encounter with Advanced Illness" )\n or exists "Dementia Medications In Year Before or During Measurement Period"\n )\n\ndefine "Has Spent More Than 90 Days in Long Term Care":\n\t"Days Spent in Long Term Care During Measurement Period" > 90\n\ndefine "Days Spent in Long Term Care During Measurement Period":\n\t"CumulativeDays"("Long Term Care Periods During Measurement Period")\n\ndefine function "CumulativeDays"(Intervals List<Interval<DateTime>> ):\n\tSum((collapse Intervals)CollapsedInterval\n\t\t\treturn all duration in days of CollapsedInterval\n\t)\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-AdvancedIllnessandFrailtyExclusion-FHIR3-4.0.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">4.0.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"2\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"14\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1087</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1086</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1085</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1084</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1014</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1012</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1083</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationDispense</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library AdvancedIllnessandFrailtyExclusion_FHIR3 version '4.0.000'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\n\ncodesystem "LOINC": 'urn:oid:2.16.840.1.113883.6.1'\n\nvalueset "Acute Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1083'\nvalueset "Advanced Illness": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082'\nvalueset "Care Services in Long-Term Residential Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1014'\nvalueset "Dementia Medications": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510'\nvalueset "ED": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1085'\nvalueset "Frailty Device": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300'\nvalueset "Frailty Diagnosis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074'\nvalueset "Frailty Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088'\nvalueset "Frailty Symptom": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075'\nvalueset "Nonacute Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1084'\nvalueset "Nursing Facility Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1012'\nvalueset "Observation": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1086'\nvalueset "Outpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1087'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Advanced Illness Diagnoses":\n [Condition: "Advanced Illness"] AdvancedIllnessDiagnosis\n\ndefine "Outpatient Encounters with Advanced Illness":\n\t( [Encounter: "Outpatient"]\n\t\tunion [Encounter: "Observation"]\n\t\tunion [Encounter: "ED"]\n\t\tunion [Encounter: "Nonacute Inpatient"] ) OutpatientEncounter\n\t\twith "Advanced Illness Diagnoses" AdvancedIllnessDiagnosis\n such that exists (\n OutpatientEncounter.diagnosis.condition Condition\n where EndsWith(Condition.reference, AdvancedIllnessDiagnosis.id)\n )\n and OutpatientEncounter.period starts 2 years or less before\n\t\t\tend of "Measurement Period"\n\ndefine "Long Term Care Periods During Measurement Period":\n\t( [Encounter: "Care Services in Long-Term Residential Facility"]\n\t\tunion [Encounter: "Nursing Facility Visit"] ) LongTermFacilityEncounter\n\t\twhere LongTermFacilityEncounter.period overlaps "Measurement Period"\n\t\treturn LongTermFacilityEncounter.period\n\t\t\tintersect "Measurement Period"\n\ndefine "Inpatient Encounter with Advanced Illness":\n\t[Encounter: "Acute Inpatient"] InpatientEncounter\n\t\twith "Advanced Illness Diagnoses" AdvancedIllnessDiagnosis\n such that exists (\n InpatientEncounter.diagnosis.condition Condition\n where EndsWith(Condition.reference, AdvancedIllnessDiagnosis.id)\n )\n\t\t\tand InpatientEncounter.period starts 2 years or less before\n\t\t\tend of "Measurement Period"\n\ndefine "Dementia Medications In Year Before or During Measurement Period":\n\t["MedicationDispense": "Dementia Medications"] DementiaMed\n\t\twhere DementiaMed.whenHandedOver as dateTime during day of Interval[\n ( start of "Measurement Period" - 1 year ), end of "Measurement Period"\n ]\n\ndefine "Has Criteria Indicating Frailty":\n\texists ( [DeviceRequest: "Frailty Device"] FrailtyDeviceOrder\n\t\t\twhere FrailtyDeviceOrder.authoredOn during day of "Measurement Period"\n\t)\n\t\tor exists ( [DeviceUseStatement: "Frailty Device"] FrailtyDeviceUse\n\t\t\t\twhere FrailtyDeviceUse.timing as Period overlaps "Measurement Period"\n or FrailtyDeviceUse.timing as dateTime during day of "Measurement Period"\n\t\t)\n\t\tor exists ( [Condition: "Frailty Diagnosis"] FrailtyDiagnosis\n\t\t\t\twhere FrailtyDiagnosis.onset as Period overlaps "Measurement Period"\n or FrailtyDiagnosis.onset as dateTime during day of "Measurement Period"\n\t\t)\n\t\tor exists ( [Encounter: "Frailty Encounter"] FrailtyEncounter\n\t\t\t\twhere FrailtyEncounter.period overlaps "Measurement Period"\n\t\t)\n\t\tor exists ( [Observation: "Frailty Symptom"] FrailtySymptomObservation\n\t\t\t\twhere FrailtySymptomObservation.effective as Period overlaps "Measurement Period"\n or FrailtySymptomObservation.effective as dateTime during day of "Measurement Period"\n\t\t)\n\ndefine "Advanced Illness and Frailty Exclusion Including Over Age 80":\n\t//If the measure includes populations age 80 and older, then use this logic:\n\t(\n Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")in Interval[66, 80]\n and "Has Criteria Indicating Frailty"\n and ( Count("Outpatient Encounters with Advanced Illness")>= 2\n or exists ( "Inpatient Encounter with Advanced Illness" )\n or exists "Dementia Medications In Year Before or During Measurement Period"\n )\n\t)\n\t\tor (\n Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")>= 81\n\t\t\t and "Has Criteria Indicating Frailty"\n\t\t)\n\ndefine "Advanced Illness and Frailty Exclusion Including Under Age 80":\n\t//If the measure does NOT include populations age 80 and older, then use this logic:\n\tGlobal."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")>= 65\n and "Has Criteria Indicating Frailty"\n and ( Count("Outpatient Encounters with Advanced Illness")>= 2\n or exists ( "Inpatient Encounter with Advanced Illness" )\n or exists "Dementia Medications In Year Before or During Measurement Period"\n )\n\ndefine "Has Spent More Than 90 Days in Long Term Care":\n\t"Days Spent in Long Term Care During Measurement Period" > 90\n\ndefine "Days Spent in Long Term Care During Measurement Period":\n\t"CumulativeDays"("Long Term Care Periods During Measurement Period")\n\ndefine function "CumulativeDays"(Intervals List<Interval<DateTime>> ):\n\tSum((collapse Intervals)CollapsedInterval\n\t\t\treturn all duration in days of CollapsedInterval\n\t)\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "4.0.000", "name": "AdvancedIllnessandFrailtyExclusion_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" + "dataRequirement": [ { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1087" } - } - ], - "dataRequirement": [ - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1087" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1086" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1085" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1084" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1014" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1012" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1083" - } - ] - }, - { - "type": "MedicationDispense", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510" - } - ] - }, - { - "type": "DeviceRequest", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300" - } - ] - }, - { - "type": "DeviceUseStatement" - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075" - } - ] - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI3MyIgc3RhcnRDaGFyPSIxNSIgZW5kTGluZT0iNzMiIGVuZENoYXI9IjUyIiBtZXNzYWdlPSJSZXRyaWV2ZSBoYXMgYSB0ZXJtaW5vbG9neSB0YXJnZXQgYnV0IGRvZXMgbm90IHNwZWNpZnkgYSBjb2RlIHBhdGggYW5kIHRoZSB0eXBlIG9mIHRoZSByZXRyaWV2ZSBkb2VzIG5vdCBoYXZlIGEgcHJpbWFyeSBjb2RlIHBhdGggZGVmaW5lZC4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iNzMiIHN0YXJ0Q2hhcj0iMTUiIGVuZExpbmU9IjczIiBlbmRDaGFyPSI1MiIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxpZGVudGlmaWVyIGlkPSJBZHZhbmNlZElsbG5lc3NhbmRGcmFpbHR5RXhjbHVzaW9uX0ZISVIzIiB2ZXJzaW9uPSI0LjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9Ikdsb2JhbCIgcGF0aD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHBhcmFtZXRlcnM+DQogICAgICA8ZGVmIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPg0KICAgICAgPC9kZWY+DQogICA8L3BhcmFtZXRlcnM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IkxPSU5DIiBpZD0idXJuOm9pZDoyLjE2Ljg0MC4xLjExMzg4My42LjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJBY3V0ZSBJbnBhdGllbnQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTA4MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJBZHZhbmNlZCBJbGxuZXNzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwODIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iQ2FyZSBTZXJ2aWNlcyBpbiBMb25nLVRlcm0gUmVzaWRlbnRpYWwgRmFjaWxpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJEZW1lbnRpYSBNZWRpY2F0aW9ucyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xNTEwIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkVEIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRnJhaWx0eSBEZXZpY2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTguMTIuMTMwMCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJGcmFpbHR5IERpYWdub3NpcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMy4xMi4xMDc0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkZyYWlsdHkgRW5jb3VudGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRnJhaWx0eSBTeW1wdG9tIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEzLjEyLjEwNzUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTm9uYWN1dGUgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTnVyc2luZyBGYWNpbGl0eSBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDEyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik9ic2VydmF0aW9uIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT3V0cGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDg3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iQmlydGggZGF0ZSIgaWQ9IjIxMTEyLTgiIGRpc3BsYXk9IkJpcnRoIGRhdGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iTE9JTkMiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkFkdmFuY2VkIElsbG5lc3MgRGlhZ25vc2VzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJBZHZhbmNlZElsbG5lc3NEaWFnbm9zaXMiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQWR2YW5jZWQgSWxsbmVzcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJPdXRwYXRpZW50IEVuY291bnRlcnMgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJPdXRwYXRpZW50RW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iT3V0cGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPYnNlcnZhdGlvbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRUQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTm9uYWN1dGUgSW5wYXRpZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iQWR2YW5jZWRJbGxuZXNzRGlhZ25vc2lzIiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJBZHZhbmNlZCBJbGxuZXNzIERpYWdub3NlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkNvbmRpdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iJHRoaXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZGlhZ25vc2lzIiBzY29wZT0iT3V0cGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29uZGl0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvbmRpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRW5kc1dpdGgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgc2NvcGU9IkNvbmRpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJBZHZhbmNlZElsbG5lc3NEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iT3V0cGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIyIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTG9uZyBUZXJtIENhcmUgUGVyaW9kcyBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJMb25nVGVybUZhY2lsaXR5RW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJDYXJlIFNlcnZpY2VzIGluIExvbmctVGVybSBSZXNpZGVudGlhbCBGYWNpbGl0eSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJOdXJzaW5nIEZhY2lsaXR5IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPdmVybGFwcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMb25nVGVybUZhY2lsaXR5RW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSW50ZXJzZWN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkxvbmdUZXJtRmFjaWxpdHlFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWR2YW5jZWQgSWxsbmVzcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSW5wYXRpZW50RW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkFjdXRlIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IkFkdmFuY2VkSWxsbmVzc0RpYWdub3NpcyIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQWR2YW5jZWQgSWxsbmVzcyBEaWFnbm9zZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImRpYWdub3NpcyIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29uZGl0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvbmRpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRW5kc1dpdGgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgc2NvcGU9IkNvbmRpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJBZHZhbmNlZElsbG5lc3NEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSW5wYXRpZW50RW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZW1lbnRpYSBNZWRpY2F0aW9ucyBJbiBZZWFyIEJlZm9yZSBvciBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJEZW1lbnRpYU1lZCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2UiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJEZW1lbnRpYSBNZWRpY2F0aW9ucyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ3aGVuSGFuZGVkT3ZlciIgc2NvcGU9IkRlbWVudGlhTWVkIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIYXMgQ3JpdGVyaWEgSW5kaWNhdGluZyBGcmFpbHR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJGcmFpbHR5RGV2aWNlT3JkZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkZyYWlsdHkgRGV2aWNlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkZyYWlsdHlEZXZpY2VPcmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJGcmFpbHR5RGV2aWNlVXNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJGcmFpbHR5IERldmljZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik92ZXJsYXBzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ0aW1pbmciIHNjb3BlPSJGcmFpbHR5RGV2aWNlVXNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idGltaW5nIiBzY29wZT0iRnJhaWx0eURldmljZVVzZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkZyYWlsdHlEaWFnbm9zaXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRnJhaWx0eSBEaWFnbm9zaXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPdmVybGFwcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJGcmFpbHR5RGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJGcmFpbHR5RGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRnJhaWx0eUVuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJGcmFpbHR5IEVuY291bnRlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3ZlcmxhcHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRnJhaWx0eUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJGcmFpbHR5U3ltcHRvbU9ic2VydmF0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRnJhaWx0eSBTeW1wdG9tIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3ZlcmxhcHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkZyYWlsdHlTeW1wdG9tT2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJGcmFpbHR5U3ltcHRvbU9ic2VydmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkFkdmFuY2VkIElsbG5lc3MgYW5kIEZyYWlsdHkgRXhjbHVzaW9uIEluY2x1ZGluZyBPdmVyIEFnZSA4MCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjY2IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI4MCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkhhcyBDcml0ZXJpYSBJbmRpY2F0aW5nIEZyYWlsdHkiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ291bnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJPdXRwYXRpZW50IEVuY291bnRlcnMgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWR2YW5jZWQgSWxsbmVzcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGVtZW50aWEgTWVkaWNhdGlvbnMgSW4gWWVhciBCZWZvcmUgb3IgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjgxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJBZHZhbmNlZCBJbGxuZXNzIGFuZCBGcmFpbHR5IEV4Y2x1c2lvbiBJbmNsdWRpbmcgVW5kZXIgQWdlIDgwIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNjUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIYXMgQ3JpdGVyaWEgSW5kaWNhdGluZyBGcmFpbHR5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvdW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iT3V0cGF0aWVudCBFbmNvdW50ZXJzIHdpdGggQWR2YW5jZWQgSWxsbmVzcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFkdmFuY2VkIElsbG5lc3MiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkRlbWVudGlhIE1lZGljYXRpb25zIEluIFllYXIgQmVmb3JlIG9yIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ3VtdWxhdGl2ZURheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3VtIj4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkNvbGxhcHNlZEludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJDb2xsYXBzZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnRlcnZhbHMiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCByZXN1bHRUeXBlTmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNvbGxhcHNlZEludGVydmFsIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ29sbGFwc2VkSW50ZXJ2YWwiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkludGVydmFscyI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGF5cyBTcGVudCBpbiBMb25nIFRlcm0gQ2FyZSBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkN1bXVsYXRpdmVEYXlzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTG9uZyBUZXJtIENhcmUgUGVyaW9kcyBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkhhcyBTcGVudCBNb3JlIFRoYW4gOTAgRGF5cyBpbiBMb25nIFRlcm0gQ2FyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iR3JlYXRlciI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJEYXlzIFNwZW50IGluIExvbmcgVGVybSBDYXJlIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjkwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBBZHZhbmNlZElsbG5lc3NhbmRGcmFpbHR5RXhjbHVzaW9uX0ZISVIzIHZlcnNpb24gJzQuMC4wMDAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKCmNvZGVzeXN0ZW0gIkxPSU5DIjogJ3VybjpvaWQ6Mi4xNi44NDAuMS4xMTM4ODMuNi4xJwoKdmFsdWVzZXQgIkFjdXRlIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTA4MycKdmFsdWVzZXQgIkFkdmFuY2VkIElsbG5lc3MiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwODInCnZhbHVlc2V0ICJDYXJlIFNlcnZpY2VzIGluIExvbmctVGVybSBSZXNpZGVudGlhbCBGYWNpbGl0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxNCcKdmFsdWVzZXQgIkRlbWVudGlhIE1lZGljYXRpb25zIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xNTEwJwp2YWx1ZXNldCAiRUQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODUnCnZhbHVlc2V0ICJGcmFpbHR5IERldmljZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTguMTIuMTMwMCcKdmFsdWVzZXQgIkZyYWlsdHkgRGlhZ25vc2lzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMy4xMi4xMDc0Jwp2YWx1ZXNldCAiRnJhaWx0eSBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODgnCnZhbHVlc2V0ICJGcmFpbHR5IFN5bXB0b20iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEzLjEyLjEwNzUnCnZhbHVlc2V0ICJOb25hY3V0ZSBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODQnCnZhbHVlc2V0ICJOdXJzaW5nIEZhY2lsaXR5IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDEyJwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODYnCnZhbHVlc2V0ICJPdXRwYXRpZW50IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDg3JwoKY29kZSAiQmlydGggZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJBZHZhbmNlZCBJbGxuZXNzIERpYWdub3NlcyI6CiAgICBbQ29uZGl0aW9uOiAiQWR2YW5jZWQgSWxsbmVzcyJdIEFkdmFuY2VkSWxsbmVzc0RpYWdub3NpcwoKZGVmaW5lICJPdXRwYXRpZW50IEVuY291bnRlcnMgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIjoKCSggW0VuY291bnRlcjogIk91dHBhdGllbnQiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJPYnNlcnZhdGlvbiJdCgkJdW5pb24gW0VuY291bnRlcjogIkVEIl0KCQl1bmlvbiBbRW5jb3VudGVyOiAiTm9uYWN1dGUgSW5wYXRpZW50Il0gKSBPdXRwYXRpZW50RW5jb3VudGVyCgkJd2l0aCAiQWR2YW5jZWQgSWxsbmVzcyBEaWFnbm9zZXMiIEFkdmFuY2VkSWxsbmVzc0RpYWdub3NpcwogICAgICAgICAgICBzdWNoIHRoYXQgZXhpc3RzICgKICAgICAgICAgICAgICAgIE91dHBhdGllbnRFbmNvdW50ZXIuZGlhZ25vc2lzLmNvbmRpdGlvbiBDb25kaXRpb24KICAgICAgICAgICAgICAgICAgICB3aGVyZSBFbmRzV2l0aChDb25kaXRpb24ucmVmZXJlbmNlLCBBZHZhbmNlZElsbG5lc3NEaWFnbm9zaXMuaWQpCiAgICAgICAgICAgICkKICAgICAgICAgICAgYW5kIE91dHBhdGllbnRFbmNvdW50ZXIucGVyaW9kIHN0YXJ0cyAyIHllYXJzIG9yIGxlc3MgYmVmb3JlCgkJCWVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJMb25nIFRlcm0gQ2FyZSBQZXJpb2RzIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiOgoJKCBbRW5jb3VudGVyOiAiQ2FyZSBTZXJ2aWNlcyBpbiBMb25nLVRlcm0gUmVzaWRlbnRpYWwgRmFjaWxpdHkiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJOdXJzaW5nIEZhY2lsaXR5IFZpc2l0Il0gKSBMb25nVGVybUZhY2lsaXR5RW5jb3VudGVyCgkJd2hlcmUgTG9uZ1Rlcm1GYWNpbGl0eUVuY291bnRlci5wZXJpb2Qgb3ZlcmxhcHMgIk1lYXN1cmVtZW50IFBlcmlvZCIKCQlyZXR1cm4gTG9uZ1Rlcm1GYWNpbGl0eUVuY291bnRlci5wZXJpb2QKCQkJaW50ZXJzZWN0ICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIjoKCVtFbmNvdW50ZXI6ICJBY3V0ZSBJbnBhdGllbnQiXSBJbnBhdGllbnRFbmNvdW50ZXIKCQl3aXRoICJBZHZhbmNlZCBJbGxuZXNzIERpYWdub3NlcyIgQWR2YW5jZWRJbGxuZXNzRGlhZ25vc2lzCiAgICAgICAgICAgIHN1Y2ggdGhhdCBleGlzdHMgKAogICAgICAgICAgICAgICAgSW5wYXRpZW50RW5jb3VudGVyLmRpYWdub3Npcy5jb25kaXRpb24gQ29uZGl0aW9uCiAgICAgICAgICAgICAgICAgICAgd2hlcmUgRW5kc1dpdGgoQ29uZGl0aW9uLnJlZmVyZW5jZSwgQWR2YW5jZWRJbGxuZXNzRGlhZ25vc2lzLmlkKQogICAgICAgICAgICApCgkJCWFuZCBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kIHN0YXJ0cyAyIHllYXJzIG9yIGxlc3MgYmVmb3JlCgkJCWVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW1lbnRpYSBNZWRpY2F0aW9ucyBJbiBZZWFyIEJlZm9yZSBvciBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIjoKCVsiTWVkaWNhdGlvbkRpc3BlbnNlIjogIkRlbWVudGlhIE1lZGljYXRpb25zIl0gRGVtZW50aWFNZWQKCQl3aGVyZSBEZW1lbnRpYU1lZC53aGVuSGFuZGVkT3ZlciBhcyBkYXRlVGltZSBkdXJpbmcgZGF5IG9mIEludGVydmFsWwogICAgICAgICAgICAoIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiIC0gMSB5ZWFyICksIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICAgIF0KCmRlZmluZSAiSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSI6CglleGlzdHMgKCBbRGV2aWNlUmVxdWVzdDogIkZyYWlsdHkgRGV2aWNlIl0gRnJhaWx0eURldmljZU9yZGVyCgkJCXdoZXJlIEZyYWlsdHlEZXZpY2VPcmRlci5hdXRob3JlZE9uIGR1cmluZyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCSkKCQlvciBleGlzdHMgKCBbRGV2aWNlVXNlU3RhdGVtZW50OiAiRnJhaWx0eSBEZXZpY2UiXSBGcmFpbHR5RGV2aWNlVXNlCgkJCQl3aGVyZSBGcmFpbHR5RGV2aWNlVXNlLnRpbWluZyBhcyBQZXJpb2Qgb3ZlcmxhcHMgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgICAgICAgICAgICAgICBvciBGcmFpbHR5RGV2aWNlVXNlLnRpbWluZyBhcyBkYXRlVGltZSBkdXJpbmcgZGF5IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgkJKQoJCW9yIGV4aXN0cyAoIFtDb25kaXRpb246ICJGcmFpbHR5IERpYWdub3NpcyJdIEZyYWlsdHlEaWFnbm9zaXMKCQkJCXdoZXJlIEZyYWlsdHlEaWFnbm9zaXMub25zZXQgYXMgUGVyaW9kIG92ZXJsYXBzICJNZWFzdXJlbWVudCBQZXJpb2QiCiAgICAgICAgICAgICAgICAgICAgb3IgRnJhaWx0eURpYWdub3Npcy5vbnNldCBhcyBkYXRlVGltZSBkdXJpbmcgZGF5IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgkJKQoJCW9yIGV4aXN0cyAoIFtFbmNvdW50ZXI6ICJGcmFpbHR5IEVuY291bnRlciJdIEZyYWlsdHlFbmNvdW50ZXIKCQkJCXdoZXJlIEZyYWlsdHlFbmNvdW50ZXIucGVyaW9kIG92ZXJsYXBzICJNZWFzdXJlbWVudCBQZXJpb2QiCgkJKQoJCW9yIGV4aXN0cyAoIFtPYnNlcnZhdGlvbjogIkZyYWlsdHkgU3ltcHRvbSJdIEZyYWlsdHlTeW1wdG9tT2JzZXJ2YXRpb24KCQkJCXdoZXJlIEZyYWlsdHlTeW1wdG9tT2JzZXJ2YXRpb24uZWZmZWN0aXZlIGFzIFBlcmlvZCBvdmVybGFwcyAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICAgICAgICAgICAgICAgIG9yIEZyYWlsdHlTeW1wdG9tT2JzZXJ2YXRpb24uZWZmZWN0aXZlIGFzIGRhdGVUaW1lIGR1cmluZyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCQkpCgpkZWZpbmUgIkFkdmFuY2VkIElsbG5lc3MgYW5kIEZyYWlsdHkgRXhjbHVzaW9uIEluY2x1ZGluZyBPdmVyIEFnZSA4MCI6CgkvL0lmIHRoZSBtZWFzdXJlIGluY2x1ZGVzIHBvcHVsYXRpb25zIGFnZSA4MCBhbmQgb2xkZXIsIHRoZW4gdXNlIHRoaXMgbG9naWM6CgkoCiAgICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpaW4gSW50ZXJ2YWxbNjYsIDgwXQogICAgICAgICAgICBhbmQgIkhhcyBDcml0ZXJpYSBJbmRpY2F0aW5nIEZyYWlsdHkiCiAgICAgICAgICAgIGFuZCAoIENvdW50KCJPdXRwYXRpZW50IEVuY291bnRlcnMgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIik+PSAyCiAgICAgICAgICAgICAgICBvciBleGlzdHMgKCAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFkdmFuY2VkIElsbG5lc3MiICkKICAgICAgICAgICAgICAgIG9yIGV4aXN0cyAiRGVtZW50aWEgTWVkaWNhdGlvbnMgSW4gWWVhciBCZWZvcmUgb3IgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgICAgICAgKQoJKQoJCW9yICgKICAgICAgICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPj0gODEKCQkJICAgIGFuZCAiSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSIKCQkpCgpkZWZpbmUgIkFkdmFuY2VkIElsbG5lc3MgYW5kIEZyYWlsdHkgRXhjbHVzaW9uIEluY2x1ZGluZyBVbmRlciBBZ2UgODAiOgoJLy9JZiB0aGUgbWVhc3VyZSBkb2VzIE5PVCBpbmNsdWRlIHBvcHVsYXRpb25zIGFnZSA4MCBhbmQgb2xkZXIsIHRoZW4gdXNlIHRoaXMgbG9naWM6CglHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIik+PSA2NQogICAgICAgIGFuZCAiSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSIKICAgICAgICBhbmQgKCBDb3VudCgiT3V0cGF0aWVudCBFbmNvdW50ZXJzIHdpdGggQWR2YW5jZWQgSWxsbmVzcyIpPj0gMgogICAgICAgICAgICBvciBleGlzdHMgKCAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFkdmFuY2VkIElsbG5lc3MiICkKICAgICAgICAgICAgb3IgZXhpc3RzICJEZW1lbnRpYSBNZWRpY2F0aW9ucyBJbiBZZWFyIEJlZm9yZSBvciBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICAgICkKCmRlZmluZSAiSGFzIFNwZW50IE1vcmUgVGhhbiA5MCBEYXlzIGluIExvbmcgVGVybSBDYXJlIjoKCSJEYXlzIFNwZW50IGluIExvbmcgVGVybSBDYXJlIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiID4gOTAKCmRlZmluZSAiRGF5cyBTcGVudCBpbiBMb25nIFRlcm0gQ2FyZSBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIjoKCSJDdW11bGF0aXZlRGF5cyIoIkxvbmcgVGVybSBDYXJlIFBlcmlvZHMgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCIpCgpkZWZpbmUgZnVuY3Rpb24gIkN1bXVsYXRpdmVEYXlzIihJbnRlcnZhbHMgTGlzdDxJbnRlcnZhbDxEYXRlVGltZT4+ICk6CglTdW0oKGNvbGxhcHNlIEludGVydmFscylDb2xsYXBzZWRJbnRlcnZhbAoJCQlyZXR1cm4gYWxsIGR1cmF0aW9uIGluIGRheXMgb2YgQ29sbGFwc2VkSW50ZXJ2YWwKCSkK" - } - ] + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1086" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1085" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1084" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1014" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1012" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1083" + } + } ] + }, { + "type": "MedicationDispense", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510" + } + } ] + }, { + "type": "DeviceRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300" + } + } ] + }, { + "type": "DeviceUseStatement" + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075" + } + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBBZHZhbmNlZElsbG5lc3NhbmRGcmFpbHR5RXhjbHVzaW9uX0ZISVIzIHZlcnNpb24gJzQuMC4wMDAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKCmNvZGVzeXN0ZW0gIkxPSU5DIjogJ3VybjpvaWQ6Mi4xNi44NDAuMS4xMTM4ODMuNi4xJwoKdmFsdWVzZXQgIkFjdXRlIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTA4MycKdmFsdWVzZXQgIkFkdmFuY2VkIElsbG5lc3MiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwODInCnZhbHVlc2V0ICJDYXJlIFNlcnZpY2VzIGluIExvbmctVGVybSBSZXNpZGVudGlhbCBGYWNpbGl0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxNCcKdmFsdWVzZXQgIkRlbWVudGlhIE1lZGljYXRpb25zIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xNTEwJwp2YWx1ZXNldCAiRUQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODUnCnZhbHVlc2V0ICJGcmFpbHR5IERldmljZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTguMTIuMTMwMCcKdmFsdWVzZXQgIkZyYWlsdHkgRGlhZ25vc2lzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMy4xMi4xMDc0Jwp2YWx1ZXNldCAiRnJhaWx0eSBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODgnCnZhbHVlc2V0ICJGcmFpbHR5IFN5bXB0b20iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEzLjEyLjEwNzUnCnZhbHVlc2V0ICJOb25hY3V0ZSBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODQnCnZhbHVlc2V0ICJOdXJzaW5nIEZhY2lsaXR5IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDEyJwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODYnCnZhbHVlc2V0ICJPdXRwYXRpZW50IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDg3JwoKY29kZSAiQmlydGggZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJBZHZhbmNlZCBJbGxuZXNzIERpYWdub3NlcyI6CiAgICBbQ29uZGl0aW9uOiAiQWR2YW5jZWQgSWxsbmVzcyJdIEFkdmFuY2VkSWxsbmVzc0RpYWdub3NpcwoKZGVmaW5lICJPdXRwYXRpZW50IEVuY291bnRlcnMgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIjoKCSggW0VuY291bnRlcjogIk91dHBhdGllbnQiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJPYnNlcnZhdGlvbiJdCgkJdW5pb24gW0VuY291bnRlcjogIkVEIl0KCQl1bmlvbiBbRW5jb3VudGVyOiAiTm9uYWN1dGUgSW5wYXRpZW50Il0gKSBPdXRwYXRpZW50RW5jb3VudGVyCgkJd2l0aCAiQWR2YW5jZWQgSWxsbmVzcyBEaWFnbm9zZXMiIEFkdmFuY2VkSWxsbmVzc0RpYWdub3NpcwogICAgICAgICAgICBzdWNoIHRoYXQgZXhpc3RzICgKICAgICAgICAgICAgICAgIE91dHBhdGllbnRFbmNvdW50ZXIuZGlhZ25vc2lzLmNvbmRpdGlvbiBDb25kaXRpb24KICAgICAgICAgICAgICAgICAgICB3aGVyZSBFbmRzV2l0aChDb25kaXRpb24ucmVmZXJlbmNlLCBBZHZhbmNlZElsbG5lc3NEaWFnbm9zaXMuaWQpCiAgICAgICAgICAgICkKICAgICAgICAgICAgYW5kIE91dHBhdGllbnRFbmNvdW50ZXIucGVyaW9kIHN0YXJ0cyAyIHllYXJzIG9yIGxlc3MgYmVmb3JlCgkJCWVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJMb25nIFRlcm0gQ2FyZSBQZXJpb2RzIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiOgoJKCBbRW5jb3VudGVyOiAiQ2FyZSBTZXJ2aWNlcyBpbiBMb25nLVRlcm0gUmVzaWRlbnRpYWwgRmFjaWxpdHkiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJOdXJzaW5nIEZhY2lsaXR5IFZpc2l0Il0gKSBMb25nVGVybUZhY2lsaXR5RW5jb3VudGVyCgkJd2hlcmUgTG9uZ1Rlcm1GYWNpbGl0eUVuY291bnRlci5wZXJpb2Qgb3ZlcmxhcHMgIk1lYXN1cmVtZW50IFBlcmlvZCIKCQlyZXR1cm4gTG9uZ1Rlcm1GYWNpbGl0eUVuY291bnRlci5wZXJpb2QKCQkJaW50ZXJzZWN0ICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIjoKCVtFbmNvdW50ZXI6ICJBY3V0ZSBJbnBhdGllbnQiXSBJbnBhdGllbnRFbmNvdW50ZXIKCQl3aXRoICJBZHZhbmNlZCBJbGxuZXNzIERpYWdub3NlcyIgQWR2YW5jZWRJbGxuZXNzRGlhZ25vc2lzCiAgICAgICAgICAgIHN1Y2ggdGhhdCBleGlzdHMgKAogICAgICAgICAgICAgICAgSW5wYXRpZW50RW5jb3VudGVyLmRpYWdub3Npcy5jb25kaXRpb24gQ29uZGl0aW9uCiAgICAgICAgICAgICAgICAgICAgd2hlcmUgRW5kc1dpdGgoQ29uZGl0aW9uLnJlZmVyZW5jZSwgQWR2YW5jZWRJbGxuZXNzRGlhZ25vc2lzLmlkKQogICAgICAgICAgICApCgkJCWFuZCBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kIHN0YXJ0cyAyIHllYXJzIG9yIGxlc3MgYmVmb3JlCgkJCWVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW1lbnRpYSBNZWRpY2F0aW9ucyBJbiBZZWFyIEJlZm9yZSBvciBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIjoKCVsiTWVkaWNhdGlvbkRpc3BlbnNlIjogIkRlbWVudGlhIE1lZGljYXRpb25zIl0gRGVtZW50aWFNZWQKCQl3aGVyZSBEZW1lbnRpYU1lZC53aGVuSGFuZGVkT3ZlciBhcyBkYXRlVGltZSBkdXJpbmcgZGF5IG9mIEludGVydmFsWwogICAgICAgICAgICAoIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiIC0gMSB5ZWFyICksIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICAgIF0KCmRlZmluZSAiSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSI6CglleGlzdHMgKCBbRGV2aWNlUmVxdWVzdDogIkZyYWlsdHkgRGV2aWNlIl0gRnJhaWx0eURldmljZU9yZGVyCgkJCXdoZXJlIEZyYWlsdHlEZXZpY2VPcmRlci5hdXRob3JlZE9uIGR1cmluZyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCSkKCQlvciBleGlzdHMgKCBbRGV2aWNlVXNlU3RhdGVtZW50OiAiRnJhaWx0eSBEZXZpY2UiXSBGcmFpbHR5RGV2aWNlVXNlCgkJCQl3aGVyZSBGcmFpbHR5RGV2aWNlVXNlLnRpbWluZyBhcyBQZXJpb2Qgb3ZlcmxhcHMgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgICAgICAgICAgICAgICBvciBGcmFpbHR5RGV2aWNlVXNlLnRpbWluZyBhcyBkYXRlVGltZSBkdXJpbmcgZGF5IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgkJKQoJCW9yIGV4aXN0cyAoIFtDb25kaXRpb246ICJGcmFpbHR5IERpYWdub3NpcyJdIEZyYWlsdHlEaWFnbm9zaXMKCQkJCXdoZXJlIEZyYWlsdHlEaWFnbm9zaXMub25zZXQgYXMgUGVyaW9kIG92ZXJsYXBzICJNZWFzdXJlbWVudCBQZXJpb2QiCiAgICAgICAgICAgICAgICAgICAgb3IgRnJhaWx0eURpYWdub3Npcy5vbnNldCBhcyBkYXRlVGltZSBkdXJpbmcgZGF5IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgkJKQoJCW9yIGV4aXN0cyAoIFtFbmNvdW50ZXI6ICJGcmFpbHR5IEVuY291bnRlciJdIEZyYWlsdHlFbmNvdW50ZXIKCQkJCXdoZXJlIEZyYWlsdHlFbmNvdW50ZXIucGVyaW9kIG92ZXJsYXBzICJNZWFzdXJlbWVudCBQZXJpb2QiCgkJKQoJCW9yIGV4aXN0cyAoIFtPYnNlcnZhdGlvbjogIkZyYWlsdHkgU3ltcHRvbSJdIEZyYWlsdHlTeW1wdG9tT2JzZXJ2YXRpb24KCQkJCXdoZXJlIEZyYWlsdHlTeW1wdG9tT2JzZXJ2YXRpb24uZWZmZWN0aXZlIGFzIFBlcmlvZCBvdmVybGFwcyAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICAgICAgICAgICAgICAgIG9yIEZyYWlsdHlTeW1wdG9tT2JzZXJ2YXRpb24uZWZmZWN0aXZlIGFzIGRhdGVUaW1lIGR1cmluZyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCQkpCgpkZWZpbmUgIkFkdmFuY2VkIElsbG5lc3MgYW5kIEZyYWlsdHkgRXhjbHVzaW9uIEluY2x1ZGluZyBPdmVyIEFnZSA4MCI6CgkvL0lmIHRoZSBtZWFzdXJlIGluY2x1ZGVzIHBvcHVsYXRpb25zIGFnZSA4MCBhbmQgb2xkZXIsIHRoZW4gdXNlIHRoaXMgbG9naWM6CgkoCiAgICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpaW4gSW50ZXJ2YWxbNjYsIDgwXQogICAgICAgICAgICBhbmQgIkhhcyBDcml0ZXJpYSBJbmRpY2F0aW5nIEZyYWlsdHkiCiAgICAgICAgICAgIGFuZCAoIENvdW50KCJPdXRwYXRpZW50IEVuY291bnRlcnMgd2l0aCBBZHZhbmNlZCBJbGxuZXNzIik+PSAyCiAgICAgICAgICAgICAgICBvciBleGlzdHMgKCAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFkdmFuY2VkIElsbG5lc3MiICkKICAgICAgICAgICAgICAgIG9yIGV4aXN0cyAiRGVtZW50aWEgTWVkaWNhdGlvbnMgSW4gWWVhciBCZWZvcmUgb3IgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgICAgICAgKQoJKQoJCW9yICgKICAgICAgICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPj0gODEKCQkJICAgIGFuZCAiSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSIKCQkpCgpkZWZpbmUgIkFkdmFuY2VkIElsbG5lc3MgYW5kIEZyYWlsdHkgRXhjbHVzaW9uIEluY2x1ZGluZyBVbmRlciBBZ2UgODAiOgoJLy9JZiB0aGUgbWVhc3VyZSBkb2VzIE5PVCBpbmNsdWRlIHBvcHVsYXRpb25zIGFnZSA4MCBhbmQgb2xkZXIsIHRoZW4gdXNlIHRoaXMgbG9naWM6CglHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIik+PSA2NQogICAgICAgIGFuZCAiSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSIKICAgICAgICBhbmQgKCBDb3VudCgiT3V0cGF0aWVudCBFbmNvdW50ZXJzIHdpdGggQWR2YW5jZWQgSWxsbmVzcyIpPj0gMgogICAgICAgICAgICBvciBleGlzdHMgKCAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFkdmFuY2VkIElsbG5lc3MiICkKICAgICAgICAgICAgb3IgZXhpc3RzICJEZW1lbnRpYSBNZWRpY2F0aW9ucyBJbiBZZWFyIEJlZm9yZSBvciBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICAgICkKCmRlZmluZSAiSGFzIFNwZW50IE1vcmUgVGhhbiA5MCBEYXlzIGluIExvbmcgVGVybSBDYXJlIjoKCSJEYXlzIFNwZW50IGluIExvbmcgVGVybSBDYXJlIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiID4gOTAKCmRlZmluZSAiRGF5cyBTcGVudCBpbiBMb25nIFRlcm0gQ2FyZSBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIjoKCSJDdW11bGF0aXZlRGF5cyIoIkxvbmcgVGVybSBDYXJlIFBlcmlvZHMgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCIpCgpkZWZpbmUgZnVuY3Rpb24gIkN1bXVsYXRpdmVEYXlzIihJbnRlcnZhbHMgTGlzdDxJbnRlcnZhbDxEYXRlVGltZT4+ICk6CglTdW0oKGNvbGxhcHNlIEludGVydmFscylDb2xsYXBzZWRJbnRlcnZhbAoJCQlyZXR1cm4gYWxsIGR1cmF0aW9uIGluIGRheXMgb2YgQ29sbGFwc2VkSW50ZXJ2YWwKCSkK" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-EXM104_FHIR3-8.1.000.json b/fhir3/input/resources/library/library-EXM104_FHIR3-8.1.000.json index dfa5e0e7..f9e41e0a 100644 --- a/fhir3/input/resources/library/library-EXM104_FHIR3-8.1.000.json +++ b/fhir3/input/resources/library/library-EXM104_FHIR3-8.1.000.json @@ -3,107 +3,359 @@ "id": "library-EXM104-FHIR3-8.1.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM104-FHIR3-8.1.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">8.1.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-TJCOverall-FHIR3-3.6.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"7\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Patient</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM104_FHIR3 version '8.1.000'\n\n/*\nBased on CMS104v8 - Discharged on Antithrombotic Therapy\nAuthor: TJC\nSTK 2\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0'\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude TJCOverall_FHIR3 version '3.6.000' called TJC\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\n// NOTE: This is an R4 code system\ncodesystem "MedicationRequestCategory": 'http://terminology.hl7.org/CodeSystem/medicationrequest-category'\n\nvalueset "Antithrombotic Therapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201'\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'\nvalueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'\nvalueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'\nvalueset "Medical Reason": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'\nvalueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'\nvalueset "Patient Refusal": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ticagrelor Therapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\n\n// NOTE: This is an R4 code\ncode "Discharge": 'discharge' from "MedicationRequestCategory" display 'Discharge'\n\nparameter "Measurement Period" Interval<DateTime>\n default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n\tSDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n\tSDE."SDE Sex"\n\ndefine "Initial Population":\n\tTJC."Encounter with Principal Diagnosis and Age"\n\n define "Encounter with Principal Diagnosis and Age":\n \t"All Stroke Encounter" AllStrokeEncounter\n \t\twith ["Patient"] BirthDate\n \t\t\tsuch that AgeInYearsAt(AllStrokeEncounter.period.start) >= 18\n\n define "All Stroke Encounter":\n \t"Non Elective Inpatient Encounter" NonElectiveEncounter\n \t\twhere Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Hemorrhagic Stroke"\n \t\tor Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Ischemic Stroke"\n\n define "Non Elective Inpatient Encounter":\n \t["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\n \t\twhere Global."LengthInDays"(NonElectiveEncounter.period)<= 120\n \t\t\tand NonElectiveEncounter.period ends during "Measurement Period"\n\ndefine "Denominator":\n\tTJC."Ischemic Stroke Encounter"\n\n define "Ischemic Stroke Encounter":\n \t"Encounter with Principal Diagnosis and Age" EncounterWithAge\n \t\twhere Global.PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"\n\ndefine "Denominator Exclusion":\n\tTJC."Ischemic Stroke Encounters with Discharge Disposition"\n\t\tunion TJC."Comfort Measures during Hospitalization"\n\n define "Ischemic Stroke Encounters with Discharge Disposition":\n \t( ( "Ischemic Stroke Encounter" IschemicStrokeEncounter\n \t\t\t\twhere IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"\n \t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"\n \t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"\n \t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"\n \t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\n \t\t)\n \t)\n\n define "Comfort Measures during Hospitalization":\n \t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n \t\twith "Intervention Comfort Measures" ComfortMeasure\n \t\t\tsuch that Coalesce(start of ComfortMeasure.performed, ComfortMeasure.authoredOn)during Global."HospitalizationWithObservation"(IschemicStrokeEncounter)\n\n define "Intervention Comfort Measures":\n \t(["ProcedureRequest": "Comfort Measures"] P\n \t\twhere P.intent = 'order')\n \t\tunion\n \t\t(["Procedure": "Comfort Measures"] IntervetionPerformed\n \t\twhere IntervetionPerformed.status = 'completed')\n\ndefine "Numerator":\n\tTJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Antithrombotic Therapy at Discharge" DischargeAntithrombotic\n\t\t\tsuch that DischargeAntithrombotic.authoredOn during IschemicStrokeEncounter.period\n\n define "Antithrombotic Therapy at Discharge":\n \t//The following should work, but it's pending a fix in the CQL Engine, ref https://github.com/DBCG/cql_engine/issues/271.\n //["MedicationRequest": "Antithrombotic Therapy"] Antithrombotic\n //where Antithrombotic.intent = 'order'\n \n //Temporarily using the following until the fix is available.\n ["MedicationRequest"] Antithrombotic\n where (Antithrombotic.medication as CodeableConcept) in "Antithrombotic Therapy"\n \t and Antithrombotic.intent = 'order'\n\ndefine "Denominator Exceptions":\n\t"Encounter With No Antithrombotic At Discharge"\n\t\tunion "Encounter With Ticagrelor at Discharge"\n\n define "Encounter With No Antithrombotic At Discharge":\n \tTJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\n \t\twith "Antithrombotic Not Given at Discharge" NoDischargeAntithrombotic\n \t\t\tsuch that NoDischargeAntithrombotic.authoredOn during IschemicStrokeEncounter.period\n\n define "Antithrombotic Not Given at Discharge":\n \t["MedicationRequest": "Antithrombotic Therapy"] NoAntithromboticDischarge\n \t // STU3\n \t\twhere exists (NoAntithromboticDischarge.extension E where E.url = 'http://hl7.org/fhir/us/davinci-deqm/STU3/StructureDefinition/extension-doNotPerform' and E.value is true)\n \t\t// R4\n \t\t//where NoAntithromboticDischarge.doNotPerform is true\n \t\t\tand (singleton from NoAntithromboticDischarge.reasonCode in "Medical Reason"\n \t\t\t\tor singleton from NoAntithromboticDischarge.reasonCode in "Patient Refusal")\n\n // NOTE: On the assumption that status of not-taken is the closest to what the measure is looking for, this is the expression:\n // TODO: Request discussion w/ Pharmacy regarding how medications not prescribed at discharged would be documented\n //define "Antithrombotic Not Given at Discharge R4":\n // ["MedicationStatement": "Antithrombotic Therapy"] AntithromboticTherapy\n //\t where AntithromboticTherapy.status = 'not-taken'\n //\t\t and (AntithromboticTherapy.statusReason in "Medical Reason"\n //\t\t\t\tor AntithrombtoicTherapy.statusReason in "Patient Refusal")\n\n // If it's documented as a checkbox, it may be represented as an observation\n //define "Antithrombotic Not Given at Discharge (Observation)":\n // ["Observation": "Medication Not Given At Discharge"] O\n //\t where O.value in "Antithrombotic Therapy"\n\n /*\n define "Encounter With Ticagrelor During Hospitalization":\n \tTJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\n \t\twith ["MedicationAdministration": medication in TJC."Ticagrelor Therapy"] Ticagrelor\n \t\t\tsuch that Ticagrelor.effective starts during Global."HospitalizationWithObservation"(IschemicStrokeEncounter)\n */\n //Looking for Ticagrelor as discharge medication, include a corrected defintion in 2021 CQL based measure\n define "Encounter With Ticagrelor at Discharge":\n TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\n with "Ticagrelor Therapy at Discharge" DischargeTicagrelor\n such that DischargeTicagrelor.authoredOn during IschemicStrokeEncounter.period\n\n define "Ticagrelor Therapy at Discharge":\n ["MedicationRequest": medication in TJC."Ticagrelor Therapy"] Ticagrelor\n where (Ticagrelor.medication as CodeableConcept) in TJC."Ticagrelor Therapy"\n and Ticagrelor.intent = 'order'\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM104-FHIR3-8.1.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">8.1.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-TJCOverall-FHIR3-3.6.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"7\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Patient</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM104_FHIR3 version '8.1.000'\n\n/*\nBased on CMS104v8 - Discharged on Antithrombotic Therapy\nAuthor: TJC\nSTK 2\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0'\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude TJCOverall_FHIR3 version '3.6.000' called TJC\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\n// NOTE: This is an R4 code system\ncodesystem "MedicationRequestCategory": 'http://terminology.hl7.org/CodeSystem/medicationrequest-category'\n\nvalueset "Antithrombotic Therapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201'\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'\nvalueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'\nvalueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'\nvalueset "Medical Reason": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'\nvalueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'\nvalueset "Patient Refusal": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ticagrelor Therapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\n\n// NOTE: This is an R4 code\ncode "Discharge": 'discharge' from "MedicationRequestCategory" display 'Discharge'\n\nparameter "Measurement Period" Interval<DateTime>\n default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n\tSDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n\tSDE."SDE Sex"\n\ndefine "Initial Population":\n\tTJC."Encounter with Principal Diagnosis and Age"\n\n define "Encounter with Principal Diagnosis and Age":\n \t"All Stroke Encounter" AllStrokeEncounter\n \t\twith ["Patient"] BirthDate\n \t\t\tsuch that AgeInYearsAt(AllStrokeEncounter.period.start) >= 18\n\n define "All Stroke Encounter":\n \t"Non Elective Inpatient Encounter" NonElectiveEncounter\n \t\twhere Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Hemorrhagic Stroke"\n \t\tor Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Ischemic Stroke"\n\n define "Non Elective Inpatient Encounter":\n \t["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\n \t\twhere Global."LengthInDays"(NonElectiveEncounter.period)<= 120\n \t\t\tand NonElectiveEncounter.period ends during "Measurement Period"\n\ndefine "Denominator":\n\tTJC."Ischemic Stroke Encounter"\n\n define "Ischemic Stroke Encounter":\n \t"Encounter with Principal Diagnosis and Age" EncounterWithAge\n \t\twhere Global.PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"\n\ndefine "Denominator Exclusion":\n\tTJC."Ischemic Stroke Encounters with Discharge Disposition"\n\t\tunion TJC."Comfort Measures during Hospitalization"\n\n define "Ischemic Stroke Encounters with Discharge Disposition":\n \t( ( "Ischemic Stroke Encounter" IschemicStrokeEncounter\n \t\t\t\twhere IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"\n \t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"\n \t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"\n \t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"\n \t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\n \t\t)\n \t)\n\n define "Comfort Measures during Hospitalization":\n \t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n \t\twith "Intervention Comfort Measures" ComfortMeasure\n \t\t\tsuch that Coalesce(start of ComfortMeasure.performed, ComfortMeasure.authoredOn)during Global."HospitalizationWithObservation"(IschemicStrokeEncounter)\n\n define "Intervention Comfort Measures":\n \t(["ProcedureRequest": "Comfort Measures"] P\n \t\twhere P.intent = 'order')\n \t\tunion\n \t\t(["Procedure": "Comfort Measures"] IntervetionPerformed\n \t\twhere IntervetionPerformed.status = 'completed')\n\ndefine "Numerator":\n\tTJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Antithrombotic Therapy at Discharge" DischargeAntithrombotic\n\t\t\tsuch that DischargeAntithrombotic.authoredOn during IschemicStrokeEncounter.period\n\n define "Antithrombotic Therapy at Discharge":\n \t//The following should work, but it's pending a fix in the CQL Engine, ref https://github.com/DBCG/cql_engine/issues/271.\n //["MedicationRequest": "Antithrombotic Therapy"] Antithrombotic\n //where Antithrombotic.intent = 'order'\n \n //Temporarily using the following until the fix is available.\n ["MedicationRequest"] Antithrombotic\n where (Antithrombotic.medication as CodeableConcept) in "Antithrombotic Therapy"\n \t and Antithrombotic.intent = 'order'\n\ndefine "Denominator Exceptions":\n\t"Encounter With No Antithrombotic At Discharge"\n\t\tunion "Encounter With Ticagrelor at Discharge"\n\n define "Encounter With No Antithrombotic At Discharge":\n \tTJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\n \t\twith "Antithrombotic Not Given at Discharge" NoDischargeAntithrombotic\n \t\t\tsuch that NoDischargeAntithrombotic.authoredOn during IschemicStrokeEncounter.period\n\n define "Antithrombotic Not Given at Discharge":\n \t["MedicationRequest": "Antithrombotic Therapy"] NoAntithromboticDischarge\n \t // STU3\n \t\twhere exists (NoAntithromboticDischarge.extension E where E.url = 'http://hl7.org/fhir/us/davinci-deqm/STU3/StructureDefinition/extension-doNotPerform' and E.value is true)\n \t\t// R4\n \t\t//where NoAntithromboticDischarge.doNotPerform is true\n \t\t\tand (singleton from NoAntithromboticDischarge.reasonCode in "Medical Reason"\n \t\t\t\tor singleton from NoAntithromboticDischarge.reasonCode in "Patient Refusal")\n\n // NOTE: On the assumption that status of not-taken is the closest to what the measure is looking for, this is the expression:\n // TODO: Request discussion w/ Pharmacy regarding how medications not prescribed at discharged would be documented\n //define "Antithrombotic Not Given at Discharge R4":\n // ["MedicationStatement": "Antithrombotic Therapy"] AntithromboticTherapy\n //\t where AntithromboticTherapy.status = 'not-taken'\n //\t\t and (AntithromboticTherapy.statusReason in "Medical Reason"\n //\t\t\t\tor AntithrombtoicTherapy.statusReason in "Patient Refusal")\n\n // If it's documented as a checkbox, it may be represented as an observation\n //define "Antithrombotic Not Given at Discharge (Observation)":\n // ["Observation": "Medication Not Given At Discharge"] O\n //\t where O.value in "Antithrombotic Therapy"\n\n /*\n define "Encounter With Ticagrelor During Hospitalization":\n \tTJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\n \t\twith ["MedicationAdministration": medication in TJC."Ticagrelor Therapy"] Ticagrelor\n \t\t\tsuch that Ticagrelor.effective starts during Global."HospitalizationWithObservation"(IschemicStrokeEncounter)\n */\n //Looking for Ticagrelor as discharge medication, include a corrected defintion in 2021 CQL based measure\n define "Encounter With Ticagrelor at Discharge":\n TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\n with "Ticagrelor Therapy at Discharge" DischargeTicagrelor\n such that DischargeTicagrelor.authoredOn during IschemicStrokeEncounter.period\n\n define "Ticagrelor Therapy at Discharge":\n ["MedicationRequest": medication in TJC."Ticagrelor Therapy"] Ticagrelor\n where (Ticagrelor.medication as CodeableConcept) in TJC."Ticagrelor Therapy"\n and Ticagrelor.intent = 'order'\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "8.1.000", "name": "EXM104_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/Library/FHIR-ModelInfo|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/FHIRHelpers|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/MATGlobalCommonFunctions_FHIR3|4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/TJCOverall_FHIR3|3.6.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/SupplementalDataElements_FHIR3|1.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://loinc.org" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://snomed.info/sct/731000124108" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/diagnosis-role" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/request-intent" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://terminology.hl7.org/CodeSystem/medicationrequest-category" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39" + } + } ], + "parameter": [ { + "name": "Measurement Period", + "use": "in", + "min": 0, + "max": "1", + "type": "Period" + }, { + "name": "Patient", + "use": "out", + "min": 0, + "max": "1", + "type": "Patient" + }, { + "name": "SDE Ethnicity", + "use": "out", + "min": 0, + "max": "*", + "type": "Coding" + }, { + "name": "SDE Payer", + "use": "out", + "min": 0, + "max": "*", + "type": "Any" + }, { + "name": "SDE Race", + "use": "out", + "min": 0, + "max": "*", + "type": "Coding" + }, { + "name": "SDE Sex", + "use": "out", + "min": 0, + "max": "1", + "type": "Coding" + }, { + "name": "Initial Population", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Non Elective Inpatient Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "All Stroke Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Encounter with Principal Diagnosis and Age", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Ischemic Stroke Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator Exclusion", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Ischemic Stroke Encounters with Discharge Disposition", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Intervention Comfort Measures", + "use": "out", + "min": 0, + "max": "*", + "type": "Any" + }, { + "name": "Comfort Measures during Hospitalization", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Antithrombotic Therapy at Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "MedicationRequest" + }, { + "name": "Numerator", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Antithrombotic Not Given at Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "MedicationRequest" + }, { + "name": "Encounter With No Antithrombotic At Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Ticagrelor Therapy at Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "MedicationRequest" + }, { + "name": "Encounter With Ticagrelor at Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator Exceptions", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } ] + }, { + "type": "Patient" + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-TJCOverall-FHIR3-3.6.000" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } ] + }, { + "type": "MedicationRequest" + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201" } - } - ], - "dataRequirement": [ - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" - } - ] - }, - { - "type": "Patient" - }, - { - "type": "ProcedureRequest", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" - } - ] - }, - { - "type": "MedicationRequest" - }, - { - "type": "MedicationRequest", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.201" - } - ] - }, - { - "type": "MedicationRequest", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39" - } - ] - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTEwNF9GSElSMyIgdmVyc2lvbj0iOC4xLjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iNC4wLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlRKQyIgcGF0aD0iVEpDT3ZlcmFsbF9GSElSMyIgdmVyc2lvbj0iMy42LjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlNERSIgcGF0aD0iU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIiB2ZXJzaW9uPSIxLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGRlZmF1bHQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAxOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICA8L2RlZmF1bHQ+DQogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPg0KICAgICAgPC9kZWY+DQogICA8L3BhcmFtZXRlcnM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IkxPSU5DIiBpZD0iaHR0cDovL2xvaW5jLm9yZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJTTk9NRURDVCIgaWQ9Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpYWdub3NpcyBSb2xlIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSZXF1ZXN0SW50ZW50IiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IiBpZD0iaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9tZWRpY2F0aW9ucmVxdWVzdC1jYXRlZ29yeSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC9jb2RlU3lzdGVtcz4NCiAgIDx2YWx1ZVNldHM+DQogICAgICA8ZGVmIG5hbWU9IkFudGl0aHJvbWJvdGljIFRoZXJhcHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjAxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuODciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJIZW1vcnJoYWdpYyBTdHJva2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjEyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IklzY2hlbWljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNDciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJNZWRpY2FsIFJlYXNvbiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40NzMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDI0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik9ic2VydmF0aW9uIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQgRXhwaXJlZCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCBSZWZ1c2FsIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjkzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlBheWVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlRpY2FncmVsb3IgVGhlcmFweSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC92YWx1ZVNldHM+DQogICA8Y29kZXM+DQogICAgICA8ZGVmIG5hbWU9IkJpcnRoIGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIiBpZD0iZGlzY2hhcmdlIiBkaXNwbGF5PSJEaXNjaGFyZ2UiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIvPg0KICAgICAgPC9kZWY+DQogICA8L2NvZGVzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgRXRobmljaXR5IiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgUGF5ZXIiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIFJhY2UiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgU2V4IiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiIGxpYnJhcnlOYW1lPSJUSkMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9uIEVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkFsbCBTdHJva2UgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb25FbGVjdGl2ZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJJc2NoZW1pYyBTdHJva2UiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJBbGxTdHJva2VFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQWxsIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IkJpcnRoRGF0ZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkNhbGN1bGF0ZUFnZUF0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJwZXJpb2QiIHNjb3BlPSJBbGxTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxOCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZW5vbWluYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkVuY291bnRlcldpdGhBZ2UiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXJXaXRoQWdlIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IklzY2hlbWljIFN0cm9rZSIvPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZW5vbWluYXRvciBFeGNsdXNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIERpc3Bvc2l0aW9uIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIERpc3Bvc2l0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IlBhdGllbnQgRXhwaXJlZCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlAiPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpbnRlbnQiIHNjb3BlPSJQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvcmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSW50ZXJ2ZXRpb25QZXJmb3JtZWQiPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkludGVydmV0aW9uUGVyZm9ybWVkIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQW50aXRocm9tYm90aWMgVGhlcmFweSBhdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkFudGl0aHJvbWJvdGljIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9IkFudGl0aHJvbWJvdGljIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJBbnRpdGhyb21ib3RpYyBUaGVyYXB5Ii8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IkFudGl0aHJvbWJvdGljIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvcmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTnVtZXJhdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJEaXNjaGFyZ2VBbnRpdGhyb21ib3RpYyIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQW50aXRocm9tYm90aWMgVGhlcmFweSBhdCBEaXNjaGFyZ2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJEaXNjaGFyZ2VBbnRpdGhyb21ib3RpYyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkFudGl0aHJvbWJvdGljIFRoZXJhcHkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vQW50aXRocm9tYm90aWNEaXNjaGFyZ2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9kYXZpbmNpLWRlcW0vU1RVMy9TdHJ1Y3R1cmVEZWZpbml0aW9uL2V4dGVuc2lvbi1kb05vdFBlcmZvcm0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNUcnVlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQm9vbGVhbiIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlYXNvbkNvZGUiIHNjb3BlPSJOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJNZWRpY2FsIFJlYXNvbiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWFzb25Db2RlIiBzY29wZT0iTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iUGF0aWVudCBSZWZ1c2FsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVuY291bnRlciBXaXRoIE5vIEFudGl0aHJvbWJvdGljIEF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgbGlicmFyeU5hbWU9IlRKQyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iTm9EaXNjaGFyZ2VBbnRpdGhyb21ib3RpYyIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik5vRGlzY2hhcmdlQW50aXRocm9tYm90aWMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRpY2FncmVsb3IgVGhlcmFweSBhdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlRpY2FncmVsb3IiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJUaWNhZ3JlbG9yIFRoZXJhcHkiIGxpYnJhcnlOYW1lPSJUSkMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iVGljYWdyZWxvciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iVGljYWdyZWxvciBUaGVyYXB5IiBsaWJyYXJ5TmFtZT0iVEpDIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IlRpY2FncmVsb3IiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBUaWNhZ3JlbG9yIGF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgbGlicmFyeU5hbWU9IlRKQyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iRGlzY2hhcmdlVGljYWdyZWxvciIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkRpc2NoYXJnZVRpY2FncmVsb3IiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2VwdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciBXaXRoIE5vIEFudGl0aHJvbWJvdGljIEF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciBXaXRoIFRpY2FncmVsb3IgYXQgRGlzY2hhcmdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE0xMDRfRkhJUjMgdmVyc2lvbiAnOC4xLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEwNHY4IC0gRGlzY2hhcmdlZCBvbiBBbnRpdGhyb21ib3RpYyBUaGVyYXB5CkF1dGhvcjogVEpDClNUSyAyCiovCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKaW5jbHVkZSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcgY2FsbGVkIEdsb2JhbAppbmNsdWRlIFRKQ092ZXJhbGxfRkhJUjMgdmVyc2lvbiAnMy42LjAwMCcgY2FsbGVkIFRKQwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCmNvZGVzeXN0ZW0gIlJlcXVlc3RJbnRlbnQiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCcKLy8gTk9URTogVGhpcyBpcyBhbiBSNCBjb2RlIHN5c3RlbQpjb2Rlc3lzdGVtICJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnknCgp2YWx1ZXNldCAiQW50aXRocm9tYm90aWMgVGhlcmFweSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjAxJwp2YWx1ZXNldCAiQ29tZm9ydCBNZWFzdXJlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUnCnZhbHVlc2V0ICJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuODcnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNycKdmFsdWVzZXQgIkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDknCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkhlbW9ycmhhZ2ljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjEyJwp2YWx1ZXNldCAiSXNjaGVtaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNDcnCnZhbHVlc2V0ICJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOCcKdmFsdWVzZXQgIk1lZGljYWwgUmVhc29uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40NzMnCnZhbHVlc2V0ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDI0Jwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MycKdmFsdWVzZXQgIk9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xJwp2YWx1ZXNldCAiUGF0aWVudCBFeHBpcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDknCnZhbHVlc2V0ICJQYXRpZW50IFJlZnVzYWwiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjkzJwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiVGljYWdyZWxvciBUaGVyYXB5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOScKCmNvZGUgIkJpcnRoIGRhdGUiOiAnMjExMTItOCcgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ0JpcnRoIGRhdGUnCgovLyBOT1RFOiBUaGlzIGlzIGFuIFI0IGNvZGUKY29kZSAiRGlzY2hhcmdlIjogJ2Rpc2NoYXJnZScgZnJvbSAiTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIgZGlzcGxheSAnRGlzY2hhcmdlJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgogIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCkKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CglTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgoJU0RFLiJTREUgU2V4IgoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgoJVEpDLiJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiCgogIGRlZmluZSAiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIjoKICAJIkFsbCBTdHJva2UgRW5jb3VudGVyIiBBbGxTdHJva2VFbmNvdW50ZXIKICAJCXdpdGggWyJQYXRpZW50Il0gQmlydGhEYXRlCiAgCQkJc3VjaCB0aGF0IEFnZUluWWVhcnNBdChBbGxTdHJva2VFbmNvdW50ZXIucGVyaW9kLnN0YXJ0KSA+PSAxOAoKICAgICAgICBkZWZpbmUgIkFsbCBTdHJva2UgRW5jb3VudGVyIjoKICAgICAgICAJIk5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBOb25FbGVjdGl2ZUVuY291bnRlcgogICAgICAgIAkJd2hlcmUgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSGVtb3JyaGFnaWMgU3Ryb2tlIgogICAgICAgIAkJb3IgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKICAgICAgICAgICAgZGVmaW5lICJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6CiAgICAgICAgICAgIAlbIkVuY291bnRlciI6ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciJdIE5vbkVsZWN0aXZlRW5jb3VudGVyCiAgICAgICAgICAgIAkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKICAgICAgICAgICAgCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CglUSkMuIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiCgogIGRlZmluZSAiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciI6CiAgCSJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiIEVuY291bnRlcldpdGhBZ2UKICAJCXdoZXJlIEdsb2JhbC5QcmluY2lwYWxEaWFnbm9zaXMoRW5jb3VudGVyV2l0aEFnZSkuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgoJVEpDLiJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBEaXNwb3NpdGlvbiIKCQl1bmlvbiBUSkMuIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiIKCiAgICBkZWZpbmUgIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIERpc3Bvc2l0aW9uIjoKICAgIAkoICggIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCiAgICAJCQkJd2hlcmUgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSIKICAgIAkJCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiCiAgICAJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiUGF0aWVudCBFeHBpcmVkIgogICAgCQkJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIgogICAgCQkJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSIKICAgIAkJKQogICAgCSkKCiAgICBkZWZpbmUgIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiI6CiAgICAJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCiAgICAJCXdpdGggIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiBDb21mb3J0TWVhc3VyZQogICAgCQkJc3VjaCB0aGF0IENvYWxlc2NlKHN0YXJ0IG9mIENvbWZvcnRNZWFzdXJlLnBlcmZvcm1lZCwgQ29tZm9ydE1lYXN1cmUuYXV0aG9yZWRPbilkdXJpbmcgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKElzY2hlbWljU3Ryb2tlRW5jb3VudGVyKQoKICAgICAgICAgIGRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgogICAgICAgICAgCShbIlByb2NlZHVyZVJlcXVlc3QiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIFAKICAgICAgICAgIAkJd2hlcmUgUC5pbnRlbnQgPSAnb3JkZXInKQogICAgICAgICAgCQl1bmlvbgogICAgICAgICAgCQkoWyJQcm9jZWR1cmUiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIEludGVydmV0aW9uUGVyZm9ybWVkCiAgICAgICAgICAJCXdoZXJlIEludGVydmV0aW9uUGVyZm9ybWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnKQoKZGVmaW5lICJOdW1lcmF0b3IiOgoJVEpDLiJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgoJCXdpdGggIkFudGl0aHJvbWJvdGljIFRoZXJhcHkgYXQgRGlzY2hhcmdlIiBEaXNjaGFyZ2VBbnRpdGhyb21ib3RpYwoJCQlzdWNoIHRoYXQgRGlzY2hhcmdlQW50aXRocm9tYm90aWMuYXV0aG9yZWRPbiBkdXJpbmcgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kCgogICAgICBkZWZpbmUgIkFudGl0aHJvbWJvdGljIFRoZXJhcHkgYXQgRGlzY2hhcmdlIjoKICAgICAgCS8vVGhlIGZvbGxvd2luZyBzaG91bGQgd29yaywgYnV0IGl0J3MgcGVuZGluZyBhIGZpeCBpbiB0aGUgQ1FMIEVuZ2luZSwgcmVmIGh0dHBzOi8vZ2l0aHViLmNvbS9EQkNHL2NxbF9lbmdpbmUvaXNzdWVzLzI3MS4KICAgICAgICAvL1siTWVkaWNhdGlvblJlcXVlc3QiOiAiQW50aXRocm9tYm90aWMgVGhlcmFweSJdIEFudGl0aHJvbWJvdGljCiAgICAgICAgLy93aGVyZSBBbnRpdGhyb21ib3RpYy5pbnRlbnQgPSAnb3JkZXInCiAgICAgICAgCiAgICAgICAgLy9UZW1wb3JhcmlseSB1c2luZyB0aGUgZm9sbG93aW5nIHVudGlsIHRoZSBmaXggaXMgYXZhaWxhYmxlLgogICAgICAgIFsiTWVkaWNhdGlvblJlcXVlc3QiXSBBbnRpdGhyb21ib3RpYwogICAgICAgICAgICB3aGVyZSAoQW50aXRocm9tYm90aWMubWVkaWNhdGlvbiBhcyBDb2RlYWJsZUNvbmNlcHQpIGluICJBbnRpdGhyb21ib3RpYyBUaGVyYXB5IgogICAgICAJICAgIGFuZCBBbnRpdGhyb21ib3RpYy5pbnRlbnQgPSAnb3JkZXInCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2VwdGlvbnMiOgoJIkVuY291bnRlciBXaXRoIE5vIEFudGl0aHJvbWJvdGljIEF0IERpc2NoYXJnZSIKCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggVGljYWdyZWxvciBhdCBEaXNjaGFyZ2UiCgogICAgZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBObyBBbnRpdGhyb21ib3RpYyBBdCBEaXNjaGFyZ2UiOgogICAgCVRKQy4iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKICAgIAkJd2l0aCAiQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSIgTm9EaXNjaGFyZ2VBbnRpdGhyb21ib3RpYwogICAgCQkJc3VjaCB0aGF0IE5vRGlzY2hhcmdlQW50aXRocm9tYm90aWMuYXV0aG9yZWRPbiBkdXJpbmcgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kCgogICAgICAgICAgZGVmaW5lICJBbnRpdGhyb21ib3RpYyBOb3QgR2l2ZW4gYXQgRGlzY2hhcmdlIjoKICAgICAgICAgIAlbIk1lZGljYXRpb25SZXF1ZXN0IjogIkFudGl0aHJvbWJvdGljIFRoZXJhcHkiXSBOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlCiAgICAgICAgICAJICAvLyBTVFUzCiAgICAgICAgICAJCXdoZXJlIGV4aXN0cyAoTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZS5leHRlbnNpb24gRSB3aGVyZSBFLnVybCA9ICdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2RhdmluY2ktZGVxbS9TVFUzL1N0cnVjdHVyZURlZmluaXRpb24vZXh0ZW5zaW9uLWRvTm90UGVyZm9ybScgYW5kIEUudmFsdWUgaXMgdHJ1ZSkKICAgICAgICAgIAkJLy8gUjQKICAgICAgICAgIAkJLy93aGVyZSBOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlLmRvTm90UGVyZm9ybSBpcyB0cnVlCiAgICAgICAgICAJCQlhbmQgKHNpbmdsZXRvbiBmcm9tIE5vQW50aXRocm9tYm90aWNEaXNjaGFyZ2UucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iCiAgICAgICAgICAJCQkJb3Igc2luZ2xldG9uIGZyb20gTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZS5yZWFzb25Db2RlIGluICJQYXRpZW50IFJlZnVzYWwiKQoKICAgICAgICAgIC8vIE5PVEU6IE9uIHRoZSBhc3N1bXB0aW9uIHRoYXQgc3RhdHVzIG9mIG5vdC10YWtlbiBpcyB0aGUgY2xvc2VzdCB0byB3aGF0IHRoZSBtZWFzdXJlIGlzIGxvb2tpbmcgZm9yLCB0aGlzIGlzIHRoZSBleHByZXNzaW9uOgogICAgICAgICAgLy8gVE9ETzogUmVxdWVzdCBkaXNjdXNzaW9uIHcvIFBoYXJtYWN5IHJlZ2FyZGluZyBob3cgbWVkaWNhdGlvbnMgbm90IHByZXNjcmliZWQgYXQgZGlzY2hhcmdlZCB3b3VsZCBiZSBkb2N1bWVudGVkCiAgICAgICAgICAvL2RlZmluZSAiQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSBSNCI6CiAgICAgICAgICAvLyAgWyJNZWRpY2F0aW9uU3RhdGVtZW50IjogIkFudGl0aHJvbWJvdGljIFRoZXJhcHkiXSBBbnRpdGhyb21ib3RpY1RoZXJhcHkKICAgICAgICAgIC8vCSAgd2hlcmUgQW50aXRocm9tYm90aWNUaGVyYXB5LnN0YXR1cyA9ICdub3QtdGFrZW4nCiAgICAgICAgICAvLwkJICBhbmQgKEFudGl0aHJvbWJvdGljVGhlcmFweS5zdGF0dXNSZWFzb24gaW4gIk1lZGljYWwgUmVhc29uIgogICAgICAgICAgLy8JCQkJb3IgQW50aXRocm9tYnRvaWNUaGVyYXB5LnN0YXR1c1JlYXNvbiBpbiAiUGF0aWVudCBSZWZ1c2FsIikKCiAgICAgICAgICAvLyBJZiBpdCdzIGRvY3VtZW50ZWQgYXMgYSBjaGVja2JveCwgaXQgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGFuIG9ic2VydmF0aW9uCiAgICAgICAgICAvL2RlZmluZSAiQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSAoT2JzZXJ2YXRpb24pIjoKICAgICAgICAgIC8vICBbIk9ic2VydmF0aW9uIjogIk1lZGljYXRpb24gTm90IEdpdmVuIEF0IERpc2NoYXJnZSJdIE8KICAgICAgICAgIC8vCSAgd2hlcmUgTy52YWx1ZSBpbiAiQW50aXRocm9tYm90aWMgVGhlcmFweSIKCiAgICAgIC8qCiAgICAgIGRlZmluZSAiRW5jb3VudGVyIFdpdGggVGljYWdyZWxvciBEdXJpbmcgSG9zcGl0YWxpemF0aW9uIjoKICAgICAgCVRKQy4iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKICAgICAgCQl3aXRoIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiBUSkMuIlRpY2FncmVsb3IgVGhlcmFweSJdIFRpY2FncmVsb3IKICAgICAgCQkJc3VjaCB0aGF0IFRpY2FncmVsb3IuZWZmZWN0aXZlIHN0YXJ0cyBkdXJpbmcgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKElzY2hlbWljU3Ryb2tlRW5jb3VudGVyKQogICAgICAqLwogICAgICAvL0xvb2tpbmcgZm9yIFRpY2FncmVsb3IgYXMgZGlzY2hhcmdlIG1lZGljYXRpb24sIGluY2x1ZGUgYSBjb3JyZWN0ZWQgZGVmaW50aW9uIGluIDIwMjEgQ1FMIGJhc2VkIG1lYXN1cmUKICAgICAgZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBUaWNhZ3JlbG9yIGF0IERpc2NoYXJnZSI6CiAgICAgICAgVEpDLiJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgogICAgICAgICAgd2l0aCAiVGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSIgRGlzY2hhcmdlVGljYWdyZWxvcgogICAgICAgICAgICBzdWNoIHRoYXQgRGlzY2hhcmdlVGljYWdyZWxvci5hdXRob3JlZE9uIGR1cmluZyBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QKCiAgICAgICAgICAgIGRlZmluZSAiVGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSI6CiAgICAgICAgICAgICAgWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gVEpDLiJUaWNhZ3JlbG9yIFRoZXJhcHkiXSBUaWNhZ3JlbG9yCiAgICAgICAgICAgICAgICB3aGVyZSAoVGljYWdyZWxvci5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdCkgaW4gVEpDLiJUaWNhZ3JlbG9yIFRoZXJhcHkiCiAgICAgICAgICAgICAgICAgIGFuZCBUaWNhZ3JlbG9yLmludGVudCA9ICdvcmRlcicK" - } - ] + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39" + } + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE0xMDRfRkhJUjMgdmVyc2lvbiAnOC4xLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEwNHY4IC0gRGlzY2hhcmdlZCBvbiBBbnRpdGhyb21ib3RpYyBUaGVyYXB5CkF1dGhvcjogVEpDClNUSyAyCiovCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKaW5jbHVkZSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcgY2FsbGVkIEdsb2JhbAppbmNsdWRlIFRKQ092ZXJhbGxfRkhJUjMgdmVyc2lvbiAnMy42LjAwMCcgY2FsbGVkIFRKQwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCmNvZGVzeXN0ZW0gIlJlcXVlc3RJbnRlbnQiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCcKLy8gTk9URTogVGhpcyBpcyBhbiBSNCBjb2RlIHN5c3RlbQpjb2Rlc3lzdGVtICJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnknCgp2YWx1ZXNldCAiQW50aXRocm9tYm90aWMgVGhlcmFweSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjAxJwp2YWx1ZXNldCAiQ29tZm9ydCBNZWFzdXJlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUnCnZhbHVlc2V0ICJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuODcnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNycKdmFsdWVzZXQgIkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDknCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkhlbW9ycmhhZ2ljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjEyJwp2YWx1ZXNldCAiSXNjaGVtaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNDcnCnZhbHVlc2V0ICJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOCcKdmFsdWVzZXQgIk1lZGljYWwgUmVhc29uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40NzMnCnZhbHVlc2V0ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDI0Jwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MycKdmFsdWVzZXQgIk9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xJwp2YWx1ZXNldCAiUGF0aWVudCBFeHBpcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDknCnZhbHVlc2V0ICJQYXRpZW50IFJlZnVzYWwiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjkzJwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiVGljYWdyZWxvciBUaGVyYXB5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOScKCmNvZGUgIkJpcnRoIGRhdGUiOiAnMjExMTItOCcgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ0JpcnRoIGRhdGUnCgovLyBOT1RFOiBUaGlzIGlzIGFuIFI0IGNvZGUKY29kZSAiRGlzY2hhcmdlIjogJ2Rpc2NoYXJnZScgZnJvbSAiTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIgZGlzcGxheSAnRGlzY2hhcmdlJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgogIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCkKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CglTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgoJU0RFLiJTREUgU2V4IgoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgoJVEpDLiJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiCgogIGRlZmluZSAiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIjoKICAJIkFsbCBTdHJva2UgRW5jb3VudGVyIiBBbGxTdHJva2VFbmNvdW50ZXIKICAJCXdpdGggWyJQYXRpZW50Il0gQmlydGhEYXRlCiAgCQkJc3VjaCB0aGF0IEFnZUluWWVhcnNBdChBbGxTdHJva2VFbmNvdW50ZXIucGVyaW9kLnN0YXJ0KSA+PSAxOAoKICAgICAgICBkZWZpbmUgIkFsbCBTdHJva2UgRW5jb3VudGVyIjoKICAgICAgICAJIk5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBOb25FbGVjdGl2ZUVuY291bnRlcgogICAgICAgIAkJd2hlcmUgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSGVtb3JyaGFnaWMgU3Ryb2tlIgogICAgICAgIAkJb3IgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKICAgICAgICAgICAgZGVmaW5lICJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6CiAgICAgICAgICAgIAlbIkVuY291bnRlciI6ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciJdIE5vbkVsZWN0aXZlRW5jb3VudGVyCiAgICAgICAgICAgIAkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKICAgICAgICAgICAgCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CglUSkMuIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiCgogIGRlZmluZSAiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciI6CiAgCSJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiIEVuY291bnRlcldpdGhBZ2UKICAJCXdoZXJlIEdsb2JhbC5QcmluY2lwYWxEaWFnbm9zaXMoRW5jb3VudGVyV2l0aEFnZSkuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgoJVEpDLiJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBEaXNwb3NpdGlvbiIKCQl1bmlvbiBUSkMuIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiIKCiAgICBkZWZpbmUgIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIERpc3Bvc2l0aW9uIjoKICAgIAkoICggIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCiAgICAJCQkJd2hlcmUgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSIKICAgIAkJCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiCiAgICAJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiUGF0aWVudCBFeHBpcmVkIgogICAgCQkJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIgogICAgCQkJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSIKICAgIAkJKQogICAgCSkKCiAgICBkZWZpbmUgIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiI6CiAgICAJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCiAgICAJCXdpdGggIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiBDb21mb3J0TWVhc3VyZQogICAgCQkJc3VjaCB0aGF0IENvYWxlc2NlKHN0YXJ0IG9mIENvbWZvcnRNZWFzdXJlLnBlcmZvcm1lZCwgQ29tZm9ydE1lYXN1cmUuYXV0aG9yZWRPbilkdXJpbmcgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKElzY2hlbWljU3Ryb2tlRW5jb3VudGVyKQoKICAgICAgICAgIGRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgogICAgICAgICAgCShbIlByb2NlZHVyZVJlcXVlc3QiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIFAKICAgICAgICAgIAkJd2hlcmUgUC5pbnRlbnQgPSAnb3JkZXInKQogICAgICAgICAgCQl1bmlvbgogICAgICAgICAgCQkoWyJQcm9jZWR1cmUiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIEludGVydmV0aW9uUGVyZm9ybWVkCiAgICAgICAgICAJCXdoZXJlIEludGVydmV0aW9uUGVyZm9ybWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnKQoKZGVmaW5lICJOdW1lcmF0b3IiOgoJVEpDLiJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgoJCXdpdGggIkFudGl0aHJvbWJvdGljIFRoZXJhcHkgYXQgRGlzY2hhcmdlIiBEaXNjaGFyZ2VBbnRpdGhyb21ib3RpYwoJCQlzdWNoIHRoYXQgRGlzY2hhcmdlQW50aXRocm9tYm90aWMuYXV0aG9yZWRPbiBkdXJpbmcgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kCgogICAgICBkZWZpbmUgIkFudGl0aHJvbWJvdGljIFRoZXJhcHkgYXQgRGlzY2hhcmdlIjoKICAgICAgCS8vVGhlIGZvbGxvd2luZyBzaG91bGQgd29yaywgYnV0IGl0J3MgcGVuZGluZyBhIGZpeCBpbiB0aGUgQ1FMIEVuZ2luZSwgcmVmIGh0dHBzOi8vZ2l0aHViLmNvbS9EQkNHL2NxbF9lbmdpbmUvaXNzdWVzLzI3MS4KICAgICAgICAvL1siTWVkaWNhdGlvblJlcXVlc3QiOiAiQW50aXRocm9tYm90aWMgVGhlcmFweSJdIEFudGl0aHJvbWJvdGljCiAgICAgICAgLy93aGVyZSBBbnRpdGhyb21ib3RpYy5pbnRlbnQgPSAnb3JkZXInCiAgICAgICAgCiAgICAgICAgLy9UZW1wb3JhcmlseSB1c2luZyB0aGUgZm9sbG93aW5nIHVudGlsIHRoZSBmaXggaXMgYXZhaWxhYmxlLgogICAgICAgIFsiTWVkaWNhdGlvblJlcXVlc3QiXSBBbnRpdGhyb21ib3RpYwogICAgICAgICAgICB3aGVyZSAoQW50aXRocm9tYm90aWMubWVkaWNhdGlvbiBhcyBDb2RlYWJsZUNvbmNlcHQpIGluICJBbnRpdGhyb21ib3RpYyBUaGVyYXB5IgogICAgICAJICAgIGFuZCBBbnRpdGhyb21ib3RpYy5pbnRlbnQgPSAnb3JkZXInCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2VwdGlvbnMiOgoJIkVuY291bnRlciBXaXRoIE5vIEFudGl0aHJvbWJvdGljIEF0IERpc2NoYXJnZSIKCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggVGljYWdyZWxvciBhdCBEaXNjaGFyZ2UiCgogICAgZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBObyBBbnRpdGhyb21ib3RpYyBBdCBEaXNjaGFyZ2UiOgogICAgCVRKQy4iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKICAgIAkJd2l0aCAiQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSIgTm9EaXNjaGFyZ2VBbnRpdGhyb21ib3RpYwogICAgCQkJc3VjaCB0aGF0IE5vRGlzY2hhcmdlQW50aXRocm9tYm90aWMuYXV0aG9yZWRPbiBkdXJpbmcgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kCgogICAgICAgICAgZGVmaW5lICJBbnRpdGhyb21ib3RpYyBOb3QgR2l2ZW4gYXQgRGlzY2hhcmdlIjoKICAgICAgICAgIAlbIk1lZGljYXRpb25SZXF1ZXN0IjogIkFudGl0aHJvbWJvdGljIFRoZXJhcHkiXSBOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlCiAgICAgICAgICAJICAvLyBTVFUzCiAgICAgICAgICAJCXdoZXJlIGV4aXN0cyAoTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZS5leHRlbnNpb24gRSB3aGVyZSBFLnVybCA9ICdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2RhdmluY2ktZGVxbS9TVFUzL1N0cnVjdHVyZURlZmluaXRpb24vZXh0ZW5zaW9uLWRvTm90UGVyZm9ybScgYW5kIEUudmFsdWUgaXMgdHJ1ZSkKICAgICAgICAgIAkJLy8gUjQKICAgICAgICAgIAkJLy93aGVyZSBOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlLmRvTm90UGVyZm9ybSBpcyB0cnVlCiAgICAgICAgICAJCQlhbmQgKHNpbmdsZXRvbiBmcm9tIE5vQW50aXRocm9tYm90aWNEaXNjaGFyZ2UucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iCiAgICAgICAgICAJCQkJb3Igc2luZ2xldG9uIGZyb20gTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZS5yZWFzb25Db2RlIGluICJQYXRpZW50IFJlZnVzYWwiKQoKICAgICAgICAgIC8vIE5PVEU6IE9uIHRoZSBhc3N1bXB0aW9uIHRoYXQgc3RhdHVzIG9mIG5vdC10YWtlbiBpcyB0aGUgY2xvc2VzdCB0byB3aGF0IHRoZSBtZWFzdXJlIGlzIGxvb2tpbmcgZm9yLCB0aGlzIGlzIHRoZSBleHByZXNzaW9uOgogICAgICAgICAgLy8gVE9ETzogUmVxdWVzdCBkaXNjdXNzaW9uIHcvIFBoYXJtYWN5IHJlZ2FyZGluZyBob3cgbWVkaWNhdGlvbnMgbm90IHByZXNjcmliZWQgYXQgZGlzY2hhcmdlZCB3b3VsZCBiZSBkb2N1bWVudGVkCiAgICAgICAgICAvL2RlZmluZSAiQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSBSNCI6CiAgICAgICAgICAvLyAgWyJNZWRpY2F0aW9uU3RhdGVtZW50IjogIkFudGl0aHJvbWJvdGljIFRoZXJhcHkiXSBBbnRpdGhyb21ib3RpY1RoZXJhcHkKICAgICAgICAgIC8vCSAgd2hlcmUgQW50aXRocm9tYm90aWNUaGVyYXB5LnN0YXR1cyA9ICdub3QtdGFrZW4nCiAgICAgICAgICAvLwkJICBhbmQgKEFudGl0aHJvbWJvdGljVGhlcmFweS5zdGF0dXNSZWFzb24gaW4gIk1lZGljYWwgUmVhc29uIgogICAgICAgICAgLy8JCQkJb3IgQW50aXRocm9tYnRvaWNUaGVyYXB5LnN0YXR1c1JlYXNvbiBpbiAiUGF0aWVudCBSZWZ1c2FsIikKCiAgICAgICAgICAvLyBJZiBpdCdzIGRvY3VtZW50ZWQgYXMgYSBjaGVja2JveCwgaXQgbWF5IGJlIHJlcHJlc2VudGVkIGFzIGFuIG9ic2VydmF0aW9uCiAgICAgICAgICAvL2RlZmluZSAiQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSAoT2JzZXJ2YXRpb24pIjoKICAgICAgICAgIC8vICBbIk9ic2VydmF0aW9uIjogIk1lZGljYXRpb24gTm90IEdpdmVuIEF0IERpc2NoYXJnZSJdIE8KICAgICAgICAgIC8vCSAgd2hlcmUgTy52YWx1ZSBpbiAiQW50aXRocm9tYm90aWMgVGhlcmFweSIKCiAgICAgIC8qCiAgICAgIGRlZmluZSAiRW5jb3VudGVyIFdpdGggVGljYWdyZWxvciBEdXJpbmcgSG9zcGl0YWxpemF0aW9uIjoKICAgICAgCVRKQy4iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKICAgICAgCQl3aXRoIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiBUSkMuIlRpY2FncmVsb3IgVGhlcmFweSJdIFRpY2FncmVsb3IKICAgICAgCQkJc3VjaCB0aGF0IFRpY2FncmVsb3IuZWZmZWN0aXZlIHN0YXJ0cyBkdXJpbmcgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKElzY2hlbWljU3Ryb2tlRW5jb3VudGVyKQogICAgICAqLwogICAgICAvL0xvb2tpbmcgZm9yIFRpY2FncmVsb3IgYXMgZGlzY2hhcmdlIG1lZGljYXRpb24sIGluY2x1ZGUgYSBjb3JyZWN0ZWQgZGVmaW50aW9uIGluIDIwMjEgQ1FMIGJhc2VkIG1lYXN1cmUKICAgICAgZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBUaWNhZ3JlbG9yIGF0IERpc2NoYXJnZSI6CiAgICAgICAgVEpDLiJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgogICAgICAgICAgd2l0aCAiVGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSIgRGlzY2hhcmdlVGljYWdyZWxvcgogICAgICAgICAgICBzdWNoIHRoYXQgRGlzY2hhcmdlVGljYWdyZWxvci5hdXRob3JlZE9uIGR1cmluZyBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QKCiAgICAgICAgICAgIGRlZmluZSAiVGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSI6CiAgICAgICAgICAgICAgWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gVEpDLiJUaWNhZ3JlbG9yIFRoZXJhcHkiXSBUaWNhZ3JlbG9yCiAgICAgICAgICAgICAgICB3aGVyZSAoVGljYWdyZWxvci5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdCkgaW4gVEpDLiJUaWNhZ3JlbG9yIFRoZXJhcHkiCiAgICAgICAgICAgICAgICAgIGFuZCBUaWNhZ3JlbG9yLmludGVudCA9ICdvcmRlcicK" + }, { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjMiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTEwNF9GSElSMyIgdmVyc2lvbj0iOC4xLjAwMCIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9Ijk6MS05OjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxIj4KICAgICAgICAgICAgICAgPGE6cz51c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyIiBsb2NhdG9yPSIxMToxLTExOjM1IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICczLjAuMCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMyIgbG9jYXRvcj0iMTI6MS0xMjo3MCIgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iNC4wLjAwMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+TUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQiIGxvY2F0b3I9IjEzOjEtMTM6NTMiIGxvY2FsSWRlbnRpZmllcj0iVEpDIiBwYXRoPSJUSkNPdmVyYWxsX0ZISVIzIiB2ZXJzaW9uPSIzLjYuMDAwIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5USkNPdmVyYWxsX0ZISVIzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICczLjYuMDAwJyBjYWxsZWQgVEpDPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUiIGxvY2F0b3I9IjE0OjEtMTQ6NjUiIGxvY2FsSWRlbnRpZmllcj0iU0RFIiBwYXRoPSJTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMiIHZlcnNpb249IjEuMC4wIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNSI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5TdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzEuMC4wJyBjYWxsZWQgU0RFPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8cGFyYW1ldGVycz4KICAgICAgPGRlZiBsb2NhbElkPSIzOSIgbG9jYXRvcj0iNDg6MS00OTo2NiIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzkiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzgiPgogICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogIGRlZmF1bHQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0Ij5JbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMzYiIGxvY2F0b3I9IjQ5OjExLTQ5OjY2IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjM0IiBsb2NhdG9yPSI0OToyMC00OTo0MSIgeHNpOnR5cGU9IkRhdGVUaW1lIj4KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDE5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIzNSIgbG9jYXRvcj0iNDk6NDQtNDk6NjUiIHhzaTp0eXBlPSJEYXRlVGltZSI+CiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZGVmYXVsdD4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzgiIGxvY2F0b3I9IjQ4OjMyLTQ4OjQ5IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSIzNyIgbG9jYXRvcj0iNDg6NDEtNDg6NDgiIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPgogICAgICA8L2RlZj4KICAgPC9wYXJhbWV0ZXJzPgogICA8Y29kZVN5c3RlbXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iNiIgbG9jYXRvcj0iMTY6MS0xNjozOCIgbmFtZT0iTE9JTkMiIGlkPSJodHRwOi8vbG9pbmMub3JnIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNiI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtMT0lOQyZxdW90OzogJ2h0dHA6Ly9sb2luYy5vcmcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjciIGxvY2F0b3I9IjE3OjEtMTc6NjAiIG5hbWU9IlNOT01FRENUIiBpZD0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O1NOT01FRENUJnF1b3Q7OiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgiIGxvY2F0b3I9IjE4OjEtMTg6NjUiIG5hbWU9IkRpYWdub3NpcyBSb2xlIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7RGlhZ25vc2lzIFJvbGUmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5IiBsb2NhdG9yPSIxOToxLTE5OjY0IiBuYW1lPSJSZXF1ZXN0SW50ZW50IiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7UmVxdWVzdEludGVudCZxdW90OzogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwIiBsb2NhdG9yPSIyMToxLTIxOjEwNiIgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIgaWQ9Imh0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vbWVkaWNhdGlvbnJlcXVlc3QtY2F0ZWdvcnkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5JnF1b3Q7OiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS9tZWRpY2F0aW9ucmVxdWVzdC1jYXRlZ29yeSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvY29kZVN5c3RlbXM+CiAgIDx2YWx1ZVNldHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTEiIGxvY2F0b3I9IjIzOjEtMjM6MTA3IiBuYW1lPSJBbnRpdGhyb21ib3RpYyBUaGVyYXB5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtBbnRpdGhyb21ib3RpYyBUaGVyYXB5JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTIiIGxvY2F0b3I9IjI0OjEtMjQ6OTQiIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMiI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7Q29tZm9ydCBNZWFzdXJlcyZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8xLjMuNi4xLjQuMS4zMzg5NS4xLjMuMC40NSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTMiIGxvY2F0b3I9IjI1OjEtMjU6MTE2IiBuYW1lPSJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS44NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS44Nyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQiIGxvY2F0b3I9IjI2OjEtMjY6MTM2IiBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0Rpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE1IiBsb2NhdG9yPSIyNzoxLTI3OjEyMCIgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTUiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0Rpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwOSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTYiIGxvY2F0b3I9IjI4OjEtMjg6MTExIiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNiI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7RW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNyIgbG9jYXRvcj0iMjk6MS0yOTo4NyIgbmFtZT0iRXRobmljaXR5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM3IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTciPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0V0aG5pY2l0eSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTgiIGxvY2F0b3I9IjMwOjEtMzA6MTAzIiBuYW1lPSJIZW1vcnJoYWdpYyBTdHJva2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjEyIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTgiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0hlbW9ycmhhZ2ljIFN0cm9rZSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE5IiBsb2NhdG9yPSIzMToxLTMxOjEwMCIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE5Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtJc2NoZW1pYyBTdHJva2UmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMCIgbG9jYXRvcj0iMzI6MS0zMjoxMTIiIG5hbWU9IkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMCI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7TGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjEiIGxvY2F0b3I9IjMzOjEtMzM6OTkiIG5hbWU9Ik1lZGljYWwgUmVhc29uIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQ3MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtNZWRpY2FsIFJlYXNvbiZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40NzMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyIiBsb2NhdG9yPSIzNDoxLTM0OjExNyIgbmFtZT0iTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDI0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjIiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O05vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjMiIGxvY2F0b3I9IjM1OjEtMzU6MTAyIiBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMyI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7T2JzZXJ2YXRpb24gU2VydmljZXMmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTQzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNCIgbG9jYXRvcj0iMzY6MS0zNjo5NyIgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI0Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtPTkMgQWRtaW5pc3RyYXRpdmUgU2V4JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNSIgbG9jYXRvcj0iMzc6MS0zNzoxMDAiIG5hbWU9IlBhdGllbnQgRXhwaXJlZCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNSI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7UGF0aWVudCBFeHBpcmVkJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjYiIGxvY2F0b3I9IjM4OjEtMzg6OTkiIG5hbWU9IlBhdGllbnQgUmVmdXNhbCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS45MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI2Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtQYXRpZW50IFJlZnVzYWwmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuOTMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3IiBsb2NhdG9yPSIzOToxLTM5Ojg0IiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNyI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7UGF5ZXImcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyOCIgbG9jYXRvcj0iNDA6MS00MDo4MiIgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI4Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtSYWNlJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyOSIgbG9jYXRvcj0iNDE6MS00MTo5OSIgbmFtZT0iVGljYWdyZWxvciBUaGVyYXB5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTEwLjM5IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjkiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1RpY2FncmVsb3IgVGhlcmFweSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdmFsdWVTZXRzPgogICA8Y29kZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzEiIGxvY2F0b3I9IjQzOjEtNDM6NjIiIG5hbWU9IkJpcnRoIGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzEiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7QmlydGggZGF0ZSZxdW90OzogJzIxMTEyLTgnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzAiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0xPSU5DJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdCaXJ0aCBkYXRlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIzMCIgbG9jYXRvcj0iNDM6MzUtNDM6NDEiIG5hbWU9IkxPSU5DIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMzIiBsb2NhdG9yPSI0NjoxLTQ2OjgyIiBuYW1lPSJEaXNjaGFyZ2UiIGlkPSJkaXNjaGFyZ2UiIGRpc3BsYXk9IkRpc2NoYXJnZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMzIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O0Rpc2NoYXJnZSZxdW90OzogJ2Rpc2NoYXJnZScgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnRGlzY2hhcmdlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIzMiIgbG9jYXRvcj0iNDY6MzYtNDY6NjIiIG5hbWU9Ik1lZGljYXRpb25SZXF1ZXN0Q2F0ZWdvcnkiLz4KICAgICAgPC9kZWY+CiAgIDwvY29kZXM+CiAgIDxjb250ZXh0cz4KICAgICAgPGRlZiBsb2NhdG9yPSI1MToxLTUxOjE1IiBuYW1lPSJQYXRpZW50Ii8+CiAgIDwvY29udGV4dHM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjUxOjEtNTE6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjUxOjEtNTE6MTUiIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQyIiBsb2NhdG9yPSI1MzoxLTU0OjIxIiBuYW1lPSJTREUgRXRobmljaXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtTREUgRXRobmljaXR5JnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+U0RFPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U0RFIEV0aG5pY2l0eSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQxIiBsb2NhdG9yPSI1NDozLTU0OjIxIiBuYW1lPSJTREUgRXRobmljaXR5IiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NSIgbG9jYXRvcj0iNTY6MS01NzoxNiIgbmFtZT0iU0RFIFBheWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtTREUgUGF5ZXImcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPlNERTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1NERSBQYXllciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ0IiBsb2NhdG9yPSI1NzoyLTU3OjE2IiBuYW1lPSJTREUgUGF5ZXIiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ4IiBsb2NhdG9yPSI1OToxLTYwOjE2IiBuYW1lPSJTREUgUmFjZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7U0RFIFJhY2UmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5TREU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTREUgUmFjZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ3IiBsb2NhdG9yPSI2MDozLTYwOjE2IiBuYW1lPSJTREUgUmFjZSIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTEiIGxvY2F0b3I9IjYyOjEtNjM6MTQiIG5hbWU9IlNERSBTZXgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1MSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O1NERSBTZXgmcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPlNERTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1NERSBTZXgmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MCIgbG9jYXRvcj0iNjM6Mi02MzoxNCIgbmFtZT0iU0RFIFNleCIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTQiIGxvY2F0b3I9IjY1OjEtNjY6NDkiIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7SW5pdGlhbCBQb3B1bGF0aW9uJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5USkM8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MyIgbG9jYXRvcj0iNjY6Mi02Njo0OSIgbmFtZT0iRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2OSIgbG9jYXRvcj0iNzg6MTMtODE6NzkiIG5hbWU9Ik5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciZxdW90OzoKICAgICAgICAgICAgCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7RW5jb3VudGVyJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTm9uRWxlY3RpdmVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjY3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TGVuZ3RoSW5EYXlzJnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Tm9uRWxlY3RpdmVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxIj4mbHQ7PSAxMjA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgIAkJCWFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob25FbGVjdGl2ZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjYiPiBlbmRzIGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjgiIGxvY2F0b3I9Ijc5OjE0LTgxOjc5IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjU2IiBsb2NhdG9yPSI3OToxNC03OTo4MyIgYWxpYXM9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTUiIGxvY2F0b3I9Ijc5OjE0LTc5OjYyIiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iNzk6MjgtNzk6NjEiIG5hbWU9Ik5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjY3IiBsb2NhdG9yPSI4MDoxNS04MTo3OSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYyIiBsb2NhdG9yPSI4MDoyMS04MDo3NiIgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjAiIGxvY2F0b3I9IjgwOjIxLTgwOjcwIiBuYW1lPSJMZW5ndGhJbkRheXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTkiIGxvY2F0b3I9IjgwOjQzLTgwOjY5IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MSIgbG9jYXRvcj0iODA6NzQtODA6NzYiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY2IiBsb2NhdG9yPSI4MToyMC04MTo3OSIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iODE6NDgtODE6NTEiIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY0IiBsb2NhdG9yPSI4MToyMC04MTo0NiIgcGF0aD0icGVyaW9kIiBzY29wZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjUiIGxvY2F0b3I9IjgxOjYwLTgxOjc5IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijg2IiBsb2NhdG9yPSI3Mzo5LTc2Ojg2IiBuYW1lPSJBbGwgU3Ryb2tlIEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7QWxsIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs6CiAgICAgICAgCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O05vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTm9uRWxlY3RpdmVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIAkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UHJpbmNpcGFsRGlhZ25vc2lzKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob25FbGVjdGl2ZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SGVtb3JyaGFnaWMgU3Ryb2tlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAJCW9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HbG9iYWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QcmluY2lwYWxEaWFnbm9zaXMoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk5vbkVsZWN0aXZlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4NSIgbG9jYXRvcj0iNzQ6MTAtNzY6ODYiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzEiIGxvY2F0b3I9Ijc0OjEwLTc0OjY0IiBhbGlhcz0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3MCIgbG9jYXRvcj0iNzQ6MTAtNzQ6NDMiIG5hbWU9Ik5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9Ijg0IiBsb2NhdG9yPSI3NToxMS03Njo4NiIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzciIGxvY2F0b3I9Ijc1OjE3LTc1OjkyIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3NSIgbG9jYXRvcj0iNzU6MTctNzU6NjgiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzQiIGxvY2F0b3I9Ijc1OjE3LTc1OjYzIiBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjczIiBsb2NhdG9yPSI3NTo0My03NTo2MiIgbmFtZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSI3NiIgbG9jYXRvcj0iNzU6NzMtNzU6OTIiIG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODMiIGxvY2F0b3I9Ijc2OjE0LTc2Ojg2IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MSIgbG9jYXRvcj0iNzY6MTQtNzY6NjUiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODAiIGxvY2F0b3I9Ijc2OjE0LTc2OjYwIiBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc5IiBsb2NhdG9yPSI3Njo0MC03Njo1OSIgbmFtZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSI4MiIgbG9jYXRvcj0iNzY6NzAtNzY6ODYiIG5hbWU9IklzY2hlbWljIFN0cm9rZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5OSIgbG9jYXRvcj0iNjg6My03MTo2NiIgbmFtZT0iRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOTkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UmcXVvdDs6CiAgCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijk4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0FsbCBTdHJva2UgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gQWxsU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aXRoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtQYXRpZW50JnF1b3Q7XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAJCQlzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5BZ2VJblllYXJzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWxsU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk1Ij4gPj0gMTg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTgiIGxvY2F0b3I9IjY5OjQtNzE6NjYiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODgiIGxvY2F0b3I9IjY5OjQtNjk6NDQiIGFsaWFzPSJBbGxTdHJva2VFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4NyIgbG9jYXRvcj0iNjk6NC02OToyNSIgbmFtZT0iQWxsIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9Ijk3IiBsb2NhdG9yPSI3MDo1LTcxOjY2IiBhbGlhcz0iQmlydGhEYXRlIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg5IiBsb2NhdG9yPSI3MDoxMC03MDoyMCIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgICAgIDxzdWNoVGhhdCBsb2NhbElkPSI5NiIgbG9jYXRvcj0iNzE6MTYtNzE6NjYiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk0IiBsb2NhdG9yPSI3MToxNi03MTo2MCIgcHJlY2lzaW9uPSJZZWFyIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5MyIgbG9jYXRvcj0iNzE6MjktNzE6NTkiIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjkyIiBsb2NhdG9yPSI3MToyOS03MTo1MyIgcGF0aD0icGVyaW9kIiBzY29wZT0iQWxsU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTUiIGxvY2F0b3I9IjcxOjY1LTcxOjY2IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE4IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3N1Y2hUaGF0PgogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDIiIGxvY2F0b3I9IjgzOjEtODQ6MzIiIG5hbWU9IkRlbm9taW5hdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RGVub21pbmF0b3ImcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+VEpDPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDEiIGxvY2F0b3I9Ijg0OjItODQ6MzIiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIGxpYnJhcnlOYW1lPSJUSkMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExMiIgbG9jYXRvcj0iODY6My04ODo3OSIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs6CiAgCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0VuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEVuY291bnRlcldpdGhBZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogIAkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkdsb2JhbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QcmluY2lwYWxEaWFnbm9zaXMoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXJXaXRoQWdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTExIiBsb2NhdG9yPSI4Nzo0LTg4Ojc5IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEwNCIgbG9jYXRvcj0iODc6NC04Nzo2NCIgYWxpYXM9IkVuY291bnRlcldpdGhBZ2UiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDMiIGxvY2F0b3I9Ijg3OjQtODc6NDciIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxMTAiIGxvY2F0b3I9Ijg4OjUtODg6NzkiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEwOCIgbG9jYXRvcj0iODg6MTEtODg6NTgiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTA3IiBsb2NhdG9yPSI4ODoxMS04ODo1MyIgbmFtZT0iUHJpbmNpcGFsRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDYiIGxvY2F0b3I9Ijg4OjM3LTg4OjUyIiBuYW1lPSJFbmNvdW50ZXJXaXRoQWdlIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTA5IiBsb2NhdG9yPSI4ODo2My04ODo3OSIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMTgiIGxvY2F0b3I9IjkwOjEtOTI6NTMiIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2x1c2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExOCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0Rlbm9taW5hdG9yIEV4Y2x1c2lvbiZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExNyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRKQzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBEaXNwb3NpdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJdW5pb24gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRKQzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTE3IiBsb2NhdG9yPSI5MToyLTkyOjUzIiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTQiIGxvY2F0b3I9IjkxOjItOTE6NjAiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIERpc3Bvc2l0aW9uIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTYiIGxvY2F0b3I9IjkyOjktOTI6NTMiIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiIgbGlicmFyeU5hbWU9IlRKQyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNTEiIGxvY2F0b3I9Ijk0OjUtMTAyOjYiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIERpc3Bvc2l0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTUxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7SXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlcnMgd2l0aCBEaXNjaGFyZ2UgRGlzcG9zaXRpb24mcXVvdDs6CiAgICAJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTUwIj4KICAgICAgICAgICAgICAgICAgPGE6cz4oIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgCQkJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmhvc3BpdGFsaXphdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGlzY2hhcmdlRGlzcG9zaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0Rpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIAkJCQkJb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5ob3NwaXRhbGl6YXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRpc2NoYXJnZURpc3Bvc2l0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIAkJCQkJb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5ob3NwaXRhbGl6YXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRpc2NoYXJnZURpc3Bvc2l0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQYXRpZW50IEV4cGlyZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIAkJCQkJb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5ob3NwaXRhbGl6YXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRpc2NoYXJnZURpc3Bvc2l0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgCQkJCQlvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmhvc3BpdGFsaXphdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGlzY2hhcmdlRGlzcG9zaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0Rpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAJCSk8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAJKTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTUwIiBsb2NhdG9yPSI5NTo2LTEwMjo2IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyMCIgbG9jYXRvcj0iOTU6MTAtOTU6NjAiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExOSIgbG9jYXRvcj0iOTU6MTAtOTU6MzYiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMTQ5IiBsb2NhdG9yPSI5Njo5LTEwMDoxMjkiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0MyIgbG9jYXRvcj0iOTY6MTUtOTk6MTEzIiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzciIGxvY2F0b3I9Ijk2OjE1LTk4OjkzIiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzEiIGxvY2F0b3I9Ijk2OjE1LTk3OjEwNSIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTI1IiBsb2NhdG9yPSI5NjoxNS05NjoxMTIiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyMyIgbG9jYXRvcj0iOTY6MTUtOTY6NzQiIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyMiIgbG9jYXRvcj0iOTY6MTUtOTY6NTMiIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIxMjQiIGxvY2F0b3I9Ijk2Ojc5LTk2OjExMiIgbmFtZT0iRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzMCIgbG9jYXRvcj0iOTc6MTMtOTc6MTA1IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjgiIGxvY2F0b3I9Ijk3OjEzLTk3OjcyIiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMjciIGxvY2F0b3I9Ijk3OjEzLTk3OjUxIiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTI5IiBsb2NhdG9yPSI5Nzo3Ny05NzoxMDUiIG5hbWU9IkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzYiIGxvY2F0b3I9Ijk4OjEzLTk4OjkzIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzQiIGxvY2F0b3I9Ijk4OjEzLTk4OjcyIiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMzMiIGxvY2F0b3I9Ijk4OjEzLTk4OjUxIiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTM1IiBsb2NhdG9yPSI5ODo3Ny05ODo5MyIgbmFtZT0iUGF0aWVudCBFeHBpcmVkIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0MiIgbG9jYXRvcj0iOTk6MTMtOTk6MTEzIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDAiIGxvY2F0b3I9Ijk5OjEzLTk5OjcyIiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMzkiIGxvY2F0b3I9Ijk5OjEzLTk5OjUxIiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTQxIiBsb2NhdG9yPSI5OTo3Ny05OToxMTMiIG5hbWU9IkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0OCIgbG9jYXRvcj0iMTAwOjEzLTEwMDoxMjkiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0NiIgbG9jYXRvcj0iMTAwOjEzLTEwMDo3MiIgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTQ1IiBsb2NhdG9yPSIxMDA6MTMtMTAwOjUxIiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTQ3IiBsb2NhdG9yPSIxMDA6NzctMTAwOjEyOSIgbmFtZT0iRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE2OSIgbG9jYXRvcj0iMTA5OjExLTExNDo2MCIgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNjkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyZxdW90OzoKICAgICAgICAgIAk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNjgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O1Byb2NlZHVyZVJlcXVlc3QmcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0NvbWZvcnQgTWVhc3VyZXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IFA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aW50ZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidvcmRlcic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgIAkJdW5pb24KICAgICAgICAgIAkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7UHJvY2VkdXJlJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDb21mb3J0IE1lYXN1cmVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJbnRlcnZldGlvblBlcmZvcm1lZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2ZXRpb25QZXJmb3JtZWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidjb21wbGV0ZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNjgiIGxvY2F0b3I9IjExMDoxMi0xMTQ6NjAiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2MCIgbG9jYXRvcj0iMTEwOjEyLTExMTozNyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNTUiIGxvY2F0b3I9IjExMDoxMy0xMTA6NTQiIGFsaWFzPSJQIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTU0IiBsb2NhdG9yPSIxMTA6MTMtMTEwOjUyIiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjExMDozNC0xMTA6NTEiIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMTU5IiBsb2NhdG9yPSIxMTE6MTMtMTExOjM2IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTciIGxvY2F0b3I9IjExMToxOS0xMTE6MjYiIHBhdGg9ImludGVudCIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1OCIgbG9jYXRvcj0iMTExOjMwLTExMTozNiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjciIGxvY2F0b3I9IjExMzoxMy0xMTQ6NjAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTYyIiBsb2NhdG9yPSIxMTM6MTQtMTEzOjY3IiBhbGlhcz0iSW50ZXJ2ZXRpb25QZXJmb3JtZWQiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNjEiIGxvY2F0b3I9IjExMzoxNC0xMTM6NDYiIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIxMTM6MjgtMTEzOjQ1IiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjE2NiIgbG9jYXRvcj0iMTE0OjEzLTExNDo1OSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTY0IiBsb2NhdG9yPSIxMTQ6MTktMTE0OjQ1IiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJJbnRlcnZldGlvblBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTY1IiBsb2NhdG9yPSIxMTQ6NDktMTE0OjU5IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE4NCIgbG9jYXRvcj0iMTA0OjUtMTA3OjE1OCIgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTg0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7Q29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uJnF1b3Q7OgogICAgCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE4MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBDb21mb3J0TWVhc3VyZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIAkJCXN1Y2ggdGhhdCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29hbGVzY2UoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29tZm9ydE1lYXN1cmU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyZm9ybWVkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29tZm9ydE1lYXN1cmU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YXV0aG9yZWRPbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODEiPmR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0hvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbiZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxODMiIGxvY2F0b3I9IjEwNTo2LTEwNzoxNTgiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTUzIiBsb2NhdG9yPSIxMDU6Ni0xMDU6NTYiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE1MiIgbG9jYXRvcj0iMTA1OjYtMTA1OjMyIiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSIxODIiIGxvY2F0b3I9IjEwNjo3LTEwNzoxNTgiIGFsaWFzPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IldpdGgiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNzAiIGxvY2F0b3I9IjEwNjoxMi0xMDY6NDIiIG5hbWU9IkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8c3VjaFRoYXQgbG9jYWxJZD0iMTgxIiBsb2NhdG9yPSIxMDc6MTgtMTA3OjE1OCIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTc3IiBsb2NhdG9yPSIxMDc6MTgtMTA3Ojg3IiB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzQiIGxvY2F0b3I9IjEwNzoyNy0xMDc6NTkiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTczIiBsb2NhdG9yPSIxMDc6MzYtMTA3OjU5IiBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTc2IiBsb2NhdG9yPSIxMDc6NjItMTA3Ojg2IiBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iQ29tZm9ydE1lYXN1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTgwIiBsb2NhdG9yPSIxMDc6OTUtMTA3OjE1OCIgbmFtZT0iSG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzkiIGxvY2F0b3I9IjEwNzoxMzUtMTA3OjE1NyIgbmFtZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwMSIgbG9jYXRvcj0iMTIxOjctMTI5OjQ2IiBuYW1lPSJBbnRpdGhyb21ib3RpYyBUaGVyYXB5IGF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIwMSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0FudGl0aHJvbWJvdGljIFRoZXJhcHkgYXQgRGlzY2hhcmdlJnF1b3Q7OgogICAgICAJLy9UaGUgZm9sbG93aW5nIHNob3VsZCB3b3JrLCBidXQgaXQncyBwZW5kaW5nIGEgZml4IGluIHRoZSBDUUwgRW5naW5lLCByZWYgaHR0cHM6Ly9naXRodWIuY29tL0RCQ0cvY3FsX2VuZ2luZS9pc3N1ZXMvMjcxLgogICAgICAgIC8vWyZxdW90O01lZGljYXRpb25SZXF1ZXN0JnF1b3Q7OiAmcXVvdDtBbnRpdGhyb21ib3RpYyBUaGVyYXB5JnF1b3Q7XSBBbnRpdGhyb21ib3RpYwogICAgICAgIC8vd2hlcmUgQW50aXRocm9tYm90aWMuaW50ZW50ID0gJ29yZGVyJwogICAgICAgIAogICAgICAgIC8vVGVtcG9yYXJpbHkgdXNpbmcgdGhlIGZvbGxvd2luZyB1bnRpbCB0aGUgZml4IGlzIGF2YWlsYWJsZS4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMDAiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtNZWRpY2F0aW9uUmVxdWVzdCZxdW90O108L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBBbnRpdGhyb21ib3RpYzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFudGl0aHJvbWJvdGljPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm1lZGljYXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNvZGVhYmxlQ29uY2VwdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtBbnRpdGhyb21ib3RpYyBUaGVyYXB5JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgCSAgICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QW50aXRocm9tYm90aWM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aW50ZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidvcmRlcic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMDAiIGxvY2F0b3I9IjEyNzo5LTEyOTo0NiIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxODgiIGxvY2F0b3I9IjEyNzo5LTEyNzo0NCIgYWxpYXM9IkFudGl0aHJvbWJvdGljIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTg3IiBsb2NhdG9yPSIxMjc6OS0xMjc6MjkiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxOTkiIGxvY2F0b3I9IjEyODoxMy0xMjk6NDYiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTQiIGxvY2F0b3I9IjEyODoxOS0xMjg6OTIiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5MiIgbG9jYXRvcj0iMTI4OjE5LTEyODo2NCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTkwIiBsb2NhdG9yPSIxMjg6MjAtMTI4OjQ0IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iQW50aXRocm9tYm90aWMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE5MSIgbG9jYXRvcj0iMTI4OjQ5LTEyODo2MyIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIxOTMiIGxvY2F0b3I9IjEyODo2OS0xMjg6OTIiIG5hbWU9IkFudGl0aHJvbWJvdGljIFRoZXJhcHkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5OCIgbG9jYXRvcj0iMTI5OjE2LTEyOTo0NiIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk2IiBsb2NhdG9yPSIxMjk6MTYtMTI5OjM2IiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJBbnRpdGhyb21ib3RpYyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk3IiBsb2NhdG9yPSIxMjk6NDAtMTI5OjQ2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTEiIGxvY2F0b3I9IjExNjoxLTExOTo4NSIgbmFtZT0iTnVtZXJhdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjExIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7TnVtZXJhdG9yJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VEpDLiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aXRoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtBbnRpdGhyb21ib3RpYyBUaGVyYXB5IGF0IERpc2NoYXJnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IERpc2NoYXJnZUFudGl0aHJvbWJvdGljPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQlzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RGlzY2hhcmdlQW50aXRocm9tYm90aWM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YXV0aG9yZWRPbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMTAiIGxvY2F0b3I9IjExNzoyLTExOTo4NSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxODYiIGxvY2F0b3I9IjExNzoyLTExNzo1NiIgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTg1IiBsb2NhdG9yPSIxMTc6Mi0xMTc6MzIiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIGxpYnJhcnlOYW1lPSJUSkMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjIwOSIgbG9jYXRvcj0iMTE4OjMtMTE5Ojg1IiBhbGlhcz0iRGlzY2hhcmdlQW50aXRocm9tYm90aWMiIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjAyIiBsb2NhdG9yPSIxMTg6OC0xMTg6NDQiIG5hbWU9IkFudGl0aHJvbWJvdGljIFRoZXJhcHkgYXQgRGlzY2hhcmdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8c3VjaFRoYXQgbG9jYWxJZD0iMjA4IiBsb2NhdG9yPSIxMTk6MTQtMTE5Ojg1IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwNSIgbG9jYXRvcj0iMTE5OjE0LTExOTo0NyIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkRpc2NoYXJnZUFudGl0aHJvbWJvdGljIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwNyIgbG9jYXRvcj0iMTE5OjU2LTExOTo4NSIgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0MSIgbG9jYXRvcj0iMTQwOjExLTE0Nzo5MCIgbmFtZT0iQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI0MSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0FudGl0aHJvbWJvdGljIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UmcXVvdDs6CiAgICAgICAgICAJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQwIj4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7TWVkaWNhdGlvblJlcXVlc3QmcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0FudGl0aHJvbWJvdGljIFRoZXJhcHkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE5vQW50aXRocm9tYm90aWNEaXNjaGFyZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgCSAgLy8gU1RVMwogICAgICAgICAgCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5leGlzdHMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Tm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZS5leHRlbnNpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBFPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2RhdmluY2ktZGVxbS9TVFUzL1N0cnVjdHVyZURlZmluaXRpb24vZXh0ZW5zaW9uLWRvTm90UGVyZm9ybSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIHRydWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAJCS8vIFI0CiAgICAgICAgICAJCS8vd2hlcmUgTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZS5kb05vdFBlcmZvcm0gaXMgdHJ1ZQogICAgICAgICAgCQkJYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob0FudGl0aHJvbWJvdGljRGlzY2hhcmdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJlYXNvbkNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWRpY2FsIFJlYXNvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAJCQkJb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob0FudGl0aHJvbWJvdGljRGlzY2hhcmdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJlYXNvbkNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQYXRpZW50IFJlZnVzYWwmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDAiIGxvY2F0b3I9IjE0MToxMi0xNDc6OTAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjE1IiBsb2NhdG9yPSIxNDE6MTItMTQxOjg0IiBhbGlhcz0iTm9BbnRpdGhyb21ib3RpY0Rpc2NoYXJnZSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIxNCIgbG9jYXRvcj0iMTQxOjEyLTE0MTo1OCIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iMTQxOjM0LTE0MTo1NyIgbmFtZT0iQW50aXRocm9tYm90aWMgVGhlcmFweSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyMzkiIGxvY2F0b3I9IjE0MzoxMy0xNDc6OTAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjciIGxvY2F0b3I9IjE0MzoxOS0xNDM6MTg0IiB4c2k6dHlwZT0iRXhpc3RzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjI2IiBsb2NhdG9yPSIxNDM6MjYtMTQzOjE4NCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMTciIGxvY2F0b3I9IjE0MzoyNy0xNDM6NjMiIGFsaWFzPSJFIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjE2IiBsb2NhdG9yPSIxNDM6MjctMTQzOjYxIiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyMjUiIGxvY2F0b3I9IjE0Mzo2NS0xNDM6MTgzIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjIxIiBsb2NhdG9yPSIxNDM6NzEtMTQzOjE2MyIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjE5IiBsb2NhdG9yPSIxNDM6NzEtMTQzOjc1IiBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjAiIGxvY2F0b3I9IjE0Mzo3OS0xNDM6MTYzIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9kYXZpbmNpLWRlcW0vU1RVMy9TdHJ1Y3R1cmVEZWZpbml0aW9uL2V4dGVuc2lvbi1kb05vdFBlcmZvcm0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjI0IiBsb2NhdG9yPSIxNDM6MTY5LTE0MzoxODMiIHhzaTp0eXBlPSJJc1RydWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0Jvb2xlYW4iIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyMyIgbG9jYXRvcj0iMTQzOjE2OS0xNDM6MTc1IiBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM4IiBsb2NhdG9yPSIxNDY6MTgtMTQ3OjkwIiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzIiIGxvY2F0b3I9IjE0NjoxOS0xNDY6ODkiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzMCIgbG9jYXRvcj0iMTQ2OjE5LTE0Njo2OSIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjkiIGxvY2F0b3I9IjE0NjozNC0xNDY6NjkiIHBhdGg9InJlYXNvbkNvZGUiIHNjb3BlPSJOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIyMzEiIGxvY2F0b3I9IjE0Njo3NC0xNDY6ODkiIG5hbWU9Ik1lZGljYWwgUmVhc29uIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzciIGxvY2F0b3I9IjE0NzoxOC0xNDc6ODkiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNSIgbG9jYXRvcj0iMTQ3OjE4LTE0Nzo2OCIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzQiIGxvY2F0b3I9IjE0NzozMy0xNDc6NjgiIHBhdGg9InJlYXNvbkNvZGUiIHNjb3BlPSJOb0FudGl0aHJvbWJvdGljRGlzY2hhcmdlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIyMzYiIGxvY2F0b3I9IjE0Nzo3My0xNDc6ODkiIG5hbWU9IlBhdGllbnQgUmVmdXNhbCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI1MSIgbG9jYXRvcj0iMTM1OjUtMTM4OjkxIiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBObyBBbnRpdGhyb21ib3RpYyBBdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNTEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtFbmNvdW50ZXIgV2l0aCBObyBBbnRpdGhyb21ib3RpYyBBdCBEaXNjaGFyZ2UmcXVvdDs6CiAgICAJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjUwIj4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VEpDLiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE5vRGlzY2hhcmdlQW50aXRocm9tYm90aWM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAJCQlzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Tm9EaXNjaGFyZ2VBbnRpdGhyb21ib3RpYzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hdXRob3JlZE9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDgiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1MCIgbG9jYXRvcj0iMTM2OjYtMTM4OjkxIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIxMyIgbG9jYXRvcj0iMTM2OjYtMTM2OjYwIiBhbGlhcz0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMTIiIGxvY2F0b3I9IjEzNjo2LTEzNjozNiIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgbGlicmFyeU5hbWU9IlRKQyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgbG9jYWxJZD0iMjQ5IiBsb2NhdG9yPSIxMzc6Ny0xMzg6OTEiIGFsaWFzPSJOb0Rpc2NoYXJnZUFudGl0aHJvbWJvdGljIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI0MiIgbG9jYXRvcj0iMTM3OjEyLTEzNzo1MCIgbmFtZT0iQW50aXRocm9tYm90aWMgTm90IEdpdmVuIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjI0OCIgbG9jYXRvcj0iMTM4OjE4LTEzODo5MSIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDUiIGxvY2F0b3I9IjEzODoxOC0xMzg6NTMiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJOb0Rpc2NoYXJnZUFudGl0aHJvbWJvdGljIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NyIgbG9jYXRvcj0iMTM4OjYyLTEzODo5MSIgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3MCIgbG9jYXRvcj0iMTc0OjEzLTE3Nzo0OSIgbmFtZT0iVGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI3MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O1RpY2FncmVsb3IgVGhlcmFweSBhdCBEaXNjaGFyZ2UmcXVvdDs6CiAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjY5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7TWVkaWNhdGlvblJlcXVlc3QmcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm1lZGljYXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRKQy4mcXVvdDtUaWNhZ3JlbG9yIFRoZXJhcHkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IFRpY2FncmVsb3I8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VGljYWdyZWxvcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tZWRpY2F0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Db2RlYWJsZUNvbmNlcHQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5USkM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7VGljYWdyZWxvciBUaGVyYXB5JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5UaWNhZ3JlbG9yPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmludGVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nb3JkZXInPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjY5IiBsb2NhdG9yPSIxNzU6MTUtMTc3OjQ5IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI1NiIgbG9jYXRvcj0iMTc1OjE1LTE3NTo4NiIgYWxpYXM9IlRpY2FncmVsb3IiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNTUiIGxvY2F0b3I9IjE3NToxNS0xNzU6NzUiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjE3NTo1MS0xNzU6NzQiIG5hbWU9IlRpY2FncmVsb3IgVGhlcmFweSIgbGlicmFyeU5hbWU9IlRKQyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyNjgiIGxvY2F0b3I9IjE3NjoxNy0xNzc6NDkiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjMiIGxvY2F0b3I9IjE3NjoyMy0xNzY6OTIiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2MCIgbG9jYXRvcj0iMTc2OjIzLTE3Njo2NCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjU4IiBsb2NhdG9yPSIxNzY6MjQtMTc2OjQ0IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iVGljYWdyZWxvciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjU5IiBsb2NhdG9yPSIxNzY6NDktMTc2OjYzIiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjI2MiIgbG9jYXRvcj0iMTc2OjY5LTE3Njo5MiIgbmFtZT0iVGljYWdyZWxvciBUaGVyYXB5IiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjciIGxvY2F0b3I9IjE3NzoyMy0xNzc6NDkiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2NSIgbG9jYXRvcj0iMTc3OjIzLTE3NzozOSIgcGF0aD0iaW50ZW50IiBzY29wZT0iVGljYWdyZWxvciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY2IiBsb2NhdG9yPSIxNzc6NDMtMTc3OjQ5IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyODAiIGxvY2F0b3I9IjE2OTo3LTE3Mjo5MCIgbmFtZT0iRW5jb3VudGVyIFdpdGggVGljYWdyZWxvciBhdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyODAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtFbmNvdW50ZXIgV2l0aCBUaWNhZ3JlbG9yIGF0IERpc2NoYXJnZSZxdW90OzoKICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzkiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5USkMuJnF1b3Q7SXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IElzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7VGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IERpc2NoYXJnZVRpY2FncmVsb3I8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgIHN1Y2ggdGhhdCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5EaXNjaGFyZ2VUaWNhZ3JlbG9yPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmF1dGhvcmVkT248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NyI+IGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjc5IiBsb2NhdG9yPSIxNzA6OS0xNzI6OTAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjU0IiBsb2NhdG9yPSIxNzA6OS0xNzA6NjMiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1MyIgbG9jYXRvcj0iMTcwOjktMTcwOjM5IiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSIyNzgiIGxvY2F0b3I9IjE3MToxMS0xNzI6OTAiIGFsaWFzPSJEaXNjaGFyZ2VUaWNhZ3JlbG9yIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI3MSIgbG9jYXRvcj0iMTcxOjE2LTE3MTo0OCIgbmFtZT0iVGljYWdyZWxvciBUaGVyYXB5IGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjI3NyIgbG9jYXRvcj0iMTcyOjIzLTE3Mjo5MCIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzQiIGxvY2F0b3I9IjE3MjoyMy0xNzI6NTIiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJEaXNjaGFyZ2VUaWNhZ3JlbG9yIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3NiIgbG9jYXRvcj0iMTcyOjYxLTE3Mjo5MCIgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI4MyIgbG9jYXRvcj0iMTMxOjEtMTMzOjQ4IiBuYW1lPSJEZW5vbWluYXRvciBFeGNlcHRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjgzIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RGVub21pbmF0b3IgRXhjZXB0aW9ucyZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI4MiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtFbmNvdW50ZXIgV2l0aCBObyBBbnRpdGhyb21ib3RpYyBBdCBEaXNjaGFyZ2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJdW5pb24gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtFbmNvdW50ZXIgV2l0aCBUaWNhZ3JlbG9yIGF0IERpc2NoYXJnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI4MiIgbG9jYXRvcj0iMTMyOjItMTMzOjQ4IiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTIiIGxvY2F0b3I9IjEzMjoyLTEzMjo0OCIgbmFtZT0iRW5jb3VudGVyIFdpdGggTm8gQW50aXRocm9tYm90aWMgQXQgRGlzY2hhcmdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODEiIGxvY2F0b3I9IjEzMzo5LTEzMzo0OCIgbmFtZT0iRW5jb3VudGVyIFdpdGggVGljYWdyZWxvciBhdCBEaXNjaGFyZ2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo=" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-EXM105_FHIR3-7.0.0.json b/fhir3/input/resources/library/library-EXM105_FHIR3-7.0.0.json index dfbde766..6e102004 100644 --- a/fhir3/input/resources/library/library-EXM105_FHIR3-7.0.0.json +++ b/fhir3/input/resources/library/library-EXM105_FHIR3-7.0.0.json @@ -3,110 +3,331 @@ "id": "library-EXM105-FHIR3-7.0.0", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM105-FHIR3-7.0.0</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">7.0.0</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-TJCOverall-FHIR3-3.6.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"8\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Patient</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>AllergyIntolerance</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM105_FHIR3 version '7.0.0'\n\n/*\nBased on CMS105v7 - Discharged on Statin Medication\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0'\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude TJCOverall_FHIR3 version '3.6.000' called TJC\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'\nvalueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'\nvalueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'\nvalueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'\nvalueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "LDL-c": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215'\nvalueset "Medical Reason": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'\nvalueset "Patient Refusal": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'\nvalueset "Statin Allergen": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423'\nvalueset "Statin Grouper": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.19'\n\n// TODO: Use NLM VSAC Canonical URLs\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\n//code "Medication-dischargeMedication": '8654-6' from "LOINC" display 'Hospital Discharge medications'\n\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\ncode "Order": 'order' from "RequestIntent" display 'Order'\n\nparameter "Measurement Period" Interval<DateTime> default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "Initial Population":\n\t"Encounter with Principal Diagnosis and Age"\n\ndefine "Encounter with Principal Diagnosis and Age":\n\t"All Stroke Encounter" AllStrokeEncounter\n\t\twith ["Patient"] BirthDate\n\t\t\tsuch that AgeInYearsAt(AllStrokeEncounter.period.start) >= 18\n\ndefine "All Stroke Encounter":\n\t"Non Elective Inpatient Encounter" NonElectiveEncounter\n\t\t/* where "PrincipalDiagnosis"(NonElectiveEncounter).code in "Hemorrhagic Stroke"\n\t\tor "PrincipalDiagnosis"(NonElectiveEncounter).code in "Ischemic Stroke" */\n\ndefine "Non Elective Inpatient Encounter":\n\t["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\n\t\t//where "LengthInDays"(NonElectiveEncounter.period)<= 120\n\t\twhere days between NonElectiveEncounter.period."start" and NonElectiveEncounter.period."end" <= 120\n\t\t\tand NonElectiveEncounter.period ends during "Measurement Period"\n\n/* define function "EncounterDiagnosis"(Encounter Encounter):\n Encounter.diagnosis D\n return singleton from ([Condition: id in "GetId"(D.condition.reference)]) */\n\n/* define function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t\treturn singleton from ([Condition: id in "GetId"(PD.condition.reference)]) */\n\n/* define function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/')) */\n\ndefine "Denominator":\n\tTJC."Ischemic Stroke Encounter"\n\n//QA\ndefine "Statin Allergy":\n\t["AllergyIntolerance": "Statin Allergen"]\n\ndefine "Numerator":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Statin at Discharge" DischargeStatin\n\t\t\tsuch that DischargeStatin.authoredOn during IschemicStrokeEncounter.period\n\ndefine "Ischemic Stroke Encounter":\n\t"Encounter with Principal Diagnosis and Age" EncounterWithAge\n\t\t//where PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"\n\n//QA\ndefine "Statin at Discharge":\n\t["MedicationRequest"] Statin\n\t\twhere (Statin.medication as CodeableConcept) in "Statin Grouper"\n\t\t\tand Statin.intent = 'order'\n\n//QA\ndefine "Statin Not Given at Discharge":\n\t["MedicationRequest"] NoStatin\n\t\twhere (NoStatin.medication as CodeableConcept) in "Statin Grouper"\n\t\t\tand (singleton from NoStatin.reasonCode in "Medical Reason"\n\t\t\t\tor singleton from NoStatin.reasonCode in "Patient Refusal")\n\n//Folling function copied from MATGlobalCommonFunctions 2.0 in cqf-measures github repo\n/* define function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n\tif onset is FHIR.dateTime then Interval[onset.value, onset.value]\n\telse if onset is FHIR.Period then FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse null */\n\ndefine "Encounter with Max LDL less than 70 mg per dL":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twhere Max(["Observation": "LDL-c"] Ldl\n\t\t\t\twhere Ldl.issued during Interval[IschemicStrokeEncounter.period.start - 30 days,IschemicStrokeEncounter.period.end]\n\t\t\t\treturn (Ldl.value as Quantity)\n\t\t) < 70\n\ndefine "Denominator Exception":\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Statin Not Given at Discharge" NoDischargeStatin\n\t\t\tsuch that NoDischargeStatin.authoredOn during IschemicStrokeEncounter.period\n\t)\n\tunion\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter )\n\t\t//with "Statin Allergy" StatinAllergy\n\t\t//\tsuch that "Normalize Onset"(StatinAllergy.onset) on or before end of FHIRHelpers.ToInterval(IschemicStrokeEncounter.period))\n\ndefine "Denominator Exclusion":\n\t"Ischemic Stroke Encounters with Discharge Status"\n\tunion\n\t"Comfort Measures during Hospitalization"\n\ndefine "Ischemic Stroke Encounters with Discharge Status":\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twhere IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\n\t)\n\n//QA\ndefine "Comfort Measures during Hospitalization":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Intervention Comfort Measures" ComfortMeasure\n\t\t\tsuch that ComfortMeasure.authoredOn during Global."Hospitalization"(IschemicStrokeEncounter)\n\n/*\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion ["Procedure": "Comfort Measures"]\n*/\n\n//QA\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion\n\t\t(["Procedure": "Comfort Measures"] IntervetionPerformed\n\t\twhere IntervetionPerformed.status = 'completed')\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM105-FHIR3-7.0.0</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">7.0.0</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-TJCOverall-FHIR3-3.6.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"8\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Patient</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>AllergyIntolerance</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM105_FHIR3 version '7.0.0'\n\n/*\nBased on CMS105v7 - Discharged on Statin Medication\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0'\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude TJCOverall_FHIR3 version '3.6.000' called TJC\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'\nvalueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'\nvalueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'\nvalueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'\nvalueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "LDL-c": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215'\nvalueset "Medical Reason": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'\nvalueset "Patient Refusal": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'\nvalueset "Statin Allergen": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423'\nvalueset "Statin Grouper": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.19'\n\n// TODO: Use NLM VSAC Canonical URLs\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\n//code "Medication-dischargeMedication": '8654-6' from "LOINC" display 'Hospital Discharge medications'\n\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\ncode "Order": 'order' from "RequestIntent" display 'Order'\n\nparameter "Measurement Period" Interval<DateTime> default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "Initial Population":\n\t"Encounter with Principal Diagnosis and Age"\n\ndefine "Encounter with Principal Diagnosis and Age":\n\t"All Stroke Encounter" AllStrokeEncounter\n\t\twith ["Patient"] BirthDate\n\t\t\tsuch that AgeInYearsAt(AllStrokeEncounter.period.start) >= 18\n\ndefine "All Stroke Encounter":\n\t"Non Elective Inpatient Encounter" NonElectiveEncounter\n\t\t/* where "PrincipalDiagnosis"(NonElectiveEncounter).code in "Hemorrhagic Stroke"\n\t\tor "PrincipalDiagnosis"(NonElectiveEncounter).code in "Ischemic Stroke" */\n\ndefine "Non Elective Inpatient Encounter":\n\t["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\n\t\t//where "LengthInDays"(NonElectiveEncounter.period)<= 120\n\t\twhere days between NonElectiveEncounter.period."start" and NonElectiveEncounter.period."end" <= 120\n\t\t\tand NonElectiveEncounter.period ends during "Measurement Period"\n\n/* define function "EncounterDiagnosis"(Encounter Encounter):\n Encounter.diagnosis D\n return singleton from ([Condition: id in "GetId"(D.condition.reference)]) */\n\n/* define function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t\treturn singleton from ([Condition: id in "GetId"(PD.condition.reference)]) */\n\n/* define function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/')) */\n\ndefine "Denominator":\n\tTJC."Ischemic Stroke Encounter"\n\n//QA\ndefine "Statin Allergy":\n\t["AllergyIntolerance": "Statin Allergen"]\n\ndefine "Numerator":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Statin at Discharge" DischargeStatin\n\t\t\tsuch that DischargeStatin.authoredOn during IschemicStrokeEncounter.period\n\ndefine "Ischemic Stroke Encounter":\n\t"Encounter with Principal Diagnosis and Age" EncounterWithAge\n\t\t//where PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"\n\n//QA\ndefine "Statin at Discharge":\n\t["MedicationRequest"] Statin\n\t\twhere (Statin.medication as CodeableConcept) in "Statin Grouper"\n\t\t\tand Statin.intent = 'order'\n\n//QA\ndefine "Statin Not Given at Discharge":\n\t["MedicationRequest"] NoStatin\n\t\twhere (NoStatin.medication as CodeableConcept) in "Statin Grouper"\n\t\t\tand (singleton from NoStatin.reasonCode in "Medical Reason"\n\t\t\t\tor singleton from NoStatin.reasonCode in "Patient Refusal")\n\n//Folling function copied from MATGlobalCommonFunctions 2.0 in cqf-measures github repo\n/* define function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n\tif onset is FHIR.dateTime then Interval[onset.value, onset.value]\n\telse if onset is FHIR.Period then FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse null */\n\ndefine "Encounter with Max LDL less than 70 mg per dL":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twhere Max(["Observation": "LDL-c"] Ldl\n\t\t\t\twhere Ldl.issued during Interval[IschemicStrokeEncounter.period.start - 30 days,IschemicStrokeEncounter.period.end]\n\t\t\t\treturn (Ldl.value as Quantity)\n\t\t) < 70\n\ndefine "Denominator Exception":\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Statin Not Given at Discharge" NoDischargeStatin\n\t\t\tsuch that NoDischargeStatin.authoredOn during IschemicStrokeEncounter.period\n\t)\n\tunion\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter )\n\t\t//with "Statin Allergy" StatinAllergy\n\t\t//\tsuch that "Normalize Onset"(StatinAllergy.onset) on or before end of FHIRHelpers.ToInterval(IschemicStrokeEncounter.period))\n\ndefine "Denominator Exclusion":\n\t"Ischemic Stroke Encounters with Discharge Status"\n\tunion\n\t"Comfort Measures during Hospitalization"\n\ndefine "Ischemic Stroke Encounters with Discharge Status":\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twhere IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\n\t)\n\n//QA\ndefine "Comfort Measures during Hospitalization":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Intervention Comfort Measures" ComfortMeasure\n\t\t\tsuch that ComfortMeasure.authoredOn during Global."Hospitalization"(IschemicStrokeEncounter)\n\n/*\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion ["Procedure": "Comfort Measures"]\n*/\n\n//QA\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion\n\t\t(["Procedure": "Comfort Measures"] IntervetionPerformed\n\t\twhere IntervetionPerformed.status = 'completed')\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "7.0.0", "name": "EXM105_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/Library/FHIR-ModelInfo|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/FHIRHelpers|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/MATGlobalCommonFunctions_FHIR3|4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/TJCOverall_FHIR3|3.6.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/SupplementalDataElements_FHIR3|1.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://loinc.org" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://snomed.info/sct/731000124108" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/diagnosis-role" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/request-intent" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.19" + } + } ], + "parameter": [ { + "name": "Measurement Period", + "use": "in", + "min": 0, + "max": "1", + "type": "Period" + }, { + "name": "Patient", + "use": "out", + "min": 0, + "max": "1", + "type": "Patient" + }, { + "name": "Non Elective Inpatient Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "All Stroke Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Encounter with Principal Diagnosis and Age", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Initial Population", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Statin Allergy", + "use": "out", + "min": 0, + "max": "*", + "type": "AllergyIntolerance" + }, { + "name": "Ischemic Stroke Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Statin at Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "MedicationRequest" + }, { + "name": "Numerator", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Statin Not Given at Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "MedicationRequest" + }, { + "name": "Encounter with Max LDL less than 70 mg per dL", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator Exception", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Ischemic Stroke Encounters with Discharge Status", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Intervention Comfort Measures", + "use": "out", + "min": 0, + "max": "*", + "type": "Any" + }, { + "name": "Comfort Measures during Hospitalization", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator Exclusion", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } ] + }, { + "type": "Patient" + }, { + "type": "AllergyIntolerance", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-TJCOverall-FHIR3-3.6.000" + } ] + }, { + "type": "MedicationRequest" + }, { + "type": "MedicationRequest" + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" } - } - ], - "dataRequirement": [ - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" - } - ] - }, - { - "type": "Patient" - }, - { - "type": "AllergyIntolerance", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423" - } - ] - }, - { - "type": "MedicationRequest" - }, - { - "type": "MedicationRequest" - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215" - } - ] - }, - { - "type": "ProcedureRequest", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" - } - ] - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTEwNV9GSElSMyIgdmVyc2lvbj0iNy4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iR2xvYmFsIiBwYXRoPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIHZlcnNpb249IjQuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJUSkMiIHBhdGg9IlRKQ092ZXJhbGxfRkhJUjMiIHZlcnNpb249IjMuNi4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTREUiIHBhdGg9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8cGFyYW1ldGVycz4NCiAgICAgIDxkZWYgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxkZWZhdWx0IGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICAgICA8eWVhciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIwMTkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgPC9kZWZhdWx0Pg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJEaWFnbm9zaXMgUm9sZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUmVxdWVzdEludGVudCIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJJc2NoZW1pYyBTdHJva2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8xLjMuNi4xLjQuMS4zMzg5NS4xLjMuMC40NSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQgRXhwaXJlZCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuODciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFdGhuaWNpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUGF5ZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkxETC1jIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxNSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJNZWRpY2FsIFJlYXNvbiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40NzMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCBSZWZ1c2FsIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjkzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlN0YXRpbiBBbGxlcmdlbiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40MjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU3RhdGluIEdyb3VwZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMTkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkJpbGxpbmciIGlkPSJiaWxsaW5nIiBkaXNwbGF5PSJCaWxsaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkRpYWdub3NpcyBSb2xlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iT3JkZXIiIGlkPSJvcmRlciIgZGlzcGxheT0iT3JkZXIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iUmVxdWVzdEludGVudCIvPg0KICAgICAgPC9kZWY+DQogICA8L2NvZGVzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9uIEVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlbmQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InBlcmlvZCIgc2NvcGU9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkFsbCBTdHJva2UgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb25FbGVjdGl2ZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQWxsU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkFsbCBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJCaXJ0aERhdGUiIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJDYWxjdWxhdGVBZ2VBdCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGFydCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0icGVyaW9kIiBzY29wZT0iQWxsU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTgiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZW5vbWluYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlN0YXRpbiBBbGxlcmd5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlN0YXRpbiBBbGxlcmdlbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRW5jb3VudGVyV2l0aEFnZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTdGF0aW4gYXQgRGlzY2hhcmdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJTdGF0aW4iPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJTdGF0aW4gR3JvdXBlciIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpbnRlbnQiIHNjb3BlPSJTdGF0aW4iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOdW1lcmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IkRpc2NoYXJnZVN0YXRpbiIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU3RhdGluIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkRpc2NoYXJnZVN0YXRpbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU3RhdGluIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vU3RhdGluIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik5vU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJTdGF0aW4gR3JvdXBlciIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJNZWRpY2FsIFJlYXNvbiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWFzb25Db2RlIiBzY29wZT0iTm9TdGF0aW4iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IlBhdGllbnQgUmVmdXNhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgd2l0aCBNYXggTERMIGxlc3MgdGhhbiA3MCBtZyBwZXIgZEwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTGVzcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTWF4Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxkbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkxETC1jIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpc3N1ZWQiIHNjb3BlPSJMZGwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InBlcmlvZCIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIzMCIgdW5pdD0iZGF5cyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVuZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJMZGwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvUXVhbnRpdHkiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI3MCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IgRXhjZXB0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iTm9EaXNjaGFyZ2VTdGF0aW4iIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlN0YXRpbiBOb3QgR2l2ZW4gYXQgRGlzY2hhcmdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTm9EaXNjaGFyZ2VTdGF0aW4iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBTdGF0dXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iUGF0aWVudCBFeHBpcmVkIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnRlcnZldGlvblBlcmZvcm1lZCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iSW50ZXJ2ZXRpb25QZXJmb3JtZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZW5vbWluYXRvciBFeGNsdXNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIFN0YXR1cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE0xMDVfRkhJUjMgdmVyc2lvbiAnNy4wLjAnCgovKgpCYXNlZCBvbiBDTVMxMDV2NyAtIERpc2NoYXJnZWQgb24gU3RhdGluIE1lZGljYXRpb24KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgVEpDT3ZlcmFsbF9GSElSMyB2ZXJzaW9uICczLjYuMDAwJyBjYWxsZWQgVEpDCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIHZlcnNpb24gJzEuMC4wJyBjYWxsZWQgU0RFCgpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwpjb2Rlc3lzdGVtICJTTk9NRURDVCI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcKY29kZXN5c3RlbSAiRGlhZ25vc2lzIFJvbGUiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZScKY29kZXN5c3RlbSAiUmVxdWVzdEludGVudCI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3JlcXVlc3QtaW50ZW50JwoKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCcKdmFsdWVzZXQgIklzY2hlbWljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJDb21mb3J0IE1lYXN1cmVzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8xLjMuNi4xLjQuMS4zMzg5NS4xLjMuMC40NScKdmFsdWVzZXQgIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTInCnZhbHVlc2V0ICJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOCcKdmFsdWVzZXQgIkRpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA3Jwp2YWx1ZXNldCAiUGF0aWVudCBFeHBpcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDknCnZhbHVlc2V0ICJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuODcnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5Jwp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiTERMLWMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxNScKdmFsdWVzZXQgIk1lZGljYWwgUmVhc29uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40NzMnCnZhbHVlc2V0ICJQYXRpZW50IFJlZnVzYWwiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjkzJwp2YWx1ZXNldCAiU3RhdGluIEFsbGVyZ2VuIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40MjMnCnZhbHVlc2V0ICJTdGF0aW4gR3JvdXBlciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMTknCgovLyBUT0RPOiBVc2UgTkxNIFZTQUMgQ2Fub25pY2FsIFVSTHMKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnCi8vY29kZSAiTWVkaWNhdGlvbi1kaXNjaGFyZ2VNZWRpY2F0aW9uIjogJzg2NTQtNicgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ0hvc3BpdGFsIERpc2NoYXJnZSBtZWRpY2F0aW9ucycKCmNvZGUgIkJpbGxpbmciOiAnYmlsbGluZycgZnJvbSAiRGlhZ25vc2lzIFJvbGUiIGRpc3BsYXkgJ0JpbGxpbmcnCmNvZGUgIk9yZGVyIjogJ29yZGVyJyBmcm9tICJSZXF1ZXN0SW50ZW50IiBkaXNwbGF5ICdPcmRlcicKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CgkiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIgoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiOgoJIkFsbCBTdHJva2UgRW5jb3VudGVyIiBBbGxTdHJva2VFbmNvdW50ZXIKCQl3aXRoIFsiUGF0aWVudCJdIEJpcnRoRGF0ZQoJCQlzdWNoIHRoYXQgQWdlSW5ZZWFyc0F0KEFsbFN0cm9rZUVuY291bnRlci5wZXJpb2Quc3RhcnQpID49IDE4CgpkZWZpbmUgIkFsbCBTdHJva2UgRW5jb3VudGVyIjoKCSJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgTm9uRWxlY3RpdmVFbmNvdW50ZXIKCQkvKiB3aGVyZSAiUHJpbmNpcGFsRGlhZ25vc2lzIihOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSGVtb3JyaGFnaWMgU3Ryb2tlIgoJCW9yICJQcmluY2lwYWxEaWFnbm9zaXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyKS5jb2RlIGluICJJc2NoZW1pYyBTdHJva2UiICovCgpkZWZpbmUgIk5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIjoKCVsiRW5jb3VudGVyIjogIk5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIl0gTm9uRWxlY3RpdmVFbmNvdW50ZXIKCQkvL3doZXJlICJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKCQl3aGVyZSBkYXlzIGJldHdlZW4gTm9uRWxlY3RpdmVFbmNvdW50ZXIucGVyaW9kLiJzdGFydCIgYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZC4iZW5kIiA8PSAxMjAKCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKLyogZGVmaW5lIGZ1bmN0aW9uICJFbmNvdW50ZXJEaWFnbm9zaXMiKEVuY291bnRlciBFbmNvdW50ZXIpOgogIEVuY291bnRlci5kaWFnbm9zaXMgRAogICAgcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uOiBpZCBpbiAiR2V0SWQiKEQuY29uZGl0aW9uLnJlZmVyZW5jZSldKSAqLwoKLyogZGVmaW5lIGZ1bmN0aW9uICJQcmluY2lwYWxEaWFnbm9zaXMiKEVuY291bnRlciBFbmNvdW50ZXIpOgoJKHNpbmdsZXRvbiBmcm9tIChFbmNvdW50ZXIuZGlhZ25vc2lzIEQgd2hlcmUgRC5yb2xlIH4gVG9Db25jZXB0KCJCaWxsaW5nIikgYW5kIEQucmFuayA9IDEpKSBQRAoJCXJldHVybiBzaW5nbGV0b24gZnJvbSAoW0NvbmRpdGlvbjogaWQgaW4gIkdldElkIihQRC5jb25kaXRpb24ucmVmZXJlbmNlKV0pICovCgovKiBkZWZpbmUgZnVuY3Rpb24gIkxlbmd0aEluRGF5cyIoVmFsdWUgSW50ZXJ2YWw8RGF0ZVRpbWU+KToKCWRpZmZlcmVuY2UgaW4gZGF5cyBiZXR3ZWVuIHN0YXJ0IG9mIFZhbHVlIGFuZCBlbmQgb2YgVmFsdWUKCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcpOgoJTGFzdChTcGxpdCh1cmksICcvJykpICovCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKCVRKQy4iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIKCi8vUUEKZGVmaW5lICJTdGF0aW4gQWxsZXJneSI6CglbIkFsbGVyZ3lJbnRvbGVyYW5jZSI6ICJTdGF0aW4gQWxsZXJnZW4iXQoKZGVmaW5lICJOdW1lcmF0b3IiOgoJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiU3RhdGluIGF0IERpc2NoYXJnZSIgRGlzY2hhcmdlU3RhdGluCgkJCXN1Y2ggdGhhdCBEaXNjaGFyZ2VTdGF0aW4uYXV0aG9yZWRPbiBkdXJpbmcgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kCgpkZWZpbmUgIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiOgoJIkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgRW5jb3VudGVyV2l0aEFnZQoJCS8vd2hlcmUgUHJpbmNpcGFsRGlhZ25vc2lzKEVuY291bnRlcldpdGhBZ2UpLmNvZGUgaW4gIklzY2hlbWljIFN0cm9rZSIKCi8vUUEKZGVmaW5lICJTdGF0aW4gYXQgRGlzY2hhcmdlIjoKCVsiTWVkaWNhdGlvblJlcXVlc3QiXSBTdGF0aW4KCQl3aGVyZSAoU3RhdGluLm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0KSBpbiAiU3RhdGluIEdyb3VwZXIiCgkJCWFuZCBTdGF0aW4uaW50ZW50ID0gJ29yZGVyJwoKLy9RQQpkZWZpbmUgIlN0YXRpbiBOb3QgR2l2ZW4gYXQgRGlzY2hhcmdlIjoKCVsiTWVkaWNhdGlvblJlcXVlc3QiXSBOb1N0YXRpbgoJCXdoZXJlIChOb1N0YXRpbi5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdCkgaW4gIlN0YXRpbiBHcm91cGVyIgoJCQlhbmQgKHNpbmdsZXRvbiBmcm9tIE5vU3RhdGluLnJlYXNvbkNvZGUgaW4gIk1lZGljYWwgUmVhc29uIgoJCQkJb3Igc2luZ2xldG9uIGZyb20gTm9TdGF0aW4ucmVhc29uQ29kZSBpbiAiUGF0aWVudCBSZWZ1c2FsIikKCi8vRm9sbGluZyBmdW5jdGlvbiBjb3BpZWQgZnJvbSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnMgMi4wIGluIGNxZi1tZWFzdXJlcyBnaXRodWIgcmVwbwovKiBkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBPbnNldCIob25zZXQgQ2hvaWNlPEZISVIuZGF0ZVRpbWUsIEZISVIuQWdlLCBGSElSLlBlcmlvZCwgRkhJUi5SYW5nZSwgRkhJUi5zdHJpbmc+KToKCWlmIG9uc2V0IGlzIEZISVIuZGF0ZVRpbWUgdGhlbiBJbnRlcnZhbFtvbnNldC52YWx1ZSwgb25zZXQudmFsdWVdCgllbHNlIGlmIG9uc2V0IGlzIEZISVIuUGVyaW9kIHRoZW4gRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChvbnNldCBhcyBGSElSLlBlcmlvZCkKCWVsc2UgbnVsbCAqLwoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBNYXggTERMIGxlc3MgdGhhbiA3MCBtZyBwZXIgZEwiOgoJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2hlcmUgTWF4KFsiT2JzZXJ2YXRpb24iOiAiTERMLWMiXSBMZGwKCQkJCXdoZXJlIExkbC5pc3N1ZWQgZHVyaW5nIEludGVydmFsW0lzY2hlbWljU3Ryb2tlRW5jb3VudGVyLnBlcmlvZC5zdGFydCAtIDMwIGRheXMsSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kLmVuZF0KCQkJCXJldHVybiAoTGRsLnZhbHVlIGFzIFF1YW50aXR5KQoJCSkgPCA3MAoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNlcHRpb24iOgoJKCJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgoJCXdpdGggIlN0YXRpbiBOb3QgR2l2ZW4gYXQgRGlzY2hhcmdlIiBOb0Rpc2NoYXJnZVN0YXRpbgoJCQlzdWNoIHRoYXQgTm9EaXNjaGFyZ2VTdGF0aW4uYXV0aG9yZWRPbiBkdXJpbmcgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kCgkpCgl1bmlvbgoJKCJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlciApCgkJLy93aXRoICJTdGF0aW4gQWxsZXJneSIgU3RhdGluQWxsZXJneQoJCS8vCXN1Y2ggdGhhdCAiTm9ybWFsaXplIE9uc2V0IihTdGF0aW5BbGxlcmd5Lm9uc2V0KSBvbiBvciBiZWZvcmUgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kKSkKCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9uIjoKCSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBTdGF0dXMiCgl1bmlvbgoJIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiIKCmRlZmluZSAiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlcnMgd2l0aCBEaXNjaGFyZ2UgU3RhdHVzIjoKCSgiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aGVyZSBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IgoJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSIKCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJQYXRpZW50IEV4cGlyZWQiCgkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiCgkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIgoJKQoKLy9RQQpkZWZpbmUgIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aXRoICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyIgQ29tZm9ydE1lYXN1cmUKCQkJc3VjaCB0aGF0IENvbWZvcnRNZWFzdXJlLmF1dGhvcmVkT24gZHVyaW5nIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uIihJc2NoZW1pY1N0cm9rZUVuY291bnRlcikKCi8qCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgoJKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJDb21mb3J0IE1lYXN1cmVzIl0gUAoJCXdoZXJlIFAuaW50ZW50ID0gJ29yZGVyJykKCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJDb21mb3J0IE1lYXN1cmVzIl0KKi8KCi8vUUEKZGVmaW5lICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyI6CgkoWyJQcm9jZWR1cmVSZXF1ZXN0IjogIkNvbWZvcnQgTWVhc3VyZXMiXSBQCgkJd2hlcmUgUC5pbnRlbnQgPSAnb3JkZXInKQoJCXVuaW9uCgkJKFsiUHJvY2VkdXJlIjogIkNvbWZvcnQgTWVhc3VyZXMiXSBJbnRlcnZldGlvblBlcmZvcm1lZAoJCXdoZXJlIEludGVydmV0aW9uUGVyZm9ybWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnKQo=" - } - ] + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE0xMDVfRkhJUjMgdmVyc2lvbiAnNy4wLjAnCgovKgpCYXNlZCBvbiBDTVMxMDV2NyAtIERpc2NoYXJnZWQgb24gU3RhdGluIE1lZGljYXRpb24KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgVEpDT3ZlcmFsbF9GSElSMyB2ZXJzaW9uICczLjYuMDAwJyBjYWxsZWQgVEpDCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIHZlcnNpb24gJzEuMC4wJyBjYWxsZWQgU0RFCgpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwpjb2Rlc3lzdGVtICJTTk9NRURDVCI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcKY29kZXN5c3RlbSAiRGlhZ25vc2lzIFJvbGUiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZScKY29kZXN5c3RlbSAiUmVxdWVzdEludGVudCI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3JlcXVlc3QtaW50ZW50JwoKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCcKdmFsdWVzZXQgIklzY2hlbWljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJDb21mb3J0IE1lYXN1cmVzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8xLjMuNi4xLjQuMS4zMzg5NS4xLjMuMC40NScKdmFsdWVzZXQgIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTInCnZhbHVlc2V0ICJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOCcKdmFsdWVzZXQgIkRpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA3Jwp2YWx1ZXNldCAiUGF0aWVudCBFeHBpcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDknCnZhbHVlc2V0ICJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuODcnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5Jwp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiTERMLWMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxNScKdmFsdWVzZXQgIk1lZGljYWwgUmVhc29uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40NzMnCnZhbHVlc2V0ICJQYXRpZW50IFJlZnVzYWwiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjkzJwp2YWx1ZXNldCAiU3RhdGluIEFsbGVyZ2VuIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40MjMnCnZhbHVlc2V0ICJTdGF0aW4gR3JvdXBlciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMTknCgovLyBUT0RPOiBVc2UgTkxNIFZTQUMgQ2Fub25pY2FsIFVSTHMKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnCi8vY29kZSAiTWVkaWNhdGlvbi1kaXNjaGFyZ2VNZWRpY2F0aW9uIjogJzg2NTQtNicgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ0hvc3BpdGFsIERpc2NoYXJnZSBtZWRpY2F0aW9ucycKCmNvZGUgIkJpbGxpbmciOiAnYmlsbGluZycgZnJvbSAiRGlhZ25vc2lzIFJvbGUiIGRpc3BsYXkgJ0JpbGxpbmcnCmNvZGUgIk9yZGVyIjogJ29yZGVyJyBmcm9tICJSZXF1ZXN0SW50ZW50IiBkaXNwbGF5ICdPcmRlcicKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CgkiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIgoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiOgoJIkFsbCBTdHJva2UgRW5jb3VudGVyIiBBbGxTdHJva2VFbmNvdW50ZXIKCQl3aXRoIFsiUGF0aWVudCJdIEJpcnRoRGF0ZQoJCQlzdWNoIHRoYXQgQWdlSW5ZZWFyc0F0KEFsbFN0cm9rZUVuY291bnRlci5wZXJpb2Quc3RhcnQpID49IDE4CgpkZWZpbmUgIkFsbCBTdHJva2UgRW5jb3VudGVyIjoKCSJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgTm9uRWxlY3RpdmVFbmNvdW50ZXIKCQkvKiB3aGVyZSAiUHJpbmNpcGFsRGlhZ25vc2lzIihOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSGVtb3JyaGFnaWMgU3Ryb2tlIgoJCW9yICJQcmluY2lwYWxEaWFnbm9zaXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyKS5jb2RlIGluICJJc2NoZW1pYyBTdHJva2UiICovCgpkZWZpbmUgIk5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIjoKCVsiRW5jb3VudGVyIjogIk5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIl0gTm9uRWxlY3RpdmVFbmNvdW50ZXIKCQkvL3doZXJlICJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKCQl3aGVyZSBkYXlzIGJldHdlZW4gTm9uRWxlY3RpdmVFbmNvdW50ZXIucGVyaW9kLiJzdGFydCIgYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZC4iZW5kIiA8PSAxMjAKCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKLyogZGVmaW5lIGZ1bmN0aW9uICJFbmNvdW50ZXJEaWFnbm9zaXMiKEVuY291bnRlciBFbmNvdW50ZXIpOgogIEVuY291bnRlci5kaWFnbm9zaXMgRAogICAgcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uOiBpZCBpbiAiR2V0SWQiKEQuY29uZGl0aW9uLnJlZmVyZW5jZSldKSAqLwoKLyogZGVmaW5lIGZ1bmN0aW9uICJQcmluY2lwYWxEaWFnbm9zaXMiKEVuY291bnRlciBFbmNvdW50ZXIpOgoJKHNpbmdsZXRvbiBmcm9tIChFbmNvdW50ZXIuZGlhZ25vc2lzIEQgd2hlcmUgRC5yb2xlIH4gVG9Db25jZXB0KCJCaWxsaW5nIikgYW5kIEQucmFuayA9IDEpKSBQRAoJCXJldHVybiBzaW5nbGV0b24gZnJvbSAoW0NvbmRpdGlvbjogaWQgaW4gIkdldElkIihQRC5jb25kaXRpb24ucmVmZXJlbmNlKV0pICovCgovKiBkZWZpbmUgZnVuY3Rpb24gIkxlbmd0aEluRGF5cyIoVmFsdWUgSW50ZXJ2YWw8RGF0ZVRpbWU+KToKCWRpZmZlcmVuY2UgaW4gZGF5cyBiZXR3ZWVuIHN0YXJ0IG9mIFZhbHVlIGFuZCBlbmQgb2YgVmFsdWUKCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcpOgoJTGFzdChTcGxpdCh1cmksICcvJykpICovCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKCVRKQy4iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIKCi8vUUEKZGVmaW5lICJTdGF0aW4gQWxsZXJneSI6CglbIkFsbGVyZ3lJbnRvbGVyYW5jZSI6ICJTdGF0aW4gQWxsZXJnZW4iXQoKZGVmaW5lICJOdW1lcmF0b3IiOgoJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiU3RhdGluIGF0IERpc2NoYXJnZSIgRGlzY2hhcmdlU3RhdGluCgkJCXN1Y2ggdGhhdCBEaXNjaGFyZ2VTdGF0aW4uYXV0aG9yZWRPbiBkdXJpbmcgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kCgpkZWZpbmUgIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiOgoJIkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgRW5jb3VudGVyV2l0aEFnZQoJCS8vd2hlcmUgUHJpbmNpcGFsRGlhZ25vc2lzKEVuY291bnRlcldpdGhBZ2UpLmNvZGUgaW4gIklzY2hlbWljIFN0cm9rZSIKCi8vUUEKZGVmaW5lICJTdGF0aW4gYXQgRGlzY2hhcmdlIjoKCVsiTWVkaWNhdGlvblJlcXVlc3QiXSBTdGF0aW4KCQl3aGVyZSAoU3RhdGluLm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0KSBpbiAiU3RhdGluIEdyb3VwZXIiCgkJCWFuZCBTdGF0aW4uaW50ZW50ID0gJ29yZGVyJwoKLy9RQQpkZWZpbmUgIlN0YXRpbiBOb3QgR2l2ZW4gYXQgRGlzY2hhcmdlIjoKCVsiTWVkaWNhdGlvblJlcXVlc3QiXSBOb1N0YXRpbgoJCXdoZXJlIChOb1N0YXRpbi5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdCkgaW4gIlN0YXRpbiBHcm91cGVyIgoJCQlhbmQgKHNpbmdsZXRvbiBmcm9tIE5vU3RhdGluLnJlYXNvbkNvZGUgaW4gIk1lZGljYWwgUmVhc29uIgoJCQkJb3Igc2luZ2xldG9uIGZyb20gTm9TdGF0aW4ucmVhc29uQ29kZSBpbiAiUGF0aWVudCBSZWZ1c2FsIikKCi8vRm9sbGluZyBmdW5jdGlvbiBjb3BpZWQgZnJvbSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnMgMi4wIGluIGNxZi1tZWFzdXJlcyBnaXRodWIgcmVwbwovKiBkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBPbnNldCIob25zZXQgQ2hvaWNlPEZISVIuZGF0ZVRpbWUsIEZISVIuQWdlLCBGSElSLlBlcmlvZCwgRkhJUi5SYW5nZSwgRkhJUi5zdHJpbmc+KToKCWlmIG9uc2V0IGlzIEZISVIuZGF0ZVRpbWUgdGhlbiBJbnRlcnZhbFtvbnNldC52YWx1ZSwgb25zZXQudmFsdWVdCgllbHNlIGlmIG9uc2V0IGlzIEZISVIuUGVyaW9kIHRoZW4gRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChvbnNldCBhcyBGSElSLlBlcmlvZCkKCWVsc2UgbnVsbCAqLwoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBNYXggTERMIGxlc3MgdGhhbiA3MCBtZyBwZXIgZEwiOgoJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2hlcmUgTWF4KFsiT2JzZXJ2YXRpb24iOiAiTERMLWMiXSBMZGwKCQkJCXdoZXJlIExkbC5pc3N1ZWQgZHVyaW5nIEludGVydmFsW0lzY2hlbWljU3Ryb2tlRW5jb3VudGVyLnBlcmlvZC5zdGFydCAtIDMwIGRheXMsSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kLmVuZF0KCQkJCXJldHVybiAoTGRsLnZhbHVlIGFzIFF1YW50aXR5KQoJCSkgPCA3MAoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNlcHRpb24iOgoJKCJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgoJCXdpdGggIlN0YXRpbiBOb3QgR2l2ZW4gYXQgRGlzY2hhcmdlIiBOb0Rpc2NoYXJnZVN0YXRpbgoJCQlzdWNoIHRoYXQgTm9EaXNjaGFyZ2VTdGF0aW4uYXV0aG9yZWRPbiBkdXJpbmcgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kCgkpCgl1bmlvbgoJKCJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlciApCgkJLy93aXRoICJTdGF0aW4gQWxsZXJneSIgU3RhdGluQWxsZXJneQoJCS8vCXN1Y2ggdGhhdCAiTm9ybWFsaXplIE9uc2V0IihTdGF0aW5BbGxlcmd5Lm9uc2V0KSBvbiBvciBiZWZvcmUgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kKSkKCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9uIjoKCSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBTdGF0dXMiCgl1bmlvbgoJIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiIKCmRlZmluZSAiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlcnMgd2l0aCBEaXNjaGFyZ2UgU3RhdHVzIjoKCSgiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aGVyZSBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IgoJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSIKCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJQYXRpZW50IEV4cGlyZWQiCgkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiCgkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIgoJKQoKLy9RQQpkZWZpbmUgIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aXRoICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyIgQ29tZm9ydE1lYXN1cmUKCQkJc3VjaCB0aGF0IENvbWZvcnRNZWFzdXJlLmF1dGhvcmVkT24gZHVyaW5nIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uIihJc2NoZW1pY1N0cm9rZUVuY291bnRlcikKCi8qCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgoJKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJDb21mb3J0IE1lYXN1cmVzIl0gUAoJCXdoZXJlIFAuaW50ZW50ID0gJ29yZGVyJykKCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJDb21mb3J0IE1lYXN1cmVzIl0KKi8KCi8vUUEKZGVmaW5lICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyI6CgkoWyJQcm9jZWR1cmVSZXF1ZXN0IjogIkNvbWZvcnQgTWVhc3VyZXMiXSBQCgkJd2hlcmUgUC5pbnRlbnQgPSAnb3JkZXInKQoJCXVuaW9uCgkJKFsiUHJvY2VkdXJlIjogIkNvbWZvcnQgTWVhc3VyZXMiXSBJbnRlcnZldGlvblBlcmZvcm1lZAoJCXdoZXJlIEludGVydmV0aW9uUGVyZm9ybWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnKQo=" + }, { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjMiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTEwNV9GSElSMyIgdmVyc2lvbj0iNy4wLjAiLz4KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4KICAgPHVzaW5ncz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4KICAgICAgPGRlZiBsb2NhbElkPSIxIiBsb2NhdG9yPSI3OjEtNzoyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMSI+CiAgICAgICAgICAgICAgIDxhOnM+dXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMiIgbG9jYXRvcj0iOToxLTk6MzUiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzMuMC4wJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzIiBsb2NhdG9yPSIxMDoxLTEwOjcwIiBsb2NhbElkZW50aWZpZXI9Ikdsb2JhbCIgcGF0aD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSI0LjAuMDAwIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMyI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5NQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4wMDAnIGNhbGxlZCBHbG9iYWw8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNCIgbG9jYXRvcj0iMTE6MS0xMTo1MyIgbG9jYWxJZGVudGlmaWVyPSJUSkMiIHBhdGg9IlRKQ092ZXJhbGxfRkhJUjMiIHZlcnNpb249IjMuNi4wMDAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPlRKQ092ZXJhbGxfRkhJUjM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzMuNi4wMDAnIGNhbGxlZCBUSkM8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNSIgbG9jYXRvcj0iMTI6MS0xMjo2NSIgbG9jYWxJZGVudGlmaWVyPSJTREUiIHBhdGg9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvaW5jbHVkZXM+CiAgIDxwYXJhbWV0ZXJzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQzIiBsb2NhdG9yPSI0ODoxLTQ4OjExNCIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDMiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDIiPgogICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkZWZhdWx0IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOCI+SW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxkZWZhdWx0IGxvY2FsSWQ9IjQwIiBsb2NhdG9yPSI0ODo1OS00ODoxMTQiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMzgiIGxvY2F0b3I9IjQ4OjY4LTQ4Ojg5IiB4c2k6dHlwZT0iRGF0ZVRpbWUiPgogICAgICAgICAgICAgICA8eWVhciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIwMTkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjM5IiBsb2NhdG9yPSI0ODo5Mi00ODoxMTMiIHhzaTp0eXBlPSJEYXRlVGltZSI+CiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZGVmYXVsdD4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDIiIGxvY2F0b3I9IjQ4OjMyLTQ4OjQ5IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSI0MSIgbG9jYXRvcj0iNDg6NDEtNDg6NDgiIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPgogICAgICA8L2RlZj4KICAgPC9wYXJhbWV0ZXJzPgogICA8Y29kZVN5c3RlbXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iNiIgbG9jYXRvcj0iMTQ6MS0xNDozOCIgbmFtZT0iTE9JTkMiIGlkPSJodHRwOi8vbG9pbmMub3JnIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNiI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtMT0lOQyZxdW90OzogJ2h0dHA6Ly9sb2luYy5vcmcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjciIGxvY2F0b3I9IjE1OjEtMTU6NjAiIG5hbWU9IlNOT01FRENUIiBpZD0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O1NOT01FRENUJnF1b3Q7OiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgiIGxvY2F0b3I9IjE2OjEtMTY6NjUiIG5hbWU9IkRpYWdub3NpcyBSb2xlIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7RGlhZ25vc2lzIFJvbGUmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5IiBsb2NhdG9yPSIxNzoxLTE3OjY0IiBuYW1lPSJSZXF1ZXN0SW50ZW50IiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7UmVxdWVzdEludGVudCZxdW90OzogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2NvZGVTeXN0ZW1zPgogICA8dmFsdWVTZXRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwIiBsb2NhdG9yPSIxOToxLTE5OjEwMCIgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtFbmNvdW50ZXIgSW5wYXRpZW50JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMSIgbG9jYXRvcj0iMjA6MS0yMDoxMTciIG5hbWU9Ik5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40MjQnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEyIiBsb2NhdG9yPSIyMToxLTIxOjEwMCIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtJc2NoZW1pYyBTdHJva2UmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMyIgbG9jYXRvcj0iMjI6MS0yMjoxMDMiIG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMyI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7SGVtb3JyaGFnaWMgU3Ryb2tlJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxMic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQiIGxvY2F0b3I9IjIzOjEtMjM6OTQiIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNCI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7Q29tZm9ydCBNZWFzdXJlcyZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8xLjMuNi4xLjQuMS4zMzg5NS4xLjMuMC40NSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTUiIGxvY2F0b3I9IjI0OjEtMjQ6MTExIiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNSI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7RW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNiIgbG9jYXRvcj0iMjU6MS0yNToxMTIiIG5hbWU9IkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNiI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7TGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTciIGxvY2F0b3I9IjI2OjEtMjY6MTM2IiBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTciPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0Rpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE4IiBsb2NhdG9yPSIyNzoxLTI3OjEwMCIgbmFtZT0iUGF0aWVudCBFeHBpcmVkIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE4Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtQYXRpZW50IEV4cGlyZWQmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxOSIgbG9jYXRvcj0iMjg6MS0yODoxMTYiIG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTkiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0Rpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMCIgbG9jYXRvcj0iMjk6MS0yOToxMjAiIG5hbWU9IkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIwIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDknPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxIiBsb2NhdG9yPSIzMDoxLTMwOjk3IiBuYW1lPSJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjEiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O09OQyBBZG1pbmlzdHJhdGl2ZSBTZXgmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyIiBsb2NhdG9yPSIzMToxLTMxOjgyIiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjIiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1JhY2UmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzYnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzIiBsb2NhdG9yPSIzMjoxLTMyOjg3IiBuYW1lPSJFdGhuaWNpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMyI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7RXRobmljaXR5JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNCIgbG9jYXRvcj0iMzM6MS0zMzo4NCIgbmFtZT0iUGF5ZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjQiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1BheWVyJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjUiIGxvY2F0b3I9IjM0OjEtMzQ6OTAiIG5hbWU9IkxETC1jIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxNSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI1Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtMREwtYyZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTUnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI2IiBsb2NhdG9yPSIzNToxLTM1Ojk5IiBuYW1lPSJNZWRpY2FsIFJlYXNvbiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40NzMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNiI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7TWVkaWNhbCBSZWFzb24mcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDczJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNyIgbG9jYXRvcj0iMzY6MS0zNjo5OSIgbmFtZT0iUGF0aWVudCBSZWZ1c2FsIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjkzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjciPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1BhdGllbnQgUmVmdXNhbCZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS45Myc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjgiIGxvY2F0b3I9IjM3OjEtMzc6MTAwIiBuYW1lPSJTdGF0aW4gQWxsZXJnZW4iIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDIzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjgiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1N0YXRpbiBBbGxlcmdlbiZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40MjMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI5IiBsb2NhdG9yPSIzODoxLTM4Ojk1IiBuYW1lPSJTdGF0aW4gR3JvdXBlciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4xOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI5Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtTdGF0aW4gR3JvdXBlciZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4xOSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdmFsdWVTZXRzPgogICA8Y29kZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzEiIGxvY2F0b3I9IjQxOjEtNDE6NjEiIG5hbWU9IkJpcnRoZGF0ZSIgaWQ9IjIxMTEyLTgiIGRpc3BsYXk9IkJpcnRoIGRhdGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMSI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtCaXJ0aGRhdGUmcXVvdDs6ICcyMTExMi04JyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtMT0lOQyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnQmlydGggZGF0ZSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMzAiIGxvY2F0b3I9IjQxOjM0LTQxOjQwIiBuYW1lPSJMT0lOQyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMyIgbG9jYXRvcj0iNDI6MS00Mjo1NSIgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMzIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O0RlYWQmcXVvdDs6ICc0MTkwOTkwMDknIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzIiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1NOT01FRENUJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdEZWFkJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIzMiIgbG9jYXRvcj0iNDI6MzEtNDI6NDAiIG5hbWU9IlNOT01FRENUIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM1IiBsb2NhdG9yPSI0NToxLTQ1OjY1IiBuYW1lPSJCaWxsaW5nIiBpZD0iYmlsbGluZyIgZGlzcGxheT0iQmlsbGluZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM1Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O0JpbGxpbmcmcXVvdDs6ICdiaWxsaW5nJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEaWFnbm9zaXMgUm9sZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnQmlsbGluZyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMzQiIGxvY2F0b3I9IjQ1OjMyLTQ1OjQ3IiBuYW1lPSJEaWFnbm9zaXMgUm9sZSIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNyIgbG9jYXRvcj0iNDY6MS00Njo1OCIgbmFtZT0iT3JkZXIiIGlkPSJvcmRlciIgZGlzcGxheT0iT3JkZXIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNyI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtPcmRlciZxdW90OzogJ29yZGVyJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtSZXF1ZXN0SW50ZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdPcmRlcic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMzYiIGxvY2F0b3I9IjQ2OjI4LTQ2OjQyIiBuYW1lPSJSZXF1ZXN0SW50ZW50Ii8+CiAgICAgIDwvZGVmPgogICA8L2NvZGVzPgogICA8Y29udGV4dHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iNTA6MS01MDoxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhdG9yPSI1MDoxLTUwOjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI1MDoxLTUwOjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2MSIgbG9jYXRvcj0iNjU6MS02OTo2NyIgbmFtZT0iTm9uIEVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2MSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O05vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjAiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtFbmNvdW50ZXImcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O05vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBOb25FbGVjdGl2ZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJLy93aGVyZSAmcXVvdDtMZW5ndGhJbkRheXMmcXVvdDsoTm9uRWxlY3RpdmVFbmNvdW50ZXIucGVyaW9kKSZsdDs9IDEyMAoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kYXlzIGJldHdlZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Tm9uRWxlY3RpdmVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7c3RhcnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Tm9uRWxlY3RpdmVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7ZW5kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTMiPiAmbHQ7PSAxMjA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCWFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob25FbGVjdGl2ZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTgiPiBlbmRzIGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjAiIGxvY2F0b3I9IjY2OjItNjk6NjciIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDUiIGxvY2F0b3I9IjY2OjItNjY6NzEiIGFsaWFzPSJOb25FbGVjdGl2ZUVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ0IiBsb2NhdG9yPSI2NjoyLTY2OjUwIiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iNjY6MTYtNjY6NDkiIG5hbWU9Ik5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjU5IiBsb2NhdG9yPSI2ODozLTY5OjY3IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTQiIGxvY2F0b3I9IjY4OjktNjg6MTAxIiB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MiIgbG9jYXRvcj0iNjg6OS02ODo5NCIgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ4IiBsb2NhdG9yPSI2ODoyMi02ODo1NiIgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDciIGxvY2F0b3I9IjY4OjIyLTY4OjQ4IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUxIiBsb2NhdG9yPSI2ODo2Mi02ODo5NCIgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjUwIiBsb2NhdG9yPSI2ODo2Mi02ODo4OCIgcGF0aD0icGVyaW9kIiBzY29wZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MyIgbG9jYXRvcj0iNjg6OTktNjg6MTAxIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1OCIgbG9jYXRvcj0iNjk6OC02OTo2NyIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNjk6MzYtNjk6MzkiIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU2IiBsb2NhdG9yPSI2OTo4LTY5OjM0IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NyIgbG9jYXRvcj0iNjk6NDgtNjk6NjciIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjUiIGxvY2F0b3I9IjYwOjEtNjE6NTYiIG5hbWU9IkFsbCBTdHJva2UgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtBbGwgU3Ryb2tlIEVuY291bnRlciZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O05vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTm9uRWxlY3RpdmVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjQiIGxvY2F0b3I9IjYxOjItNjE6NTYiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjMiIGxvY2F0b3I9IjYxOjItNjE6NTYiIGFsaWFzPSJOb25FbGVjdGl2ZUVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjYyIiBsb2NhdG9yPSI2MToyLTYxOjM1IiBuYW1lPSJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzgiIGxvY2F0b3I9IjU1OjEtNTg6NjQiIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzciPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QWxsIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBBbGxTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aXRoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtQYXRpZW50JnF1b3Q7XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJc3VjaCB0aGF0IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5ZZWFyc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFsbFN0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NCI+ID49IDE4PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijc3IiBsb2NhdG9yPSI1NjoyLTU4OjY0IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjY3IiBsb2NhdG9yPSI1NjoyLTU2OjQyIiBhbGlhcz0iQWxsU3Ryb2tlRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjYiIGxvY2F0b3I9IjU2OjItNTY6MjMiIG5hbWU9IkFsbCBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSI3NiIgbG9jYXRvcj0iNTc6My01ODo2NCIgYWxpYXM9IkJpcnRoRGF0ZSIgeHNpOnR5cGU9IldpdGgiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2OCIgbG9jYXRvcj0iNTc6OC01NzoxOCIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgICAgIDxzdWNoVGhhdCBsb2NhbElkPSI3NSIgbG9jYXRvcj0iNTg6MTQtNTg6NjQiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjczIiBsb2NhdG9yPSI1ODoxNC01ODo1OCIgcHJlY2lzaW9uPSJZZWFyIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3MiIgbG9jYXRvcj0iNTg6MjctNTg6NTciIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjcxIiBsb2NhdG9yPSI1ODoyNy01ODo1MSIgcGF0aD0icGVyaW9kIiBzY29wZT0iQWxsU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzQiIGxvY2F0b3I9IjU4OjYzLTU4OjY0IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE4IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3N1Y2hUaGF0PgogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4MCIgbG9jYXRvcj0iNTI6MS01Mzo0NSIgbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtJbml0aWFsIFBvcHVsYXRpb24mcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3OSIgbG9jYXRvcj0iNTM6Mi01Mzo0NSIgbmFtZT0iRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4MyIgbG9jYXRvcj0iODU6MS04NjozMiIgbmFtZT0iRGVub21pbmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0Rlbm9taW5hdG9yJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5USkM8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODIiIGxvY2F0b3I9Ijg2OjItODY6MzIiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIGxpYnJhcnlOYW1lPSJUSkMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijg1IiBsb2NhdG9yPSI4OToxLTkwOjQyIiBuYW1lPSJTdGF0aW4gQWxsZXJneSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7U3RhdGluIEFsbGVyZ3kmcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O0FsbGVyZ3lJbnRvbGVyYW5jZSZxdW90OzogPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U3RhdGluIEFsbGVyZ2VuJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg0IiBsb2NhdG9yPSI5MDoyLTkwOjQyIiBkYXRhVHlwZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2UiIGNvZGVQcm9wZXJ0eT0iY29kZSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iOTA6MjUtOTA6NDEiIG5hbWU9IlN0YXRpbiBBbGxlcmdlbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODkiIGxvY2F0b3I9Ijk3OjEtOTg6NjIiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4OSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4OCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBFbmNvdW50ZXJXaXRoQWdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg4IiBsb2NhdG9yPSI5ODoyLTk4OjYyIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg3IiBsb2NhdG9yPSI5ODoyLTk4OjYyIiBhbGlhcz0iRW5jb3VudGVyV2l0aEFnZSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg2IiBsb2NhdG9yPSI5ODoyLTk4OjQ1IiBuYW1lPSJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwNiIgbG9jYXRvcj0iMTAyOjEtMTA1OjMwIiBuYW1lPSJTdGF0aW4gYXQgRGlzY2hhcmdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTA2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7U3RhdGluIGF0IERpc2NoYXJnZSZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O01lZGljYXRpb25SZXF1ZXN0JnF1b3Q7XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IFN0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlN0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm1lZGljYXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29kZWFibGVDb25jZXB0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U3RhdGluIEdyb3VwZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQlhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+U3RhdGluPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmludGVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nb3JkZXInPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTA1IiBsb2NhdG9yPSIxMDM6Mi0xMDU6MzAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTMiIGxvY2F0b3I9IjEwMzoyLTEwMzoyOSIgYWxpYXM9IlN0YXRpbiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjkyIiBsb2NhdG9yPSIxMDM6Mi0xMDM6MjIiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxMDQiIGxvY2F0b3I9IjEwNDozLTEwNTozMCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk5IiBsb2NhdG9yPSIxMDQ6OS0xMDQ6NjYiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk3IiBsb2NhdG9yPSIxMDQ6OS0xMDQ6NDYiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk1IiBsb2NhdG9yPSIxMDQ6MTAtMTA0OjI2IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSI5NiIgbG9jYXRvcj0iMTA0OjMxLTEwNDo0NSIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSI5OCIgbG9jYXRvcj0iMTA0OjUxLTEwNDo2NiIgbmFtZT0iU3RhdGluIEdyb3VwZXIiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEwMyIgbG9jYXRvcj0iMTA1OjgtMTA1OjMwIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDEiIGxvY2F0b3I9IjEwNTo4LTEwNToyMCIgcGF0aD0iaW50ZW50IiBzY29wZT0iU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDIiIGxvY2F0b3I9IjEwNToyNC0xMDU6MzAiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvcmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExNiIgbG9jYXRvcj0iOTI6MS05NTo3NyIgbmFtZT0iTnVtZXJhdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTE2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7TnVtZXJhdG9yJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aXRoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTdGF0aW4gYXQgRGlzY2hhcmdlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gRGlzY2hhcmdlU3RhdGluPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQlzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RGlzY2hhcmdlU3RhdGluPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmF1dGhvcmVkT248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMyI+IGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTE1IiBsb2NhdG9yPSI5MzoyLTk1Ojc3IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjkxIiBsb2NhdG9yPSI5MzoyLTkzOjUyIiBhbGlhcz0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5MCIgbG9jYXRvcj0iOTM6Mi05MzoyOCIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgbG9jYWxJZD0iMTE0IiBsb2NhdG9yPSI5NDozLTk1Ojc3IiBhbGlhcz0iRGlzY2hhcmdlU3RhdGluIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEwNyIgbG9jYXRvcj0iOTQ6OC05NDoyOCIgbmFtZT0iU3RhdGluIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjExMyIgbG9jYXRvcj0iOTU6MTQtOTU6NzciIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTEwIiBsb2NhdG9yPSI5NToxNC05NTozOSIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkRpc2NoYXJnZVN0YXRpbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTIiIGxvY2F0b3I9Ijk1OjQ4LTk1Ojc3IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTM4IiBsb2NhdG9yPSIxMDg6MS0xMTI6NjMiIG5hbWU9IlN0YXRpbiBOb3QgR2l2ZW4gYXQgRGlzY2hhcmdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTM4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7U3RhdGluIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UmcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzciPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtNZWRpY2F0aW9uUmVxdWVzdCZxdW90O108L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBOb1N0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Tm9TdGF0aW48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bWVkaWNhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29kZWFibGVDb25jZXB0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1N0YXRpbiBHcm91cGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob1N0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZWFzb25Db2RlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVkaWNhbCBSZWFzb24mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQkJb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob1N0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZWFzb25Db2RlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UGF0aWVudCBSZWZ1c2FsJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTM3IiBsb2NhdG9yPSIxMDk6Mi0xMTI6NjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTE4IiBsb2NhdG9yPSIxMDk6Mi0xMDk6MzEiIGFsaWFzPSJOb1N0YXRpbiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExNyIgbG9jYXRvcj0iMTA5OjItMTA5OjIyIiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMTM2IiBsb2NhdG9yPSIxMTA6My0xMTI6NjMiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjQiIGxvY2F0b3I9IjExMDo5LTExMDo2OCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTIyIiBsb2NhdG9yPSIxMTA6OS0xMTA6NDgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyMCIgbG9jYXRvcj0iMTEwOjEwLTExMDoyOCIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik5vU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMjEiIGxvY2F0b3I9IjExMDozMy0xMTA6NDciIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTIzIiBsb2NhdG9yPSIxMTA6NTMtMTEwOjY4IiBuYW1lPSJTdGF0aW4gR3JvdXBlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTM1IiBsb2NhdG9yPSIxMTE6OC0xMTI6NjMiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyOSIgbG9jYXRvcj0iMTExOjktMTExOjYyIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjciIGxvY2F0b3I9IjExMTo5LTExMTo0MiIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjYiIGxvY2F0b3I9IjExMToyNC0xMTE6NDIiIHBhdGg9InJlYXNvbkNvZGUiIHNjb3BlPSJOb1N0YXRpbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTI4IiBsb2NhdG9yPSIxMTE6NDctMTExOjYyIiBuYW1lPSJNZWRpY2FsIFJlYXNvbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTM0IiBsb2NhdG9yPSIxMTI6OC0xMTI6NjIiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzMiIgbG9jYXRvcj0iMTEyOjgtMTEyOjQxIiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzMSIgbG9jYXRvcj0iMTEyOjIzLTExMjo0MSIgcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIxMzMiIGxvY2F0b3I9IjExMjo0Ni0xMTI6NjIiIG5hbWU9IlBhdGllbnQgUmVmdXNhbCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE2NSIgbG9jYXRvcj0iMTIwOjEtMTI1OjgiIG5hbWU9IkVuY291bnRlciB3aXRoIE1heCBMREwgbGVzcyB0aGFuIDcwIG1nIHBlciBkTCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE2NSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0VuY291bnRlciB3aXRoIE1heCBMREwgbGVzcyB0aGFuIDcwIG1nIHBlciBkTCZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE2NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TWF4KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O09ic2VydmF0aW9uJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtMREwtYyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTGRsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TGRsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlzc3VlZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU0Ij4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gLSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjMwIGRheXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVuZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TGRsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5RdWFudGl0eTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCSk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYyIj4gJmx0OyA3MDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNjQiIGxvY2F0b3I9IjEyMToyLTEyNTo4IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE0MCIgbG9jYXRvcj0iMTIxOjItMTIxOjUyIiBhbGlhcz0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMzkiIGxvY2F0b3I9IjEyMToyLTEyMToyOCIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxNjMiIGxvY2F0b3I9IjEyMjozLTEyNTo4IiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2MSIgbG9jYXRvcj0iMTIyOjktMTI1OjMiIHhzaTp0eXBlPSJNYXgiPgogICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNjAiIGxvY2F0b3I9IjEyMjoxMy0xMjQ6MzQiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTQyIiBsb2NhdG9yPSIxMjI6MTMtMTIyOjQwIiBhbGlhcz0iTGRsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTQxIiBsb2NhdG9yPSIxMjI6MTMtMTIyOjM2IiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIxMjI6MjktMTIyOjM1IiBuYW1lPSJMREwtYyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxNTQiIGxvY2F0b3I9IjEyMzo1LTEyMzoxMTkiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ0IiBsb2NhdG9yPSIxMjM6MTEtMTIzOjIwIiBwYXRoPSJpc3N1ZWQiIHNjb3BlPSJMZGwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1MyIgbG9jYXRvcj0iMTIzOjI5LTEyMzoxMTkiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIxNDkiIGxvY2F0b3I9IjEyMzozOC0xMjM6ODMiIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ3IiBsb2NhdG9yPSIxMjM6MzgtMTIzOjczIiBwYXRoPSJzdGFydCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNDYiIGxvY2F0b3I9IjEyMzozOC0xMjM6NjciIHBhdGg9InBlcmlvZCIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0OCIgbG9jYXRvcj0iMTIzOjc3LTEyMzo4MyIgdmFsdWU9IjMwIiB1bml0PSJkYXlzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTUyIiBsb2NhdG9yPSIxMjM6ODUtMTIzOjExOCIgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE1MSIgbG9jYXRvcj0iMTIzOjg1LTEyMzoxMTQiIHBhdGg9InBlcmlvZCIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSIxNTkiIGxvY2F0b3I9IjEyNDo1LTEyNDozNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE1OCIgbG9jYXRvcj0iMTI0OjEyLTEyNDozNCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTU2IiBsb2NhdG9yPSIxMjQ6MTMtMTI0OjIxIiBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkxkbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTU3IiBsb2NhdG9yPSIxMjQ6MjYtMTI0OjMzIiBuYW1lPSJmaGlyOlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvUXVhbnRpdHkiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjIiIGxvY2F0b3I9IjEyNTo3LTEyNTo4IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjcwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTgxIiBsb2NhdG9yPSIxMjc6MS0xMzM6NTUiIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2VwdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE4MSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0Rlbm9taW5hdG9yIEV4Y2VwdGlvbiZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE4MCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IElzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndpdGggPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1N0YXRpbiBOb3QgR2l2ZW4gYXQgRGlzY2hhcmdlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTm9EaXNjaGFyZ2VTdGF0aW48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCXN1Y2ggdGhhdCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob0Rpc2NoYXJnZVN0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hdXRob3JlZE9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzQiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkpPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJdW5pb24KCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiApPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTgwIiBsb2NhdG9yPSIxMjg6Mi0xMzM6NTUiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3NiIgbG9jYXRvcj0iMTI4OjItMTMxOjIiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTY3IiBsb2NhdG9yPSIxMjg6My0xMjg6NTMiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE2NiIgbG9jYXRvcj0iMTI4OjMtMTI4OjI5IiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSIxNzUiIGxvY2F0b3I9IjEyOTozLTEzMDo3OSIgYWxpYXM9Ik5vRGlzY2hhcmdlU3RhdGluIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE2OCIgbG9jYXRvcj0iMTI5OjgtMTI5OjM4IiBuYW1lPSJTdGF0aW4gTm90IEdpdmVuIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjE3NCIgbG9jYXRvcj0iMTMwOjE0LTEzMDo3OSIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzEiIGxvY2F0b3I9IjEzMDoxNC0xMzA6NDEiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJOb0Rpc2NoYXJnZVN0YXRpbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzMiIGxvY2F0b3I9IjEzMDo1MC0xMzA6NzkiIHBhdGg9InBlcmlvZCIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3N1Y2hUaGF0PgogICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzkiIGxvY2F0b3I9IjEzMzoyLTEzMzo1NSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNzgiIGxvY2F0b3I9IjEzMzozLTEzMzo1MyIgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTc3IiBsb2NhdG9yPSIxMzM6My0xMzM6MjkiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjE0IiBsb2NhdG9yPSIxNDI6MS0xNDk6MiIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlcnMgd2l0aCBEaXNjaGFyZ2UgU3RhdHVzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjE0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7SXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlcnMgd2l0aCBEaXNjaGFyZ2UgU3RhdHVzJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjEzIj4KICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IElzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5ob3NwaXRhbGl6YXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRpc2NoYXJnZURpc3Bvc2l0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCW9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aG9zcGl0YWxpemF0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kaXNjaGFyZ2VEaXNwb3NpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCW9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aG9zcGl0YWxpemF0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kaXNjaGFyZ2VEaXNwb3NpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UGF0aWVudCBFeHBpcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCW9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aG9zcGl0YWxpemF0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kaXNjaGFyZ2VEaXNwb3NpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5ob3NwaXRhbGl6YXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRpc2NoYXJnZURpc3Bvc2l0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJKTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjEzIiBsb2NhdG9yPSIxNDM6Mi0xNDk6MiIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxODMiIGxvY2F0b3I9IjE0MzozLTE0Mzo1MyIgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTgyIiBsb2NhdG9yPSIxNDM6My0xNDM6MjkiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMjEyIiBsb2NhdG9yPSIxNDQ6My0xNDg6MTIzIiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMDYiIGxvY2F0b3I9IjE0NDo5LTE0NzoxMDciIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwMCIgbG9jYXRvcj0iMTQ0OjktMTQ2Ojg3IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTQiIGxvY2F0b3I9IjE0NDo5LTE0NTo5OSIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTg4IiBsb2NhdG9yPSIxNDQ6OS0xNDQ6MTA2IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODYiIGxvY2F0b3I9IjE0NDo5LTE0NDo2OCIgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTg1IiBsb2NhdG9yPSIxNDQ6OS0xNDQ6NDciIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIxODciIGxvY2F0b3I9IjE0NDo3My0xNDQ6MTA2IiBuYW1lPSJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTkzIiBsb2NhdG9yPSIxNDU6Ny0xNDU6OTkiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5MSIgbG9jYXRvcj0iMTQ1OjctMTQ1OjY2IiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxOTAiIGxvY2F0b3I9IjE0NTo3LTE0NTo0NSIgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjE5MiIgbG9jYXRvcj0iMTQ1OjcxLTE0NTo5OSIgbmFtZT0iTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5OSIgbG9jYXRvcj0iMTQ2OjctMTQ2Ojg3IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTciIGxvY2F0b3I9IjE0Njo3LTE0Njo2NiIgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTk2IiBsb2NhdG9yPSIxNDY6Ny0xNDY6NDUiIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIxOTgiIGxvY2F0b3I9IjE0Njo3MS0xNDY6ODciIG5hbWU9IlBhdGllbnQgRXhwaXJlZCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMDUiIGxvY2F0b3I9IjE0Nzo3LTE0NzoxMDciIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwMyIgbG9jYXRvcj0iMTQ3OjctMTQ3OjY2IiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMDIiIGxvY2F0b3I9IjE0Nzo3LTE0Nzo0NSIgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjIwNCIgbG9jYXRvcj0iMTQ3OjcxLTE0NzoxMDciIG5hbWU9IkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIxMSIgbG9jYXRvcj0iMTQ4OjctMTQ4OjEyMyIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjA5IiBsb2NhdG9yPSIxNDg6Ny0xNDg6NjYiIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIwOCIgbG9jYXRvcj0iMTQ4OjctMTQ4OjQ1IiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMjEwIiBsb2NhdG9yPSIxNDg6NzEtMTQ4OjEyMyIgbmFtZT0iRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iMTY1OjEtMTcwOjUwIiBuYW1lPSJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIzMyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0ludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjMyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtQcm9jZWR1cmVSZXF1ZXN0JnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDb21mb3J0IE1lYXN1cmVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBQPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aW50ZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidvcmRlcic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCQl1bmlvbgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O1Byb2NlZHVyZSZxdW90OzogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q29tZm9ydCBNZWFzdXJlcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSW50ZXJ2ZXRpb25QZXJmb3JtZWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2ZXRpb25QZXJmb3JtZWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidjb21wbGV0ZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMzIiIGxvY2F0b3I9IjE2NjoyLTE3MDo1MCIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjI0IiBsb2NhdG9yPSIxNjY6Mi0xNjc6MjciIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjE5IiBsb2NhdG9yPSIxNjY6My0xNjY6NDQiIGFsaWFzPSJQIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjE4IiBsb2NhdG9yPSIxNjY6My0xNjY6NDIiIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZVJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0iY29kZSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iMTY2OjI0LTE2Njo0MSIgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyMjMiIGxvY2F0b3I9IjE2NzozLTE2NzoyNiIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjIxIiBsb2NhdG9yPSIxNjc6OS0xNjc6MTYiIHBhdGg9ImludGVudCIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyMiIgbG9jYXRvcj0iMTY3OjIwLTE2NzoyNiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzEiIGxvY2F0b3I9IjE2OTozLTE3MDo1MCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMjYiIGxvY2F0b3I9IjE2OTo0LTE2OTo1NyIgYWxpYXM9IkludGVydmV0aW9uUGVyZm9ybWVkIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjI1IiBsb2NhdG9yPSIxNjk6NC0xNjk6MzYiIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIxNjk6MTgtMTY5OjM1IiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjIzMCIgbG9jYXRvcj0iMTcwOjMtMTcwOjQ5IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjgiIGxvY2F0b3I9IjE3MDo5LTE3MDozNSIgcGF0aD0ic3RhdHVzIiBzY29wZT0iSW50ZXJ2ZXRpb25QZXJmb3JtZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyOSIgbG9jYXRvcj0iMTcwOjM5LTE3MDo0OSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNDQiIGxvY2F0b3I9IjE1MjoxLTE1NTo5NSIgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjQ0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7Q29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQzIj4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IElzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndpdGggPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0ludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gQ29tZm9ydE1lYXN1cmU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCXN1Y2ggdGhhdCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Db21mb3J0TWVhc3VyZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hdXRob3JlZE9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDEiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkdsb2JhbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtIb3NwaXRhbGl6YXRpb24mcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQzIiBsb2NhdG9yPSIxNTM6Mi0xNTU6OTUiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjE3IiBsb2NhdG9yPSIxNTM6Mi0xNTM6NTIiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIxNiIgbG9jYXRvcj0iMTUzOjItMTUzOjI4IiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSIyNDIiIGxvY2F0b3I9IjE1NDozLTE1NTo5NSIgYWxpYXM9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzNCIgbG9jYXRvcj0iMTU0OjgtMTU0OjM4IiBuYW1lPSJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjI0MSIgbG9jYXRvcj0iMTU1OjE0LTE1NTo5NSIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzciIGxvY2F0b3I9IjE1NToxNC0xNTU6MzgiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQwIiBsb2NhdG9yPSIxNTU6NDctMTU1Ojk1IiBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzOSIgbG9jYXRvcj0iMTU1OjcyLTE1NTo5NCIgbmFtZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0NyIgbG9jYXRvcj0iMTM3OjEtMTQwOjQyIiBuYW1lPSJEZW5vbWluYXRvciBFeGNsdXNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNDciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtEZW5vbWluYXRvciBFeGNsdXNpb24mcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNDYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlcnMgd2l0aCBEaXNjaGFyZ2UgU3RhdHVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJdW5pb24KCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjQ2IiBsb2NhdG9yPSIxMzg6Mi0xNDA6NDIiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIxNSIgbG9jYXRvcj0iMTM4OjItMTM4OjUxIiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBTdGF0dXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NSIgbG9jYXRvcj0iMTQwOjItMTQwOjQyIiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo=" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-EXM105_FHIR3-8.0.000.json b/fhir3/input/resources/library/library-EXM105_FHIR3-8.0.000.json index abfe58ab..ea471ee7 100644 --- a/fhir3/input/resources/library/library-EXM105_FHIR3-8.0.000.json +++ b/fhir3/input/resources/library/library-EXM105_FHIR3-8.0.000.json @@ -3,110 +3,355 @@ "id": "library-EXM105-FHIR3-8.0.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM105-FHIR3-8.0.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">8.0.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-TJCOverall-FHIR3-3.6.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"8\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Patient</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>AllergyIntolerance</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM105_FHIR3 version '8.0.000'\n\n/*\nBased on CMS105v8 - Discharged on Statin Medication\nAuthor: TJC\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0'\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\ninclude TJCOverall_FHIR3 version '3.6.000' called TJC\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\n\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'\nvalueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'\nvalueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "LDL-c": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215'\nvalueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'\nvalueset "Medical Reason": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'\nvalueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'\nvalueset "Patient Refusal": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Statin Allergen": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423'\nvalueset "Statin Grouper": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.19'\n\n// TODO: Use NLM VSAC Canonical URLs\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\n//code "Medication-dischargeMedication": '8654-6' from "LOINC" display 'Hospital Discharge medications'\n\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\ncode "Order": 'order' from "RequestIntent" display 'Order'\n\nparameter "Measurement Period" Interval<DateTime>\n default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n\tSDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n\tSDE."SDE Sex"\n\ndefine "Initial Population":\n\t"Encounter with Principal Diagnosis and Age"\n\ndefine "Encounter with Principal Diagnosis and Age":\n\t"All Stroke Encounter" AllStrokeEncounter\n\t\twith ["Patient"] BirthDate\n\t\t\tsuch that AgeInYearsAt(AllStrokeEncounter.period.start) >= 18\n\ndefine "All Stroke Encounter":\n\t"Non Elective Inpatient Encounter" NonElectiveEncounter\n\t\twhere Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Hemorrhagic Stroke"\n\t\tor Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Ischemic Stroke"\n\ndefine "Non Elective Inpatient Encounter":\n\t["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\n\t\twhere Global."LengthInDays"(NonElectiveEncounter.period)<= 120\n\t\t\tand NonElectiveEncounter.period ends during "Measurement Period"\n\ndefine "Denominator":\n\tTJC."Ischemic Stroke Encounter"\n\ndefine "Statin Allergy":\n\t["AllergyIntolerance": "Statin Allergen"]\n\ndefine "Numerator":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Statin at Discharge" DischargeStatin\n\t\t\tsuch that DischargeStatin.authoredOn during IschemicStrokeEncounter.period\n\ndefine "Ischemic Stroke Encounter":\n\t"Encounter with Principal Diagnosis and Age" EncounterWithAge\n\t\twhere Global.PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"\n\n// Medication orders at discharge, how do we know that these are ordered with the intent to be taken discharge rather than the inpatient stay.\ndefine "Statin at Discharge":\n\t["MedicationRequest"] Statin\n\t\twhere (Statin.medication as CodeableConcept) in "Statin Grouper"\n\t\t\tand Statin.intent = 'order'\n\ndefine "Statin Not Given at Discharge":\n\t["MedicationRequest"] NoStatin\n\t\twhere (NoStatin.medication as CodeableConcept) in "Statin Grouper"\n\t\t\tand (singleton from NoStatin.reasonCode in "Medical Reason"\n\t\t\t\tor singleton from NoStatin.reasonCode in "Patient Refusal")\n\n//Folling function copied from MATGlobalCommonFunctions 2.0 in cqf-measures github repo\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n\tif onset is FHIR.dateTime then Interval[onset.value, onset.value]\n\telse if onset is FHIR.Period then FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse null\n\ndefine "Encounter with Max LDL less than 70 mg per dL":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twhere Max(["Observation": "LDL-c"] Ldl\n\t\t\t\twhere Ldl.issued during Interval[IschemicStrokeEncounter.period.start - 30 days,IschemicStrokeEncounter.period.end]\n\t\t\t\treturn (Ldl.value as Quantity)\n\t\t) < 70\n\ndefine "Denominator Exception":\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Statin Not Given at Discharge" NoDischargeStatin\n\t\t\tsuch that NoDischargeStatin.authoredOn during IschemicStrokeEncounter.period\n\t)\n\tunion\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Statin Allergy" StatinAllergy\n\t\t\tsuch that "Normalize Onset"(StatinAllergy.onset) on or before end of IschemicStrokeEncounter.period)\n\ndefine "Denominator Exclusion":\n\t"Ischemic Stroke Encounters with Discharge Status"\n\tunion\n\t"Comfort Measures during Hospitalization"\n\ndefine "Ischemic Stroke Encounters with Discharge Status":\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twhere IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\n\t)\n\ndefine "Comfort Measures during Hospitalization":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Intervention Comfort Measures" ComfortMeasure\n\t\t\tsuch that ComfortMeasure.authoredOn during Global."Hospitalization"(IschemicStrokeEncounter)\n\n/*\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion ["Procedure": "Comfort Measures"]\n*/\n\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent in {'plan', 'order'})\n\t\tunion\n\t\t(["Procedure": "Comfort Measures"] IntervetionPerformed\n\t\twhere IntervetionPerformed.status in {'complete', 'in progress'})\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM105-FHIR3-8.0.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">8.0.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-TJCOverall-FHIR3-3.6.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"8\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Patient</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>AllergyIntolerance</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM105_FHIR3 version '8.0.000'\n\n/*\nBased on CMS105v8 - Discharged on Statin Medication\nAuthor: TJC\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0'\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\ninclude TJCOverall_FHIR3 version '3.6.000' called TJC\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\n\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'\nvalueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'\nvalueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "LDL-c": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215'\nvalueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'\nvalueset "Medical Reason": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'\nvalueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'\nvalueset "Patient Refusal": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Statin Allergen": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423'\nvalueset "Statin Grouper": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.19'\n\n// TODO: Use NLM VSAC Canonical URLs\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\n//code "Medication-dischargeMedication": '8654-6' from "LOINC" display 'Hospital Discharge medications'\n\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\ncode "Order": 'order' from "RequestIntent" display 'Order'\n\nparameter "Measurement Period" Interval<DateTime>\n default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n\tSDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n\tSDE."SDE Sex"\n\ndefine "Initial Population":\n\t"Encounter with Principal Diagnosis and Age"\n\ndefine "Encounter with Principal Diagnosis and Age":\n\t"All Stroke Encounter" AllStrokeEncounter\n\t\twith ["Patient"] BirthDate\n\t\t\tsuch that AgeInYearsAt(AllStrokeEncounter.period.start) >= 18\n\ndefine "All Stroke Encounter":\n\t"Non Elective Inpatient Encounter" NonElectiveEncounter\n\t\twhere Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Hemorrhagic Stroke"\n\t\tor Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Ischemic Stroke"\n\ndefine "Non Elective Inpatient Encounter":\n\t["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\n\t\twhere Global."LengthInDays"(NonElectiveEncounter.period)<= 120\n\t\t\tand NonElectiveEncounter.period ends during "Measurement Period"\n\ndefine "Denominator":\n\tTJC."Ischemic Stroke Encounter"\n\ndefine "Statin Allergy":\n\t["AllergyIntolerance": "Statin Allergen"]\n\ndefine "Numerator":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Statin at Discharge" DischargeStatin\n\t\t\tsuch that DischargeStatin.authoredOn during IschemicStrokeEncounter.period\n\ndefine "Ischemic Stroke Encounter":\n\t"Encounter with Principal Diagnosis and Age" EncounterWithAge\n\t\twhere Global.PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"\n\n// Medication orders at discharge, how do we know that these are ordered with the intent to be taken discharge rather than the inpatient stay.\ndefine "Statin at Discharge":\n\t["MedicationRequest"] Statin\n\t\twhere (Statin.medication as CodeableConcept) in "Statin Grouper"\n\t\t\tand Statin.intent = 'order'\n\ndefine "Statin Not Given at Discharge":\n\t["MedicationRequest"] NoStatin\n\t\twhere (NoStatin.medication as CodeableConcept) in "Statin Grouper"\n\t\t\tand (singleton from NoStatin.reasonCode in "Medical Reason"\n\t\t\t\tor singleton from NoStatin.reasonCode in "Patient Refusal")\n\n//Folling function copied from MATGlobalCommonFunctions 2.0 in cqf-measures github repo\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n\tif onset is FHIR.dateTime then Interval[onset.value, onset.value]\n\telse if onset is FHIR.Period then FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse null\n\ndefine "Encounter with Max LDL less than 70 mg per dL":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twhere Max(["Observation": "LDL-c"] Ldl\n\t\t\t\twhere Ldl.issued during Interval[IschemicStrokeEncounter.period.start - 30 days,IschemicStrokeEncounter.period.end]\n\t\t\t\treturn (Ldl.value as Quantity)\n\t\t) < 70\n\ndefine "Denominator Exception":\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Statin Not Given at Discharge" NoDischargeStatin\n\t\t\tsuch that NoDischargeStatin.authoredOn during IschemicStrokeEncounter.period\n\t)\n\tunion\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Statin Allergy" StatinAllergy\n\t\t\tsuch that "Normalize Onset"(StatinAllergy.onset) on or before end of IschemicStrokeEncounter.period)\n\ndefine "Denominator Exclusion":\n\t"Ischemic Stroke Encounters with Discharge Status"\n\tunion\n\t"Comfort Measures during Hospitalization"\n\ndefine "Ischemic Stroke Encounters with Discharge Status":\n\t("Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twhere IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"\n\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\n\t)\n\ndefine "Comfort Measures during Hospitalization":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Intervention Comfort Measures" ComfortMeasure\n\t\t\tsuch that ComfortMeasure.authoredOn during Global."Hospitalization"(IschemicStrokeEncounter)\n\n/*\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion ["Procedure": "Comfort Measures"]\n*/\n\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent in {'plan', 'order'})\n\t\tunion\n\t\t(["Procedure": "Comfort Measures"] IntervetionPerformed\n\t\twhere IntervetionPerformed.status in {'complete', 'in progress'})\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "8.0.000", "name": "EXM105_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/Library/FHIR-ModelInfo|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/FHIRHelpers|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/MATGlobalCommonFunctions_FHIR3|4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/SupplementalDataElements_FHIR3|1.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/TJCOverall_FHIR3|3.6.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://loinc.org" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://snomed.info/sct/731000124108" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/diagnosis-role" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/request-intent" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.19" + } + } ], + "parameter": [ { + "name": "Measurement Period", + "use": "in", + "min": 0, + "max": "1", + "type": "Period" + }, { + "name": "Patient", + "use": "out", + "min": 0, + "max": "1", + "type": "Patient" + }, { + "name": "SDE Ethnicity", + "use": "out", + "min": 0, + "max": "*", + "type": "Coding" + }, { + "name": "SDE Payer", + "use": "out", + "min": 0, + "max": "*", + "type": "Any" + }, { + "name": "SDE Race", + "use": "out", + "min": 0, + "max": "*", + "type": "Coding" + }, { + "name": "SDE Sex", + "use": "out", + "min": 0, + "max": "1", + "type": "Coding" + }, { + "name": "Non Elective Inpatient Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "All Stroke Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Encounter with Principal Diagnosis and Age", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Initial Population", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Statin Allergy", + "use": "out", + "min": 0, + "max": "*", + "type": "AllergyIntolerance" + }, { + "name": "Ischemic Stroke Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Statin at Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "MedicationRequest" + }, { + "name": "Numerator", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Statin Not Given at Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "MedicationRequest" + }, { + "name": "Encounter with Max LDL less than 70 mg per dL", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator Exception", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Ischemic Stroke Encounters with Discharge Status", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Intervention Comfort Measures", + "use": "out", + "min": 0, + "max": "*", + "type": "Any" + }, { + "name": "Comfort Measures during Hospitalization", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator Exclusion", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } ] + }, { + "type": "Patient" + }, { + "type": "AllergyIntolerance", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } ] + }, { + "type": "MedicationRequest" + }, { + "type": "MedicationRequest" + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-TJCOverall-FHIR3-3.6.000" + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" } - } - ], - "dataRequirement": [ - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" - } - ] - }, - { - "type": "Patient" - }, - { - "type": "AllergyIntolerance", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.423" - } - ] - }, - { - "type": "MedicationRequest" - }, - { - "type": "MedicationRequest" - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.215" - } - ] - }, - { - "type": "ProcedureRequest", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" - } - ] - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTEwNV9GSElSMyIgdmVyc2lvbj0iOC4wLjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iNC4wLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlNERSIgcGF0aD0iU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIiB2ZXJzaW9uPSIxLjAuMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlRKQyIgcGF0aD0iVEpDT3ZlcmFsbF9GSElSMyIgdmVyc2lvbj0iMy42LjAwMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGRlZmF1bHQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAxOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICA8L2RlZmF1bHQ+DQogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPg0KICAgICAgPC9kZWY+DQogICA8L3BhcmFtZXRlcnM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IkxPSU5DIiBpZD0iaHR0cDovL2xvaW5jLm9yZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJTTk9NRURDVCIgaWQ9Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpYWdub3NpcyBSb2xlIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSZXF1ZXN0SW50ZW50IiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC9jb2RlU3lzdGVtcz4NCiAgIDx2YWx1ZVNldHM+DQogICAgICA8ZGVmIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS44NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJJc2NoZW1pYyBTdHJva2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTERMLWMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTWVkaWNhbCBSZWFzb24iIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDczIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IEV4cGlyZWQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQgUmVmdXNhbCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS45MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJTdGF0aW4gQWxsZXJnZW4iIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDIzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlN0YXRpbiBHcm91cGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTEwLjE5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iQmlydGhkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlYWQiIGlkPSI0MTkwOTkwMDkiIGRpc3BsYXk9IkRlYWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEQ1QiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJCaWxsaW5nIiBpZD0iYmlsbGluZyIgZGlzcGxheT0iQmlsbGluZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJEaWFnbm9zaXMgUm9sZSIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik9yZGVyIiBpZD0ib3JkZXIiIGRpc3BsYXk9Ik9yZGVyIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJlcXVlc3RJbnRlbnQiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBFdGhuaWNpdHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIEV0aG5pY2l0eSIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgUGF5ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIFBheWVyIiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBSYWNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBSYWNlIiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBTZXgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIFNleCIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTGVuZ3RoSW5EYXlzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQWxsIFN0cm9rZSBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9Ik5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUHJpbmNpcGFsRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iSGVtb3JyaGFnaWMgU3Ryb2tlIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IklzY2hlbWljIFN0cm9rZSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkFsbFN0cm9rZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJBbGwgU3Ryb2tlIEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iQmlydGhEYXRlIiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJZZWFyIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlLnZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InBlcmlvZCIgc2NvcGU9IkFsbFN0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE4IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgbGlicmFyeU5hbWU9IlRKQyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTdGF0aW4gQWxsZXJneSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2UiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJTdGF0aW4gQWxsZXJnZW4iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkVuY291bnRlcldpdGhBZ2UiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXJXaXRoQWdlIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IklzY2hlbWljIFN0cm9rZSIvPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTdGF0aW4gYXQgRGlzY2hhcmdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJTdGF0aW4iPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJTdGF0aW4gR3JvdXBlciIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpbnRlbnQiIHNjb3BlPSJTdGF0aW4iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOdW1lcmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IkRpc2NoYXJnZVN0YXRpbiIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU3RhdGluIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkRpc2NoYXJnZVN0YXRpbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU3RhdGluIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vU3RhdGluIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik5vU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJTdGF0aW4gR3JvdXBlciIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJNZWRpY2FsIFJlYXNvbiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWFzb25Db2RlIiBzY29wZT0iTm9TdGF0aW4iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IlBhdGllbnQgUmVmdXNhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgT25zZXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImxvdyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvbG93Q2xvc2VkRXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJoaWdoIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgIDxoaWdoQ2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJoaWdoQ2xvc2VkIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9oaWdoQ2xvc2VkRXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgd2l0aCBNYXggTERMIGxlc3MgdGhhbiA3MCBtZyBwZXIgZEwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTGVzcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTWF4Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxkbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkxETC1jIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpc3N1ZWQiIHNjb3BlPSJMZGwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InBlcmlvZCIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIzMCIgdW5pdD0iZGF5cyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVuZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJMZGwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvUXVhbnRpdHkiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI3MCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IgRXhjZXB0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iTm9EaXNjaGFyZ2VTdGF0aW4iIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlN0YXRpbiBOb3QgR2l2ZW4gYXQgRGlzY2hhcmdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTm9EaXNjaGFyZ2VTdGF0aW4iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IlN0YXRpbkFsbGVyZ3kiIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlN0YXRpbiBBbGxlcmd5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJTYW1lT3JCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJTdGF0aW5BbGxlcmd5IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBTdGF0dXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iUGF0aWVudCBFeHBpcmVkIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InBsYW4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkludGVydmV0aW9uUGVyZm9ybWVkIj4NCiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJJbnRlcnZldGlvblBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaW4gcHJvZ3Jlc3MiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IgRXhjbHVzaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBTdGF0dXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE0xMDVfRkhJUjMgdmVyc2lvbiAnOC4wLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEwNXY4IC0gRGlzY2hhcmdlZCBvbiBTdGF0aW4gTWVkaWNhdGlvbgpBdXRob3I6IFRKQwoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzQuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKaW5jbHVkZSBUSkNPdmVyYWxsX0ZISVIzIHZlcnNpb24gJzMuNi4wMDAnIGNhbGxlZCBUSkMKCmNvZGVzeXN0ZW0gIkxPSU5DIjogJ2h0dHA6Ly9sb2luYy5vcmcnCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4Jwpjb2Rlc3lzdGVtICJEaWFnbm9zaXMgUm9sZSI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlJwpjb2Rlc3lzdGVtICJSZXF1ZXN0SW50ZW50IjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnCgp2YWx1ZXNldCAiQ29tZm9ydCBNZWFzdXJlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNycKdmFsdWVzZXQgIkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS44NycKdmFsdWVzZXQgIkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDknCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIklzY2hlbWljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJMREwtYyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE1Jwp2YWx1ZXNldCAiTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDgnCnZhbHVlc2V0ICJNZWRpY2FsIFJlYXNvbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDczJwp2YWx1ZXNldCAiTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCcKdmFsdWVzZXQgIk9ic2VydmF0aW9uIFNlcnZpY2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMnCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlBhdGllbnQgRXhwaXJlZCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5Jwp2YWx1ZXNldCAiUGF0aWVudCBSZWZ1c2FsIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS45MycKdmFsdWVzZXQgIlBheWVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIlN0YXRpbiBBbGxlcmdlbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDIzJwp2YWx1ZXNldCAiU3RhdGluIEdyb3VwZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTEwLjE5JwoKLy8gVE9ETzogVXNlIE5MTSBWU0FDIENhbm9uaWNhbCBVUkxzCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiRGVhZCI6ICc0MTkwOTkwMDknIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdEZWFkJwovL2NvZGUgIk1lZGljYXRpb24tZGlzY2hhcmdlTWVkaWNhdGlvbiI6ICc4NjU0LTYnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdIb3NwaXRhbCBEaXNjaGFyZ2UgbWVkaWNhdGlvbnMnCgpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwpjb2RlICJPcmRlciI6ICdvcmRlcicgZnJvbSAiUmVxdWVzdEludGVudCIgZGlzcGxheSAnT3JkZXInCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKCVNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CiAgU0RFLiJTREUgUmFjZSIKCmRlZmluZSAiU0RFIFNleCI6CglTREUuIlNERSBTZXgiCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CgkiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIgoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiOgoJIkFsbCBTdHJva2UgRW5jb3VudGVyIiBBbGxTdHJva2VFbmNvdW50ZXIKCQl3aXRoIFsiUGF0aWVudCJdIEJpcnRoRGF0ZQoJCQlzdWNoIHRoYXQgQWdlSW5ZZWFyc0F0KEFsbFN0cm9rZUVuY291bnRlci5wZXJpb2Quc3RhcnQpID49IDE4CgpkZWZpbmUgIkFsbCBTdHJva2UgRW5jb3VudGVyIjoKCSJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgTm9uRWxlY3RpdmVFbmNvdW50ZXIKCQl3aGVyZSBHbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKE5vbkVsZWN0aXZlRW5jb3VudGVyKS5jb2RlIGluICJIZW1vcnJoYWdpYyBTdHJva2UiCgkJb3IgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKZGVmaW5lICJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6CglbIkVuY291bnRlciI6ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciJdIE5vbkVsZWN0aXZlRW5jb3VudGVyCgkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CglUSkMuIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiCgpkZWZpbmUgIlN0YXRpbiBBbGxlcmd5IjoKCVsiQWxsZXJneUludG9sZXJhbmNlIjogIlN0YXRpbiBBbGxlcmdlbiJdCgpkZWZpbmUgIk51bWVyYXRvciI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aXRoICJTdGF0aW4gYXQgRGlzY2hhcmdlIiBEaXNjaGFyZ2VTdGF0aW4KCQkJc3VjaCB0aGF0IERpc2NoYXJnZVN0YXRpbi5hdXRob3JlZE9uIGR1cmluZyBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QKCmRlZmluZSAiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciI6CgkiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiBFbmNvdW50ZXJXaXRoQWdlCgkJd2hlcmUgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhFbmNvdW50ZXJXaXRoQWdlKS5jb2RlIGluICJJc2NoZW1pYyBTdHJva2UiCgovLyBNZWRpY2F0aW9uIG9yZGVycyBhdCBkaXNjaGFyZ2UsIGhvdyBkbyB3ZSBrbm93IHRoYXQgdGhlc2UgYXJlIG9yZGVyZWQgd2l0aCB0aGUgaW50ZW50IHRvIGJlIHRha2VuIGRpc2NoYXJnZSByYXRoZXIgdGhhbiB0aGUgaW5wYXRpZW50IHN0YXkuCmRlZmluZSAiU3RhdGluIGF0IERpc2NoYXJnZSI6CglbIk1lZGljYXRpb25SZXF1ZXN0Il0gU3RhdGluCgkJd2hlcmUgKFN0YXRpbi5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdCkgaW4gIlN0YXRpbiBHcm91cGVyIgoJCQlhbmQgU3RhdGluLmludGVudCA9ICdvcmRlcicKCmRlZmluZSAiU3RhdGluIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UiOgoJWyJNZWRpY2F0aW9uUmVxdWVzdCJdIE5vU3RhdGluCgkJd2hlcmUgKE5vU3RhdGluLm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0KSBpbiAiU3RhdGluIEdyb3VwZXIiCgkJCWFuZCAoc2luZ2xldG9uIGZyb20gTm9TdGF0aW4ucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iCgkJCQlvciBzaW5nbGV0b24gZnJvbSBOb1N0YXRpbi5yZWFzb25Db2RlIGluICJQYXRpZW50IFJlZnVzYWwiKQoKLy9Gb2xsaW5nIGZ1bmN0aW9uIGNvcGllZCBmcm9tIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9ucyAyLjAgaW4gY3FmLW1lYXN1cmVzIGdpdGh1YiByZXBvCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgoJaWYgb25zZXQgaXMgRkhJUi5kYXRlVGltZSB0aGVuIEludGVydmFsW29uc2V0LnZhbHVlLCBvbnNldC52YWx1ZV0KCWVsc2UgaWYgb25zZXQgaXMgRkhJUi5QZXJpb2QgdGhlbiBGSElSSGVscGVycy5Ub0ludGVydmFsKG9uc2V0IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBudWxsCgpkZWZpbmUgIkVuY291bnRlciB3aXRoIE1heCBMREwgbGVzcyB0aGFuIDcwIG1nIHBlciBkTCI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aGVyZSBNYXgoWyJPYnNlcnZhdGlvbiI6ICJMREwtYyJdIExkbAoJCQkJd2hlcmUgTGRsLmlzc3VlZCBkdXJpbmcgSW50ZXJ2YWxbSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kLnN0YXJ0IC0gMzAgZGF5cyxJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QuZW5kXQoJCQkJcmV0dXJuIChMZGwudmFsdWUgYXMgUXVhbnRpdHkpCgkJKSA8IDcwCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2VwdGlvbiI6CgkoIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiU3RhdGluIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UiIE5vRGlzY2hhcmdlU3RhdGluCgkJCXN1Y2ggdGhhdCBOb0Rpc2NoYXJnZVN0YXRpbi5hdXRob3JlZE9uIGR1cmluZyBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QKCSkKCXVuaW9uCgkoIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiU3RhdGluIEFsbGVyZ3kiIFN0YXRpbkFsbGVyZ3kKCQkJc3VjaCB0aGF0ICJOb3JtYWxpemUgT25zZXQiKFN0YXRpbkFsbGVyZ3kub25zZXQpIG9uIG9yIGJlZm9yZSBlbmQgb2YgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgoJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIFN0YXR1cyIKCXVuaW9uCgkiQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIgoKZGVmaW5lICJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBTdGF0dXMiOgoJKCJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgoJCXdoZXJlIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiCgkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIgoJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIlBhdGllbnQgRXhwaXJlZCIKCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSIKCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiCgkpCgpkZWZpbmUgIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aXRoICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyIgQ29tZm9ydE1lYXN1cmUKCQkJc3VjaCB0aGF0IENvbWZvcnRNZWFzdXJlLmF1dGhvcmVkT24gZHVyaW5nIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uIihJc2NoZW1pY1N0cm9rZUVuY291bnRlcikKCi8qCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgoJKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJDb21mb3J0IE1lYXN1cmVzIl0gUAoJCXdoZXJlIFAuaW50ZW50ID0gJ29yZGVyJykKCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJDb21mb3J0IE1lYXN1cmVzIl0KKi8KCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgoJKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJDb21mb3J0IE1lYXN1cmVzIl0gUAoJCXdoZXJlIFAuaW50ZW50IGluIHsncGxhbicsICdvcmRlcid9KQoJCXVuaW9uCgkJKFsiUHJvY2VkdXJlIjogIkNvbWZvcnQgTWVhc3VyZXMiXSBJbnRlcnZldGlvblBlcmZvcm1lZAoJCXdoZXJlIEludGVydmV0aW9uUGVyZm9ybWVkLnN0YXR1cyBpbiB7J2NvbXBsZXRlJywgJ2luIHByb2dyZXNzJ30pCg==" - } - ] + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE0xMDVfRkhJUjMgdmVyc2lvbiAnOC4wLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEwNXY4IC0gRGlzY2hhcmdlZCBvbiBTdGF0aW4gTWVkaWNhdGlvbgpBdXRob3I6IFRKQwoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzQuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKaW5jbHVkZSBUSkNPdmVyYWxsX0ZISVIzIHZlcnNpb24gJzMuNi4wMDAnIGNhbGxlZCBUSkMKCmNvZGVzeXN0ZW0gIkxPSU5DIjogJ2h0dHA6Ly9sb2luYy5vcmcnCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4Jwpjb2Rlc3lzdGVtICJEaWFnbm9zaXMgUm9sZSI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlJwpjb2Rlc3lzdGVtICJSZXF1ZXN0SW50ZW50IjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnCgp2YWx1ZXNldCAiQ29tZm9ydCBNZWFzdXJlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNycKdmFsdWVzZXQgIkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS44NycKdmFsdWVzZXQgIkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDknCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIklzY2hlbWljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJMREwtYyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE1Jwp2YWx1ZXNldCAiTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDgnCnZhbHVlc2V0ICJNZWRpY2FsIFJlYXNvbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDczJwp2YWx1ZXNldCAiTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCcKdmFsdWVzZXQgIk9ic2VydmF0aW9uIFNlcnZpY2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMnCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlBhdGllbnQgRXhwaXJlZCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5Jwp2YWx1ZXNldCAiUGF0aWVudCBSZWZ1c2FsIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS45MycKdmFsdWVzZXQgIlBheWVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIlN0YXRpbiBBbGxlcmdlbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDIzJwp2YWx1ZXNldCAiU3RhdGluIEdyb3VwZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTEwLjE5JwoKLy8gVE9ETzogVXNlIE5MTSBWU0FDIENhbm9uaWNhbCBVUkxzCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiRGVhZCI6ICc0MTkwOTkwMDknIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdEZWFkJwovL2NvZGUgIk1lZGljYXRpb24tZGlzY2hhcmdlTWVkaWNhdGlvbiI6ICc4NjU0LTYnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdIb3NwaXRhbCBEaXNjaGFyZ2UgbWVkaWNhdGlvbnMnCgpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwpjb2RlICJPcmRlciI6ICdvcmRlcicgZnJvbSAiUmVxdWVzdEludGVudCIgZGlzcGxheSAnT3JkZXInCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKCVNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CiAgU0RFLiJTREUgUmFjZSIKCmRlZmluZSAiU0RFIFNleCI6CglTREUuIlNERSBTZXgiCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CgkiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIgoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UiOgoJIkFsbCBTdHJva2UgRW5jb3VudGVyIiBBbGxTdHJva2VFbmNvdW50ZXIKCQl3aXRoIFsiUGF0aWVudCJdIEJpcnRoRGF0ZQoJCQlzdWNoIHRoYXQgQWdlSW5ZZWFyc0F0KEFsbFN0cm9rZUVuY291bnRlci5wZXJpb2Quc3RhcnQpID49IDE4CgpkZWZpbmUgIkFsbCBTdHJva2UgRW5jb3VudGVyIjoKCSJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgTm9uRWxlY3RpdmVFbmNvdW50ZXIKCQl3aGVyZSBHbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKE5vbkVsZWN0aXZlRW5jb3VudGVyKS5jb2RlIGluICJIZW1vcnJoYWdpYyBTdHJva2UiCgkJb3IgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKZGVmaW5lICJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6CglbIkVuY291bnRlciI6ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciJdIE5vbkVsZWN0aXZlRW5jb3VudGVyCgkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CglUSkMuIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiCgpkZWZpbmUgIlN0YXRpbiBBbGxlcmd5IjoKCVsiQWxsZXJneUludG9sZXJhbmNlIjogIlN0YXRpbiBBbGxlcmdlbiJdCgpkZWZpbmUgIk51bWVyYXRvciI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aXRoICJTdGF0aW4gYXQgRGlzY2hhcmdlIiBEaXNjaGFyZ2VTdGF0aW4KCQkJc3VjaCB0aGF0IERpc2NoYXJnZVN0YXRpbi5hdXRob3JlZE9uIGR1cmluZyBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QKCmRlZmluZSAiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciI6CgkiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiBFbmNvdW50ZXJXaXRoQWdlCgkJd2hlcmUgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhFbmNvdW50ZXJXaXRoQWdlKS5jb2RlIGluICJJc2NoZW1pYyBTdHJva2UiCgovLyBNZWRpY2F0aW9uIG9yZGVycyBhdCBkaXNjaGFyZ2UsIGhvdyBkbyB3ZSBrbm93IHRoYXQgdGhlc2UgYXJlIG9yZGVyZWQgd2l0aCB0aGUgaW50ZW50IHRvIGJlIHRha2VuIGRpc2NoYXJnZSByYXRoZXIgdGhhbiB0aGUgaW5wYXRpZW50IHN0YXkuCmRlZmluZSAiU3RhdGluIGF0IERpc2NoYXJnZSI6CglbIk1lZGljYXRpb25SZXF1ZXN0Il0gU3RhdGluCgkJd2hlcmUgKFN0YXRpbi5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdCkgaW4gIlN0YXRpbiBHcm91cGVyIgoJCQlhbmQgU3RhdGluLmludGVudCA9ICdvcmRlcicKCmRlZmluZSAiU3RhdGluIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UiOgoJWyJNZWRpY2F0aW9uUmVxdWVzdCJdIE5vU3RhdGluCgkJd2hlcmUgKE5vU3RhdGluLm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0KSBpbiAiU3RhdGluIEdyb3VwZXIiCgkJCWFuZCAoc2luZ2xldG9uIGZyb20gTm9TdGF0aW4ucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iCgkJCQlvciBzaW5nbGV0b24gZnJvbSBOb1N0YXRpbi5yZWFzb25Db2RlIGluICJQYXRpZW50IFJlZnVzYWwiKQoKLy9Gb2xsaW5nIGZ1bmN0aW9uIGNvcGllZCBmcm9tIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9ucyAyLjAgaW4gY3FmLW1lYXN1cmVzIGdpdGh1YiByZXBvCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgoJaWYgb25zZXQgaXMgRkhJUi5kYXRlVGltZSB0aGVuIEludGVydmFsW29uc2V0LnZhbHVlLCBvbnNldC52YWx1ZV0KCWVsc2UgaWYgb25zZXQgaXMgRkhJUi5QZXJpb2QgdGhlbiBGSElSSGVscGVycy5Ub0ludGVydmFsKG9uc2V0IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBudWxsCgpkZWZpbmUgIkVuY291bnRlciB3aXRoIE1heCBMREwgbGVzcyB0aGFuIDcwIG1nIHBlciBkTCI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aGVyZSBNYXgoWyJPYnNlcnZhdGlvbiI6ICJMREwtYyJdIExkbAoJCQkJd2hlcmUgTGRsLmlzc3VlZCBkdXJpbmcgSW50ZXJ2YWxbSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kLnN0YXJ0IC0gMzAgZGF5cyxJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QuZW5kXQoJCQkJcmV0dXJuIChMZGwudmFsdWUgYXMgUXVhbnRpdHkpCgkJKSA8IDcwCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2VwdGlvbiI6CgkoIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiU3RhdGluIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UiIE5vRGlzY2hhcmdlU3RhdGluCgkJCXN1Y2ggdGhhdCBOb0Rpc2NoYXJnZVN0YXRpbi5hdXRob3JlZE9uIGR1cmluZyBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5wZXJpb2QKCSkKCXVuaW9uCgkoIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiU3RhdGluIEFsbGVyZ3kiIFN0YXRpbkFsbGVyZ3kKCQkJc3VjaCB0aGF0ICJOb3JtYWxpemUgT25zZXQiKFN0YXRpbkFsbGVyZ3kub25zZXQpIG9uIG9yIGJlZm9yZSBlbmQgb2YgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgoJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIFN0YXR1cyIKCXVuaW9uCgkiQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIgoKZGVmaW5lICJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBTdGF0dXMiOgoJKCJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcgoJCXdoZXJlIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiCgkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIgoJCQlvciBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIlBhdGllbnQgRXhwaXJlZCIKCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSIKCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiCgkpCgpkZWZpbmUgIkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiI6CgkiSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIKCQl3aXRoICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyIgQ29tZm9ydE1lYXN1cmUKCQkJc3VjaCB0aGF0IENvbWZvcnRNZWFzdXJlLmF1dGhvcmVkT24gZHVyaW5nIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uIihJc2NoZW1pY1N0cm9rZUVuY291bnRlcikKCi8qCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgoJKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJDb21mb3J0IE1lYXN1cmVzIl0gUAoJCXdoZXJlIFAuaW50ZW50ID0gJ29yZGVyJykKCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJDb21mb3J0IE1lYXN1cmVzIl0KKi8KCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgoJKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJDb21mb3J0IE1lYXN1cmVzIl0gUAoJCXdoZXJlIFAuaW50ZW50IGluIHsncGxhbicsICdvcmRlcid9KQoJCXVuaW9uCgkJKFsiUHJvY2VkdXJlIjogIkNvbWZvcnQgTWVhc3VyZXMiXSBJbnRlcnZldGlvblBlcmZvcm1lZAoJCXdoZXJlIEludGVydmV0aW9uUGVyZm9ybWVkLnN0YXR1cyBpbiB7J2NvbXBsZXRlJywgJ2luIHByb2dyZXNzJ30pCg==" + }, { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjMiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTEwNV9GSElSMyIgdmVyc2lvbj0iOC4wLjAwMCIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9Ijg6MS04OjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxIj4KICAgICAgICAgICAgICAgPGE6cz51c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyIiBsb2NhdG9yPSIxMDoxLTEwOjM1IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICczLjAuMCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMyIgbG9jYXRvcj0iMTE6MS0xMTo3MCIgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iNC4wLjAwMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+TUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQiIGxvY2F0b3I9IjEyOjEtMTI6NjUiIGxvY2FsSWRlbnRpZmllcj0iU0RFIiBwYXRoPSJTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMiIHZlcnNpb249IjEuMC4wIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5TdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzEuMC4wJyBjYWxsZWQgU0RFPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUiIGxvY2F0b3I9IjEzOjEtMTM6NTMiIGxvY2FsSWRlbnRpZmllcj0iVEpDIiBwYXRoPSJUSkNPdmVyYWxsX0ZISVIzIiB2ZXJzaW9uPSIzLjYuMDAwIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNSI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5USkNPdmVyYWxsX0ZISVIzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICczLjYuMDAwJyBjYWxsZWQgVEpDPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8cGFyYW1ldGVycz4KICAgICAgPGRlZiBsb2NhbElkPSI0MyIgbG9jYXRvcj0iNDk6MS01MDo2NiIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDMiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDIiPgogICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogIGRlZmF1bHQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4Ij5JbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iNDAiIGxvY2F0b3I9IjUwOjExLTUwOjY2IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjM4IiBsb2NhdG9yPSI1MDoyMC01MDo0MSIgeHNpOnR5cGU9IkRhdGVUaW1lIj4KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDE5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIzOSIgbG9jYXRvcj0iNTA6NDQtNTA6NjUiIHhzaTp0eXBlPSJEYXRlVGltZSI+CiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZGVmYXVsdD4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDIiIGxvY2F0b3I9IjQ5OjMyLTQ5OjQ5IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSI0MSIgbG9jYXRvcj0iNDk6NDEtNDk6NDgiIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPgogICAgICA8L2RlZj4KICAgPC9wYXJhbWV0ZXJzPgogICA8Y29kZVN5c3RlbXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iNiIgbG9jYXRvcj0iMTU6MS0xNTozOCIgbmFtZT0iTE9JTkMiIGlkPSJodHRwOi8vbG9pbmMub3JnIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNiI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtMT0lOQyZxdW90OzogJ2h0dHA6Ly9sb2luYy5vcmcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjciIGxvY2F0b3I9IjE2OjEtMTY6NjAiIG5hbWU9IlNOT01FRENUIiBpZD0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O1NOT01FRENUJnF1b3Q7OiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgiIGxvY2F0b3I9IjE3OjEtMTc6NjUiIG5hbWU9IkRpYWdub3NpcyBSb2xlIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7RGlhZ25vc2lzIFJvbGUmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5IiBsb2NhdG9yPSIxODoxLTE4OjY0IiBuYW1lPSJSZXF1ZXN0SW50ZW50IiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7UmVxdWVzdEludGVudCZxdW90OzogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2NvZGVTeXN0ZW1zPgogICA8dmFsdWVTZXRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwIiBsb2NhdG9yPSIyMDoxLTIwOjk0IiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0NvbWZvcnQgTWVhc3VyZXMmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExIiBsb2NhdG9yPSIyMToxLTIxOjEzNiIgbmFtZT0iRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMiIgbG9jYXRvcj0iMjI6MS0yMjoxMTYiIG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTIiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0Rpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMyIgbG9jYXRvcj0iMjM6MS0yMzoxMjAiIG5hbWU9IkRpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDknPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE0IiBsb2NhdG9yPSIyNDoxLTI0OjExMSIgbmFtZT0iRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0VtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5Mic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTUiIGxvY2F0b3I9IjI1OjEtMjU6ODciIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE1Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtFdGhuaWNpdHkmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE2IiBsb2NhdG9yPSIyNjoxLTI2OjEwMCIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE2Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtJc2NoZW1pYyBTdHJva2UmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNyIgbG9jYXRvcj0iMjc6MS0yNzoxMDMiIG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNyI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7SGVtb3JyaGFnaWMgU3Ryb2tlJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxMic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTgiIGxvY2F0b3I9IjI4OjEtMjg6OTAiIG5hbWU9IkxETC1jIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxNSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE4Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtMREwtYyZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTUnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE5IiBsb2NhdG9yPSIyOToxLTI5OjExMiIgbmFtZT0iTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE5Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA4JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMCIgbG9jYXRvcj0iMzA6MS0zMDo5OSIgbmFtZT0iTWVkaWNhbCBSZWFzb24iIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDczIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjAiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O01lZGljYWwgUmVhc29uJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQ3Myc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjEiIGxvY2F0b3I9IjMxOjEtMzE6MTE3IiBuYW1lPSJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40MjQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMSI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7Tm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXImcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDI0JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMiIgbG9jYXRvcj0iMzI6MS0zMjoxMDIiIG5hbWU9Ik9ic2VydmF0aW9uIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIyIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtPYnNlcnZhdGlvbiBTZXJ2aWNlcyZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzIiBsb2NhdG9yPSIzMzoxLTMzOjk3IiBuYW1lPSJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjMiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O09OQyBBZG1pbmlzdHJhdGl2ZSBTZXgmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0IiBsb2NhdG9yPSIzNDoxLTM0OjEwMCIgbmFtZT0iUGF0aWVudCBFeHBpcmVkIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI0Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtQYXRpZW50IEV4cGlyZWQmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNSIgbG9jYXRvcj0iMzU6MS0zNTo5OSIgbmFtZT0iUGF0aWVudCBSZWZ1c2FsIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjkzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjUiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1BhdGllbnQgUmVmdXNhbCZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS45Myc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjYiIGxvY2F0b3I9IjM2OjEtMzY6ODQiIG5hbWU9IlBheWVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI2Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtQYXllciZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3IiBsb2NhdG9yPSIzNzoxLTM3OjgyIiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjciPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1JhY2UmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzYnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI4IiBsb2NhdG9yPSIzODoxLTM4OjEwMCIgbmFtZT0iU3RhdGluIEFsbGVyZ2VuIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyMyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI4Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtTdGF0aW4gQWxsZXJnZW4mcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDIzJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyOSIgbG9jYXRvcj0iMzk6MS0zOTo5NSIgbmFtZT0iU3RhdGluIEdyb3VwZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMTkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7U3RhdGluIEdyb3VwZXImcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMTknPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L3ZhbHVlU2V0cz4KICAgPGNvZGVzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMxIiBsb2NhdG9yPSI0MjoxLTQyOjYxIiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzEiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7QmlydGhkYXRlJnF1b3Q7OiAnMjExMTItOCcgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TE9JTkMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ0JpcnRoIGRhdGUnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjMwIiBsb2NhdG9yPSI0MjozNC00Mjo0MCIgbmFtZT0iTE9JTkMiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzMiIGxvY2F0b3I9IjQzOjEtNDM6NTUiIG5hbWU9IkRlYWQiIGlkPSI0MTkwOTkwMDkiIGRpc3BsYXk9IkRlYWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMyI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtEZWFkJnF1b3Q7OiAnNDE5MDk5MDA5JyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMyIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTTk9NRURDVCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnRGVhZCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMzIiIGxvY2F0b3I9IjQzOjMxLTQzOjQwIiBuYW1lPSJTTk9NRURDVCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNSIgbG9jYXRvcj0iNDY6MS00Njo2NSIgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNSI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtCaWxsaW5nJnF1b3Q7OiAnYmlsbGluZycgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGlhZ25vc2lzIFJvbGUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ0JpbGxpbmcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjM0IiBsb2NhdG9yPSI0NjozMi00Njo0NyIgbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzciIGxvY2F0b3I9IjQ3OjEtNDc6NTgiIG5hbWU9Ik9yZGVyIiBpZD0ib3JkZXIiIGRpc3BsYXk9Ik9yZGVyIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzciPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7T3JkZXImcXVvdDs6ICdvcmRlcicgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UmVxdWVzdEludGVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnT3JkZXInPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjM2IiBsb2NhdG9yPSI0NzoyOC00Nzo0MiIgbmFtZT0iUmVxdWVzdEludGVudCIvPgogICAgICA8L2RlZj4KICAgPC9jb2Rlcz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjUyOjEtNTI6MTUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0cz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iNTI6MS01MjoxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTI6MS01MjoxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDYiIGxvY2F0b3I9IjU0OjEtNTU6MjEiIG5hbWU9IlNERSBFdGhuaWNpdHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0NiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O1NERSBFdGhuaWNpdHkmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5TREU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTREUgRXRobmljaXR5JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDUiIGxvY2F0b3I9IjU1OjMtNTU6MjEiIG5hbWU9IlNERSBFdGhuaWNpdHkiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ5IiBsb2NhdG9yPSI1NzoxLTU4OjE2IiBuYW1lPSJTREUgUGF5ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0OSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O1NERSBQYXllciZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+U0RFPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U0RFIFBheWVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDgiIGxvY2F0b3I9IjU4OjItNTg6MTYiIG5hbWU9IlNERSBQYXllciIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTIiIGxvY2F0b3I9IjYwOjEtNjE6MTYiIG5hbWU9IlNERSBSYWNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtTREUgUmFjZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPlNERTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1NERSBSYWNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTEiIGxvY2F0b3I9IjYxOjMtNjE6MTYiIG5hbWU9IlNERSBSYWNlIiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1NSIgbG9jYXRvcj0iNjM6MS02NDoxNCIgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7U0RFIFNleCZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+U0RFPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U0RFIFNleCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU0IiBsb2NhdG9yPSI2NDoyLTY0OjE0IiBuYW1lPSJTREUgU2V4IiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3MCIgbG9jYXRvcj0iNzk6MS04Mjo2NyIgbmFtZT0iTm9uIEVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O05vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjkiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtFbmNvdW50ZXImcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O05vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBOb25FbGVjdGl2ZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HbG9iYWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtMZW5ndGhJbkRheXMmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob25FbGVjdGl2ZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjIiPiZsdDs9IDEyMDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk5vbkVsZWN0aXZlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NyI+IGVuZHMgZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2OSIgbG9jYXRvcj0iODA6Mi04Mjo2NyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1NyIgbG9jYXRvcj0iODA6Mi04MDo3MSIgYWxpYXM9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTYiIGxvY2F0b3I9IjgwOjItODA6NTAiIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSI4MDoxNi04MDo0OSIgbmFtZT0iTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iNjgiIGxvY2F0b3I9IjgxOjMtODI6NjciIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MyIgbG9jYXRvcj0iODE6OS04MTo2NCIgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjEiIGxvY2F0b3I9IjgxOjktODE6NTgiIG5hbWU9Ikxlbmd0aEluRGF5cyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MCIgbG9jYXRvcj0iODE6MzEtODE6NTciIHBhdGg9InBlcmlvZCIgc2NvcGU9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYyIiBsb2NhdG9yPSI4MTo2Mi04MTo2NCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjciIGxvY2F0b3I9IjgyOjgtODI6NjciIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjgyOjM2LTgyOjM5IiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2NSIgbG9jYXRvcj0iODI6OC04MjozNCIgcGF0aD0icGVyaW9kIiBzY29wZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjYiIGxvY2F0b3I9IjgyOjQ4LTgyOjY3IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijg3IiBsb2NhdG9yPSI3NDoxLTc3Ojc4IiBuYW1lPSJBbGwgU3Ryb2tlIEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7QWxsIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE5vbkVsZWN0aXZlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HbG9iYWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QcmluY2lwYWxEaWFnbm9zaXMoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk5vbkVsZWN0aXZlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtIZW1vcnJoYWdpYyBTdHJva2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCW9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HbG9iYWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QcmluY2lwYWxEaWFnbm9zaXMoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk5vbkVsZWN0aXZlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4NiIgbG9jYXRvcj0iNzU6Mi03Nzo3OCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3MiIgbG9jYXRvcj0iNzU6Mi03NTo1NiIgYWxpYXM9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzEiIGxvY2F0b3I9Ijc1OjItNzU6MzUiIG5hbWU9Ik5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9Ijg1IiBsb2NhdG9yPSI3NjozLTc3Ojc4IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3OCIgbG9jYXRvcj0iNzY6OS03Njo4NCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzYiIGxvY2F0b3I9Ijc2OjktNzY6NjAiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzUiIGxvY2F0b3I9Ijc2OjktNzY6NTUiIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzQiIGxvY2F0b3I9Ijc2OjM1LTc2OjU0IiBuYW1lPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9Ijc3IiBsb2NhdG9yPSI3Njo2NS03Njo4NCIgbmFtZT0iSGVtb3JyaGFnaWMgU3Ryb2tlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4NCIgbG9jYXRvcj0iNzc6Ni03Nzo3OCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODIiIGxvY2F0b3I9Ijc3OjYtNzc6NTciIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODEiIGxvY2F0b3I9Ijc3OjYtNzc6NTIiIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODAiIGxvY2F0b3I9Ijc3OjMyLTc3OjUxIiBuYW1lPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjgzIiBsb2NhdG9yPSI3Nzo2Mi03Nzo3OCIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwMCIgbG9jYXRvcj0iNjk6MS03Mjo2NCIgbmFtZT0iRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAwIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTkiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QWxsIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBBbGxTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aXRoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtQYXRpZW50JnF1b3Q7XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJc3VjaCB0aGF0IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5ZZWFyc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFsbFN0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NiI+ID49IDE4PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijk5IiBsb2NhdG9yPSI3MDoyLTcyOjY0IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg5IiBsb2NhdG9yPSI3MDoyLTcwOjQyIiBhbGlhcz0iQWxsU3Ryb2tlRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODgiIGxvY2F0b3I9IjcwOjItNzA6MjMiIG5hbWU9IkFsbCBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSI5OCIgbG9jYXRvcj0iNzE6My03Mjo2NCIgYWxpYXM9IkJpcnRoRGF0ZSIgeHNpOnR5cGU9IldpdGgiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5MCIgbG9jYXRvcj0iNzE6OC03MToxOCIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgICAgIDxzdWNoVGhhdCBsb2NhbElkPSI5NyIgbG9jYXRvcj0iNzI6MTQtNzI6NjQiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk1IiBsb2NhdG9yPSI3MjoxNC03Mjo1OCIgcHJlY2lzaW9uPSJZZWFyIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZS52YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5NCIgbG9jYXRvcj0iNzI6MjctNzI6NTciIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjkzIiBsb2NhdG9yPSI3MjoyNy03Mjo1MSIgcGF0aD0icGVyaW9kIiBzY29wZT0iQWxsU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTYiIGxvY2F0b3I9IjcyOjYzLTcyOjY0IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE4IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3N1Y2hUaGF0PgogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDIiIGxvY2F0b3I9IjY2OjEtNjc6NDUiIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0luaXRpYWwgUG9wdWxhdGlvbiZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDEiIGxvY2F0b3I9IjY3OjItNjc6NDUiIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTA1IiBsb2NhdG9yPSI4NDoxLTg1OjMyIiBuYW1lPSJEZW5vbWluYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwNSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0Rlbm9taW5hdG9yJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTA0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPlRKQzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTA0IiBsb2NhdG9yPSI4NToyLTg1OjMyIiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBsaWJyYXJ5TmFtZT0iVEpDIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDciIGxvY2F0b3I9Ijg3OjEtODg6NDIiIG5hbWU9IlN0YXRpbiBBbGxlcmd5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTA3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7U3RhdGluIEFsbGVyZ3kmcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDYiPgogICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtBbGxlcmd5SW50b2xlcmFuY2UmcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1N0YXRpbiBBbGxlcmdlbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDYiIGxvY2F0b3I9Ijg4OjItODg6NDIiIGRhdGFUeXBlPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZSIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSI4ODoyNS04ODo0MSIgbmFtZT0iU3RhdGluIEFsbGVyZ2VuIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMTciIGxvY2F0b3I9Ijk1OjEtOTc6NzciIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMTciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTE2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gRW5jb3VudGVyV2l0aEFnZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkdsb2JhbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QcmluY2lwYWxEaWFnbm9zaXMoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXJXaXRoQWdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTE2IiBsb2NhdG9yPSI5NjoyLTk3Ojc3IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEwOSIgbG9jYXRvcj0iOTY6Mi05Njo2MiIgYWxpYXM9IkVuY291bnRlcldpdGhBZ2UiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDgiIGxvY2F0b3I9Ijk2OjItOTY6NDUiIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxMTUiIGxvY2F0b3I9Ijk3OjMtOTc6NzciIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExMyIgbG9jYXRvcj0iOTc6OS05Nzo1NiIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMTIiIGxvY2F0b3I9Ijk3OjktOTc6NTEiIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTExIiBsb2NhdG9yPSI5NzozNS05Nzo1MCIgbmFtZT0iRW5jb3VudGVyV2l0aEFnZSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjExNCIgbG9jYXRvcj0iOTc6NjEtOTc6NzciIG5hbWU9IklzY2hlbWljIFN0cm9rZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTM0IiBsb2NhdG9yPSIxMDA6MS0xMDM6MzAiIG5hbWU9IlN0YXRpbiBhdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMzQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtTdGF0aW4gYXQgRGlzY2hhcmdlJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTMzIj4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7TWVkaWNhdGlvblJlcXVlc3QmcXVvdDtdPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gU3RhdGluPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5TdGF0aW48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bWVkaWNhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29kZWFibGVDb25jZXB0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1N0YXRpbiBHcm91cGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlN0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pbnRlbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J29yZGVyJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzMyIgbG9jYXRvcj0iMTAxOjItMTAzOjMwIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyMSIgbG9jYXRvcj0iMTAxOjItMTAxOjI5IiBhbGlhcz0iU3RhdGluIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTIwIiBsb2NhdG9yPSIxMDE6Mi0xMDE6MjIiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxMzIiIGxvY2F0b3I9IjEwMjozLTEwMzozMCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyNyIgbG9jYXRvcj0iMTAyOjktMTAyOjY2IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjUiIGxvY2F0b3I9IjEwMjo5LTEwMjo0NiIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTIzIiBsb2NhdG9yPSIxMDI6MTAtMTAyOjI2IiBwYXRoPSJtZWRpY2F0aW9uIiBzY29wZT0iU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMjQiIGxvY2F0b3I9IjEwMjozMS0xMDI6NDUiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTI2IiBsb2NhdG9yPSIxMDI6NTEtMTAyOjY2IiBuYW1lPSJTdGF0aW4gR3JvdXBlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTMxIiBsb2NhdG9yPSIxMDM6OC0xMDM6MzAiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyOSIgbG9jYXRvcj0iMTAzOjgtMTAzOjIwIiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJTdGF0aW4iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzMCIgbG9jYXRvcj0iMTAzOjI0LTEwMzozMCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQ0IiBsb2NhdG9yPSI5MDoxLTkzOjc3IiBuYW1lPSJOdW1lcmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNDQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtOdW1lcmF0b3ImcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNDMiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U3RhdGluIGF0IERpc2NoYXJnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IERpc2NoYXJnZVN0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJc3VjaCB0aGF0IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkRpc2NoYXJnZVN0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hdXRob3JlZE9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDEiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE0MyIgbG9jYXRvcj0iOTE6Mi05Mzo3NyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMTkiIGxvY2F0b3I9IjkxOjItOTE6NTIiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExOCIgbG9jYXRvcj0iOTE6Mi05MToyOCIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgbG9jYWxJZD0iMTQyIiBsb2NhdG9yPSI5MjozLTkzOjc3IiBhbGlhcz0iRGlzY2hhcmdlU3RhdGluIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzNSIgbG9jYXRvcj0iOTI6OC05MjoyOCIgbmFtZT0iU3RhdGluIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjE0MSIgbG9jYXRvcj0iOTM6MTQtOTM6NzciIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTM4IiBsb2NhdG9yPSI5MzoxNC05MzozOSIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkRpc2NoYXJnZVN0YXRpbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDAiIGxvY2F0b3I9IjkzOjQ4LTkzOjc3IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTY2IiBsb2NhdG9yPSIxMDU6MS0xMDk6NjMiIG5hbWU9IlN0YXRpbiBOb3QgR2l2ZW4gYXQgRGlzY2hhcmdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTY2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7U3RhdGluIE5vdCBHaXZlbiBhdCBEaXNjaGFyZ2UmcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNjUiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtNZWRpY2F0aW9uUmVxdWVzdCZxdW90O108L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBOb1N0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Tm9TdGF0aW48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bWVkaWNhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29kZWFibGVDb25jZXB0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1N0YXRpbiBHcm91cGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob1N0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZWFzb25Db2RlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVkaWNhbCBSZWFzb24mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQkJb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob1N0YXRpbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZWFzb25Db2RlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UGF0aWVudCBSZWZ1c2FsJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTY1IiBsb2NhdG9yPSIxMDY6Mi0xMDk6NjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTQ2IiBsb2NhdG9yPSIxMDY6Mi0xMDY6MzEiIGFsaWFzPSJOb1N0YXRpbiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE0NSIgbG9jYXRvcj0iMTA2OjItMTA2OjIyIiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMTY0IiBsb2NhdG9yPSIxMDc6My0xMDk6NjMiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTIiIGxvY2F0b3I9IjEwNzo5LTEwNzo2OCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTUwIiBsb2NhdG9yPSIxMDc6OS0xMDc6NDgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0OCIgbG9jYXRvcj0iMTA3OjEwLTEwNzoyOCIgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Ik5vU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNDkiIGxvY2F0b3I9IjEwNzozMy0xMDc6NDciIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTUxIiBsb2NhdG9yPSIxMDc6NTMtMTA3OjY4IiBuYW1lPSJTdGF0aW4gR3JvdXBlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTYzIiBsb2NhdG9yPSIxMDg6OC0xMDk6NjMiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1NyIgbG9jYXRvcj0iMTA4OjktMTA4OjYyIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTUiIGxvY2F0b3I9IjEwODo5LTEwODo0MiIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTQiIGxvY2F0b3I9IjEwODoyNC0xMDg6NDIiIHBhdGg9InJlYXNvbkNvZGUiIHNjb3BlPSJOb1N0YXRpbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTU2IiBsb2NhdG9yPSIxMDg6NDctMTA4OjYyIiBuYW1lPSJNZWRpY2FsIFJlYXNvbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTYyIiBsb2NhdG9yPSIxMDk6OC0xMDk6NjIiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2MCIgbG9jYXRvcj0iMTA5OjgtMTA5OjQxIiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1OSIgbG9jYXRvcj0iMTA5OjIzLTEwOTo0MSIgcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vU3RhdGluIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIxNjEiIGxvY2F0b3I9IjEwOTo0Ni0xMDk6NjIiIG5hbWU9IlBhdGllbnQgUmVmdXNhbCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE5MiIgbG9jYXRvcj0iMTEyOjEtMTE1OjEwIiBuYW1lPSJOb3JtYWxpemUgT25zZXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE5MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O05vcm1hbGl6ZSBPbnNldCZxdW90OyhvbnNldCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNzIiPgogICAgICAgICAgICAgICAgICA8YTpzPkNob2ljZSZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQWdlPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5SYW5nZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5zdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTkxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsWzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b25zZXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgllbHNlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9uc2V0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9JbnRlcnZhbCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b25zZXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5QZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4OSI+CgllbHNlIG51bGw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTkxIiBsb2NhdG9yPSIxMTM6Mi0xMTU6MTAiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3NSIgbG9jYXRvcj0iMTEzOjUtMTEzOjI2IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzMiIGxvY2F0b3I9IjExMzo1LTExMzo5IiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNzQiIGxvY2F0b3I9IjExMzoxNC0xMTM6MjYiIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMTgwIiBsb2NhdG9yPSIxMTM6MzMtMTEzOjY2IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMTc3IiBsb2NhdG9yPSIxMTM6NDItMTEzOjUyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNzYiIGxvY2F0b3I9IjExMzo0Mi0xMTM6NDYiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMTc5IiBsb2NhdG9yPSIxMTM6NTUtMTEzOjY1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNzgiIGxvY2F0b3I9IjExMzo1NS0xMTM6NTkiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTkwIiBsb2NhdG9yPSIxMTQ6Ny0xMTU6MTAiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MyIgbG9jYXRvcj0iMTE0OjEwLTExNDoyOSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTgxIiBsb2NhdG9yPSIxMTQ6MTAtMTE0OjE0IiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxODIiIGxvY2F0b3I9IjExNDoxOS0xMTQ6MjkiIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjE4OCIgbG9jYXRvcj0iMTE0OjM2LTExNDo3OSIgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODciIGxvY2F0b3I9IjExNDo1OS0xMTQ6NzgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4NSIgbG9jYXRvcj0iMTE0OjU5LTExNDo2MyIgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTg2IiBsb2NhdG9yPSIxMTQ6NjgtMTE0Ojc4IiBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTg5IiBsb2NhdG9yPSIxMTU6Ny0xMTU6MTAiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTkwIiBsb2NhdG9yPSIxMTQ6Ny0xMTU6MTAiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MyIgbG9jYXRvcj0iMTE0OjEwLTExNDoyOSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTgxIiBsb2NhdG9yPSIxMTQ6MTAtMTE0OjE0IiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIxODIiIGxvY2F0b3I9IjExNDoxOS0xMTQ6MjkiIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjE4OCIgbG9jYXRvcj0iMTE0OjM2LTExNDo3OSIgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODciIGxvY2F0b3I9IjExNDo1OS0xMTQ6NzgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4NSIgbG9jYXRvcj0iMTE0OjU5LTExNDo2MyIgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTg2IiBsb2NhdG9yPSIxMTQ6NjgtMTE0Ojc4IiBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTg5IiBsb2NhdG9yPSIxMTU6Ny0xMTU6MTAiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPgogICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJoaWdoIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE5MCIgbG9jYXRvcj0iMTE0OjctMTE1OjEwIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODMiIGxvY2F0b3I9IjExNDoxMC0xMTQ6MjkiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MSIgbG9jYXRvcj0iMTE0OjEwLTExNDoxNCIgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTgyIiBsb2NhdG9yPSIxMTQ6MTktMTE0OjI5IiBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIxODgiIGxvY2F0b3I9IjExNDozNi0xMTQ6NzkiIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTg3IiBsb2NhdG9yPSIxMTQ6NTktMTE0Ojc4IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODUiIGxvY2F0b3I9IjExNDo1OS0xMTQ6NjMiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE4NiIgbG9jYXRvcj0iMTE0OjY4LTExNDo3OCIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4OSIgbG9jYXRvcj0iMTE1OjctMTE1OjEwIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgIDxoaWdoQ2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJoaWdoQ2xvc2VkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE5MCIgbG9jYXRvcj0iMTE0OjctMTE1OjEwIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODMiIGxvY2F0b3I9IjExNDoxMC0xMTQ6MjkiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MSIgbG9jYXRvcj0iMTE0OjEwLTExNDoxNCIgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTgyIiBsb2NhdG9yPSIxMTQ6MTktMTE0OjI5IiBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIxODgiIGxvY2F0b3I9IjExNDozNi0xMTQ6NzkiIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTg3IiBsb2NhdG9yPSIxMTQ6NTktMTE0Ojc4IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODUiIGxvY2F0b3I9IjExNDo1OS0xMTQ6NjMiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE4NiIgbG9jYXRvcj0iMTE0OjY4LTExNDo3OCIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4OSIgbG9jYXRvcj0iMTE1OjctMTE1OjEwIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNzIiIGxvY2F0b3I9IjExMjo0MS0xMTI6MTA5IiB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMTY3IiBsb2NhdG9yPSIxMTI6NDgtMTEyOjYwIiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMTY4IiBsb2NhdG9yPSIxMTI6NjMtMTEyOjcwIiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjE2OSIgbG9jYXRvcj0iMTEyOjczLTExMjo4MyIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIxNzAiIGxvY2F0b3I9IjExMjo4Ni0xMTI6OTUiIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIxNzEiIGxvY2F0b3I9IjExMjo5OC0xMTI6MTA4IiBuYW1lPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxOSIgbG9jYXRvcj0iMTE3OjEtMTIyOjgiIG5hbWU9IkVuY291bnRlciB3aXRoIE1heCBMREwgbGVzcyB0aGFuIDcwIG1nIHBlciBkTCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0VuY291bnRlciB3aXRoIE1heCBMREwgbGVzcyB0aGFuIDcwIG1nIHBlciBkTCZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxOCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TWF4KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O09ic2VydmF0aW9uJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtMREwtYyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTGRsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TGRsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlzc3VlZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gLSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjMwIGRheXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVuZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TGRsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5RdWFudGl0eTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCSk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE2Ij4gJmx0OyA3MDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMTgiIGxvY2F0b3I9IjExODoyLTEyMjo4IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE5NCIgbG9jYXRvcj0iMTE4OjItMTE4OjUyIiBhbGlhcz0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxOTMiIGxvY2F0b3I9IjExODoyLTExODoyOCIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyMTciIGxvY2F0b3I9IjExOTozLTEyMjo4IiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIxNSIgbG9jYXRvcj0iMTE5OjktMTIyOjMiIHhzaTp0eXBlPSJNYXgiPgogICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMTQiIGxvY2F0b3I9IjExOToxMy0xMjE6MzQiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTk2IiBsb2NhdG9yPSIxMTk6MTMtMTE5OjQwIiBhbGlhcz0iTGRsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTk1IiBsb2NhdG9yPSIxMTk6MTMtMTE5OjM2IiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIxMTk6MjktMTE5OjM1IiBuYW1lPSJMREwtYyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyMDgiIGxvY2F0b3I9IjEyMDo1LTEyMDoxMTkiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk4IiBsb2NhdG9yPSIxMjA6MTEtMTIwOjIwIiBwYXRoPSJpc3N1ZWQiIHNjb3BlPSJMZGwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwNyIgbG9jYXRvcj0iMTIwOjI5LTEyMDoxMTkiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIyMDMiIGxvY2F0b3I9IjEyMDozOC0xMjA6ODMiIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjAxIiBsb2NhdG9yPSIxMjA6MzgtMTIwOjczIiBwYXRoPSJzdGFydCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMDAiIGxvY2F0b3I9IjEyMDozOC0xMjA6NjciIHBhdGg9InBlcmlvZCIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwMiIgbG9jYXRvcj0iMTIwOjc3LTEyMDo4MyIgdmFsdWU9IjMwIiB1bml0PSJkYXlzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjA2IiBsb2NhdG9yPSIxMjA6ODUtMTIwOjExOCIgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIwNSIgbG9jYXRvcj0iMTIwOjg1LTEyMDoxMTQiIHBhdGg9InBlcmlvZCIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSIyMTMiIGxvY2F0b3I9IjEyMTo1LTEyMTozNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIxMiIgbG9jYXRvcj0iMTIxOjEyLTEyMTozNCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjEwIiBsb2NhdG9yPSIxMjE6MTMtMTIxOjIxIiBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkxkbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjExIiBsb2NhdG9yPSIxMjE6MjYtMTIxOjMzIiBuYW1lPSJmaGlyOlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvUXVhbnRpdHkiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMTYiIGxvY2F0b3I9IjEyMjo3LTEyMjo4IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjcwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjQ1IiBsb2NhdG9yPSIxMjQ6MS0xMzI6MTAzIiBuYW1lPSJEZW5vbWluYXRvciBFeGNlcHRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtEZW5vbWluYXRvciBFeGNlcHRpb24mcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNDQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aXRoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTdGF0aW4gTm90IEdpdmVuIGF0IERpc2NoYXJnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE5vRGlzY2hhcmdlU3RhdGluPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQlzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Tm9EaXNjaGFyZ2VTdGF0aW48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YXV0aG9yZWRPbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI4Ij4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJKTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCXVuaW9uCgk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U3RhdGluIEFsbGVyZ3kmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBTdGF0aW5BbGxlcmd5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQlzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O05vcm1hbGl6ZSBPbnNldCZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+U3RhdGluQWxsZXJneTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDEiPiBvbiBvciBiZWZvcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5lbmQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDQiIGxvY2F0b3I9IjEyNToyLTEzMjoxMDMiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzMCIgbG9jYXRvcj0iMTI1OjItMTI4OjIiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjIxIiBsb2NhdG9yPSIxMjU6My0xMjU6NTMiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIyMCIgbG9jYXRvcj0iMTI1OjMtMTI1OjI5IiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSIyMjkiIGxvY2F0b3I9IjEyNjozLTEyNzo3OSIgYWxpYXM9Ik5vRGlzY2hhcmdlU3RhdGluIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIyMiIgbG9jYXRvcj0iMTI2OjgtMTI2OjM4IiBuYW1lPSJTdGF0aW4gTm90IEdpdmVuIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjIyOCIgbG9jYXRvcj0iMTI3OjE0LTEyNzo3OSIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjUiIGxvY2F0b3I9IjEyNzoxNC0xMjc6NDEiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJOb0Rpc2NoYXJnZVN0YXRpbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjciIGxvY2F0b3I9IjEyNzo1MC0xMjc6NzkiIHBhdGg9InBlcmlvZCIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3N1Y2hUaGF0PgogICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDMiIGxvY2F0b3I9IjEzMDoyLTEzMjoxMDMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjMyIiBsb2NhdG9yPSIxMzA6My0xMzA6NTMiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzMSIgbG9jYXRvcj0iMTMwOjMtMTMwOjI5IiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSIyNDIiIGxvY2F0b3I9IjEzMTozLTEzMjoxMDIiIGFsaWFzPSJTdGF0aW5BbGxlcmd5IiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iMTMxOjgtMTMxOjIzIiBuYW1lPSJTdGF0aW4gQWxsZXJneSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjI0MSIgbG9jYXRvcj0iMTMyOjE0LTEzMjoxMDIiIHhzaTp0eXBlPSJTYW1lT3JCZWZvcmUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzciIGxvY2F0b3I9IjEzMjoxNC0xMzI6NTEiIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM2IiBsb2NhdG9yPSIxMzI6MzItMTMyOjUwIiBwYXRoPSJvbnNldCIgc2NvcGU9IlN0YXRpbkFsbGVyZ3kiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDAiIGxvY2F0b3I9IjEzMjo2Ni0xMzI6MTAyIiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzkiIGxvY2F0b3I9IjEzMjo3My0xMzI6MTAyIiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDAiIGxvY2F0b3I9IjEzMjo2Ni0xMzI6MTAyIiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzkiIGxvY2F0b3I9IjEzMjo3My0xMzI6MTAyIiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkZWNpbWFsIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3N1Y2hUaGF0PgogICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3OCIgbG9jYXRvcj0iMTM5OjEtMTQ2OjIiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIFN0YXR1cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI3OCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIFN0YXR1cyZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI3NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aG9zcGl0YWxpemF0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kaXNjaGFyZ2VEaXNwb3NpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQlvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmhvc3BpdGFsaXphdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGlzY2hhcmdlRGlzcG9zaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0xlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQlvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmhvc3BpdGFsaXphdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGlzY2hhcmdlRGlzcG9zaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1BhdGllbnQgRXhwaXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQlvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmhvc3BpdGFsaXphdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGlzY2hhcmdlRGlzcG9zaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0Rpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCW9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aG9zcGl0YWxpemF0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kaXNjaGFyZ2VEaXNwb3NpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCSk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI3NyIgbG9jYXRvcj0iMTQwOjItMTQ2OjIiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjQ3IiBsb2NhdG9yPSIxNDA6My0xNDA6NTMiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI0NiIgbG9jYXRvcj0iMTQwOjMtMTQwOjI5IiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjI3NiIgbG9jYXRvcj0iMTQxOjMtMTQ1OjEyMyIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjcwIiBsb2NhdG9yPSIxNDE6OS0xNDQ6MTA3IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjQiIGxvY2F0b3I9IjE0MTo5LTE0Mzo4NyIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjU4IiBsb2NhdG9yPSIxNDE6OS0xNDI6OTkiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1MiIgbG9jYXRvcj0iMTQxOjktMTQxOjEwNiIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjUwIiBsb2NhdG9yPSIxNDE6OS0xNDE6NjgiIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI0OSIgbG9jYXRvcj0iMTQxOjktMTQxOjQ3IiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMjUxIiBsb2NhdG9yPSIxNDE6NzMtMTQxOjEwNiIgbmFtZT0iRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1NyIgbG9jYXRvcj0iMTQyOjctMTQyOjk5IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTUiIGxvY2F0b3I9IjE0Mjo3LTE0Mjo2NiIgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjU0IiBsb2NhdG9yPSIxNDI6Ny0xNDI6NDUiIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIyNTYiIGxvY2F0b3I9IjE0Mjo3MS0xNDI6OTkiIG5hbWU9IkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjMiIGxvY2F0b3I9IjE0Mzo3LTE0Mzo4NyIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjYxIiBsb2NhdG9yPSIxNDM6Ny0xNDM6NjYiIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI2MCIgbG9jYXRvcj0iMTQzOjctMTQzOjQ1IiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMjYyIiBsb2NhdG9yPSIxNDM6NzEtMTQzOjg3IiBuYW1lPSJQYXRpZW50IEV4cGlyZWQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY5IiBsb2NhdG9yPSIxNDQ6Ny0xNDQ6MTA3IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjciIGxvY2F0b3I9IjE0NDo3LTE0NDo2NiIgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjY2IiBsb2NhdG9yPSIxNDQ6Ny0xNDQ6NDUiIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIyNjgiIGxvY2F0b3I9IjE0NDo3MS0xNDQ6MTA3IiBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzUiIGxvY2F0b3I9IjE0NTo3LTE0NToxMjMiIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3MyIgbG9jYXRvcj0iMTQ1OjctMTQ1OjY2IiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNzIiIGxvY2F0b3I9IjE0NTo3LTE0NTo0NSIgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjI3NCIgbG9jYXRvcj0iMTQ1OjcxLTE0NToxMjMiIG5hbWU9IkRpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMDEiIGxvY2F0b3I9IjE2MDoxLTE2NTo2NyIgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMDEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwMCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7UHJvY2VkdXJlUmVxdWVzdCZxdW90OzogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q29tZm9ydCBNZWFzdXJlcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gUDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmludGVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ezwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J3BsYW4nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nb3JkZXInPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPn08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCQl1bmlvbgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O1Byb2NlZHVyZSZxdW90OzogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q29tZm9ydCBNZWFzdXJlcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSW50ZXJ2ZXRpb25QZXJmb3JtZWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2ZXRpb25QZXJmb3JtZWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz57PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nY29tcGxldGUnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4naW4gcHJvZ3Jlc3MnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPn08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMwMCIgbG9jYXRvcj0iMTYxOjItMTY1OjY3IiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTAiIGxvY2F0b3I9IjE2MToyLTE2MjozOCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyODMiIGxvY2F0b3I9IjE2MTozLTE2MTo0NCIgYWxpYXM9IlAiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyODIiIGxvY2F0b3I9IjE2MTozLTE2MTo0MiIgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIxNjE6MjQtMTYxOjQxIiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjI4OSIgbG9jYXRvcj0iMTYyOjMtMTYyOjM3IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODUiIGxvY2F0b3I9IjE2Mjo5LTE2MjoxNiIgcGF0aD0iaW50ZW50IiBzY29wZT0iUCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjg4IiBsb2NhdG9yPSIxNjI6MjEtMTYyOjM3IiB4c2k6dHlwZT0iTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2FsSWQ9IjI4NiIgbG9jYXRvcj0iMTYyOjIyLTE2MjoyNyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InBsYW4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2FsSWQ9IjI4NyIgbG9jYXRvcj0iMTYyOjMwLTE2MjozNiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5OSIgbG9jYXRvcj0iMTY0OjMtMTY1OjY3IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI5MiIgbG9jYXRvcj0iMTY0OjQtMTY0OjU3IiBhbGlhcz0iSW50ZXJ2ZXRpb25QZXJmb3JtZWQiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyOTEiIGxvY2F0b3I9IjE2NDo0LTE2NDozNiIgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjE2NDoxOC0xNjQ6MzUiIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMjk4IiBsb2NhdG9yPSIxNjU6My0xNjU6NjYiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NCIgbG9jYXRvcj0iMTY1OjktMTY1OjM1IiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJJbnRlcnZldGlvblBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk3IiBsb2NhdG9yPSIxNjU6NDAtMTY1OjY2IiB4c2k6dHlwZT0iTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2FsSWQ9IjI5NSIgbG9jYXRvcj0iMTY1OjQxLTE2NTo1MCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhbElkPSIyOTYiIGxvY2F0b3I9IjE2NTo1My0xNjU6NjUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJpbiBwcm9ncmVzcyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMxMiIgbG9jYXRvcj0iMTQ4OjEtMTUxOjk1IiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMTIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24mcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMTEiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBDb21mb3J0TWVhc3VyZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJc3VjaCB0aGF0IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNvbWZvcnRNZWFzdXJlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmF1dGhvcmVkT248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwOSI+IGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0hvc3BpdGFsaXphdGlvbiZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMTEiIGxvY2F0b3I9IjE0OToyLTE1MTo5NSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyODEiIGxvY2F0b3I9IjE0OToyLTE0OTo1MiIgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjgwIiBsb2NhdG9yPSIxNDk6Mi0xNDk6MjgiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjMxMCIgbG9jYXRvcj0iMTUwOjMtMTUxOjk1IiBhbGlhcz0iQ29tZm9ydE1lYXN1cmUiIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzAyIiBsb2NhdG9yPSIxNTA6OC0xNTA6MzgiIG5hbWU9IkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8c3VjaFRoYXQgbG9jYWxJZD0iMzA5IiBsb2NhdG9yPSIxNTE6MTQtMTUxOjk1IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwNSIgbG9jYXRvcj0iMTUxOjE0LTE1MTozOCIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDgiIGxvY2F0b3I9IjE1MTo0Ny0xNTE6OTUiIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA3IiBsb2NhdG9yPSIxNTE6NzItMTUxOjk0IiBuYW1lPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzE1IiBsb2NhdG9yPSIxMzQ6MS0xMzc6NDIiIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2x1c2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMxNSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0Rlbm9taW5hdG9yIEV4Y2x1c2lvbiZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMxNCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBTdGF0dXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+Cgl1bmlvbgoJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMTQiIGxvY2F0b3I9IjEzNToyLTEzNzo0MiIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc5IiBsb2NhdG9yPSIxMzU6Mi0xMzU6NTEiIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIFN0YXR1cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzEzIiBsb2NhdG9yPSIxMzc6Mi0xMzc6NDIiIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMgZHVyaW5nIEhvc3BpdGFsaXphdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-EXM108_FHIR3-7.4.000.json b/fhir3/input/resources/library/library-EXM108_FHIR3-7.4.000.json index f73ef97c..8e9a589a 100644 --- a/fhir3/input/resources/library/library-EXM108_FHIR3-7.4.000.json +++ b/fhir3/input/resources/library/library-EXM108_FHIR3-7.4.000.json @@ -3,430 +3,354 @@ "id": "library-EXM108-FHIR3-7.4.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM108-FHIR3-7.4.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> logic-library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">7.4.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-VTEICU-FHIR3-2.4.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"45\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Patient</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Device</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Device</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM108_FHIR3 version '7.4.000'\n\n/*\nBased on CMS108v7 - Venous Thromboembolism Prophylaxis\n*/\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\n/*\nData Types Used:\n\nEncounter\nDeviceUseStatement\nDeviceRequest\nMedicationAdministration\nMedicationRequest\nProcedure - ordinality extension\nProcedureRequest\nCondition\n*/\n\n/*\nDevelopment Notes:\n\n Need to define “doNotPerfom” QICore extension to support “NotDone is true” expression. Suggest to the base Resource for the following profiles –\n\n DeviceUseStatement\n DeviceRequest\n MedicationRequest\n\n Add doNotPerform to DeviceUseRequest and notDone to DeviceUseStatement:\n [#20601](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20601)\n Promote profiles to QI-Core:\n [#20610](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20610)\n\n Need to define an “ordinality” extension for Procedure profile to support “Procedure.ordinality ~ \"Principal\" expression.\n\n [#20527](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20527)\n\n Need to confirm the following profiles and ensure Period is a default type -\n\n MedicationAdministration.effective\n Procedure.performed\n\n Defined as DEQM profiles currently, promote to QI-Core\n [#20611](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20611)\n\n Suggest defining “recordedOn“ to support the timings for “MedicationAdministration.notGiven” and “Procedure.notDone”. see the highlighted fields below.\n\n [#20602](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20602)\n\n|Profile |Timing used for Done |Timing used for doNotPerform |TJC comments |\n|---|---|---|---|\n|DeviceUseStatement |whenUsed |recordedOn | |\n|DeviceRequest |authoredOn |authoredOn | |\n|MedicationAdministration |effective |effective | Suggest adding recordedOn for notGiven timing |\n|MedicationRequest |authoredOn |authoredOn | |\n|Procedure |performed |performed | Suggest adding recordedOn for notDone timing |\n|ProcedureRequest |authoredOn |authoredOn | |\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude VTEICU_FHIR3 version '2.4.000' called VTEICU\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem \"SNOMEDCT\": 'http://snomed.info/sct/731000124108'\ncodesystem \"LOINC\": 'http://loinc.org'\ncodesystem \"RequestIntent\": 'http://hl7.org/fhir/request-intent'\n\nvalueset \"ONC Administrative Sex\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset \"Race\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset \"Ethnicity\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset \"Payer\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset \"Atrial Fibrillation/Flutter\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202'\nvalueset \"Comfort Measures\": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset \"Direct Thrombin Inhibitor\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.205'\nvalueset \"Emergency Department Visit\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset \"General or Neuraxial Anesthesia\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743'\nvalueset \"General Surgery\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.255'\nvalueset \"Glycoprotein IIb/IIIa Inhibitors\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.41'\nvalueset \"Graduated compression stockings (GCS)\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256'\nvalueset \"Gynecological Surgery\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257'\nvalueset \"Hemorrhagic Stroke\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset \"Hip Fracture Surgery\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258'\nvalueset \"Hip Replacement Surgery\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259'\nvalueset \"Injectable Factor Xa Inhibitor for VTE Prophylaxis\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211'\nvalueset \"INR\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.213'\nvalueset \"Intermittent pneumatic compression devices (IPC)\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214'\nvalueset \"Intracranial Neurosurgery\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260'\nvalueset \"Intravenous route\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.222'\nvalueset \"Ischemic Stroke\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset \"Knee Replacement Surgery\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261'\nvalueset \"Low Dose Unfractionated Heparin for VTE Prophylaxis\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39'\nvalueset \"Low Molecular Weight Heparin for VTE Prophylaxis\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219'\nvalueset \"Low Risk\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.400'\nvalueset \"Medical Reason\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'\nvalueset \"Mental Health Diagnoses\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1004'\nvalueset \"Obstetrics\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.263'\nvalueset \"Obstetrics VTE\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264'\nvalueset \"Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134'\nvalueset \"Patient Refusal\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'\n//valueset \"Principal\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.14' // Changed to use a code\nvalueset \"Subcutaneous route\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.223'\nvalueset \"Unfractionated Heparin\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.218'\nvalueset \"Urological Surgery\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272'\nvalueset \"Venous foot pumps (VFP)\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230'\nvalueset \"Venous Thromboembolism\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279'\nvalueset \"Warfarin\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232'\nvalueset \"Intensive Care Unit\": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.23'\n\ncode \"Risk for venous thromboembolism\": '72136-5' from \"LOINC\" display 'Risk for venous thromboembolism'\ncode \"Principal\": '63161005' from \"SNOMEDCT\" display 'Principal (qualifier value)'\ncode \"Order\": 'order' from \"RequestIntent\" display 'Order'\n\nparameter \"Measurement Period\" Interval<DateTime>\n default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine \"SDE Ethnicity\":\n SDE.\"SDE Ethnicity\"\n\ndefine \"SDE Payer\":\n\tSDE.\"SDE Payer\"\n\ndefine \"SDE Race\":\n SDE.\"SDE Race\"\n\ndefine \"SDE Sex\":\n\tSDE.\"SDE Sex\"\n\ndefine \"Denominator\":\n\t\"Initial Population\"\n\ndefine \"ED Visit\":\n\t[\"Encounter\": type in \"Emergency Department Visit\"] EDVisit\n where EDVisit.status = 'finished'\n\ndefine \"Initial Population\":\n\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\"\n\ndefine \"No VTE Prophylaxis Device Applied or Ordered\":\n // NOTE: Should be using device.code, but that requires CQL 1.4\n (\n (\n (\n [\"DeviceUseStatement\"] DeviceUseStatement\n where DeviceUseStatement.status = 'completed'\n ) ValidDeviceUseStatement\n with [Device] Device\n such that Global.GetId(ValidDeviceUseStatement.device.reference) = Device.id\n and (\n Device.type in \"Venous foot pumps (VFP)\"\n or Device.type in \"Intermittent pneumatic compression devices (IPC)\"\n or Device.type in \"Graduated compression stockings (GCS)\"\n )\n ) D\n //JR: updated to use the Global get extension because the argument is DomainResource\n where Global.GetExtension(D, 'doNotPerform').value is true\n )\n union ((\n [\"DeviceRequest\": code in \"Venous foot pumps (VFP)\"]\n union [\"DeviceRequest\": code in \"Intermittent pneumatic compression devices (IPC)\"]\n union [\"DeviceRequest\": code in \"Graduated compression stockings (GCS)\"]\n ) D\n where D.intent ~ ToConcept(\"Order\")\n //JR: updated to use the Global get extension because the argument is DomainResource\n\t and Global.GetExtension(D, 'doNotPerform').value is true\n //where D.doNotPerform is true // Needs a QI-Core extension to support\n )\ndefine function GetExtension(Extensions List<Extension>, URL String):\n singleton from (Extensions E where E.url = URL return E)\n\n//Done\ndefine \"No VTE Prophylaxis Device Due to Medical Reason During ED Visit\":\n\tfrom\n\t\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter,\n\t\t\"ED Visit\" EDVisit,\n\t\t\"No VTE Prophylaxis Device Applied or Ordered\" NoVTEDevice\n\t\twhere FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand (singleton from NoVTEDevice.reasonCode in \"Medical Reason\")\n\t\t\tand Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during FHIRHelpers.ToInterval(EDVisit.period)\n\n//Done\ndefine \"No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Admission\":\n\tfrom\n\t\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter,\n\t\t\"No VTE Prophylaxis Device Applied or Ordered\" NoVTEDevice\n\t\twhere (singleton from NoVTEDevice.reasonCode in \"Medical Reason\")\n\t\t\tand Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during VTEICU.\"CalendarDayOfOrDayAfter\"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\n//Done\ndefine \"No VTE Prophylaxis Medication Administered or Ordered\":\n\t((\t[\"MedicationAdministration\": medication in \"Low Dose Unfractionated Heparin for VTE Prophylaxis\"]\n\tunion\n\t[\"MedicationAdministration\": medication in \"Low Molecular Weight Heparin for VTE Prophylaxis\"]\n\tunion\n\t[\"MedicationAdministration\": medication in \"Injectable Factor Xa Inhibitor for VTE Prophylaxis\"]\n\tunion\n\t[\"MedicationAdministration\": medication in \"Warfarin\"]\n\t) MedicationAdm\n\t\twhere MedicationAdm.notGiven is true\n\t)\n\tunion\n\t // TODO: Tracker for QI-core to add doNotPerform extension for MedicationRequest and suggest to the base Resource\n\t//JR: code is not an attribute of MedicationRequest. Used medication instead.\n\t((\t[\"MedicationRequest\": medication in \"Low Dose Unfractionated Heparin for VTE Prophylaxis\"]\n\tunion\n\t[\"MedicationRequest\": medication in \"Low Molecular Weight Heparin for VTE Prophylaxis\"]\n\tunion\n\t[\"MedicationRequest\": medication in \"Injectable Factor Xa Inhibitor for VTE Prophylaxis\"]\n\tunion\n\t[\"MedicationRequest\": medication in \"Warfarin\"]\n\t) MedicationOrder\n\twhere\tMedicationOrder.intent = 'order'\n\t\tand GetExtension(MedicationOrder.extension, 'http://example.org/fhir/extensions/doNotPerform').value is true\n\t\t//MedicationOrder.doNotPerform is true // Needs a QI-Core extension to support\n\t)\n\n\n//Done\ndefine \"No VTE Prophylaxis Medication Due to Medical Reason During ED Visit\":\n\tfrom\n\t\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter,\n\t\t\"ED Visit\" EDVisit,\n\t\t\"No VTE Prophylaxis Medication Administered or Ordered\" NoVTEMedication\n\t\twhere FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand (singleton from NoVTEMedication.reasonCode in \"Medical Reason\")\n\t\t// TODO: Profile of MedicationAdministration to ensure effective is a Period\n\t\t\tand Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during FHIRHelpers.ToInterval(EDVisit.period)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine \"No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Admission\":\n\tfrom\n\t\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter,\n\t\t\"No VTE Prophylaxis Medication Administered or Ordered\" NoVTEMedication\n\t\twhere (singleton from NoVTEMedication.reasonCode in \"Medical Reason\")\n\t\t\tand Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during VTEICU.\"CalendarDayOfOrDayAfter\"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\t\treturn QualifyingEncounter\n\n//Done\ndefine \"No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Procedure\":\n\tfrom\n\t\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter,\n\t\t[\"Procedure\": \"General or Neuraxial Anesthesia\"] AnesthesiaProcedure,\n\t\t\"No VTE Prophylaxis Device Applied or Ordered\" NoVTEDevice\n\t\twhere NoVTEDevice.reasonCode in \"Medical Reason\"\n\t\t\tand AnesthesiaProcedure.status = 'completed'\n\t\t\t// TODO: Profile of procedure to ensure performed is a Period\n\t\t\tand AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during VTEICU.\"CalendarDayOfOrDayAfter\"(end of AnesthesiaProcedure.performed)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine \"Admission Without VTE or Obstetrical Conditions\":\n\t\t(Global.\"Inpatient Encounter\" InpatientEncounter\n\t\twhere not (\n\t\t //Connectathon: still broken: temporarily removed pending HAPI FHIR server fix for maxClauseCount > 1024\n //Global.EncounterDiagnosis(InpatientEncounter).code in \"Obstetrics\" or\n\t\t\t\t\t\t\t\tGlobal.EncounterDiagnosis(InpatientEncounter).code in \"Venous Thromboembolism\"\n\t\t\t\t\t\t\t\tor Global.EncounterDiagnosis(InpatientEncounter).code in \"Obstetrics VTE\"\n\t\t\t\t\t\t\t)\n )\n\t\tintersect (Global.\"Inpatient Encounter\" InpatientEncounter\n\t\t\t\twithout (\n\t\t //Connectathon: still broken: temporarily removed pending HAPI FHIR server fix for maxClauseCount > 1024\n //[\"Condition\": code in \"Obstetrics\"] union\n\t\t\t\t\t\t\t\t\t[\"Condition\": code in \"Venous Thromboembolism\"]\n\t\t\t\t\t\t\t\t\tunion [\"Condition\": code in \"Obstetrics VTE\"])\tDiagnosis\n\t\t\t\tsuch that Diagnosis.clinicalStatus = 'active'\n \t\tand Diagnosis.verificationStatus = 'confirmed'\n\t\t\t\t\t\tand Global.\"Normalize Onset\"(Diagnosis.onset) during Global.\"Hospitalization\"(InpatientEncounter)\n\t\t\t\t\t\t)\n\n//Done\ndefine \"No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Procedure\":\n\tfrom\n\t\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter,\n\t\t[\"Procedure\": \"General or Neuraxial Anesthesia\"] AnesthesiaProcedure,\n\t\t\"No VTE Prophylaxis Medication Administered or Ordered\" NoVTEMedication\n\t\twhere NoVTEMedication.reasonCode in \"Medical Reason\"\n\t\t\tand AnesthesiaProcedure.status = 'completed'\n\t\t\tand AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\t// TODO: Profile of MedicationAdministration to ensure effective is a Period\n\t\t\tand Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during VTEICU.\"CalendarDayOfOrDayAfter\"(end of AnesthesiaProcedure.performed)\n\t\treturn QualifyingEncounter\n\n\n//Done\ndefine \"Encounter Less Than 2 Days\":\n\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter\n\t\twhere Global.\"LengthInDays\"(FHIRHelpers.ToInterval(QualifyingEncounter.period))< 2\n\n\n//Done\ndefine \"SCIP VTE Selected Surgery\":\n\t(\n\t\t//Connectathon: still broken: temporarily removed pending HAPI FHIR server fix for maxClauseCount > 1024\n\t\t// [\"Procedure\": \"General Surgery\"]\n\t\t// union\n [\"Procedure\": \"Gynecological Surgery\"]\n\t\tunion [\"Procedure\": \"Hip Fracture Surgery\"]\n\t\tunion [\"Procedure\": \"Hip Replacement Surgery\"]\n\t\tunion [\"Procedure\": \"Intracranial Neurosurgery\"]\n\t\tunion [\"Procedure\": \"Knee Replacement Surgery\"]\n\t\tunion [\"Procedure\": \"Urological Surgery\"] ) P\n\t\twhere P.status = 'completed'\n\n\n//Done\ndefine \"Intervention Comfort Measures\":\n\t([\"ProcedureRequest\": \"Comfort Measures\"] P\n\t\twhere P.intent = 'order')\n\t\tunion\n\t\t([\"Procedure\": \"Comfort Measures\"] IntervetionPerformed\n\t\twhere IntervetionPerformed.status = 'completed')\n\n//Done\ndefine \"Intervention Comfort Measures on Day of or Day After Start of Hospitalization\":\n\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter\n\t\twith \"Intervention Comfort Measures\" ComfortMeasure\n\t// TODO: Profile of procedure to ensure performed is a Period\n\t\t\tsuch that Coalesce(ComfortMeasure.authoredOn, start of ComfortMeasure.performed) 1 day or less on or after day of start of Global.\"Hospitalization\"(QualifyingEncounter)\n\n//Done\ndefine \"Intervention Comfort Measures on Day of or Day After Procedure\":\n\tfrom\n\t\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter,\n\t\t[\"Procedure\": \"General or Neuraxial Anesthesia\"] AnesthesiaProcedure,\n\t\t\"Intervention Comfort Measures\" ComfortMeasure\n\t\twhere AnesthesiaProcedure.status = 'completed'\n\t\t\t\tand AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\t\tand Coalesce(ComfortMeasure.authoredOn, start of ComfortMeasure.performed) 1 day or less on or after day of end of AnesthesiaProcedure.performed\n\n//Done\ndefine \"VTE Prophylaxis by Medication Administered or Device Applied\":\n\t( [\"MedicationAdministration\": medication in \"Low Dose Unfractionated Heparin for VTE Prophylaxis\"] VTEMedication\n\t\t\twhere VTEMedication.status = 'completed'\n\t\t\t\t\t\tand VTEMedication.dosage.route in \"Subcutaneous route\"\n return start of VTEMedication.effective\n\t)\n\t\t//JR: code is not an attribute of MedicationAdministration. Used medication instead.\n\t\tunion ([\"MedicationAdministration\": medication in \"Low Molecular Weight Heparin for VTE Prophylaxis\"] VTEMedication return start of VTEMedication.effective)\n\t\tunion ([\"MedicationAdministration\": medication in \"Injectable Factor Xa Inhibitor for VTE Prophylaxis\"] VTEMedication return start of VTEMedication.effective)\n\t\tunion ([\"MedicationAdministration\": medication in \"Warfarin\"] VTEMedication return start of VTEMedication.effective)\n\t\tunion\n (\n (\n [\"DeviceUseStatement\"] DeviceUseStatement\n where DeviceUseStatement.status = 'completed'\n ) ValidDeviceUseStatement\n with [Device] Device\n such that Last(Split(ValidDeviceUseStatement.device.reference, '/')) = Device.id\n and (\n Device.type in \"Venous foot pumps (VFP)\"\n or Device.type in \"Intermittent pneumatic compression devices (IPC)\"\n or Device.type in \"Graduated compression stockings (GCS)\"\n )\n ) DeviceApplied\n where DeviceApplied.status = 'completed'\n return Coalesce(DeviceApplied.recordedOn, start of DeviceApplied.whenUsed)\n\n//Done\ndefine \"VTE Prophylaxis Received on Day of or Day After Admission or Procedure\":\n\t( from\n\t\t\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter,\n\t\t\t\"VTE Prophylaxis by Medication Administered or Device Applied\" VTEProphylaxisDate\n\t\t\t// TODO: Profile of MedicationAdministration to ensure effective is a Period\n where VTEProphylaxisDate during VTEICU.\"CalendarDayOfOrDayAfter\"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n return QualifyingEncounter\n\t)\n\t\tunion ( from\n\t\t\t\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter,\n\t\t\t\t[\"Procedure\": \"General or Neuraxial Anesthesia\"] AnesthesiaProcedure,\n\t\t\t\t\"VTE Prophylaxis by Medication Administered or Device Applied\" VTEProphylaxisDate\n where AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n and VTEProphylaxisDate during VTEICU.\"CalendarDayOfOrDayAfter\"(end of AnesthesiaProcedure.performed)\n return QualifyingEncounter\n\t\t)\n\n\n//Done\ndefine \"Medication Oral Factor Xa Inhibitor Administered on Day of or Day After Admission or Procedure\":\n\t( from\n\t\t\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter,\n\t\t\t[\"MedicationAdministration\": medication in \"Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment\"] FactorXaMedication\n\t\t\twhere FactorXaMedication.effective starts during VTEICU.\"CalendarDayOfOrDayAfter\"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\t\t\treturn QualifyingEncounter\n\t)\n\t\tunion ( from\n\t\t\t\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter,\n\t\t\t\t[\"Procedure\": \"General or Neuraxial Anesthesia\"] AnesthesiaProcedure,\n\t\t\t\t[\"MedicationAdministration\": medication in \"Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment\"] FactorXaMedication\n\t\t\t\twhere AnesthesiaProcedure.status = 'completed'\n\t\t\t\tand AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\t\t\tand FactorXaMedication.effective starts during VTEICU.\"CalendarDayOfOrDayAfter\"(end of AnesthesiaProcedure.performed)\n\t\t\t\treturn QualifyingEncounter\n\t\t)\n\n//Done\ndefine \"Encounter With Prior or Present Diagnosis of Atrial Fibrillation or VTE\":\n\t( \"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter\n\t\t\twith [\"Condition\": code in \"Atrial Fibrillation/Flutter\"] AtrialFibrillation\n\t\t\t\tsuch that AtrialFibrillation.clinicalStatus = 'active'\n\t\t\t\tand AtrialFibrillation.verificationStatus = 'confirmed'\n\t\t\t\tand Global.\"Normalize Onset\"(AtrialFibrillation.onset) on or before end of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t)\n\t\tunion ( \"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter\n\t\t\t\twhere Global.EncounterDiagnosis(QualifyingEncounter).code in \"Atrial Fibrillation/Flutter\"\n\t\t\t)\n\t\tunion ( \"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter\n\t\t\t\twith [\"Condition\": code in \"Venous Thromboembolism\"] VTEDiagnosis\n\t\t\t\t\tsuch that VTEDiagnosis.clinicalStatus in { 'inactive', 'remission', 'resolved' }\n\t\t\t\t\tand VTEDiagnosis.verificationStatus = 'confirmed'\n\t\t\t\t\tand Global.\"Normalize Onset\"(VTEDiagnosis.onset) before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t)\n\n//Done\ndefine \"Encounter With ICU Location Stay 1 Day or More\":\n\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter\n\t\twhere exists ( QualifyingEncounter.location Location\n\t\t\t\twhere Global.GetLocation(Location.location).type in \"Intensive Care Unit\"\n\t\t\t\t\tand Global.\"LengthInDays\"(Location.period)>= 1\n\t\t\t\t\tand Location.period starts during VTEICU.\"CalendarDayOfOrDayAfter\"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\t\t)\n\n\n//Done\ndefine \"Encounter With Principal Diagnosis of Mental Disorder or Stroke\":\n\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter\n\t\twhere\n //Connectathon: still broken: temporarily removed pending HAPI FHIR server fix for maxClauseCount > 1024\n //Global.PrincipalDiagnosis(QualifyingEncounter).code in \"Mental Health Diagnoses\"\n\t\t\t//or\n Global.PrincipalDiagnosis(QualifyingEncounter).code in \"Hemorrhagic Stroke\"\n\t\t\tor Global.PrincipalDiagnosis(QualifyingEncounter).code in \"Ischemic Stroke\"\n\n//Done\n// TODO: Define an ordinality extension to a Procedure profile and ask Patient Administration and/or Patient Care to review\ndefine \"Encounter With Principal Procedure of SCIP VTE Selected Surgery\":\n\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter\n\t\t//Connectathon: pending cql_engine fix #262 (FHIR 3.0.0 model info issue with Extension.url)\n\t\twith ( \"SCIP VTE Selected Surgery\" Procedure\n\t\t\twhere GetExtension(Procedure.extension, 'http://example.org/StructureDefinition/ordinality').value ~ \"Principal\" ) SelectedProcedure\n\t\t\tsuch that SelectedProcedure.performed during FHIRHelpers.ToInterval( QualifyingEncounter.period)\n\n//Done\ndefine \"Denominator Exclusions\":\n\t\"Encounter Less Than 2 Days\"\n\t\tunion \"Encounter With ICU Location Stay 1 Day or More\"\n\t\tunion \"Encounter With Principal Diagnosis of Mental Disorder or Stroke\"\n\t\tunion \"Encounter With Principal Procedure of SCIP VTE Selected Surgery\"\n\t\tunion \"Intervention Comfort Measures on Day of or Day After Start of Hospitalization\"\n\t\tunion \"Intervention Comfort Measures on Day of or Day After Procedure\"\n\n//Done\ndefine \"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\":\n\t( Global.\"Inpatient Encounter\" InpatientEncounter\n\t\t\twith [\"Patient\"] BirthDate\n\t\t\t\tsuch that Global.\"CalendarAgeInYearsAt\"(ToDateTime(BirthDate.birthDate), start of FHIRHelpers.ToInterval(InpatientEncounter.period)) >= 18\n\t)\n\t\tintersect \"Admission Without VTE or Obstetrical Conditions\"\n\n//Done\ndefine \"Encounter With Prior or Present Procedure of Hip or Knee Replacement Surgery\":\n\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter\n\t\twith ( [\"Procedure\": \"Hip Replacement Surgery\"]\n\t\t\tunion [\"Procedure\": \"Knee Replacement Surgery\"] ) HipKneeProcedure\n\t\t\tsuch that HipKneeProcedure.status = 'completed'\n\t\t\t\tand HipKneeProcedure.performed starts on or before end of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\n//Done\ndefine \"Low Risk for VTE or Anticoagulant Administered\":\n\t\"Low Risk for VTE or Anticoagulant Administered During ED Visit\"\n\t\tunion \"Low Risk for VTE or Anticoagulant Administered on Day of or Day After Admission\"\n\t\tunion \"Low Risk for VTE or Anticoagulant Administered on Day of or Day After Procedure\"\n\n//Done\ndefine \"No VTE Prophylaxis Due to Medical Reason\":\n\t( \"No VTE Prophylaxis Medication Due to Medical Reason During ED Visit\"\n\t\t\tintersect \"No VTE Prophylaxis Device Due to Medical Reason During ED Visit\"\n\t)\n\t\tunion ( \"No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Admission\"\n\t\t\t\tintersect \"No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Admission\"\n\t\t)\n\t\tunion ( \"No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Procedure\"\n\t\t\t\tintersect \"No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Procedure\"\n\t\t)\n\n//Done\ndefine \"No VTE Prophylaxis Due to Patient Refusal During ED Visit\":\n\tfrom\n\t\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter,\n\t\t\"ED Visit\" EDVisit,\n\t\t\"No VTE Prophylaxis Medication or Device Due to Patient Refusal\" PatientRefusal\n\t\twhere EDVisit.period ends 1 hour or less on or before start of QualifyingEncounter.period\n\t\t\tand Coalesce(PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn) during EDVisit.period\n\t\treturn QualifyingEncounter\n\n//Done\ndefine \"No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Admission\":\n\tfrom\n\t\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter,\n\t\t\"No VTE Prophylaxis Medication or Device Due to Patient Refusal\" PatientRefusal\n\t\twhere Coalesce(start of PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn)\n during VTEICU.\"CalendarDayOfOrDayAfter\"(start of QualifyingEncounter.period)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine \"No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Procedure\":\n\tfrom\n\t\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter,\n\t\t[\"Procedure\": \"General or Neuraxial Anesthesia\"] AnesthesiaProcedure,\n\t\t\"No VTE Prophylaxis Medication or Device Due to Patient Refusal\" PatientRefusal\n\t\twhere AnesthesiaProcedure.performed ends 1 day after day of start of QualifyingEncounter.period\n\t\t\tand Coalesce(start of PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn)\n during VTEICU.\"CalendarDayOfOrDayAfter\"(end of AnesthesiaProcedure.performed)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine \"No VTE Prophylaxis Medication or Device Due to Patient Refusal\":\n\t( \"No VTE Prophylaxis Medication Administered or Ordered\"\n\t\tunion \"No VTE Prophylaxis Device Applied or Ordered\" ) NoVTEProphylaxis\n\t\twhere GetExtension(NoVTEProphylaxis.extension, 'http://example.org/StructureDefinition/notDoneReason').value in \"Patient Refusal\"\n\n//Done\ndefine \"No VTE Prophylaxis Due to Patient Refusal\":\n\t\"No VTE Prophylaxis Due to Patient Refusal During ED Visit\"\n\t\tunion \"No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Admission\"\n\t\tunion \"No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Procedure\"\n\n//Done\ndefine \"Numerator\":\n\t\"VTE Prophylaxis Received on Day of or Day After Admission or Procedure\"\n\t\tunion ( \"Medication Oral Factor Xa Inhibitor Administered on Day of or Day After Admission or Procedure\"\n\t\t\t\tintersect ( \"Encounter With Prior or Present Diagnosis of Atrial Fibrillation or VTE\"\n\t\t\t\t\t\tunion \"Encounter With Prior or Present Procedure of Hip or Knee Replacement Surgery\"\n\t\t\t\t)\n\t\t)\n\t\tunion \"Low Risk for VTE or Anticoagulant Administered\"\n\t\tunion \"No VTE Prophylaxis Due to Medical Reason\"\n\t\tunion \"No VTE Prophylaxis Due to Patient Refusal\"\n\n//Done\ndefine \"Is In Low Risk for VTE or On Anticoagulant\":\n //Connectathon: verified that this is corrected\n\t( [\"Observation\": \"Risk for venous thromboembolism\"] VTERiskAssessment\n\t\t\twhere VTERiskAssessment.value in \"Low Risk\"\n\t)\n\n/*\n// TODO: Issues with constructing the FHIR types here...\n\t\tunion ( [\"Observation\": \"INR\"] INRLabTest\n\t\t\t\twhere INRLabTest.value as Quantity > 3.0\n\t\t\t\treturn \"Observation\" { id: INRLabTest.id, effective: INRLabTest.issued }\n\t\t)\n\t\tunion ((( [\"MedicationAdministration\": \"Unfractionated Heparin\"] UnfractionatedHeparin\n\t\t\t\t\twhere UnfractionatedHeparin.dosage.route in \"Intravenous route\"\n\t\t\t\t\t\t)\n\t\t\t\tunion [\"MedicationAdministration\": \"Direct Thrombin Inhibitor\"]\n\t\t\t\tunion [\"MedicationAdministration\": \"Glycoprotein IIb/IIIa Inhibitors\"] ) AnticoagulantMedication\n\t\t\t\t\treturn \"Observation\" { id: AnticoagulantMedication.id, effective: start of effective}\n\t\t)\n*/\n\n//Done\ndefine \"Low Risk for VTE or Anticoagulant Administered During ED Visit\":\n\tfrom\n\t\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter,\n\t\t\"ED Visit\" EDVisit,\n\t\t\"Is In Low Risk for VTE or On Anticoagulant\" VTERiskAssessment\n\t\twhere FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand VTERiskAssessment.issued during FHIRHelpers.ToInterval(EDVisit.period)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine \"Low Risk for VTE or Anticoagulant Administered on Day of or Day After Admission\":\n\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter\n\t\twith \"Is In Low Risk for VTE or On Anticoagulant\" VTERiskAssessment\n\t\t\tsuch that VTERiskAssessment.issued during VTEICU.\"CalendarDayOfOrDayAfter\"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\n//Done\ndefine \"Low Risk for VTE or Anticoagulant Administered on Day of or Day After Procedure\":\n\tfrom\n\t\t\"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions\" QualifyingEncounter,\n\t\t[\"Procedure\": \"General or Neuraxial Anesthesia\"] AnesthesiaProcedure,\n\t\t\"Is In Low Risk for VTE or On Anticoagulant\" VTERiskAssessment\n\t\twhere AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand VTERiskAssessment.issued during VTEICU.\"CalendarDayOfOrDayAfter\"(end of FHIRHelpers.ToInterval(AnesthesiaProcedure.performed))\n\t\treturn QualifyingEncounter\n</code></pre>\r\n \r\n \r\n </td>\r\n </tr>\r\n \r\n </table>\r\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM108-FHIR3-7.4.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> logic-library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">7.4.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-VTEICU-FHIR3-2.4.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"45\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Patient</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Device</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DeviceUseStatement</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Device</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationAdministration</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM108_FHIR3 version '7.4.000'\n\n/*\nBased on CMS108v7 - Venous Thromboembolism Prophylaxis\n*/\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\n/*\nData Types Used:\n\nEncounter\nDeviceUseStatement\nDeviceRequest\nMedicationAdministration\nMedicationRequest\nProcedure - ordinality extension\nProcedureRequest\nCondition\n*/\n\n/*\nDevelopment Notes:\n\n Need to define “doNotPerfom” QICore extension to support “NotDone is true” expression. Suggest to the base Resource for the following profiles –\n\n DeviceUseStatement\n DeviceRequest\n MedicationRequest\n\n Add doNotPerform to DeviceUseRequest and notDone to DeviceUseStatement:\n [#20601](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20601)\n Promote profiles to QI-Core:\n [#20610](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20610)\n\n Need to define an “ordinality” extension for Procedure profile to support “Procedure.ordinality ~ "Principal" expression.\n\n [#20527](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20527)\n\n Need to confirm the following profiles and ensure Period is a default type -\n\n MedicationAdministration.effective\n Procedure.performed\n\n Defined as DEQM profiles currently, promote to QI-Core\n [#20611](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20611)\n\n Suggest defining “recordedOn“ to support the timings for “MedicationAdministration.notGiven” and “Procedure.notDone”. see the highlighted fields below.\n\n [#20602](https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=20602)\n\n|Profile |Timing used for Done |Timing used for doNotPerform |TJC comments |\n|---|---|---|---|\n|DeviceUseStatement |whenUsed |recordedOn | |\n|DeviceRequest |authoredOn |authoredOn | |\n|MedicationAdministration |effective |effective | Suggest adding recordedOn for notGiven timing |\n|MedicationRequest |authoredOn |authoredOn | |\n|Procedure |performed |performed | Suggest adding recordedOn for notDone timing |\n|ProcedureRequest |authoredOn |authoredOn | |\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude VTEICU_FHIR3 version '2.4.000' called VTEICU\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Atrial Fibrillation/Flutter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202'\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Direct Thrombin Inhibitor": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.205'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "General or Neuraxial Anesthesia": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743'\nvalueset "General Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.255'\nvalueset "Glycoprotein IIb/IIIa Inhibitors": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.41'\nvalueset "Graduated compression stockings (GCS)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256'\nvalueset "Gynecological Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "Hip Fracture Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258'\nvalueset "Hip Replacement Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259'\nvalueset "Injectable Factor Xa Inhibitor for VTE Prophylaxis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211'\nvalueset "INR": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.213'\nvalueset "Intermittent pneumatic compression devices (IPC)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214'\nvalueset "Intracranial Neurosurgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260'\nvalueset "Intravenous route": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.222'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Knee Replacement Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261'\nvalueset "Low Dose Unfractionated Heparin for VTE Prophylaxis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39'\nvalueset "Low Molecular Weight Heparin for VTE Prophylaxis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219'\nvalueset "Low Risk": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.400'\nvalueset "Medical Reason": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473'\nvalueset "Mental Health Diagnoses": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1004'\nvalueset "Obstetrics": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.263'\nvalueset "Obstetrics VTE": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264'\nvalueset "Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134'\nvalueset "Patient Refusal": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93'\n//valueset "Principal": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.14' // Changed to use a code\nvalueset "Subcutaneous route": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.223'\nvalueset "Unfractionated Heparin": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.218'\nvalueset "Urological Surgery": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272'\nvalueset "Venous foot pumps (VFP)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230'\nvalueset "Venous Thromboembolism": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279'\nvalueset "Warfarin": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232'\nvalueset "Intensive Care Unit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.23'\n\ncode "Risk for venous thromboembolism": '72136-5' from "LOINC" display 'Risk for venous thromboembolism'\ncode "Principal": '63161005' from "SNOMEDCT" display 'Principal (qualifier value)'\ncode "Order": 'order' from "RequestIntent" display 'Order'\n\nparameter "Measurement Period" Interval<DateTime>\n default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n\tSDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n\tSDE."SDE Sex"\n\ndefine "Denominator":\n\t"Initial Population"\n\ndefine "ED Visit":\n\t["Encounter": type in "Emergency Department Visit"] EDVisit\n where EDVisit.status = 'finished'\n\ndefine "Initial Population":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions"\n\ndefine "No VTE Prophylaxis Device Applied or Ordered":\n // NOTE: Should be using device.code, but that requires CQL 1.4\n (\n (\n (\n ["DeviceUseStatement"] DeviceUseStatement\n where DeviceUseStatement.status = 'completed'\n ) ValidDeviceUseStatement\n with [Device] Device\n such that Global.GetId(ValidDeviceUseStatement.device.reference) = Device.id\n and (\n Device.type in "Venous foot pumps (VFP)"\n or Device.type in "Intermittent pneumatic compression devices (IPC)"\n or Device.type in "Graduated compression stockings (GCS)"\n )\n ) D\n //JR: updated to use the Global get extension because the argument is DomainResource\n where Global.GetExtension(D, 'doNotPerform').value is true\n )\n union ((\n ["DeviceRequest": code in "Venous foot pumps (VFP)"]\n union ["DeviceRequest": code in "Intermittent pneumatic compression devices (IPC)"]\n union ["DeviceRequest": code in "Graduated compression stockings (GCS)"]\n ) D\n where D.intent ~ ToConcept("Order")\n //JR: updated to use the Global get extension because the argument is DomainResource\n\t and Global.GetExtension(D, 'doNotPerform').value is true\n //where D.doNotPerform is true // Needs a QI-Core extension to support\n )\ndefine function GetExtension(Extensions List<Extension>, URL String):\n singleton from (Extensions E where E.url = URL return E)\n\n//Done\ndefine "No VTE Prophylaxis Device Due to Medical Reason During ED Visit":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"ED Visit" EDVisit,\n\t\t"No VTE Prophylaxis Device Applied or Ordered" NoVTEDevice\n\t\twhere FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand (singleton from NoVTEDevice.reasonCode in "Medical Reason")\n\t\t\tand Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during FHIRHelpers.ToInterval(EDVisit.period)\n\n//Done\ndefine "No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Admission":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"No VTE Prophylaxis Device Applied or Ordered" NoVTEDevice\n\t\twhere (singleton from NoVTEDevice.reasonCode in "Medical Reason")\n\t\t\tand Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\n//Done\ndefine "No VTE Prophylaxis Medication Administered or Ordered":\n\t((\t["MedicationAdministration": medication in "Low Dose Unfractionated Heparin for VTE Prophylaxis"]\n\tunion\n\t["MedicationAdministration": medication in "Low Molecular Weight Heparin for VTE Prophylaxis"]\n\tunion\n\t["MedicationAdministration": medication in "Injectable Factor Xa Inhibitor for VTE Prophylaxis"]\n\tunion\n\t["MedicationAdministration": medication in "Warfarin"]\n\t) MedicationAdm\n\t\twhere MedicationAdm.notGiven is true\n\t)\n\tunion\n\t // TODO: Tracker for QI-core to add doNotPerform extension for MedicationRequest and suggest to the base Resource\n\t//JR: code is not an attribute of MedicationRequest. Used medication instead.\n\t((\t["MedicationRequest": medication in "Low Dose Unfractionated Heparin for VTE Prophylaxis"]\n\tunion\n\t["MedicationRequest": medication in "Low Molecular Weight Heparin for VTE Prophylaxis"]\n\tunion\n\t["MedicationRequest": medication in "Injectable Factor Xa Inhibitor for VTE Prophylaxis"]\n\tunion\n\t["MedicationRequest": medication in "Warfarin"]\n\t) MedicationOrder\n\twhere\tMedicationOrder.intent = 'order'\n\t\tand GetExtension(MedicationOrder.extension, 'http://example.org/fhir/extensions/doNotPerform').value is true\n\t\t//MedicationOrder.doNotPerform is true // Needs a QI-Core extension to support\n\t)\n\n\n//Done\ndefine "No VTE Prophylaxis Medication Due to Medical Reason During ED Visit":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"ED Visit" EDVisit,\n\t\t"No VTE Prophylaxis Medication Administered or Ordered" NoVTEMedication\n\t\twhere FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand (singleton from NoVTEMedication.reasonCode in "Medical Reason")\n\t\t// TODO: Profile of MedicationAdministration to ensure effective is a Period\n\t\t\tand Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during FHIRHelpers.ToInterval(EDVisit.period)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Admission":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"No VTE Prophylaxis Medication Administered or Ordered" NoVTEMedication\n\t\twhere (singleton from NoVTEMedication.reasonCode in "Medical Reason")\n\t\t\tand Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Procedure":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t"No VTE Prophylaxis Device Applied or Ordered" NoVTEDevice\n\t\twhere NoVTEDevice.reasonCode in "Medical Reason"\n\t\t\tand AnesthesiaProcedure.status = 'completed'\n\t\t\t// TODO: Profile of procedure to ensure performed is a Period\n\t\t\tand AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand Coalesce(NoVTEDevice.authoredOn, NoVTEDevice.recordedOn) during VTEICU."CalendarDayOfOrDayAfter"(end of AnesthesiaProcedure.performed)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "Admission Without VTE or Obstetrical Conditions":\n\t\t(Global."Inpatient Encounter" InpatientEncounter\n\t\twhere not (\n\t\t //Connectathon: still broken: temporarily removed pending HAPI FHIR server fix for maxClauseCount > 1024\n //Global.EncounterDiagnosis(InpatientEncounter).code in "Obstetrics" or\n\t\t\t\t\t\t\t\tGlobal.EncounterDiagnosis(InpatientEncounter).code in "Venous Thromboembolism"\n\t\t\t\t\t\t\t\tor Global.EncounterDiagnosis(InpatientEncounter).code in "Obstetrics VTE"\n\t\t\t\t\t\t\t)\n )\n\t\tintersect (Global."Inpatient Encounter" InpatientEncounter\n\t\t\t\twithout (\n\t\t //Connectathon: still broken: temporarily removed pending HAPI FHIR server fix for maxClauseCount > 1024\n //["Condition": code in "Obstetrics"] union\n\t\t\t\t\t\t\t\t\t["Condition": code in "Venous Thromboembolism"]\n\t\t\t\t\t\t\t\t\tunion ["Condition": code in "Obstetrics VTE"])\tDiagnosis\n\t\t\t\tsuch that Diagnosis.clinicalStatus = 'active'\n \t\tand Diagnosis.verificationStatus = 'confirmed'\n\t\t\t\t\t\tand Global."Normalize Onset"(Diagnosis.onset) during Global."Hospitalization"(InpatientEncounter)\n\t\t\t\t\t\t)\n\n//Done\ndefine "No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Procedure":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t"No VTE Prophylaxis Medication Administered or Ordered" NoVTEMedication\n\t\twhere NoVTEMedication.reasonCode in "Medical Reason"\n\t\t\tand AnesthesiaProcedure.status = 'completed'\n\t\t\tand AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\t// TODO: Profile of MedicationAdministration to ensure effective is a Period\n\t\t\tand Coalesce(NoVTEMedication.authoredOn, start of NoVTEMedication.effective) during VTEICU."CalendarDayOfOrDayAfter"(end of AnesthesiaProcedure.performed)\n\t\treturn QualifyingEncounter\n\n\n//Done\ndefine "Encounter Less Than 2 Days":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twhere Global."LengthInDays"(FHIRHelpers.ToInterval(QualifyingEncounter.period))< 2\n\n\n//Done\ndefine "SCIP VTE Selected Surgery":\n\t(\n\t\t//Connectathon: still broken: temporarily removed pending HAPI FHIR server fix for maxClauseCount > 1024\n\t\t// ["Procedure": "General Surgery"]\n\t\t// union\n ["Procedure": "Gynecological Surgery"]\n\t\tunion ["Procedure": "Hip Fracture Surgery"]\n\t\tunion ["Procedure": "Hip Replacement Surgery"]\n\t\tunion ["Procedure": "Intracranial Neurosurgery"]\n\t\tunion ["Procedure": "Knee Replacement Surgery"]\n\t\tunion ["Procedure": "Urological Surgery"] ) P\n\t\twhere P.status = 'completed'\n\n\n//Done\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion\n\t\t(["Procedure": "Comfort Measures"] IntervetionPerformed\n\t\twhere IntervetionPerformed.status = 'completed')\n\n//Done\ndefine "Intervention Comfort Measures on Day of or Day After Start of Hospitalization":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twith "Intervention Comfort Measures" ComfortMeasure\n\t// TODO: Profile of procedure to ensure performed is a Period\n\t\t\tsuch that Coalesce(ComfortMeasure.authoredOn, start of ComfortMeasure.performed) 1 day or less on or after day of start of Global."Hospitalization"(QualifyingEncounter)\n\n//Done\ndefine "Intervention Comfort Measures on Day of or Day After Procedure":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t"Intervention Comfort Measures" ComfortMeasure\n\t\twhere AnesthesiaProcedure.status = 'completed'\n\t\t\t\tand AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\t\tand Coalesce(ComfortMeasure.authoredOn, start of ComfortMeasure.performed) 1 day or less on or after day of end of AnesthesiaProcedure.performed\n\n//Done\ndefine "VTE Prophylaxis by Medication Administered or Device Applied":\n\t( ["MedicationAdministration": medication in "Low Dose Unfractionated Heparin for VTE Prophylaxis"] VTEMedication\n\t\t\twhere VTEMedication.status = 'completed'\n\t\t\t\t\t\tand VTEMedication.dosage.route in "Subcutaneous route"\n return start of VTEMedication.effective\n\t)\n\t\t//JR: code is not an attribute of MedicationAdministration. Used medication instead.\n\t\tunion (["MedicationAdministration": medication in "Low Molecular Weight Heparin for VTE Prophylaxis"] VTEMedication return start of VTEMedication.effective)\n\t\tunion (["MedicationAdministration": medication in "Injectable Factor Xa Inhibitor for VTE Prophylaxis"] VTEMedication return start of VTEMedication.effective)\n\t\tunion (["MedicationAdministration": medication in "Warfarin"] VTEMedication return start of VTEMedication.effective)\n\t\tunion\n (\n (\n ["DeviceUseStatement"] DeviceUseStatement\n where DeviceUseStatement.status = 'completed'\n ) ValidDeviceUseStatement\n with [Device] Device\n such that Last(Split(ValidDeviceUseStatement.device.reference, '/')) = Device.id\n and (\n Device.type in "Venous foot pumps (VFP)"\n or Device.type in "Intermittent pneumatic compression devices (IPC)"\n or Device.type in "Graduated compression stockings (GCS)"\n )\n ) DeviceApplied\n where DeviceApplied.status = 'completed'\n return Coalesce(DeviceApplied.recordedOn, start of DeviceApplied.whenUsed)\n\n//Done\ndefine "VTE Prophylaxis Received on Day of or Day After Admission or Procedure":\n\t( from\n\t\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t\t"VTE Prophylaxis by Medication Administered or Device Applied" VTEProphylaxisDate\n\t\t\t// TODO: Profile of MedicationAdministration to ensure effective is a Period\n where VTEProphylaxisDate during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n return QualifyingEncounter\n\t)\n\t\tunion ( from\n\t\t\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t\t\t"VTE Prophylaxis by Medication Administered or Device Applied" VTEProphylaxisDate\n where AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n and VTEProphylaxisDate during VTEICU."CalendarDayOfOrDayAfter"(end of AnesthesiaProcedure.performed)\n return QualifyingEncounter\n\t\t)\n\n\n//Done\ndefine "Medication Oral Factor Xa Inhibitor Administered on Day of or Day After Admission or Procedure":\n\t( from\n\t\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t\t["MedicationAdministration": medication in "Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment"] FactorXaMedication\n\t\t\twhere FactorXaMedication.effective starts during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\t\t\treturn QualifyingEncounter\n\t)\n\t\tunion ( from\n\t\t\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t\t\t["MedicationAdministration": medication in "Oral Factor Xa Inhibitor for VTE Prophylaxis or VTE Treatment"] FactorXaMedication\n\t\t\t\twhere AnesthesiaProcedure.status = 'completed'\n\t\t\t\tand AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\t\t\tand FactorXaMedication.effective starts during VTEICU."CalendarDayOfOrDayAfter"(end of AnesthesiaProcedure.performed)\n\t\t\t\treturn QualifyingEncounter\n\t\t)\n\n//Done\ndefine "Encounter With Prior or Present Diagnosis of Atrial Fibrillation or VTE":\n\t( "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\t\twith ["Condition": code in "Atrial Fibrillation/Flutter"] AtrialFibrillation\n\t\t\t\tsuch that AtrialFibrillation.clinicalStatus = 'active'\n\t\t\t\tand AtrialFibrillation.verificationStatus = 'confirmed'\n\t\t\t\tand Global."Normalize Onset"(AtrialFibrillation.onset) on or before end of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t)\n\t\tunion ( "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\t\t\twhere Global.EncounterDiagnosis(QualifyingEncounter).code in "Atrial Fibrillation/Flutter"\n\t\t\t)\n\t\tunion ( "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\t\t\twith ["Condition": code in "Venous Thromboembolism"] VTEDiagnosis\n\t\t\t\t\tsuch that VTEDiagnosis.clinicalStatus in { 'inactive', 'remission', 'resolved' }\n\t\t\t\t\tand VTEDiagnosis.verificationStatus = 'confirmed'\n\t\t\t\t\tand Global."Normalize Onset"(VTEDiagnosis.onset) before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t)\n\n//Done\ndefine "Encounter With ICU Location Stay 1 Day or More":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twhere exists ( QualifyingEncounter.location Location\n\t\t\t\twhere Global.GetLocation(Location.location).type in "Intensive Care Unit"\n\t\t\t\t\tand Global."LengthInDays"(Location.period)>= 1\n\t\t\t\t\tand Location.period starts during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\t\t)\n\n\n//Done\ndefine "Encounter With Principal Diagnosis of Mental Disorder or Stroke":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twhere\n //Connectathon: still broken: temporarily removed pending HAPI FHIR server fix for maxClauseCount > 1024\n //Global.PrincipalDiagnosis(QualifyingEncounter).code in "Mental Health Diagnoses"\n\t\t\t//or\n Global.PrincipalDiagnosis(QualifyingEncounter).code in "Hemorrhagic Stroke"\n\t\t\tor Global.PrincipalDiagnosis(QualifyingEncounter).code in "Ischemic Stroke"\n\n//Done\n// TODO: Define an ordinality extension to a Procedure profile and ask Patient Administration and/or Patient Care to review\ndefine "Encounter With Principal Procedure of SCIP VTE Selected Surgery":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\t//Connectathon: pending cql_engine fix #262 (FHIR 3.0.0 model info issue with Extension.url)\n\t\twith ( "SCIP VTE Selected Surgery" Procedure\n\t\t\twhere GetExtension(Procedure.extension, 'http://example.org/StructureDefinition/ordinality').value ~ "Principal" ) SelectedProcedure\n\t\t\tsuch that SelectedProcedure.performed during FHIRHelpers.ToInterval( QualifyingEncounter.period)\n\n//Done\ndefine "Denominator Exclusions":\n\t"Encounter Less Than 2 Days"\n\t\tunion "Encounter With ICU Location Stay 1 Day or More"\n\t\tunion "Encounter With Principal Diagnosis of Mental Disorder or Stroke"\n\t\tunion "Encounter With Principal Procedure of SCIP VTE Selected Surgery"\n\t\tunion "Intervention Comfort Measures on Day of or Day After Start of Hospitalization"\n\t\tunion "Intervention Comfort Measures on Day of or Day After Procedure"\n\n//Done\ndefine "Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions":\n\t( Global."Inpatient Encounter" InpatientEncounter\n\t\t\twith ["Patient"] BirthDate\n\t\t\t\tsuch that Global."CalendarAgeInYearsAt"(ToDateTime(BirthDate.birthDate), start of FHIRHelpers.ToInterval(InpatientEncounter.period)) >= 18\n\t)\n\t\tintersect "Admission Without VTE or Obstetrical Conditions"\n\n//Done\ndefine "Encounter With Prior or Present Procedure of Hip or Knee Replacement Surgery":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twith ( ["Procedure": "Hip Replacement Surgery"]\n\t\t\tunion ["Procedure": "Knee Replacement Surgery"] ) HipKneeProcedure\n\t\t\tsuch that HipKneeProcedure.status = 'completed'\n\t\t\t\tand HipKneeProcedure.performed starts on or before end of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\n//Done\ndefine "Low Risk for VTE or Anticoagulant Administered":\n\t"Low Risk for VTE or Anticoagulant Administered During ED Visit"\n\t\tunion "Low Risk for VTE or Anticoagulant Administered on Day of or Day After Admission"\n\t\tunion "Low Risk for VTE or Anticoagulant Administered on Day of or Day After Procedure"\n\n//Done\ndefine "No VTE Prophylaxis Due to Medical Reason":\n\t( "No VTE Prophylaxis Medication Due to Medical Reason During ED Visit"\n\t\t\tintersect "No VTE Prophylaxis Device Due to Medical Reason During ED Visit"\n\t)\n\t\tunion ( "No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Admission"\n\t\t\t\tintersect "No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Admission"\n\t\t)\n\t\tunion ( "No VTE Prophylaxis Medication Due to Medical Reason on Day of or Day After Procedure"\n\t\t\t\tintersect "No VTE Prophylaxis Device Due to Medical Reason on Day of or Day After Procedure"\n\t\t)\n\n//Done\ndefine "No VTE Prophylaxis Due to Patient Refusal During ED Visit":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"ED Visit" EDVisit,\n\t\t"No VTE Prophylaxis Medication or Device Due to Patient Refusal" PatientRefusal\n\t\twhere EDVisit.period ends 1 hour or less on or before start of QualifyingEncounter.period\n\t\t\tand Coalesce(PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn) during EDVisit.period\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Admission":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"No VTE Prophylaxis Medication or Device Due to Patient Refusal" PatientRefusal\n\t\twhere Coalesce(start of PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn)\n during VTEICU."CalendarDayOfOrDayAfter"(start of QualifyingEncounter.period)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Procedure":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t"No VTE Prophylaxis Medication or Device Due to Patient Refusal" PatientRefusal\n\t\twhere AnesthesiaProcedure.performed ends 1 day after day of start of QualifyingEncounter.period\n\t\t\tand Coalesce(start of PatientRefusal.effective, PatientRefusal.authoredOn, PatientRefusal.recordedOn)\n during VTEICU."CalendarDayOfOrDayAfter"(end of AnesthesiaProcedure.performed)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "No VTE Prophylaxis Medication or Device Due to Patient Refusal":\n\t( "No VTE Prophylaxis Medication Administered or Ordered"\n\t\tunion "No VTE Prophylaxis Device Applied or Ordered" ) NoVTEProphylaxis\n\t\twhere GetExtension(NoVTEProphylaxis.extension, 'http://example.org/StructureDefinition/notDoneReason').value in "Patient Refusal"\n\n//Done\ndefine "No VTE Prophylaxis Due to Patient Refusal":\n\t"No VTE Prophylaxis Due to Patient Refusal During ED Visit"\n\t\tunion "No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Admission"\n\t\tunion "No VTE Prophylaxis Due to Patient Refusal on Day of or Day After Procedure"\n\n//Done\ndefine "Numerator":\n\t"VTE Prophylaxis Received on Day of or Day After Admission or Procedure"\n\t\tunion ( "Medication Oral Factor Xa Inhibitor Administered on Day of or Day After Admission or Procedure"\n\t\t\t\tintersect ( "Encounter With Prior or Present Diagnosis of Atrial Fibrillation or VTE"\n\t\t\t\t\t\tunion "Encounter With Prior or Present Procedure of Hip or Knee Replacement Surgery"\n\t\t\t\t)\n\t\t)\n\t\tunion "Low Risk for VTE or Anticoagulant Administered"\n\t\tunion "No VTE Prophylaxis Due to Medical Reason"\n\t\tunion "No VTE Prophylaxis Due to Patient Refusal"\n\n//Done\ndefine "Is In Low Risk for VTE or On Anticoagulant":\n //Connectathon: verified that this is corrected\n\t( ["Observation": "Risk for venous thromboembolism"] VTERiskAssessment\n\t\t\twhere VTERiskAssessment.value in "Low Risk"\n\t)\n\n/*\n// TODO: Issues with constructing the FHIR types here...\n\t\tunion ( ["Observation": "INR"] INRLabTest\n\t\t\t\twhere INRLabTest.value as Quantity > 3.0\n\t\t\t\treturn "Observation" { id: INRLabTest.id, effective: INRLabTest.issued }\n\t\t)\n\t\tunion ((( ["MedicationAdministration": "Unfractionated Heparin"] UnfractionatedHeparin\n\t\t\t\t\twhere UnfractionatedHeparin.dosage.route in "Intravenous route"\n\t\t\t\t\t\t)\n\t\t\t\tunion ["MedicationAdministration": "Direct Thrombin Inhibitor"]\n\t\t\t\tunion ["MedicationAdministration": "Glycoprotein IIb/IIIa Inhibitors"] ) AnticoagulantMedication\n\t\t\t\t\treturn "Observation" { id: AnticoagulantMedication.id, effective: start of effective}\n\t\t)\n*/\n\n//Done\ndefine "Low Risk for VTE or Anticoagulant Administered During ED Visit":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t"ED Visit" EDVisit,\n\t\t"Is In Low Risk for VTE or On Anticoagulant" VTERiskAssessment\n\t\twhere FHIRHelpers.ToInterval(EDVisit.period) ends 1 hour or less on or before start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand VTERiskAssessment.issued during FHIRHelpers.ToInterval(EDVisit.period)\n\t\treturn QualifyingEncounter\n\n//Done\ndefine "Low Risk for VTE or Anticoagulant Administered on Day of or Day After Admission":\n\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter\n\t\twith "Is In Low Risk for VTE or On Anticoagulant" VTERiskAssessment\n\t\t\tsuch that VTERiskAssessment.issued during VTEICU."CalendarDayOfOrDayAfter"(start of FHIRHelpers.ToInterval(QualifyingEncounter.period))\n\n//Done\ndefine "Low Risk for VTE or Anticoagulant Administered on Day of or Day After Procedure":\n\tfrom\n\t\t"Encounter With Age Range and Without VTE Diagnosis or Obstetrical Conditions" QualifyingEncounter,\n\t\t["Procedure": "General or Neuraxial Anesthesia"] AnesthesiaProcedure,\n\t\t"Is In Low Risk for VTE or On Anticoagulant" VTERiskAssessment\n\t\twhere AnesthesiaProcedure.performed ends 1 day after day of start of FHIRHelpers.ToInterval(QualifyingEncounter.period)\n\t\t\tand VTERiskAssessment.issued during VTEICU."CalendarDayOfOrDayAfter"(end of FHIRHelpers.ToInterval(AnesthesiaProcedure.performed))\n\t\treturn QualifyingEncounter\n</code></pre>\r\n \r\n \r\n </td>\r\n </tr>\r\n \r\n </table>\r\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "7.4.000", "name": "EXM108_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-VTEICU-FHIR3-2.4.000" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + "dataRequirement": [ { + "type": "Patient" + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279" } - } - ], - "dataRequirement": [ - { - "type": "Patient" - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" - } - ] - }, - { - "type": "DeviceUseStatement" - }, - { - "type": "Device" - }, - { - "type": "DeviceRequest", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230" - } - ] - }, - { - "type": "DeviceRequest", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214" - } - ] - }, - { - "type": "DeviceRequest", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256" - } - ] - }, - { - "type": "MedicationAdministration", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39" - } - ] - }, - { - "type": "MedicationAdministration", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219" - } - ] - }, - { - "type": "MedicationAdministration", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211" - } - ] - }, - { - "type": "MedicationAdministration", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232" - } - ] - }, - { - "type": "MedicationRequest", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39" - } - ] - }, - { - "type": "MedicationRequest", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219" - } - ] - }, - { - "type": "MedicationRequest", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211" - } - ] - }, - { - "type": "MedicationRequest", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272" - } - ] - }, - { - "type": "ProcedureRequest", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" - } - ] - }, - { - "type": "MedicationAdministration", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39" - } - ] - }, - { - "type": "MedicationAdministration", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219" - } - ] - }, - { - "type": "MedicationAdministration", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211" - } - ] - }, - { - "type": "MedicationAdministration", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232" - } - ] - }, - { - "type": "DeviceUseStatement" - }, - { - "type": "Device" - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" - } - ] - }, - { - "type": "MedicationAdministration", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" - } - ] - }, - { - "type": "MedicationAdministration", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" - } - ] - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI1NTYiIHN0YXJ0Q2hhcj0iNCIgZW5kTGluZT0iNTU2IiBlbmRDaGFyPSI1MyIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxpZGVudGlmaWVyIGlkPSJFWE0xMDhfRkhJUjMiIHZlcnNpb249IjcuNC4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iR2xvYmFsIiBwYXRoPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIHZlcnNpb249IjIuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJWVEVJQ1UiIHBhdGg9IlZURUlDVV9GSElSMyIgdmVyc2lvbj0iMi40LjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlNERSIgcGF0aD0iU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIiB2ZXJzaW9uPSIxLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGRlZmF1bHQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAxOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICA8L2RlZmF1bHQ+DQogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPg0KICAgICAgPC9kZWY+DQogICA8L3BhcmFtZXRlcnM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IlNOT01FRENUIiBpZD0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTE9JTkMiIGlkPSJodHRwOi8vbG9pbmMub3JnIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlJlcXVlc3RJbnRlbnQiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL3JlcXVlc3QtaW50ZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iQXRyaWFsIEZpYnJpbGxhdGlvbi9GbHV0dGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwMiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpcmVjdCBUaHJvbWJpbiBJbmhpYml0b3IiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMTc0MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJHZW5lcmFsIFN1cmdlcnkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkdseWNvcHJvdGVpbiBJSWIvSUlJYSBJbmhpYml0b3JzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDQ1LjQxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ikd5bmVjb2xvZ2ljYWwgU3VyZ2VyeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNTciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSGVtb3JyaGFnaWMgU3Ryb2tlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxMiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJIaXAgRnJhY3R1cmUgU3VyZ2VyeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNTgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJJTlIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjEzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkludGVybWl0dGVudCBwbmV1bWF0aWMgY29tcHJlc3Npb24gZGV2aWNlcyAoSVBDKSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSW50cmFjcmFuaWFsIE5ldXJvc3VyZ2VyeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNjAiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSW50cmF2ZW5vdXMgcm91dGUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjIyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IklzY2hlbWljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNDciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI2MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEwNDUuMzkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMb3cgUmlzayIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40MDAiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTWVkaWNhbCBSZWFzb24iIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDczIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik1lbnRhbCBIZWFsdGggRGlhZ25vc2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA1LjEyLjEwMDQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT2JzdGV0cmljcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT2JzdGV0cmljcyBWVEUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjY0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMTM0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQgUmVmdXNhbCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS45MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJTdWJjdXRhbmVvdXMgcm91dGUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjIzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlVuZnJhY3Rpb25hdGVkIEhlcGFyaW4iIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE4IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlVyb2xvZ2ljYWwgU3VyZ2VyeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNzIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iVmVub3VzIGZvb3QgcHVtcHMgKFZGUCkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjMwIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlZlbm91cyBUaHJvbWJvZW1ib2xpc20iIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjc5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IldhcmZhcmluIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIzMiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJJbnRlbnNpdmUgQ2FyZSBVbml0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTEwLjIzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iUmlzayBmb3IgdmVub3VzIHRocm9tYm9lbWJvbGlzbSIgaWQ9IjcyMTM2LTUiIGRpc3BsYXk9IlJpc2sgZm9yIHZlbm91cyB0aHJvbWJvZW1ib2xpc20iIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iTE9JTkMiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQcmluY2lwYWwiIGlkPSI2MzE2MTAwNSIgZGlzcGxheT0iUHJpbmNpcGFsIChxdWFsaWZpZXIgdmFsdWUpIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlNOT01FRENUIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iT3JkZXIiIGlkPSJvcmRlciIgZGlzcGxheT0iT3JkZXIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iUmVxdWVzdEludGVudCIvPg0KICAgICAgPC9kZWY+DQogICA8L2NvZGVzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgRXRobmljaXR5IiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgUGF5ZXIiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIFJhY2UiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgU2V4IiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkFkbWlzc2lvbiBXaXRob3V0IFZURSBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJbnRlcnNlY3QiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSIkdGhpcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iVmVub3VzIFRocm9tYm9lbWJvbGlzbSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSIkdGhpcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iT2JzdGV0cmljcyBWVEUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSW5wYXRpZW50RW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklucGF0aWVudCBFbmNvdW50ZXIiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IkRpYWdub3NpcyIgeHNpOnR5cGU9IldpdGhvdXQiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlZlbm91cyBUaHJvbWJvZW1ib2xpc20iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iT2JzdGV0cmljcyBWVEUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNsaW5pY2FsU3RhdHVzIiBzY29wZT0iRGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IkRpYWdub3NpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29uZmlybWVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluY2x1ZGVkSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSW5wYXRpZW50RW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJbnRlcnNlY3QiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJCaXJ0aERhdGUiIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiBzY29wZT0iQmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxOCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFkbWlzc2lvbiBXaXRob3V0IFZURSBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURWaXNpdCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJEIj4NCiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWYWxpZERldmljZVVzZVN0YXRlbWVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRGV2aWNlVXNlU3RhdGVtZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iRGV2aWNlIiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpEZXZpY2UiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZGV2aWNlIiBzY29wZT0iVmFsaWREZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiBzY29wZT0iRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ0eXBlIiBzY29wZT0iRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJWZW5vdXMgZm9vdCBwdW1wcyAoVkZQKSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ0eXBlIiBzY29wZT0iRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idHlwZSIgc2NvcGU9IkRldmljZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iR3JhZHVhdGVkIGNvbXByZXNzaW9uIHN0b2NraW5ncyAoR0NTKSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IklzVHJ1ZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0Jvb2xlYW4iIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpib29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkQiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRvTm90UGVyZm9ybSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJEIj4NCiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlZlbm91cyBmb290IHB1bXBzIChWRlApIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkRldmljZVJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1aXZhbGVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvQ29uY2VwdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJPcmRlciIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc1RydWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Cb29sZWFuIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJHZXRFeHRlbnNpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJEIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJkb05vdFBlcmZvcm0iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFeHRlbnNpb25zIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVVJMIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRXh0ZW5zaW9ucyI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSBuYW1lPSJmaGlyOkV4dGVuc2lvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlVSTCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURWaXNpdCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJNZWRpY2FsIFJlYXNvbiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTm9WVEVEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVjb3JkZWRPbiIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9InRydWUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlR1cGxlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbmFtZT0iRURWaXNpdCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbmFtZT0iTm9WVEVEZXZpY2UiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJNZWRpY2FsIFJlYXNvbiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTm9WVEVEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVjb3JkZWRPbiIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9InRydWUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlR1cGxlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIG5hbWU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik1lZGljYXRpb25BZG0iPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJXYXJmYXJpbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSXNUcnVlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQm9vbGVhbiIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibm90R2l2ZW4iIHNjb3BlPSJNZWRpY2F0aW9uQWRtIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik1lZGljYXRpb25PcmRlciI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iV2FyZmFyaW4iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9Ik1lZGljYXRpb25PcmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNUcnVlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQm9vbGVhbiIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iTWVkaWNhdGlvbk9yZGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vZXhhbXBsZS5vcmcvZmhpci9leHRlbnNpb25zL2RvTm90UGVyZm9ybSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkVEVmlzaXQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vVlRFTWVkaWNhdGlvbiI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJob3VyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWFzb25Db2RlIiBzY29wZT0iTm9WVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJNZWRpY2FsIFJlYXNvbiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTm9WVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iTm9WVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb1ZURU1lZGljYXRpb24iPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iTWVkaWNhbCBSZWFzb24iLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIgbGlicmFyeU5hbWU9IlZURUlDVSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb1ZURURldmljZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJyZWFzb25Db2RlIiBzY29wZT0iTm9WVEVEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9Ik1lZGljYWwgUmVhc29uIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iU2FtZUFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik5vVlRFRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlY29yZGVkT24iIHNjb3BlPSJOb1ZURURldmljZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIgbGlicmFyeU5hbWU9IlZURUlDVSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb1ZURU1lZGljYXRpb24iPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0icmVhc29uQ29kZSIgc2NvcGU9Ik5vVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iTWVkaWNhbCBSZWFzb24iLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iTm9WVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iTm9WVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIExlc3MgVGhhbiAyIERheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJMZXNzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTQ0lQIFZURSBTZWxlY3RlZCBTdXJnZXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ikd5bmVjb2xvZ2ljYWwgU3VyZ2VyeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIaXAgRnJhY3R1cmUgU3VyZ2VyeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSW50cmFjcmFuaWFsIE5ldXJvc3VyZ2VyeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlVyb2xvZ2ljYWwgU3VyZ2VyeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnRlcnZldGlvblBlcmZvcm1lZCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iSW50ZXJ2ZXRpb25QZXJmb3JtZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFN0YXJ0IG9mIEhvc3BpdGFsaXphdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQ29tZm9ydE1lYXN1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQW5lc3RoZXNpYVByb2NlZHVyZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQ29tZm9ydE1lYXN1cmUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iQ29tZm9ydE1lYXN1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0idHJ1ZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBuYW1lPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkNvbWZvcnRNZWFzdXJlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBuYW1lPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJWVEUgUHJvcGh5bGF4aXMgYnkgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgRGV2aWNlIEFwcGxpZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZURU1lZGljYXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJWVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJvdXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkb3NhZ2UiIHNjb3BlPSJWVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJTdWJjdXRhbmVvdXMgcm91dGUiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJWVEVNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZURU1lZGljYXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iVlRFTWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVlRFTWVkaWNhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IlZURU1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVlRFTWVkaWNhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJXYXJmYXJpbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IlZURU1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRGV2aWNlQXBwbGllZCI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVmFsaWREZXZpY2VVc2VTdGF0ZW1lbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkRldmljZVVzZVN0YXRlbWVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IkRldmljZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RGV2aWNlIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGFzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJTcGxpdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RyaW5nVG9TcGxpdCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkZXZpY2UiIHNjb3BlPSJWYWxpZERldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N0cmluZ1RvU3BsaXQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VwYXJhdG9yIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIvIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InR5cGUiIHNjb3BlPSJEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IlZlbm91cyBmb290IHB1bXBzIChWRlApIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InR5cGUiIHNjb3BlPSJEZXZpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkludGVybWl0dGVudCBwbmV1bWF0aWMgY29tcHJlc3Npb24gZGV2aWNlcyAoSVBDKSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ0eXBlIiBzY29wZT0iRGV2aWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJHcmFkdWF0ZWQgY29tcHJlc3Npb24gc3RvY2tpbmdzIChHQ1MpIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkRldmljZUFwcGxpZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkNvYWxlc2NlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlY29yZGVkT24iIHNjb3BlPSJEZXZpY2VBcHBsaWVkIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ3aGVuVXNlZCIgc2NvcGU9IkRldmljZUFwcGxpZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVlRFIFByb3BoeWxheGlzIFJlY2VpdmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVlRFUHJvcGh5bGF4aXNEYXRlIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlZURSBQcm9waHlsYXhpcyBieSBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBEZXZpY2UgQXBwbGllZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWVEVQcm9waHlsYXhpc0RhdGUiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGxpYnJhcnlOYW1lPSJWVEVJQ1UiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWVEVQcm9waHlsYXhpc0RhdGUiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVlRFIFByb3BoeWxheGlzIGJ5IE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIERldmljZSBBcHBsaWVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVlRFUHJvcGh5bGF4aXNEYXRlIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTWVkaWNhdGlvbiBPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRmFjdG9yWGFNZWRpY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iRmFjdG9yWGFNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQW5lc3RoZXNpYVByb2NlZHVyZSI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRmFjdG9yWGFNZWRpY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iRmFjdG9yWGFNZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQW5lc3RoZXNpYVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIFdpdGggUHJpb3Igb3IgUHJlc2VudCBEaWFnbm9zaXMgb2YgQXRyaWFsIEZpYnJpbGxhdGlvbiBvciBWVEUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJBdHJpYWxGaWJyaWxsYXRpb24iIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkF0cmlhbCBGaWJyaWxsYXRpb24vRmx1dHRlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJBdHJpYWxGaWJyaWxsYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmVyaWZpY2F0aW9uU3RhdHVzIiBzY29wZT0iQXRyaWFsRmlicmlsbGF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb25maXJtZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU2FtZU9yQmVmb3JlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiBzY29wZT0iQXRyaWFsRmlicmlsbGF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW55SW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IiR0aGlzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlckRpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iQXRyaWFsIEZpYnJpbGxhdGlvbi9GbHV0dGVyIi8+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iVlRFRGlhZ25vc2lzIiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJWZW5vdXMgVGhyb21ib2VtYm9saXNtIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjbGluaWNhbFN0YXR1cyIgc2NvcGU9IlZURURpYWdub3NpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaW5hY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0icmVtaXNzaW9uIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InJlc29sdmVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2ZXJpZmljYXRpb25TdGF0dXMiIHNjb3BlPSJWVEVEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbmZpcm1lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJWVEVEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24gU3RheSAxIERheSBvciBNb3JlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJMb2NhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idHlwZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0TG9jYXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkludGVuc2l2ZSBDYXJlIFVuaXQiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBvZiBNZW50YWwgRGlzb3JkZXIgb3IgU3Ryb2tlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IklzY2hlbWljIFN0cm9rZSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgUHJvY2VkdXJlIG9mIFNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iU2VsZWN0ZWRQcm9jZWR1cmUiIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQcm9jZWR1cmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0NJUCBWVEUgU2VsZWN0ZWQgU3VyZ2VyeSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29kZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJHZXRFeHRlbnNpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL29yZGluYWxpdHkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlByaW5jaXBhbCIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluY2x1ZGVkSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IlNlbGVjdGVkUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2x1c2lvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciBMZXNzIFRoYW4gMiBEYXlzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIFdpdGggSUNVIExvY2F0aW9uIFN0YXkgMSBEYXkgb3IgTW9yZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIG9mIE1lbnRhbCBEaXNvcmRlciBvciBTdHJva2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgUHJvY2VkdXJlIG9mIFNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkNvbWZvcnRNZWFzdXJlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgU3RhcnQgb2YgSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJBbmVzdGhlc2lhUHJvY2VkdXJlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJDb21mb3J0TWVhc3VyZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkNvbWZvcnRNZWFzdXJlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iQW5lc3RoZXNpYVByb2NlZHVyZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iQ29tZm9ydE1lYXN1cmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgUHJvY2VkdXJlIG9mIEhpcCBvciBLbmVlIFJlcGxhY2VtZW50IFN1cmdlcnkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iSGlwS25lZVByb2NlZHVyZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhpcCBSZXBsYWNlbWVudCBTdXJnZXJ5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IktuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkhpcEtuZWVQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTYW1lT3JCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJIaXBLbmVlUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSXMgSW4gTG93IFJpc2sgZm9yIFZURSBvciBPbiBBbnRpY29hZ3VsYW50IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWVEVSaXNrQXNzZXNzbWVudCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUmlzayBmb3IgdmVub3VzIHRocm9tYm9lbWJvbGlzbSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiBzY29wZT0iVlRFUmlza0Fzc2Vzc21lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkxvdyBSaXNrIi8+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgRHVyaW5nIEVEIFZpc2l0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkVEVmlzaXQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlZURVJpc2tBc3Nlc3NtZW50Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzIEluIExvdyBSaXNrIGZvciBWVEUgb3IgT24gQW50aWNvYWd1bGFudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpc3N1ZWQiIHNjb3BlPSJWVEVSaXNrQXNzZXNzbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IlZURVJpc2tBc3Nlc3NtZW50IiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJcyBJbiBMb3cgUmlzayBmb3IgVlRFIG9yIE9uIEFudGljb2FndWxhbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Imlzc3VlZCIgc2NvcGU9IlZURVJpc2tBc3Nlc3NtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQW5lc3RoZXNpYVByb2NlZHVyZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVlRFUmlza0Fzc2Vzc21lbnQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSXMgSW4gTG93IFJpc2sgZm9yIFZURSBvciBPbiBBbnRpY29hZ3VsYW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaXNzdWVkIiBzY29wZT0iVlRFUmlza0Fzc2Vzc21lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGxpYnJhcnlOYW1lPSJWVEVJQ1UiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBEdXJpbmcgRUQgVmlzaXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIE1lZGljYWwgUmVhc29uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW50ZXJzZWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkVEVmlzaXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkludGVyc2VjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW50ZXJzZWN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb1ZURVByb3BoeWxheGlzIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgQXBwbGllZCBvciBPcmRlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgIDxjb2RlIHhzaTp0eXBlPSJDYXNlIj4NCiAgICAgICAgICAgICAgICAgIDxjYXNlSXRlbT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVuIGlzVHlwZT0iZmhpcjpiYXNlNjRCaW5hcnkiIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iTm9WVEVQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2V4YW1wbGUub3JnL1N0cnVjdHVyZURlZmluaXRpb24vbm90RG9uZVJlYXNvbiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9iYXNlNjRCaW5hcnkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpiYXNlNjRCaW5hcnkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iTm9WVEVQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2V4YW1wbGUub3JnL1N0cnVjdHVyZURlZmluaXRpb24vbm90RG9uZVJlYXNvbiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4NCiAgICAgICAgICAgICAgICAgIDxjYXNlSXRlbT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVuIGlzVHlwZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlbj4NCiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6Y29kZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJHZXRFeHRlbnNpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJOb1ZURVByb3BoeWxheGlzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vZXhhbXBsZS5vcmcvU3RydWN0dXJlRGVmaW5pdGlvbi9ub3REb25lUmVhc29uIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgICAgICAgPGNhc2VJdGVtPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZW4gaXNUeXBlPSJmaGlyOmlkIiB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlbj4NCiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6aWQiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0RXh0ZW5zaW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iTm9WVEVQcm9waHlsYXhpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2V4YW1wbGUub3JnL1N0cnVjdHVyZURlZmluaXRpb24vbm90RG9uZVJlYXNvbiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPC9jYXNlSXRlbT4NCiAgICAgICAgICAgICAgICAgIDxjYXNlSXRlbT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVuIGlzVHlwZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJHZXRFeHRlbnNpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJOb1ZURVByb3BoeWxheGlzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vZXhhbXBsZS5vcmcvU3RydWN0dXJlRGVmaW5pdGlvbi9ub3REb25lUmVhc29uIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOm1hcmtkb3duIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICAgICAgICA8d2hlbiBpc1R5cGU9ImZoaXI6b2lkIiB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlbj4NCiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6b2lkIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICAgICAgICA8d2hlbiBpc1R5cGU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlbj4NCiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICAgICAgICA8d2hlbiBpc1R5cGU9ImZoaXI6dXJpIiB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlbj4NCiAgICAgICAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6dXJpIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldEV4dGVuc2lvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9Ik5vVlRFUHJvcGh5bGF4aXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL25vdERvbmVSZWFzb24iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICAgICAgICA8ZWxzZSByZXN1bHRUeXBlTmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iUGF0aWVudCBSZWZ1c2FsIi8+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIER1cmluZyBFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQYXRpZW50UmVmdXNhbCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBvciBEZXZpY2UgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iUGF0aWVudFJlZnVzYWwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IlBhdGllbnRSZWZ1c2FsIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlY29yZGVkT24iIHNjb3BlPSJQYXRpZW50UmVmdXNhbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQYXRpZW50UmVmdXNhbCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBvciBEZXZpY2UgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJQYXRpZW50UmVmdXNhbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iUGF0aWVudFJlZnVzYWwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVjb3JkZWRPbiIgc2NvcGU9IlBhdGllbnRSZWZ1c2FsIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIiBsaWJyYXJ5TmFtZT0iVlRFSUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkFuZXN0aGVzaWFQcm9jZWR1cmUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBhdGllbnRSZWZ1c2FsIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJBbmVzdGhlc2lhUHJvY2VkdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvYWxlc2NlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iUGF0aWVudFJlZnVzYWwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IlBhdGllbnRSZWZ1c2FsIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlY29yZGVkT24iIHNjb3BlPSJQYXRpZW50UmVmdXNhbCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIgbGlicmFyeU5hbWU9IlZURUlDVSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkFuZXN0aGVzaWFQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgRHVyaW5nIEVEIFZpc2l0IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOdW1lcmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWVEUgUHJvcGh5bGF4aXMgUmVjZWl2ZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkludGVyc2VjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWRpY2F0aW9uIE9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgRGlhZ25vc2lzIG9mIEF0cmlhbCBGaWJyaWxsYXRpb24gb3IgVlRFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIFdpdGggUHJpb3Igb3IgUHJlc2VudCBQcm9jZWR1cmUgb2YgSGlwIG9yIEtuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IkVEVmlzaXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgeHNpOnR5cGU9IlR1cGxlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJRdWFsaWZ5aW5nRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJOb1ZURURldmljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVVzZVN0YXRlbWVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90eXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaG9pY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnRUeXBlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBNZWRpY2FsIFJlYXNvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIHhzaTp0eXBlPSJUdXBsZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iUXVhbGlmeWluZ0VuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dHlwZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iTm9WVEVEZXZpY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkRldmljZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHlwZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgIDwvY2hvaWNlPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSB4c2k6dHlwZT0iVHVwbGVUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9IlF1YWxpZnlpbmdFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR5cGUgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9Ik5vVlRFRGV2aWNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0eXBlIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpEZXZpY2VSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6RGV2aWNlVXNlU3RhdGVtZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R5cGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L2Nob2ljZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+DQogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE0xMDhfRkhJUjMgdmVyc2lvbiAnNy40LjAwMCcKCi8qCkJhc2VkIG9uIENNUzEwOHY3IC0gVmVub3VzIFRocm9tYm9lbWJvbGlzbSBQcm9waHlsYXhpcwoqLwoKLyoKVGhpcyBleGFtcGxlIGlzIGEgd29yayBpbiBwcm9ncmVzcyBhbmQgc2hvdWxkIG5vdCBiZSBjb25zaWRlcmVkIGEgZmluYWwgc3BlY2lmaWNhdGlvbgpvciByZWNvbW1lbmRhdGlvbiBmb3IgZ3VpZGFuY2UuIFRoaXMgZXhhbXBsZSB3aWxsIGhlbHAgZ3VpZGUgYW5kIGRpcmVjdCB0aGUgcHJvY2VzcwpvZiBmaW5kaW5nIGNvbnZlbnRpb25zIGFuZCB1c2FnZSBwYXR0ZXJucyB0aGF0IG1lZXQgdGhlIG5lZWRzIG9mIHRoZSB2YXJpb3VzIHN0YWtlaG9sZGVycwppbiB0aGUgbWVhc3VyZSBkZXZlbG9wbWVudCBjb21tdW5pdHkuCiovCgovKgpEYXRhIFR5cGVzIFVzZWQ6CgpFbmNvdW50ZXIKRGV2aWNlVXNlU3RhdGVtZW50CkRldmljZVJlcXVlc3QKTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uCk1lZGljYXRpb25SZXF1ZXN0ClByb2NlZHVyZSAtIG9yZGluYWxpdHkgZXh0ZW5zaW9uClByb2NlZHVyZVJlcXVlc3QKQ29uZGl0aW9uCiovCgovKgpEZXZlbG9wbWVudCBOb3RlczoKCiAgICBOZWVkIHRvIGRlZmluZSDigJxkb05vdFBlcmZvbeKAnSBRSUNvcmUgZXh0ZW5zaW9uIHRvIHN1cHBvcnQg4oCcTm90RG9uZSBpcyB0cnVl4oCdIGV4cHJlc3Npb24uIFN1Z2dlc3QgdG8gdGhlIGJhc2UgUmVzb3VyY2UgZm9yIHRoZSBmb2xsb3dpbmcgcHJvZmlsZXMg4oCTCgogICAgICAgIERldmljZVVzZVN0YXRlbWVudAogICAgICAgIERldmljZVJlcXVlc3QKICAgICAgICBNZWRpY2F0aW9uUmVxdWVzdAoKICAgICAgICBBZGQgZG9Ob3RQZXJmb3JtIHRvIERldmljZVVzZVJlcXVlc3QgYW5kIG5vdERvbmUgdG8gRGV2aWNlVXNlU3RhdGVtZW50OgogICAgICAgIFsjMjA2MDFdKGh0dHBzOi8vZ2ZvcmdlLmhsNy5vcmcvZ2YvcHJvamVjdC9maGlyL3RyYWNrZXIvP2FjdGlvbj1UcmFja2VySXRlbUVkaXQmdHJhY2tlcl9pdGVtX2lkPTIwNjAxKQogICAgICAgIFByb21vdGUgcHJvZmlsZXMgdG8gUUktQ29yZToKICAgICAgICBbIzIwNjEwXShodHRwczovL2dmb3JnZS5obDcub3JnL2dmL3Byb2plY3QvZmhpci90cmFja2VyLz9hY3Rpb249VHJhY2tlckl0ZW1FZGl0JnRyYWNrZXJfaXRlbV9pZD0yMDYxMCkKCiAgICBOZWVkIHRvIGRlZmluZSBhbiDigJxvcmRpbmFsaXR54oCdIGV4dGVuc2lvbiBmb3IgUHJvY2VkdXJlIHByb2ZpbGUgdG8gc3VwcG9ydCDigJxQcm9jZWR1cmUub3JkaW5hbGl0eSB+ICJQcmluY2lwYWwiIGV4cHJlc3Npb24uCgogICAgICBbIzIwNTI3XShodHRwczovL2dmb3JnZS5obDcub3JnL2dmL3Byb2plY3QvZmhpci90cmFja2VyLz9hY3Rpb249VHJhY2tlckl0ZW1FZGl0JnRyYWNrZXJfaXRlbV9pZD0yMDUyNykKCiAgICBOZWVkIHRvIGNvbmZpcm0gdGhlIGZvbGxvd2luZyBwcm9maWxlcyBhbmQgZW5zdXJlIFBlcmlvZCBpcyBhIGRlZmF1bHQgdHlwZSAtCgogICAgICAgIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5lZmZlY3RpdmUKICAgICAgICBQcm9jZWR1cmUucGVyZm9ybWVkCgogICAgICAgIERlZmluZWQgYXMgREVRTSBwcm9maWxlcyBjdXJyZW50bHksIHByb21vdGUgdG8gUUktQ29yZQogICAgICAgIFsjMjA2MTFdKGh0dHBzOi8vZ2ZvcmdlLmhsNy5vcmcvZ2YvcHJvamVjdC9maGlyL3RyYWNrZXIvP2FjdGlvbj1UcmFja2VySXRlbUVkaXQmdHJhY2tlcl9pdGVtX2lkPTIwNjExKQoKICAgIFN1Z2dlc3QgZGVmaW5pbmcg4oCccmVjb3JkZWRPbuKAnCB0byBzdXBwb3J0IHRoZSB0aW1pbmdzIGZvciDigJxNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24ubm90R2l2ZW7igJ0gYW5kIOKAnFByb2NlZHVyZS5ub3REb25l4oCdLiBzZWUgdGhlIGhpZ2hsaWdodGVkIGZpZWxkcyBiZWxvdy4KCiAgICAgIFsjMjA2MDJdKGh0dHBzOi8vZ2ZvcmdlLmhsNy5vcmcvZ2YvcHJvamVjdC9maGlyL3RyYWNrZXIvP2FjdGlvbj1UcmFja2VySXRlbUVkaXQmdHJhY2tlcl9pdGVtX2lkPTIwNjAyKQoKfFByb2ZpbGUgICAgICAgICAgICAgICAgICAgfFRpbWluZyB1c2VkIGZvciBEb25lIHxUaW1pbmcgdXNlZCBmb3IgZG9Ob3RQZXJmb3JtIHxUSkMgY29tbWVudHMgICAgICAgICAgfAp8LS0tfC0tLXwtLS18LS0tfAp8RGV2aWNlVXNlU3RhdGVtZW50ICAgICAgICB8d2hlblVzZWQgICAgICAgICAgICAgfHJlY29yZGVkT24gICAgICAgICAgICAgICAgICAgfCAgIHwKfERldmljZVJlcXVlc3QgICAgICAgICAgICAgfGF1dGhvcmVkT24gICAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICAgICAgICAgIHwgICB8CnxNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gIHxlZmZlY3RpdmUgICAgICAgICAgICB8ZWZmZWN0aXZlICAgICAgICAgICAgICAgICAgICB8IFN1Z2dlc3QgYWRkaW5nIHJlY29yZGVkT24gZm9yIG5vdEdpdmVuIHRpbWluZyB8CnxNZWRpY2F0aW9uUmVxdWVzdCAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICB8YXV0aG9yZWRPbiAgICAgICAgICAgICAgICAgICB8ICAgfAp8UHJvY2VkdXJlICAgICAgICAgICAgICAgICB8cGVyZm9ybWVkICAgICAgICAgICAgfHBlcmZvcm1lZCAgICAgICAgICAgICAgICAgICAgfCBTdWdnZXN0IGFkZGluZyByZWNvcmRlZE9uIGZvciBub3REb25lIHRpbWluZyB8CnxQcm9jZWR1cmVSZXF1ZXN0ICAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICB8YXV0aG9yZWRPbiAgICAgICAgICAgICAgICAgICB8ICAgfAoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgVlRFSUNVX0ZISVIzIHZlcnNpb24gJzIuNC4wMDAnIGNhbGxlZCBWVEVJQ1UKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4Jwpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwpjb2Rlc3lzdGVtICJSZXF1ZXN0SW50ZW50IjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiQXRyaWFsIEZpYnJpbGxhdGlvbi9GbHV0dGVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDInCnZhbHVlc2V0ICJDb21mb3J0IE1lYXN1cmVzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8xLjMuNi4xLjQuMS4zMzg5NS4xLjMuMC40NScKdmFsdWVzZXQgIkRpcmVjdCBUaHJvbWJpbiBJbmhpYml0b3IiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNScKdmFsdWVzZXQgIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTInCnZhbHVlc2V0ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjE3NDMnCnZhbHVlc2V0ICJHZW5lcmFsIFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NScKdmFsdWVzZXQgIkdseWNvcHJvdGVpbiBJSWIvSUlJYSBJbmhpYml0b3JzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA0NS40MScKdmFsdWVzZXQgIkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NicKdmFsdWVzZXQgIkd5bmVjb2xvZ2ljYWwgU3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJIaXAgRnJhY3R1cmUgU3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU4Jwp2YWx1ZXNldCAiSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1OScKdmFsdWVzZXQgIkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTEnCnZhbHVlc2V0ICJJTlIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxMycKdmFsdWVzZXQgIkludGVybWl0dGVudCBwbmV1bWF0aWMgY29tcHJlc3Npb24gZGV2aWNlcyAoSVBDKSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE0Jwp2YWx1ZXNldCAiSW50cmFjcmFuaWFsIE5ldXJvc3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYwJwp2YWx1ZXNldCAiSW50cmF2ZW5vdXMgcm91dGUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIyMicKdmFsdWVzZXQgIklzY2hlbWljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3Jwp2YWx1ZXNldCAiS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNjEnCnZhbHVlc2V0ICJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDQ1LjM5Jwp2YWx1ZXNldCAiTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTknCnZhbHVlc2V0ICJMb3cgUmlzayI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDAwJwp2YWx1ZXNldCAiTWVkaWNhbCBSZWFzb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQ3MycKdmFsdWVzZXQgIk1lbnRhbCBIZWFsdGggRGlhZ25vc2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwNS4xMi4xMDA0Jwp2YWx1ZXNldCAiT2JzdGV0cmljcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYzJwp2YWx1ZXNldCAiT2JzdGV0cmljcyBWVEUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI2NCcKdmFsdWVzZXQgIk9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjEzNCcKdmFsdWVzZXQgIlBhdGllbnQgUmVmdXNhbCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuOTMnCi8vdmFsdWVzZXQgIlByaW5jaXBhbCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMTQnIC8vIENoYW5nZWQgdG8gdXNlIGEgY29kZQp2YWx1ZXNldCAiU3ViY3V0YW5lb3VzIHJvdXRlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMjMnCnZhbHVlc2V0ICJVbmZyYWN0aW9uYXRlZCBIZXBhcmluIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTgnCnZhbHVlc2V0ICJVcm9sb2dpY2FsIFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI3MicKdmFsdWVzZXQgIlZlbm91cyBmb290IHB1bXBzIChWRlApIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMzAnCnZhbHVlc2V0ICJWZW5vdXMgVGhyb21ib2VtYm9saXNtIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNzknCnZhbHVlc2V0ICJXYXJmYXJpbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjMyJwp2YWx1ZXNldCAiSW50ZW5zaXZlIENhcmUgVW5pdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMjMnCgpjb2RlICJSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtIjogJzcyMTM2LTUnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtJwpjb2RlICJQcmluY2lwYWwiOiAnNjMxNjEwMDUnIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdQcmluY2lwYWwgKHF1YWxpZmllciB2YWx1ZSknCmNvZGUgIk9yZGVyIjogJ29yZGVyJyBmcm9tICJSZXF1ZXN0SW50ZW50IiBkaXNwbGF5ICdPcmRlcicKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KICAgIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCkKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CglTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgoJU0RFLiJTREUgU2V4IgoKZGVmaW5lICJEZW5vbWluYXRvciI6CgkiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJFRCBWaXNpdCI6CglbIkVuY291bnRlciI6IHR5cGUgaW4gIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0Il0gRURWaXNpdAogICAgd2hlcmUgRURWaXNpdC5zdGF0dXMgPSAnZmluaXNoZWQnCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CgkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIKCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiOgogIC8vIE5PVEU6IFNob3VsZCBiZSB1c2luZyBkZXZpY2UuY29kZSwgYnV0IHRoYXQgcmVxdWlyZXMgQ1FMIDEuNAogICgKICAgICAoCiAgICAgICAoCiAgICAgICAgICAgWyJEZXZpY2VVc2VTdGF0ZW1lbnQiXSBEZXZpY2VVc2VTdGF0ZW1lbnQKICAgICAgICAgICAgICAgd2hlcmUgRGV2aWNlVXNlU3RhdGVtZW50LnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICAgICApIFZhbGlkRGV2aWNlVXNlU3RhdGVtZW50CiAgICAgICAgICAgd2l0aCBbRGV2aWNlXSBEZXZpY2UKICAgICAgICAgICAgICAgc3VjaCB0aGF0IEdsb2JhbC5HZXRJZChWYWxpZERldmljZVVzZVN0YXRlbWVudC5kZXZpY2UucmVmZXJlbmNlKSA9IERldmljZS5pZAogICAgICAgICAgICAgICAgICAgYW5kICgKICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2UudHlwZSBpbiAiVmVub3VzIGZvb3QgcHVtcHMgKFZGUCkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIERldmljZS50eXBlIGluICJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIERldmljZS50eXBlIGluICJHcmFkdWF0ZWQgY29tcHJlc3Npb24gc3RvY2tpbmdzIChHQ1MpIgogICAgICAgICAgICAgICAgICAgKQogICAgICkgRAogICAgIC8vSlI6IHVwZGF0ZWQgdG8gdXNlIHRoZSBHbG9iYWwgZ2V0IGV4dGVuc2lvbiBiZWNhdXNlIHRoZSBhcmd1bWVudCBpcyBEb21haW5SZXNvdXJjZQogICAgIHdoZXJlIEdsb2JhbC5HZXRFeHRlbnNpb24oRCwgJ2RvTm90UGVyZm9ybScpLnZhbHVlIGlzIHRydWUKICApCiAgdW5pb24gKCgKICAgIFsiRGV2aWNlUmVxdWVzdCI6IGNvZGUgaW4gIlZlbm91cyBmb290IHB1bXBzIChWRlApIl0KICAgICAgdW5pb24gWyJEZXZpY2VSZXF1ZXN0IjogY29kZSBpbiAiSW50ZXJtaXR0ZW50IHBuZXVtYXRpYyBjb21wcmVzc2lvbiBkZXZpY2VzIChJUEMpIl0KICAgICAgdW5pb24gWyJEZXZpY2VSZXF1ZXN0IjogY29kZSBpbiAiR3JhZHVhdGVkIGNvbXByZXNzaW9uIHN0b2NraW5ncyAoR0NTKSJdCiAgKSBECiAgICB3aGVyZSBELmludGVudCB+IFRvQ29uY2VwdCgiT3JkZXIiKQogICAgLy9KUjogdXBkYXRlZCB0byB1c2UgdGhlIEdsb2JhbCBnZXQgZXh0ZW5zaW9uIGJlY2F1c2UgdGhlIGFyZ3VtZW50IGlzIERvbWFpblJlc291cmNlCgkgYW5kIEdsb2JhbC5HZXRFeHRlbnNpb24oRCwgJ2RvTm90UGVyZm9ybScpLnZhbHVlIGlzIHRydWUKICAgIC8vd2hlcmUgRC5kb05vdFBlcmZvcm0gaXMgdHJ1ZSAvLyBOZWVkcyBhIFFJLUNvcmUgZXh0ZW5zaW9uIHRvIHN1cHBvcnQKICApCmRlZmluZSBmdW5jdGlvbiBHZXRFeHRlbnNpb24oRXh0ZW5zaW9ucyBMaXN0PEV4dGVuc2lvbj4sIFVSTCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tIChFeHRlbnNpb25zIEUgd2hlcmUgRS51cmwgPSBVUkwgcmV0dXJuIEUpCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCSJFRCBWaXNpdCIgRURWaXNpdCwKCQkiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiIE5vVlRFRGV2aWNlCgkJd2hlcmUgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kIChzaW5nbGV0b24gZnJvbSBOb1ZURURldmljZS5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIpCgkJCWFuZCBDb2FsZXNjZShOb1ZURURldmljZS5hdXRob3JlZE9uLCBOb1ZURURldmljZS5yZWNvcmRlZE9uKSBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiIE5vVlRFRGV2aWNlCgkJd2hlcmUgKHNpbmdsZXRvbiBmcm9tIE5vVlRFRGV2aWNlLnJlYXNvbkNvZGUgaW4gIk1lZGljYWwgUmVhc29uIikKCQkJYW5kIENvYWxlc2NlKE5vVlRFRGV2aWNlLmF1dGhvcmVkT24sIE5vVlRFRGV2aWNlLnJlY29yZGVkT24pIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIjoKCSgoCVsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0KCXVuaW9uCglbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdCgl1bmlvbgoJWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyJdCgl1bmlvbgoJWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJXYXJmYXJpbiJdCgkpIE1lZGljYXRpb25BZG0KCQl3aGVyZSBNZWRpY2F0aW9uQWRtLm5vdEdpdmVuIGlzIHRydWUKCSkKCXVuaW9uCgkgLy8gVE9ETzogVHJhY2tlciBmb3IgUUktY29yZSB0byBhZGQgZG9Ob3RQZXJmb3JtIGV4dGVuc2lvbiBmb3IgTWVkaWNhdGlvblJlcXVlc3QgYW5kIHN1Z2dlc3QgdG8gdGhlIGJhc2UgUmVzb3VyY2UKCS8vSlI6IGNvZGUgaXMgbm90IGFuIGF0dHJpYnV0ZSBvZiBNZWRpY2F0aW9uUmVxdWVzdC4gIFVzZWQgbWVkaWNhdGlvbiBpbnN0ZWFkLgoJKCgJWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gIkxvdyBEb3NlIFVuZnJhY3Rpb25hdGVkIEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdCgl1bmlvbgoJWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdCgl1bmlvbgoJWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gIkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIl0KCXVuaW9uCglbIk1lZGljYXRpb25SZXF1ZXN0IjogbWVkaWNhdGlvbiBpbiAiV2FyZmFyaW4iXQoJKSBNZWRpY2F0aW9uT3JkZXIKCXdoZXJlCU1lZGljYXRpb25PcmRlci5pbnRlbnQgPSAnb3JkZXInCgkJYW5kIEdldEV4dGVuc2lvbihNZWRpY2F0aW9uT3JkZXIuZXh0ZW5zaW9uLCAnaHR0cDovL2V4YW1wbGUub3JnL2ZoaXIvZXh0ZW5zaW9ucy9kb05vdFBlcmZvcm0nKS52YWx1ZSBpcyB0cnVlCgkJLy9NZWRpY2F0aW9uT3JkZXIuZG9Ob3RQZXJmb3JtIGlzIHRydWUgLy8gTmVlZHMgYSBRSS1Db3JlIGV4dGVuc2lvbiB0byBzdXBwb3J0CgkpCgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIER1cmluZyBFRCBWaXNpdCI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJIkVEIFZpc2l0IiBFRFZpc2l0LAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIgTm9WVEVNZWRpY2F0aW9uCgkJd2hlcmUgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kIChzaW5nbGV0b24gZnJvbSBOb1ZURU1lZGljYXRpb24ucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iKQoJCS8vIFRPRE86IFByb2ZpbGUgb2YgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIHRvIGVuc3VyZSBlZmZlY3RpdmUgaXMgYSBQZXJpb2QKCQkJYW5kIENvYWxlc2NlKE5vVlRFTWVkaWNhdGlvbi5hdXRob3JlZE9uLCBzdGFydCBvZiBOb1ZURU1lZGljYXRpb24uZWZmZWN0aXZlKSBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIE5vVlRFTWVkaWNhdGlvbgoJCXdoZXJlIChzaW5nbGV0b24gZnJvbSBOb1ZURU1lZGljYXRpb24ucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iKQoJCQlhbmQgQ29hbGVzY2UoTm9WVEVNZWRpY2F0aW9uLmF1dGhvcmVkT24sIHN0YXJ0IG9mIE5vVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUpIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgTm9WVEVEZXZpY2UKCQl3aGVyZSBOb1ZURURldmljZS5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIKCQkJYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJLy8gVE9ETzogUHJvZmlsZSBvZiBwcm9jZWR1cmUgdG8gZW5zdXJlIHBlcmZvcm1lZCBpcyBhIFBlcmlvZAoJCQlhbmQgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kICBDb2FsZXNjZShOb1ZURURldmljZS5hdXRob3JlZE9uLCBOb1ZURURldmljZS5yZWNvcmRlZE9uKSBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKQoJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJBZG1pc3Npb24gV2l0aG91dCBWVEUgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyI6CgkJKEdsb2JhbC4iSW5wYXRpZW50IEVuY291bnRlciIgSW5wYXRpZW50RW5jb3VudGVyCgkJd2hlcmUgbm90ICgKCQkgICAgLy9Db25uZWN0YXRob246IHN0aWxsIGJyb2tlbjogdGVtcG9yYXJpbHkgcmVtb3ZlZCBwZW5kaW5nIEhBUEkgRkhJUiBzZXJ2ZXIgZml4IGZvciBtYXhDbGF1c2VDb3VudCA+IDEwMjQKICAgICAgICAgICAgLy9HbG9iYWwuRW5jb3VudGVyRGlhZ25vc2lzKElucGF0aWVudEVuY291bnRlcikuY29kZSBpbiAiT2JzdGV0cmljcyIgb3IKCQkJCQkJCQlHbG9iYWwuRW5jb3VudGVyRGlhZ25vc2lzKElucGF0aWVudEVuY291bnRlcikuY29kZSBpbiAiVmVub3VzIFRocm9tYm9lbWJvbGlzbSIKCQkJCQkJCQlvciBHbG9iYWwuRW5jb3VudGVyRGlhZ25vc2lzKElucGF0aWVudEVuY291bnRlcikuY29kZSBpbiAiT2JzdGV0cmljcyBWVEUiCgkJCQkJCQkpCiAgICApCgkJaW50ZXJzZWN0IChHbG9iYWwuIklucGF0aWVudCBFbmNvdW50ZXIiIElucGF0aWVudEVuY291bnRlcgoJCQkJd2l0aG91dCAoCgkJICAgICAgICAgICAgLy9Db25uZWN0YXRob246IHN0aWxsIGJyb2tlbjogdGVtcG9yYXJpbHkgcmVtb3ZlZCBwZW5kaW5nIEhBUEkgRkhJUiBzZXJ2ZXIgZml4IGZvciBtYXhDbGF1c2VDb3VudCA+IDEwMjQKICAgICAgICAgICAgICAgICAgICAvL1siQ29uZGl0aW9uIjogY29kZSBpbiAiT2JzdGV0cmljcyJdIHVuaW9uCgkJCQkJCQkJCVsiQ29uZGl0aW9uIjogY29kZSBpbiAiVmVub3VzIFRocm9tYm9lbWJvbGlzbSJdCgkJCQkJCQkJCXVuaW9uIFsiQ29uZGl0aW9uIjogY29kZSBpbiAiT2JzdGV0cmljcyBWVEUiXSkJRGlhZ25vc2lzCgkJCQlzdWNoIHRoYXQgRGlhZ25vc2lzLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKICAgICAgICAJCWFuZCBEaWFnbm9zaXMudmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKCQkJCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIE9uc2V0IihEaWFnbm9zaXMub25zZXQpIGR1cmluZyBHbG9iYWwuIkhvc3BpdGFsaXphdGlvbiIoSW5wYXRpZW50RW5jb3VudGVyKQoJCQkJCQkpCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIgTm9WVEVNZWRpY2F0aW9uCgkJd2hlcmUgTm9WVEVNZWRpY2F0aW9uLnJlYXNvbkNvZGUgaW4gIk1lZGljYWwgUmVhc29uIgoJCQlhbmQgQW5lc3RoZXNpYVByb2NlZHVyZS5zdGF0dXMgPSAnY29tcGxldGVkJwoJCQlhbmQgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJLy8gVE9ETzogUHJvZmlsZSBvZiBNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gdG8gZW5zdXJlIGVmZmVjdGl2ZSBpcyBhIFBlcmlvZAoJCQlhbmQgQ29hbGVzY2UoTm9WVEVNZWRpY2F0aW9uLmF1dGhvcmVkT24sIHN0YXJ0IG9mIE5vVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUpIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihlbmQgb2YgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQpCgkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgTGVzcyBUaGFuIDIgRGF5cyI6CgkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlcgoJCXdoZXJlIEdsb2JhbC4iTGVuZ3RoSW5EYXlzIihGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSk8IDIKCgovL0RvbmUKZGVmaW5lICJTQ0lQIFZURSBTZWxlY3RlZCBTdXJnZXJ5IjoKCSgKCQkvL0Nvbm5lY3RhdGhvbjogc3RpbGwgYnJva2VuOiB0ZW1wb3JhcmlseSByZW1vdmVkIHBlbmRpbmcgSEFQSSBGSElSIHNlcnZlciBmaXggZm9yIG1heENsYXVzZUNvdW50ID4gMTAyNAoJCS8vIFsiUHJvY2VkdXJlIjogIkdlbmVyYWwgU3VyZ2VyeSJdCgkJLy8gdW5pb24KICAgICAgICBbIlByb2NlZHVyZSI6ICJHeW5lY29sb2dpY2FsIFN1cmdlcnkiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIkhpcCBGcmFjdHVyZSBTdXJnZXJ5Il0KCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJIaXAgUmVwbGFjZW1lbnQgU3VyZ2VyeSJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiSW50cmFjcmFuaWFsIE5ldXJvc3VyZ2VyeSJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5Il0KCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJVcm9sb2dpY2FsIFN1cmdlcnkiXSApIFAKCQl3aGVyZSBQLnN0YXR1cyA9ICdjb21wbGV0ZWQnCgoKLy9Eb25lCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiOgoJKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJDb21mb3J0IE1lYXN1cmVzIl0gUAoJCXdoZXJlIFAuaW50ZW50ID0gJ29yZGVyJykKCQl1bmlvbgoJCShbIlByb2NlZHVyZSI6ICJDb21mb3J0IE1lYXN1cmVzIl0gSW50ZXJ2ZXRpb25QZXJmb3JtZWQKCQl3aGVyZSBJbnRlcnZldGlvblBlcmZvcm1lZC5zdGF0dXMgPSAnY29tcGxldGVkJykKCi8vRG9uZQpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgU3RhcnQgb2YgSG9zcGl0YWxpemF0aW9uIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2l0aCAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIENvbWZvcnRNZWFzdXJlCgkvLyBUT0RPOiBQcm9maWxlIG9mIHByb2NlZHVyZSB0byBlbnN1cmUgcGVyZm9ybWVkIGlzIGEgUGVyaW9kCgkJCXN1Y2ggdGhhdCBDb2FsZXNjZShDb21mb3J0TWVhc3VyZS5hdXRob3JlZE9uLCBzdGFydCBvZiBDb21mb3J0TWVhc3VyZS5wZXJmb3JtZWQpIDEgZGF5IG9yIGxlc3Mgb24gb3IgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uIihRdWFsaWZ5aW5nRW5jb3VudGVyKQoKLy9Eb25lCmRlZmluZSAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCSJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyIgQ29tZm9ydE1lYXN1cmUKCQl3aGVyZSAgQW5lc3RoZXNpYVByb2NlZHVyZS5zdGF0dXMgPSAnY29tcGxldGVkJwoJCQkJYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkIGVuZHMgMSBkYXkgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJCQlhbmQgQ29hbGVzY2UoQ29tZm9ydE1lYXN1cmUuYXV0aG9yZWRPbiwgc3RhcnQgb2YgQ29tZm9ydE1lYXN1cmUucGVyZm9ybWVkKSAxIGRheSBvciBsZXNzIG9uIG9yIGFmdGVyIGRheSBvZiBlbmQgb2YgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQKCi8vRG9uZQpkZWZpbmUgIlZURSBQcm9waHlsYXhpcyBieSBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBEZXZpY2UgQXBwbGllZCI6CgkoIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0gVlRFTWVkaWNhdGlvbgoJCQl3aGVyZSBWVEVNZWRpY2F0aW9uLnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCQkJCWFuZCBWVEVNZWRpY2F0aW9uLmRvc2FnZS5yb3V0ZSBpbiAiU3ViY3V0YW5lb3VzIHJvdXRlIgogICAgICAgICAgICByZXR1cm4gc3RhcnQgb2YgVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUKCSkKCQkvL0pSOiBjb2RlIGlzIG5vdCBhbiBhdHRyaWJ1dGUgb2YgTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uLiAgVXNlZCBtZWRpY2F0aW9uIGluc3RlYWQuCgkJdW5pb24gKFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0gVlRFTWVkaWNhdGlvbiByZXR1cm4gc3RhcnQgb2YgVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUpCgkJdW5pb24gKFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiSW5qZWN0YWJsZSBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMiXSBWVEVNZWRpY2F0aW9uIHJldHVybiBzdGFydCBvZiBWVEVNZWRpY2F0aW9uLmVmZmVjdGl2ZSkKCQl1bmlvbiAoWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJXYXJmYXJpbiJdIFZURU1lZGljYXRpb24gcmV0dXJuIHN0YXJ0IG9mIFZURU1lZGljYXRpb24uZWZmZWN0aXZlKQoJCXVuaW9uCiAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICBbIkRldmljZVVzZVN0YXRlbWVudCJdIERldmljZVVzZVN0YXRlbWVudAogICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSBEZXZpY2VVc2VTdGF0ZW1lbnQuc3RhdHVzID0gJ2NvbXBsZXRlZCcKICAgICAgICAgICAgICAgICkgVmFsaWREZXZpY2VVc2VTdGF0ZW1lbnQKICAgICAgICAgICAgICAgIHdpdGggW0RldmljZV0gRGV2aWNlCiAgICAgICAgICAgICAgICBzdWNoIHRoYXQgTGFzdChTcGxpdChWYWxpZERldmljZVVzZVN0YXRlbWVudC5kZXZpY2UucmVmZXJlbmNlLCAnLycpKSA9IERldmljZS5pZAogICAgICAgICAgICAgICAgICAgIGFuZCAoCiAgICAgICAgICAgICAgICAgICAgICAgIERldmljZS50eXBlIGluICJWZW5vdXMgZm9vdCBwdW1wcyAoVkZQKSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIERldmljZS50eXBlIGluICJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBEZXZpY2UudHlwZSBpbiAiR3JhZHVhdGVkIGNvbXByZXNzaW9uIHN0b2NraW5ncyAoR0NTKSIKICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkgRGV2aWNlQXBwbGllZAogICAgICAgIHdoZXJlIERldmljZUFwcGxpZWQuc3RhdHVzID0gJ2NvbXBsZXRlZCcKICAgICAgICByZXR1cm4gQ29hbGVzY2UoRGV2aWNlQXBwbGllZC5yZWNvcmRlZE9uLCBzdGFydCBvZiBEZXZpY2VBcHBsaWVkLndoZW5Vc2VkKQoKLy9Eb25lCmRlZmluZSAiVlRFIFByb3BoeWxheGlzIFJlY2VpdmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSI6CgkoIGZyb20KCQkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJCSJWVEUgUHJvcGh5bGF4aXMgYnkgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgRGV2aWNlIEFwcGxpZWQiIFZURVByb3BoeWxheGlzRGF0ZQoJCQkvLyBUT0RPOiBQcm9maWxlIG9mIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiB0byBlbnN1cmUgZWZmZWN0aXZlIGlzIGEgUGVyaW9kCiAgICAgICAgd2hlcmUgVlRFUHJvcGh5bGF4aXNEYXRlIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKICAgICAgICByZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoJKQoJCXVuaW9uICggZnJvbQoJCQkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJCQlbIlByb2NlZHVyZSI6ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIl0gQW5lc3RoZXNpYVByb2NlZHVyZSwKCQkJCSJWVEUgUHJvcGh5bGF4aXMgYnkgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgRGV2aWNlIEFwcGxpZWQiIFZURVByb3BoeWxheGlzRGF0ZQogICAgICAgICAgICB3aGVyZSBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQogICAgICAgICAgICAgICAgYW5kIFZURVByb3BoeWxheGlzRGF0ZSBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKQogICAgICAgICAgICByZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoJCSkKCgovL0RvbmUKZGVmaW5lICJNZWRpY2F0aW9uIE9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIjoKCSggZnJvbQoJCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkJWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyBvciBWVEUgVHJlYXRtZW50Il0gRmFjdG9yWGFNZWRpY2F0aW9uCgkJCXdoZXJlIEZhY3RvclhhTWVkaWNhdGlvbi5lZmZlY3RpdmUgc3RhcnRzIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCQkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCSkKCQl1bmlvbiAoIGZyb20KCQkJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCQkJWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsCgkJCQlbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIk9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiXSBGYWN0b3JYYU1lZGljYXRpb24KCQkJCXdoZXJlIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJCWFuZCBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCQkJCWFuZCBGYWN0b3JYYU1lZGljYXRpb24uZWZmZWN0aXZlIHN0YXJ0cyBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKQoJCQkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQkpCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBQcmlvciBvciBQcmVzZW50IERpYWdub3NpcyBvZiBBdHJpYWwgRmlicmlsbGF0aW9uIG9yIFZURSI6CgkoICJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJCXdpdGggWyJDb25kaXRpb24iOiBjb2RlIGluICJBdHJpYWwgRmlicmlsbGF0aW9uL0ZsdXR0ZXIiXSBBdHJpYWxGaWJyaWxsYXRpb24KCQkJCXN1Y2ggdGhhdCBBdHJpYWxGaWJyaWxsYXRpb24uY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJwoJCQkJYW5kIEF0cmlhbEZpYnJpbGxhdGlvbi52ZXJpZmljYXRpb25TdGF0dXMgPSAnY29uZmlybWVkJwoJCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIE9uc2V0IihBdHJpYWxGaWJyaWxsYXRpb24ub25zZXQpIG9uIG9yIGJlZm9yZSBlbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCSkKCQl1bmlvbiAoICJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJCQl3aGVyZSBHbG9iYWwuRW5jb3VudGVyRGlhZ25vc2lzKFF1YWxpZnlpbmdFbmNvdW50ZXIpLmNvZGUgaW4gIkF0cmlhbCBGaWJyaWxsYXRpb24vRmx1dHRlciIKCQkJKQoJCXVuaW9uICggIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQkJCXdpdGggWyJDb25kaXRpb24iOiBjb2RlIGluICJWZW5vdXMgVGhyb21ib2VtYm9saXNtIl0gVlRFRGlhZ25vc2lzCgkJCQkJc3VjaCB0aGF0ICBWVEVEaWFnbm9zaXMuY2xpbmljYWxTdGF0dXMgaW4geyAnaW5hY3RpdmUnLCAncmVtaXNzaW9uJywgJ3Jlc29sdmVkJyB9CgkJCQkJYW5kIFZURURpYWdub3Npcy52ZXJpZmljYXRpb25TdGF0dXMgPSAnY29uZmlybWVkJwoJCQkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoVlRFRGlhZ25vc2lzLm9uc2V0KSBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkpCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24gU3RheSAxIERheSBvciBNb3JlIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2hlcmUgZXhpc3RzICggUXVhbGlmeWluZ0VuY291bnRlci5sb2NhdGlvbiBMb2NhdGlvbgoJCQkJd2hlcmUgR2xvYmFsLkdldExvY2F0aW9uKExvY2F0aW9uLmxvY2F0aW9uKS50eXBlIGluICJJbnRlbnNpdmUgQ2FyZSBVbml0IgoJCQkJCWFuZCBHbG9iYWwuIkxlbmd0aEluRGF5cyIoTG9jYXRpb24ucGVyaW9kKT49IDEKCQkJCQlhbmQgTG9jYXRpb24ucGVyaW9kIHN0YXJ0cyBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkpCgkJKQoKCi8vRG9uZQpkZWZpbmUgIkVuY291bnRlciBXaXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgb2YgTWVudGFsIERpc29yZGVyIG9yIFN0cm9rZSI6CgkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlcgoJCXdoZXJlCiAgICAgICAgICAgIC8vQ29ubmVjdGF0aG9uOiBzdGlsbCBicm9rZW46IHRlbXBvcmFyaWx5IHJlbW92ZWQgcGVuZGluZyBIQVBJIEZISVIgc2VydmVyIGZpeCBmb3IgbWF4Q2xhdXNlQ291bnQgPiAxMDI0CiAgICAgICAgICAgIC8vR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhRdWFsaWZ5aW5nRW5jb3VudGVyKS5jb2RlIGluICJNZW50YWwgSGVhbHRoIERpYWdub3NlcyIKCQkJLy9vcgogICAgICAgICAgICBHbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKFF1YWxpZnlpbmdFbmNvdW50ZXIpLmNvZGUgaW4gIkhlbW9ycmhhZ2ljIFN0cm9rZSIKCQkJb3IgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhRdWFsaWZ5aW5nRW5jb3VudGVyKS5jb2RlIGluICJJc2NoZW1pYyBTdHJva2UiCgovL0RvbmUKLy8gVE9ETzogRGVmaW5lIGFuIG9yZGluYWxpdHkgZXh0ZW5zaW9uIHRvIGEgUHJvY2VkdXJlIHByb2ZpbGUgYW5kIGFzayBQYXRpZW50IEFkbWluaXN0cmF0aW9uIGFuZC9vciBQYXRpZW50IENhcmUgdG8gcmV2aWV3CmRlZmluZSAiRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIFByb2NlZHVyZSBvZiBTQ0lQIFZURSBTZWxlY3RlZCBTdXJnZXJ5IjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJLy9Db25uZWN0YXRob246IHBlbmRpbmcgY3FsX2VuZ2luZSBmaXggIzI2MiAoRkhJUiAzLjAuMCBtb2RlbCBpbmZvIGlzc3VlIHdpdGggRXh0ZW5zaW9uLnVybCkKCQl3aXRoICggIlNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiIFByb2NlZHVyZQoJCQl3aGVyZSBHZXRFeHRlbnNpb24oUHJvY2VkdXJlLmV4dGVuc2lvbiwgJ2h0dHA6Ly9leGFtcGxlLm9yZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL29yZGluYWxpdHknKS52YWx1ZSB+ICJQcmluY2lwYWwiICkgU2VsZWN0ZWRQcm9jZWR1cmUKCQkJc3VjaCB0aGF0IFNlbGVjdGVkUHJvY2VkdXJlLnBlcmZvcm1lZCBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbCggUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgovL0RvbmUKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb25zIjoKCSJFbmNvdW50ZXIgTGVzcyBUaGFuIDIgRGF5cyIKCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggSUNVIExvY2F0aW9uIFN0YXkgMSBEYXkgb3IgTW9yZSIKCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBvZiBNZW50YWwgRGlzb3JkZXIgb3IgU3Ryb2tlIgoJCXVuaW9uICJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgUHJvY2VkdXJlIG9mIFNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiCgkJdW5pb24gIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgU3RhcnQgb2YgSG9zcGl0YWxpemF0aW9uIgoJCXVuaW9uICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIKCi8vRG9uZQpkZWZpbmUgIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiOgoJKCBHbG9iYWwuIklucGF0aWVudCBFbmNvdW50ZXIiIElucGF0aWVudEVuY291bnRlcgoJCQl3aXRoIFsiUGF0aWVudCJdIEJpcnRoRGF0ZQoJCQkJc3VjaCB0aGF0IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKFRvRGF0ZVRpbWUoQmlydGhEYXRlLmJpcnRoRGF0ZSksIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZCkpID49IDE4CgkpCgkJaW50ZXJzZWN0ICJBZG1pc3Npb24gV2l0aG91dCBWVEUgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIKCi8vRG9uZQpkZWZpbmUgIkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgUHJvY2VkdXJlIG9mIEhpcCBvciBLbmVlIFJlcGxhY2VtZW50IFN1cmdlcnkiOgoJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQl3aXRoICggWyJQcm9jZWR1cmUiOiAiSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiXQoJCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJLbmVlIFJlcGxhY2VtZW50IFN1cmdlcnkiXSApIEhpcEtuZWVQcm9jZWR1cmUKCQkJc3VjaCB0aGF0IEhpcEtuZWVQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJCWFuZCBIaXBLbmVlUHJvY2VkdXJlLnBlcmZvcm1lZCBzdGFydHMgb24gb3IgYmVmb3JlIGVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoKLy9Eb25lCmRlZmluZSAiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCI6CgkiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBEdXJpbmcgRUQgVmlzaXQiCgkJdW5pb24gIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iCgkJdW5pb24gIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIE1lZGljYWwgUmVhc29uIjoKCSggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiCgkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IgoJKQoJCXVuaW9uICggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiIKCQkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iCgkJKQoJCXVuaW9uICggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIKCQkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiCgkJKQoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgRHVyaW5nIEVEIFZpc2l0IjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiRUQgVmlzaXQiIEVEVmlzaXQsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBQYXRpZW50UmVmdXNhbAoJCXdoZXJlIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kCgkJCWFuZCBDb2FsZXNjZShQYXRpZW50UmVmdXNhbC5lZmZlY3RpdmUsIFBhdGllbnRSZWZ1c2FsLmF1dGhvcmVkT24sIFBhdGllbnRSZWZ1c2FsLnJlY29yZGVkT24pIGR1cmluZyBFRFZpc2l0LnBlcmlvZAoJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBQYXRpZW50UmVmdXNhbAoJCXdoZXJlIENvYWxlc2NlKHN0YXJ0IG9mIFBhdGllbnRSZWZ1c2FsLmVmZmVjdGl2ZSwgUGF0aWVudFJlZnVzYWwuYXV0aG9yZWRPbiwgUGF0aWVudFJlZnVzYWwucmVjb3JkZWRPbikKICAgICAgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKHN0YXJ0IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBQYXRpZW50UmVmdXNhbAoJCXdoZXJlIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkIGVuZHMgMSBkYXkgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kCgkJCWFuZCBDb2FsZXNjZShzdGFydCBvZiBQYXRpZW50UmVmdXNhbC5lZmZlY3RpdmUsIFBhdGllbnRSZWZ1c2FsLmF1dGhvcmVkT24sIFBhdGllbnRSZWZ1c2FsLnJlY29yZGVkT24pCiAgICAgICAgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKGVuZCBvZiBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gb3IgRGV2aWNlIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiOgoJKCAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiCgkJdW5pb24gIk5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgQXBwbGllZCBvciBPcmRlcmVkIiApIE5vVlRFUHJvcGh5bGF4aXMKCQl3aGVyZSBHZXRFeHRlbnNpb24oTm9WVEVQcm9waHlsYXhpcy5leHRlbnNpb24sICdodHRwOi8vZXhhbXBsZS5vcmcvU3RydWN0dXJlRGVmaW5pdGlvbi9ub3REb25lUmVhc29uJykudmFsdWUgaW4gIlBhdGllbnQgUmVmdXNhbCIKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIjoKCSJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBEdXJpbmcgRUQgVmlzaXQiCgkJdW5pb24gIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIgoJCXVuaW9uICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIKCi8vRG9uZQpkZWZpbmUgIk51bWVyYXRvciI6CgkiVlRFIFByb3BoeWxheGlzIFJlY2VpdmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSIKCQl1bmlvbiAoICJNZWRpY2F0aW9uIE9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIgoJCQkJaW50ZXJzZWN0ICggIkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgRGlhZ25vc2lzIG9mIEF0cmlhbCBGaWJyaWxsYXRpb24gb3IgVlRFIgoJCQkJCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggUHJpb3Igb3IgUHJlc2VudCBQcm9jZWR1cmUgb2YgSGlwIG9yIEtuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSIKCQkJCSkKCQkpCgkJdW5pb24gIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQiCgkJdW5pb24gIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gTWVkaWNhbCBSZWFzb24iCgkJdW5pb24gIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIgoKLy9Eb25lCmRlZmluZSAiSXMgSW4gTG93IFJpc2sgZm9yIFZURSBvciBPbiBBbnRpY29hZ3VsYW50IjoKICAgIC8vQ29ubmVjdGF0aG9uOiB2ZXJpZmllZCB0aGF0IHRoaXMgaXMgY29ycmVjdGVkCgkoIFsiT2JzZXJ2YXRpb24iOiAiUmlzayBmb3IgdmVub3VzIHRocm9tYm9lbWJvbGlzbSJdIFZURVJpc2tBc3Nlc3NtZW50CgkJCXdoZXJlIFZURVJpc2tBc3Nlc3NtZW50LnZhbHVlIGluICJMb3cgUmlzayIKCSkKCi8qCi8vIFRPRE86IElzc3VlcyB3aXRoIGNvbnN0cnVjdGluZyB0aGUgRkhJUiB0eXBlcyBoZXJlLi4uCgkJdW5pb24gKCBbIk9ic2VydmF0aW9uIjogIklOUiJdIElOUkxhYlRlc3QKCQkJCXdoZXJlIElOUkxhYlRlc3QudmFsdWUgYXMgUXVhbnRpdHkgPiAzLjAKCQkJCXJldHVybiAiT2JzZXJ2YXRpb24iIHsgaWQ6IElOUkxhYlRlc3QuaWQsIGVmZmVjdGl2ZTogSU5STGFiVGVzdC5pc3N1ZWQgfQoJCSkKCQl1bmlvbiAoKCggWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiAiVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiJdIFVuZnJhY3Rpb25hdGVkSGVwYXJpbgoJCQkJCXdoZXJlIFVuZnJhY3Rpb25hdGVkSGVwYXJpbi5kb3NhZ2Uucm91dGUgaW4gIkludHJhdmVub3VzIHJvdXRlIgoJCQkJCQkpCgkJCQl1bmlvbiBbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6ICJEaXJlY3QgVGhyb21iaW4gSW5oaWJpdG9yIl0KCQkJCXVuaW9uIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogIkdseWNvcHJvdGVpbiBJSWIvSUlJYSBJbmhpYml0b3JzIl0gKSBBbnRpY29hZ3VsYW50TWVkaWNhdGlvbgoJCQkJCXJldHVybiAiT2JzZXJ2YXRpb24iIHsgaWQ6IEFudGljb2FndWxhbnRNZWRpY2F0aW9uLmlkLCBlZmZlY3RpdmU6IHN0YXJ0IG9mIGVmZmVjdGl2ZX0KCQkpCiovCgovL0RvbmUKZGVmaW5lICJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIER1cmluZyBFRCBWaXNpdCI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJIkVEIFZpc2l0IiBFRFZpc2l0LAoJCSJJcyBJbiBMb3cgUmlzayBmb3IgVlRFIG9yIE9uIEFudGljb2FndWxhbnQiIFZURVJpc2tBc3Nlc3NtZW50CgkJd2hlcmUgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kIFZURVJpc2tBc3Nlc3NtZW50Lmlzc3VlZCBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiI6CgkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlcgoJCXdpdGggIklzIEluIExvdyBSaXNrIGZvciBWVEUgb3IgT24gQW50aWNvYWd1bGFudCIgVlRFUmlza0Fzc2Vzc21lbnQKCQkJc3VjaCB0aGF0IFZURVJpc2tBc3Nlc3NtZW50Lmlzc3VlZCBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkpCgovL0RvbmUKZGVmaW5lICJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQlbIlByb2NlZHVyZSI6ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIl0gQW5lc3RoZXNpYVByb2NlZHVyZSwKCQkiSXMgSW4gTG93IFJpc2sgZm9yIFZURSBvciBPbiBBbnRpY29hZ3VsYW50IiBWVEVSaXNrQXNzZXNzbWVudAoJCXdoZXJlIEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkIGVuZHMgMSBkYXkgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJCWFuZCBWVEVSaXNrQXNzZXNzbWVudC5pc3N1ZWQgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKGVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKSkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgo=" - } - ] + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.264" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + } ] + }, { + "type": "DeviceUseStatement" + }, { + "type": "Device" + }, { + "type": "DeviceRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.230" + } + } ] + }, { + "type": "DeviceRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.214" + } + } ] + }, { + "type": "DeviceRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.256" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232" + } + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39" + } + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219" + } + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211" + } + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.257" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.258" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.260" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.272" + } + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.39" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.219" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.211" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.232" + } + } ] + }, { + "type": "DeviceUseStatement" + }, { + "type": "Device" + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } + } ] + }, { + "type": "MedicationAdministration", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.134" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.202" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.279" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.259" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.261" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1743" + } + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE0xMDhfRkhJUjMgdmVyc2lvbiAnNy40LjAwMCcKCi8qCkJhc2VkIG9uIENNUzEwOHY3IC0gVmVub3VzIFRocm9tYm9lbWJvbGlzbSBQcm9waHlsYXhpcwoqLwoKLyoKVGhpcyBleGFtcGxlIGlzIGEgd29yayBpbiBwcm9ncmVzcyBhbmQgc2hvdWxkIG5vdCBiZSBjb25zaWRlcmVkIGEgZmluYWwgc3BlY2lmaWNhdGlvbgpvciByZWNvbW1lbmRhdGlvbiBmb3IgZ3VpZGFuY2UuIFRoaXMgZXhhbXBsZSB3aWxsIGhlbHAgZ3VpZGUgYW5kIGRpcmVjdCB0aGUgcHJvY2VzcwpvZiBmaW5kaW5nIGNvbnZlbnRpb25zIGFuZCB1c2FnZSBwYXR0ZXJucyB0aGF0IG1lZXQgdGhlIG5lZWRzIG9mIHRoZSB2YXJpb3VzIHN0YWtlaG9sZGVycwppbiB0aGUgbWVhc3VyZSBkZXZlbG9wbWVudCBjb21tdW5pdHkuCiovCgovKgpEYXRhIFR5cGVzIFVzZWQ6CgpFbmNvdW50ZXIKRGV2aWNlVXNlU3RhdGVtZW50CkRldmljZVJlcXVlc3QKTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uCk1lZGljYXRpb25SZXF1ZXN0ClByb2NlZHVyZSAtIG9yZGluYWxpdHkgZXh0ZW5zaW9uClByb2NlZHVyZVJlcXVlc3QKQ29uZGl0aW9uCiovCgovKgpEZXZlbG9wbWVudCBOb3RlczoKCiAgICBOZWVkIHRvIGRlZmluZSDigJxkb05vdFBlcmZvbeKAnSBRSUNvcmUgZXh0ZW5zaW9uIHRvIHN1cHBvcnQg4oCcTm90RG9uZSBpcyB0cnVl4oCdIGV4cHJlc3Npb24uIFN1Z2dlc3QgdG8gdGhlIGJhc2UgUmVzb3VyY2UgZm9yIHRoZSBmb2xsb3dpbmcgcHJvZmlsZXMg4oCTCgogICAgICAgIERldmljZVVzZVN0YXRlbWVudAogICAgICAgIERldmljZVJlcXVlc3QKICAgICAgICBNZWRpY2F0aW9uUmVxdWVzdAoKICAgICAgICBBZGQgZG9Ob3RQZXJmb3JtIHRvIERldmljZVVzZVJlcXVlc3QgYW5kIG5vdERvbmUgdG8gRGV2aWNlVXNlU3RhdGVtZW50OgogICAgICAgIFsjMjA2MDFdKGh0dHBzOi8vZ2ZvcmdlLmhsNy5vcmcvZ2YvcHJvamVjdC9maGlyL3RyYWNrZXIvP2FjdGlvbj1UcmFja2VySXRlbUVkaXQmdHJhY2tlcl9pdGVtX2lkPTIwNjAxKQogICAgICAgIFByb21vdGUgcHJvZmlsZXMgdG8gUUktQ29yZToKICAgICAgICBbIzIwNjEwXShodHRwczovL2dmb3JnZS5obDcub3JnL2dmL3Byb2plY3QvZmhpci90cmFja2VyLz9hY3Rpb249VHJhY2tlckl0ZW1FZGl0JnRyYWNrZXJfaXRlbV9pZD0yMDYxMCkKCiAgICBOZWVkIHRvIGRlZmluZSBhbiDigJxvcmRpbmFsaXR54oCdIGV4dGVuc2lvbiBmb3IgUHJvY2VkdXJlIHByb2ZpbGUgdG8gc3VwcG9ydCDigJxQcm9jZWR1cmUub3JkaW5hbGl0eSB+ICJQcmluY2lwYWwiIGV4cHJlc3Npb24uCgogICAgICBbIzIwNTI3XShodHRwczovL2dmb3JnZS5obDcub3JnL2dmL3Byb2plY3QvZmhpci90cmFja2VyLz9hY3Rpb249VHJhY2tlckl0ZW1FZGl0JnRyYWNrZXJfaXRlbV9pZD0yMDUyNykKCiAgICBOZWVkIHRvIGNvbmZpcm0gdGhlIGZvbGxvd2luZyBwcm9maWxlcyBhbmQgZW5zdXJlIFBlcmlvZCBpcyBhIGRlZmF1bHQgdHlwZSAtCgogICAgICAgIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi5lZmZlY3RpdmUKICAgICAgICBQcm9jZWR1cmUucGVyZm9ybWVkCgogICAgICAgIERlZmluZWQgYXMgREVRTSBwcm9maWxlcyBjdXJyZW50bHksIHByb21vdGUgdG8gUUktQ29yZQogICAgICAgIFsjMjA2MTFdKGh0dHBzOi8vZ2ZvcmdlLmhsNy5vcmcvZ2YvcHJvamVjdC9maGlyL3RyYWNrZXIvP2FjdGlvbj1UcmFja2VySXRlbUVkaXQmdHJhY2tlcl9pdGVtX2lkPTIwNjExKQoKICAgIFN1Z2dlc3QgZGVmaW5pbmcg4oCccmVjb3JkZWRPbuKAnCB0byBzdXBwb3J0IHRoZSB0aW1pbmdzIGZvciDigJxNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24ubm90R2l2ZW7igJ0gYW5kIOKAnFByb2NlZHVyZS5ub3REb25l4oCdLiBzZWUgdGhlIGhpZ2hsaWdodGVkIGZpZWxkcyBiZWxvdy4KCiAgICAgIFsjMjA2MDJdKGh0dHBzOi8vZ2ZvcmdlLmhsNy5vcmcvZ2YvcHJvamVjdC9maGlyL3RyYWNrZXIvP2FjdGlvbj1UcmFja2VySXRlbUVkaXQmdHJhY2tlcl9pdGVtX2lkPTIwNjAyKQoKfFByb2ZpbGUgICAgICAgICAgICAgICAgICAgfFRpbWluZyB1c2VkIGZvciBEb25lIHxUaW1pbmcgdXNlZCBmb3IgZG9Ob3RQZXJmb3JtIHxUSkMgY29tbWVudHMgICAgICAgICAgfAp8LS0tfC0tLXwtLS18LS0tfAp8RGV2aWNlVXNlU3RhdGVtZW50ICAgICAgICB8d2hlblVzZWQgICAgICAgICAgICAgfHJlY29yZGVkT24gICAgICAgICAgICAgICAgICAgfCAgIHwKfERldmljZVJlcXVlc3QgICAgICAgICAgICAgfGF1dGhvcmVkT24gICAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICAgICAgICAgIHwgICB8CnxNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24gIHxlZmZlY3RpdmUgICAgICAgICAgICB8ZWZmZWN0aXZlICAgICAgICAgICAgICAgICAgICB8IFN1Z2dlc3QgYWRkaW5nIHJlY29yZGVkT24gZm9yIG5vdEdpdmVuIHRpbWluZyB8CnxNZWRpY2F0aW9uUmVxdWVzdCAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICB8YXV0aG9yZWRPbiAgICAgICAgICAgICAgICAgICB8ICAgfAp8UHJvY2VkdXJlICAgICAgICAgICAgICAgICB8cGVyZm9ybWVkICAgICAgICAgICAgfHBlcmZvcm1lZCAgICAgICAgICAgICAgICAgICAgfCBTdWdnZXN0IGFkZGluZyByZWNvcmRlZE9uIGZvciBub3REb25lIHRpbWluZyB8CnxQcm9jZWR1cmVSZXF1ZXN0ICAgICAgICAgIHxhdXRob3JlZE9uICAgICAgICAgICB8YXV0aG9yZWRPbiAgICAgICAgICAgICAgICAgICB8ICAgfAoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgVlRFSUNVX0ZISVIzIHZlcnNpb24gJzIuNC4wMDAnIGNhbGxlZCBWVEVJQ1UKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4Jwpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwpjb2Rlc3lzdGVtICJSZXF1ZXN0SW50ZW50IjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQnCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiQXRyaWFsIEZpYnJpbGxhdGlvbi9GbHV0dGVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDInCnZhbHVlc2V0ICJDb21mb3J0IE1lYXN1cmVzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8xLjMuNi4xLjQuMS4zMzg5NS4xLjMuMC40NScKdmFsdWVzZXQgIkRpcmVjdCBUaHJvbWJpbiBJbmhpYml0b3IiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNScKdmFsdWVzZXQgIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTInCnZhbHVlc2V0ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjE3NDMnCnZhbHVlc2V0ICJHZW5lcmFsIFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NScKdmFsdWVzZXQgIkdseWNvcHJvdGVpbiBJSWIvSUlJYSBJbmhpYml0b3JzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA0NS40MScKdmFsdWVzZXQgIkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1NicKdmFsdWVzZXQgIkd5bmVjb2xvZ2ljYWwgU3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJIaXAgRnJhY3R1cmUgU3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjU4Jwp2YWx1ZXNldCAiSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI1OScKdmFsdWVzZXQgIkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTEnCnZhbHVlc2V0ICJJTlIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIxMycKdmFsdWVzZXQgIkludGVybWl0dGVudCBwbmV1bWF0aWMgY29tcHJlc3Npb24gZGV2aWNlcyAoSVBDKSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjE0Jwp2YWx1ZXNldCAiSW50cmFjcmFuaWFsIE5ldXJvc3VyZ2VyeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYwJwp2YWx1ZXNldCAiSW50cmF2ZW5vdXMgcm91dGUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIyMicKdmFsdWVzZXQgIklzY2hlbWljIFN0cm9rZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3Jwp2YWx1ZXNldCAiS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNjEnCnZhbHVlc2V0ICJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDQ1LjM5Jwp2YWx1ZXNldCAiTG93IE1vbGVjdWxhciBXZWlnaHQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTknCnZhbHVlc2V0ICJMb3cgUmlzayI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDAwJwp2YWx1ZXNldCAiTWVkaWNhbCBSZWFzb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQ3MycKdmFsdWVzZXQgIk1lbnRhbCBIZWFsdGggRGlhZ25vc2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwNS4xMi4xMDA0Jwp2YWx1ZXNldCAiT2JzdGV0cmljcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjYzJwp2YWx1ZXNldCAiT2JzdGV0cmljcyBWVEUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI2NCcKdmFsdWVzZXQgIk9yYWwgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIG9yIFZURSBUcmVhdG1lbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjEzNCcKdmFsdWVzZXQgIlBhdGllbnQgUmVmdXNhbCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuOTMnCi8vdmFsdWVzZXQgIlByaW5jaXBhbCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMTQnIC8vIENoYW5nZWQgdG8gdXNlIGEgY29kZQp2YWx1ZXNldCAiU3ViY3V0YW5lb3VzIHJvdXRlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMjMnCnZhbHVlc2V0ICJVbmZyYWN0aW9uYXRlZCBIZXBhcmluIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTgnCnZhbHVlc2V0ICJVcm9sb2dpY2FsIFN1cmdlcnkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI3MicKdmFsdWVzZXQgIlZlbm91cyBmb290IHB1bXBzIChWRlApIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMzAnCnZhbHVlc2V0ICJWZW5vdXMgVGhyb21ib2VtYm9saXNtIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yNzknCnZhbHVlc2V0ICJXYXJmYXJpbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjMyJwp2YWx1ZXNldCAiSW50ZW5zaXZlIENhcmUgVW5pdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMjMnCgpjb2RlICJSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtIjogJzcyMTM2LTUnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtJwpjb2RlICJQcmluY2lwYWwiOiAnNjMxNjEwMDUnIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdQcmluY2lwYWwgKHF1YWxpZmllciB2YWx1ZSknCmNvZGUgIk9yZGVyIjogJ29yZGVyJyBmcm9tICJSZXF1ZXN0SW50ZW50IiBkaXNwbGF5ICdPcmRlcicKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KICAgIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCkKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CglTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgoJU0RFLiJTREUgU2V4IgoKZGVmaW5lICJEZW5vbWluYXRvciI6CgkiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJFRCBWaXNpdCI6CglbIkVuY291bnRlciI6IHR5cGUgaW4gIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0Il0gRURWaXNpdAogICAgd2hlcmUgRURWaXNpdC5zdGF0dXMgPSAnZmluaXNoZWQnCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CgkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIKCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiOgogIC8vIE5PVEU6IFNob3VsZCBiZSB1c2luZyBkZXZpY2UuY29kZSwgYnV0IHRoYXQgcmVxdWlyZXMgQ1FMIDEuNAogICgKICAgICAoCiAgICAgICAoCiAgICAgICAgICAgWyJEZXZpY2VVc2VTdGF0ZW1lbnQiXSBEZXZpY2VVc2VTdGF0ZW1lbnQKICAgICAgICAgICAgICAgd2hlcmUgRGV2aWNlVXNlU3RhdGVtZW50LnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICAgICApIFZhbGlkRGV2aWNlVXNlU3RhdGVtZW50CiAgICAgICAgICAgd2l0aCBbRGV2aWNlXSBEZXZpY2UKICAgICAgICAgICAgICAgc3VjaCB0aGF0IEdsb2JhbC5HZXRJZChWYWxpZERldmljZVVzZVN0YXRlbWVudC5kZXZpY2UucmVmZXJlbmNlKSA9IERldmljZS5pZAogICAgICAgICAgICAgICAgICAgYW5kICgKICAgICAgICAgICAgICAgICAgICAgICBEZXZpY2UudHlwZSBpbiAiVmVub3VzIGZvb3QgcHVtcHMgKFZGUCkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIERldmljZS50eXBlIGluICJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIERldmljZS50eXBlIGluICJHcmFkdWF0ZWQgY29tcHJlc3Npb24gc3RvY2tpbmdzIChHQ1MpIgogICAgICAgICAgICAgICAgICAgKQogICAgICkgRAogICAgIC8vSlI6IHVwZGF0ZWQgdG8gdXNlIHRoZSBHbG9iYWwgZ2V0IGV4dGVuc2lvbgogICAgIHdoZXJlIEdsb2JhbC5HZXRFeHRlbnNpb24oRCwgJ2RvTm90UGVyZm9ybScpLnZhbHVlIGlzIHRydWUKICApCiAgdW5pb24gKCgKICAgIFsiRGV2aWNlUmVxdWVzdCI6IGNvZGUgaW4gIlZlbm91cyBmb290IHB1bXBzIChWRlApIl0KICAgICAgdW5pb24gWyJEZXZpY2VSZXF1ZXN0IjogY29kZSBpbiAiSW50ZXJtaXR0ZW50IHBuZXVtYXRpYyBjb21wcmVzc2lvbiBkZXZpY2VzIChJUEMpIl0KICAgICAgdW5pb24gWyJEZXZpY2VSZXF1ZXN0IjogY29kZSBpbiAiR3JhZHVhdGVkIGNvbXByZXNzaW9uIHN0b2NraW5ncyAoR0NTKSJdCiAgKSBECiAgICB3aGVyZSBELmludGVudCB+IFRvQ29uY2VwdCgiT3JkZXIiKQogICAgICAvL0pSOiB1cGRhdGVkIHRvIHVzZSB0aGUgR2xvYmFsIGdldCBleHRlbnNpb24KICAJICBhbmQgR2xvYmFsLkdldEV4dGVuc2lvbihELCAnZG9Ob3RQZXJmb3JtJykudmFsdWUgaXMgdHJ1ZQogICkKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEZXZpY2UgRHVlIHRvIE1lZGljYWwgUmVhc29uIER1cmluZyBFRCBWaXNpdCI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJIkVEIFZpc2l0IiBFRFZpc2l0LAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgTm9WVEVEZXZpY2UKCXdoZXJlIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRURWaXNpdC5wZXJpb2QpIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJYW5kIChzaW5nbGV0b24gZnJvbSBOb1ZURURldmljZS5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIpCgkJYW5kIENvYWxlc2NlKE5vVlRFRGV2aWNlLmF1dGhvcmVkT24sIE5vVlRFRGV2aWNlLnJlY29yZGVkT24pIGR1cmluZyBGSElSSGVscGVycy5Ub0ludGVydmFsKEVEVmlzaXQucGVyaW9kKQoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgTm9WVEVEZXZpY2UKCXdoZXJlIChzaW5nbGV0b24gZnJvbSBOb1ZURURldmljZS5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIpCgkJYW5kIENvYWxlc2NlKE5vVlRFRGV2aWNlLmF1dGhvcmVkT24sIE5vVlRFRGV2aWNlLnJlY29yZGVkT24pIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIjoKCSgoWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJMb3cgRG9zZSBVbmZyYWN0aW9uYXRlZCBIZXBhcmluIGZvciBWVEUgUHJvcGh5bGF4aXMiXQogIAl1bmlvbglbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdCiAgCXVuaW9uCVsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiSW5qZWN0YWJsZSBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMiXQogIAl1bmlvbglbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIldhcmZhcmluIl0KCSkgTWVkaWNhdGlvbkFkbQoJCXdoZXJlIE1lZGljYXRpb25BZG0ubm90R2l2ZW4gaXMgdHJ1ZQoJKQoJdW5pb24KCS8vSlI6IGNvZGUgaXMgbm90IGFuIGF0dHJpYnV0ZSBvZiBNZWRpY2F0aW9uUmVxdWVzdC4gIFVzZWQgbWVkaWNhdGlvbiBpbnN0ZWFkLgoJKChbIk1lZGljYXRpb25SZXF1ZXN0IjogbWVkaWNhdGlvbiBpbiAiTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0KICAJdW5pb24JWyJNZWRpY2F0aW9uUmVxdWVzdCI6IG1lZGljYXRpb24gaW4gIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdCiAgCXVuaW9uCVsiTWVkaWNhdGlvblJlcXVlc3QiOiBtZWRpY2F0aW9uIGluICJJbmplY3RhYmxlIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyJdCiAgCXVuaW9uCVsiTWVkaWNhdGlvblJlcXVlc3QiOiBtZWRpY2F0aW9uIGluICJXYXJmYXJpbiJdCgkpIE1lZGljYXRpb25PcmRlcgoJd2hlcmUJTWVkaWNhdGlvbk9yZGVyLmludGVudCA9ICdvcmRlcicKICAgIC8vIFVwZGF0ZWQgdG8gdXNlIEdsb2JhbC5HZXRFeHRlbnNpb24KCQlhbmQgR2xvYmFsLkdldEV4dGVuc2lvbihNZWRpY2F0aW9uT3JkZXIsICdkb05vdFBlcmZvcm0nKS52YWx1ZSBpcyB0cnVlCgkpCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiRUQgVmlzaXQiIEVEVmlzaXQsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIiBOb1ZURU1lZGljYXRpb24KCQl3aGVyZSBGSElSSGVscGVycy5Ub0ludGVydmFsKEVEVmlzaXQucGVyaW9kKSBlbmRzIDEgaG91ciBvciBsZXNzIG9uIG9yIGJlZm9yZSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCQlhbmQgKHNpbmdsZXRvbiBmcm9tIE5vVlRFTWVkaWNhdGlvbi5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIpCgkJCWFuZCBDb2FsZXNjZShOb1ZURU1lZGljYXRpb24uYXV0aG9yZWRPbiwgc3RhcnQgb2YgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKE5vVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUpKSBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIE5vVlRFTWVkaWNhdGlvbgoJCXdoZXJlIChzaW5nbGV0b24gZnJvbSBOb1ZURU1lZGljYXRpb24ucmVhc29uQ29kZSBpbiAiTWVkaWNhbCBSZWFzb24iKQoJCQlhbmQgQ29hbGVzY2UoTm9WVEVNZWRpY2F0aW9uLmF1dGhvcmVkT24sIHN0YXJ0IG9mIE5vVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUpIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCSJObyBWVEUgUHJvcGh5bGF4aXMgRGV2aWNlIEFwcGxpZWQgb3IgT3JkZXJlZCIgTm9WVEVEZXZpY2UKCQl3aGVyZSBOb1ZURURldmljZS5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIKCQkJYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kICBDb2FsZXNjZShOb1ZURURldmljZS5hdXRob3JlZE9uLCBOb1ZURURldmljZS5yZWNvcmRlZE9uKSBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkpCgkJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCi8vRG9uZQpkZWZpbmUgIkFkbWlzc2lvbiBXaXRob3V0IFZURSBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIjoKCQkoR2xvYmFsLiJJbnBhdGllbnQgRW5jb3VudGVyIiBJbnBhdGllbnRFbmNvdW50ZXIKCQl3aGVyZSBub3QgKAoJCSAgICAvL0Nvbm5lY3RhdGhvbjogc3RpbGwgYnJva2VuOiB0ZW1wb3JhcmlseSByZW1vdmVkIHBlbmRpbmcgSEFQSSBGSElSIHNlcnZlciBmaXggZm9yIG1heENsYXVzZUNvdW50ID4gMTAyNAogICAgICAgICAgICAvL0dsb2JhbC5FbmNvdW50ZXJEaWFnbm9zaXMoSW5wYXRpZW50RW5jb3VudGVyKS5jb2RlIGluICJPYnN0ZXRyaWNzIiBvcgoJCQkJCQkJCUdsb2JhbC5FbmNvdW50ZXJEaWFnbm9zaXMoSW5wYXRpZW50RW5jb3VudGVyKS5jb2RlIGluICJWZW5vdXMgVGhyb21ib2VtYm9saXNtIgoJCQkJCQkJCW9yIEdsb2JhbC5FbmNvdW50ZXJEaWFnbm9zaXMoSW5wYXRpZW50RW5jb3VudGVyKS5jb2RlIGluICJPYnN0ZXRyaWNzIFZURSIKCQkJCQkJCSkKICAgICkKCQlpbnRlcnNlY3QgKEdsb2JhbC4iSW5wYXRpZW50IEVuY291bnRlciIgSW5wYXRpZW50RW5jb3VudGVyCgkJCQl3aXRob3V0ICgKICAgICAgICAgIC8vQ29ubmVjdGF0aG9uOiBzdGlsbCBicm9rZW46IHRlbXBvcmFyaWx5IHJlbW92ZWQgcGVuZGluZyBIQVBJIEZISVIgc2VydmVyIGZpeCBmb3IgbWF4Q2xhdXNlQ291bnQgPiAxMDI0CiAgICAgICAgICAgICAgLy9bIkNvbmRpdGlvbiI6IGNvZGUgaW4gIk9ic3RldHJpY3MiXSB1bmlvbgoJCQkJCQlbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIlZlbm91cyBUaHJvbWJvZW1ib2xpc20iXQoJCQkJCQl1bmlvbiBbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIk9ic3RldHJpY3MgVlRFIl0pCURpYWdub3NpcwoJCQkJc3VjaCB0aGF0IERpYWdub3Npcy5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnCiAgICAgICAgCQlhbmQgRGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCgkJCQkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoRGlhZ25vc2lzLm9uc2V0KSBkdXJpbmcgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb24iKElucGF0aWVudEVuY291bnRlcikKCQkJCQkJKQoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gRHVlIHRvIE1lZGljYWwgUmVhc29uIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQlbIlByb2NlZHVyZSI6ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIl0gQW5lc3RoZXNpYVByb2NlZHVyZSwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIE9yZGVyZWQiIE5vVlRFTWVkaWNhdGlvbgoJCXdoZXJlIE5vVlRFTWVkaWNhdGlvbi5yZWFzb25Db2RlIGluICJNZWRpY2FsIFJlYXNvbiIKCQkJYW5kIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkJYW5kIENvYWxlc2NlKE5vVlRFTWVkaWNhdGlvbi5hdXRob3JlZE9uLCBzdGFydCBvZiBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoTm9WVEVNZWRpY2F0aW9uLmVmZmVjdGl2ZSkpIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihlbmQgb2YgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKSkKCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoKCi8vRG9uZQpkZWZpbmUgIkVuY291bnRlciBMZXNzIFRoYW4gMiBEYXlzIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpKTwgMgoKCi8vRG9uZQpkZWZpbmUgIlNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiOgoJKAoJCS8vQ29ubmVjdGF0aG9uOiBzdGlsbCBicm9rZW46IHRlbXBvcmFyaWx5IHJlbW92ZWQgcGVuZGluZyBIQVBJIEZISVIgc2VydmVyIGZpeCBmb3IgbWF4Q2xhdXNlQ291bnQgPiAxMDI0CgkJLy8gWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBTdXJnZXJ5Il0KCQkvLyB1bmlvbgogICAgWyJQcm9jZWR1cmUiOiAiR3luZWNvbG9naWNhbCBTdXJnZXJ5Il0KCQl1bmlvbiBbIlByb2NlZHVyZSI6ICJIaXAgRnJhY3R1cmUgU3VyZ2VyeSJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiSGlwIFJlcGxhY2VtZW50IFN1cmdlcnkiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIkludHJhY3JhbmlhbCBOZXVyb3N1cmdlcnkiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIktuZWUgUmVwbGFjZW1lbnQgU3VyZ2VyeSJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiVXJvbG9naWNhbCBTdXJnZXJ5Il0gKSBQCgkJd2hlcmUgUC5zdGF0dXMgPSAnY29tcGxldGVkJwoKCi8vRG9uZQpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIjoKCShbIlByb2NlZHVyZVJlcXVlc3QiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIFAKCQl3aGVyZSBQLmludGVudCA9ICdvcmRlcicpCgkJdW5pb24KCQkoWyJQcm9jZWR1cmUiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIEludGVydmV0aW9uUGVyZm9ybWVkCgkJICB3aGVyZSBJbnRlcnZldGlvblBlcmZvcm1lZC5zdGF0dXMgPSAnY29tcGxldGVkJykKCi8vRG9uZQpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgU3RhcnQgb2YgSG9zcGl0YWxpemF0aW9uIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2l0aCAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIENvbWZvcnRNZWFzdXJlCgkJCXN1Y2ggdGhhdCBDb2FsZXNjZShDb21mb3J0TWVhc3VyZS5hdXRob3JlZE9uLCBzdGFydCBvZiBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29tZm9ydE1lYXN1cmUucGVyZm9ybWVkKSkgMSBkYXkgb3IgbGVzcyBvbiBvciBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgR2xvYmFsLiJIb3NwaXRhbGl6YXRpb24iKFF1YWxpZnlpbmdFbmNvdW50ZXIpCgovL0RvbmUKZGVmaW5lICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsCgkJIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIiBDb21mb3J0TWVhc3VyZQoJd2hlcmUgIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKSBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCWFuZCBDb2FsZXNjZShDb21mb3J0TWVhc3VyZS5hdXRob3JlZE9uLCBzdGFydCBvZiBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29tZm9ydE1lYXN1cmUucGVyZm9ybWVkKSkgMSBkYXkgb3IgbGVzcyBvbiBvciBhZnRlciBkYXkgb2YgZW5kIG9mIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkKCi8vRG9uZQpkZWZpbmUgIlZURSBQcm9waHlsYXhpcyBieSBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBEZXZpY2UgQXBwbGllZCI6CgkoIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiTG93IERvc2UgVW5mcmFjdGlvbmF0ZWQgSGVwYXJpbiBmb3IgVlRFIFByb3BoeWxheGlzIl0gVlRFTWVkaWNhdGlvbgoJCQl3aGVyZSBWVEVNZWRpY2F0aW9uLnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCQlhbmQgVlRFTWVkaWNhdGlvbi5kb3NhZ2Uucm91dGUgaW4gIlN1YmN1dGFuZW91cyByb3V0ZSIKICAgICAgcmV0dXJuIHN0YXJ0IG9mIFZURU1lZGljYXRpb24uZWZmZWN0aXZlCgkpCgkJLy9KUjogY29kZSBpcyBub3QgYW4gYXR0cmlidXRlIG9mIE1lZGljYXRpb25BZG1pbmlzdHJhdGlvbi4gIFVzZWQgbWVkaWNhdGlvbiBpbnN0ZWFkLgoJCXVuaW9uIChbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIkxvdyBNb2xlY3VsYXIgV2VpZ2h0IEhlcGFyaW4gZm9yIFZURSBQcm9waHlsYXhpcyJdIFZURU1lZGljYXRpb24gcmV0dXJuIHN0YXJ0IG9mIFZURU1lZGljYXRpb24uZWZmZWN0aXZlKQoJCXVuaW9uIChbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6IG1lZGljYXRpb24gaW4gIkluamVjdGFibGUgRmFjdG9yIFhhIEluaGliaXRvciBmb3IgVlRFIFByb3BoeWxheGlzIl0gVlRFTWVkaWNhdGlvbiByZXR1cm4gc3RhcnQgb2YgVlRFTWVkaWNhdGlvbi5lZmZlY3RpdmUpCgkJdW5pb24gKFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiV2FyZmFyaW4iXSBWVEVNZWRpY2F0aW9uIHJldHVybiBzdGFydCBvZiBWVEVNZWRpY2F0aW9uLmVmZmVjdGl2ZSkKCQl1bmlvbiAoCiAgICAgIChbIkRldmljZVVzZVN0YXRlbWVudCJdIERldmljZVVzZVN0YXRlbWVudAogICAgICAgIHdoZXJlIERldmljZVVzZVN0YXRlbWVudC5zdGF0dXMgPSAnY29tcGxldGVkJwogICAgICApIFZhbGlkRGV2aWNlVXNlU3RhdGVtZW50CiAgICAgICAgd2l0aCBbRGV2aWNlXSBEZXZpY2UKICAgICAgICAgIHN1Y2ggdGhhdCBMYXN0KFNwbGl0KFZhbGlkRGV2aWNlVXNlU3RhdGVtZW50LmRldmljZS5yZWZlcmVuY2UsICcvJykpID0gRGV2aWNlLmlkCiAgICAgICAgICAgIGFuZCAoRGV2aWNlLnR5cGUgaW4gIlZlbm91cyBmb290IHB1bXBzIChWRlApIgogICAgICAgICAgICAgIG9yIERldmljZS50eXBlIGluICJJbnRlcm1pdHRlbnQgcG5ldW1hdGljIGNvbXByZXNzaW9uIGRldmljZXMgKElQQykiCiAgICAgICAgICAgICAgb3IgRGV2aWNlLnR5cGUgaW4gIkdyYWR1YXRlZCBjb21wcmVzc2lvbiBzdG9ja2luZ3MgKEdDUykiCiAgICAgICAgICAgICkKICAgICkgRGV2aWNlQXBwbGllZAogICAgICB3aGVyZSBEZXZpY2VBcHBsaWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICAgIHJldHVybiBDb2FsZXNjZShEZXZpY2VBcHBsaWVkLnJlY29yZGVkT24sIHN0YXJ0IG9mIERldmljZUFwcGxpZWQud2hlblVzZWQpCgovL0RvbmUKZGVmaW5lICJWVEUgUHJvcGh5bGF4aXMgUmVjZWl2ZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIjoKCSggZnJvbQoJCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkJIlZURSBQcm9waHlsYXhpcyBieSBNZWRpY2F0aW9uIEFkbWluaXN0ZXJlZCBvciBEZXZpY2UgQXBwbGllZCIgVlRFUHJvcGh5bGF4aXNEYXRlCiAgICB3aGVyZSBWVEVQcm9waHlsYXhpc0RhdGUgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpKQogICAgcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCSkKCQl1bmlvbiAoIGZyb20KCQkJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCQkJWyJQcm9jZWR1cmUiOiAiR2VuZXJhbCBvciBOZXVyYXhpYWwgQW5lc3RoZXNpYSJdIEFuZXN0aGVzaWFQcm9jZWR1cmUsCgkJCQkiVlRFIFByb3BoeWxheGlzIGJ5IE1lZGljYXRpb24gQWRtaW5pc3RlcmVkIG9yIERldmljZSBBcHBsaWVkIiBWVEVQcm9waHlsYXhpc0RhdGUKICAgICAgd2hlcmUgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQgZW5kcyAxIGRheSBhZnRlciBkYXkgb2Ygc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKICAgICAgICBhbmQgVlRFUHJvcGh5bGF4aXNEYXRlIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihlbmQgb2YgQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQpCiAgICAgIHJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJKQoKLy9Eb25lCmRlZmluZSAiTWVkaWNhdGlvbiBPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIG9yIFByb2NlZHVyZSI6CgkoIGZyb20KCQkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJCVsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogbWVkaWNhdGlvbiBpbiAiT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIGZvciBWVEUgUHJvcGh5bGF4aXMgb3IgVlRFIFRyZWF0bWVudCJdIEZhY3RvclhhTWVkaWNhdGlvbgoJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihGYWN0b3JYYU1lZGljYXRpb24uZWZmZWN0aXZlKSBzdGFydHMgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpKQoJCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkpCgkJdW5pb24gKAogICAgICBmcm9tCgkJCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCQkJWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiBtZWRpY2F0aW9uIGluICJPcmFsIEZhY3RvciBYYSBJbmhpYml0b3IgZm9yIFZURSBQcm9waHlsYXhpcyBvciBWVEUgVHJlYXRtZW50Il0gRmFjdG9yWGFNZWRpY2F0aW9uCgkJCXdoZXJlIEFuZXN0aGVzaWFQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJICBhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEFuZXN0aGVzaWFQcm9jZWR1cmUucGVyZm9ybWVkKSBlbmRzIDEgZGF5IGFmdGVyIGRheSBvZiBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihGYWN0b3JYYU1lZGljYXRpb24uZWZmZWN0aXZlKSBzdGFydHMgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKGVuZCBvZiBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQpKQoJCQlyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgoJCSkKCi8vRG9uZQpkZWZpbmUgIkVuY291bnRlciBXaXRoIFByaW9yIG9yIFByZXNlbnQgRGlhZ25vc2lzIG9mIEF0cmlhbCBGaWJyaWxsYXRpb24gb3IgVlRFIjoKCSggIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQkJd2l0aCBbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIkF0cmlhbCBGaWJyaWxsYXRpb24vRmx1dHRlciJdIEF0cmlhbEZpYnJpbGxhdGlvbgoJCQkJc3VjaCB0aGF0IEF0cmlhbEZpYnJpbGxhdGlvbi5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnCiAgCQkJCWFuZCBBdHJpYWxGaWJyaWxsYXRpb24udmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKICAJCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIE9uc2V0IihBdHJpYWxGaWJyaWxsYXRpb24ub25zZXQpIG9uIG9yIGJlZm9yZSBlbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCSkKCQl1bmlvbiAoICJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJCQl3aGVyZSBHbG9iYWwuRW5jb3VudGVyRGlhZ25vc2lzKFF1YWxpZnlpbmdFbmNvdW50ZXIpLmNvZGUgaW4gIkF0cmlhbCBGaWJyaWxsYXRpb24vRmx1dHRlciIKCQkJKQoJCXVuaW9uICggIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQkJCXdpdGggWyJDb25kaXRpb24iOiBjb2RlIGluICJWZW5vdXMgVGhyb21ib2VtYm9saXNtIl0gVlRFRGlhZ25vc2lzCgkJCQkJc3VjaCB0aGF0IFZURURpYWdub3Npcy5jbGluaWNhbFN0YXR1cyBpbiB7ICdpbmFjdGl2ZScsICdyZW1pc3Npb24nLCAncmVzb2x2ZWQnIH0KICAJCQkJCWFuZCBWVEVEaWFnbm9zaXMudmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKICAJCQkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoVlRFRGlhZ25vc2lzLm9uc2V0KSBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkKCQkpCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBJQ1UgTG9jYXRpb24gU3RheSAxIERheSBvciBNb3JlIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2hlcmUgZXhpc3RzICgKICAgICAgUXVhbGlmeWluZ0VuY291bnRlci5sb2NhdGlvbiBMb2NhdGlvbgogIAkJCXdoZXJlIEdsb2JhbC5HZXRMb2NhdGlvbihMb2NhdGlvbi5sb2NhdGlvbikudHlwZSBpbiAiSW50ZW5zaXZlIENhcmUgVW5pdCIKICAJCQkJYW5kIEdsb2JhbC4iTGVuZ3RoSW5EYXlzIihMb2NhdGlvbi5wZXJpb2QpPj0gMQogIAkJCQlhbmQgTG9jYXRpb24ucGVyaW9kIHN0YXJ0cyBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChRdWFsaWZ5aW5nRW5jb3VudGVyLnBlcmlvZCkpCgkJKQoKLy9Eb25lCmRlZmluZSAiRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBvZiBNZW50YWwgRGlzb3JkZXIgb3IgU3Ryb2tlIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2hlcmUKICAgICAgLy9Db25uZWN0YXRob246IHN0aWxsIGJyb2tlbjogdGVtcG9yYXJpbHkgcmVtb3ZlZCBwZW5kaW5nIEhBUEkgRkhJUiBzZXJ2ZXIgZml4IGZvciBtYXhDbGF1c2VDb3VudCA+IDEwMjQKICAgICAgLy9HbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKFF1YWxpZnlpbmdFbmNvdW50ZXIpLmNvZGUgaW4gIk1lbnRhbCBIZWFsdGggRGlhZ25vc2VzIgogICAgICAvL29yCiAgICAgIEdsb2JhbC5QcmluY2lwYWxEaWFnbm9zaXMoUXVhbGlmeWluZ0VuY291bnRlcikuY29kZSBpbiAiSGVtb3JyaGFnaWMgU3Ryb2tlIgoJCQlvciBHbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKFF1YWxpZnlpbmdFbmNvdW50ZXIpLmNvZGUgaW4gIklzY2hlbWljIFN0cm9rZSIKCi8vRG9uZQovLyBUT0RPOiBEZWZpbmUgYW4gb3JkaW5hbGl0eSBleHRlbnNpb24gdG8gYSBQcm9jZWR1cmUgcHJvZmlsZSBhbmQgYXNrIFBhdGllbnQgQWRtaW5pc3RyYXRpb24gYW5kL29yIFBhdGllbnQgQ2FyZSB0byByZXZpZXcKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBQcmluY2lwYWwgUHJvY2VkdXJlIG9mIFNDSVAgVlRFIFNlbGVjdGVkIFN1cmdlcnkiOgoJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIKCQkvL0Nvbm5lY3RhdGhvbjogcGVuZGluZyBjcWxfZW5naW5lIGZpeCAjMjYyIChGSElSIDMuMC4wIG1vZGVsIGluZm8gaXNzdWUgd2l0aCBFeHRlbnNpb24udXJsKQoJCXdpdGggKCAiU0NJUCBWVEUgU2VsZWN0ZWQgU3VyZ2VyeSIgUHJvY2VkdXJlCiAgICAgIC8vIFRPRE86IFZhbGlkYXRlIHRoYXQgdGhpcyBpcyB0aGUgY29ycmVjdCB3YXkgdG8gaW5kaWNhdGUgcHJpbmNpcGFsIHByb2NlZHVyZQoJCQl3aGVyZSBHbG9iYWwuR2V0RXh0ZW5zaW9uKFByb2NlZHVyZSwgJ29yZGluYWxpdHknKS52YWx1ZSB+ICJQcmluY2lwYWwiICkgU2VsZWN0ZWRQcm9jZWR1cmUKCQkJc3VjaCB0aGF0IEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihTZWxlY3RlZFByb2NlZHVyZS5wZXJmb3JtZWQpIGR1cmluZyBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoKLy9Eb25lCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6CgkiRW5jb3VudGVyIExlc3MgVGhhbiAyIERheXMiCgkJdW5pb24gIkVuY291bnRlciBXaXRoIElDVSBMb2NhdGlvbiBTdGF5IDEgRGF5IG9yIE1vcmUiCgkJdW5pb24gIkVuY291bnRlciBXaXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgb2YgTWVudGFsIERpc29yZGVyIG9yIFN0cm9rZSIKCQl1bmlvbiAiRW5jb3VudGVyIFdpdGggUHJpbmNpcGFsIFByb2NlZHVyZSBvZiBTQ0lQIFZURSBTZWxlY3RlZCBTdXJnZXJ5IgoJCXVuaW9uICJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFN0YXJ0IG9mIEhvc3BpdGFsaXphdGlvbiIKCQl1bmlvbiAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIjoKCSggR2xvYmFsLiJJbnBhdGllbnQgRW5jb3VudGVyIiBJbnBhdGllbnRFbmNvdW50ZXIKCQkJd2l0aCBbIlBhdGllbnQiXSBCaXJ0aERhdGUKCQkJCXN1Y2ggdGhhdCBHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihUb0RhdGVUaW1lKEJpcnRoRGF0ZS5iaXJ0aERhdGUpLCBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKElucGF0aWVudEVuY291bnRlci5wZXJpb2QpKSA+PSAxOAoJKQoJCWludGVyc2VjdCAiQWRtaXNzaW9uIFdpdGhvdXQgVlRFIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiCgovL0RvbmUKZGVmaW5lICJFbmNvdW50ZXIgV2l0aCBQcmlvciBvciBQcmVzZW50IFByb2NlZHVyZSBvZiBIaXAgb3IgS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2l0aCAoIFsiUHJvY2VkdXJlIjogIkhpcCBSZXBsYWNlbWVudCBTdXJnZXJ5Il0KCQkJdW5pb24gWyJQcm9jZWR1cmUiOiAiS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5Il0gKSBIaXBLbmVlUHJvY2VkdXJlCgkJCXN1Y2ggdGhhdCBIaXBLbmVlUHJvY2VkdXJlLnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEhpcEtuZWVQcm9jZWR1cmUucGVyZm9ybWVkKSBzdGFydHMgb24gb3IgYmVmb3JlIGVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoKLy9Eb25lCmRlZmluZSAiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCI6CgkiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCBEdXJpbmcgRUQgVmlzaXQiCgkJdW5pb24gIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iCgkJdW5pb24gIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIE1lZGljYWwgUmVhc29uIjoKCSggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBEdXJpbmcgRUQgVmlzaXQiCgkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gRHVyaW5nIEVEIFZpc2l0IgoJKQoJCXVuaW9uICggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiIKCQkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iCgkJKQoJCXVuaW9uICggIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIER1ZSB0byBNZWRpY2FsIFJlYXNvbiBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIFByb2NlZHVyZSIKCQkJCWludGVyc2VjdCAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBEdWUgdG8gTWVkaWNhbCBSZWFzb24gb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiCgkJKQoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgRHVyaW5nIEVEIFZpc2l0IjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiRUQgVmlzaXQiIEVEVmlzaXQsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBQYXRpZW50UmVmdXNhbAoJd2hlcmUgRURWaXNpdC5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QKCQlhbmQgQ29hbGVzY2UoUGF0aWVudFJlZnVzYWwuZWZmZWN0aXZlLCBQYXRpZW50UmVmdXNhbC5hdXRob3JlZE9uLCBQYXRpZW50UmVmdXNhbC5yZWNvcmRlZE9uKSBkdXJpbmcgRURWaXNpdC5wZXJpb2QKCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiI6Cglmcm9tCgkJIkVuY291bnRlciBXaXRoIEFnZSBSYW5nZSBhbmQgV2l0aG91dCBWVEUgRGlhZ25vc2lzIG9yIE9ic3RldHJpY2FsIENvbmRpdGlvbnMiIFF1YWxpZnlpbmdFbmNvdW50ZXIsCgkJIk5vIFZURSBQcm9waHlsYXhpcyBNZWRpY2F0aW9uIG9yIERldmljZSBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIiBQYXRpZW50UmVmdXNhbAoJd2hlcmUgQ29hbGVzY2Uoc3RhcnQgb2YgUGF0aWVudFJlZnVzYWwuZWZmZWN0aXZlLCBQYXRpZW50UmVmdXNhbC5hdXRob3JlZE9uLCBQYXRpZW50UmVmdXNhbC5yZWNvcmRlZE9uKQogICAgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKHN0YXJ0IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKQoJcmV0dXJuIFF1YWxpZnlpbmdFbmNvdW50ZXIKCi8vRG9uZQpkZWZpbmUgIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQlbIlByb2NlZHVyZSI6ICJHZW5lcmFsIG9yIE5ldXJheGlhbCBBbmVzdGhlc2lhIl0gQW5lc3RoZXNpYVByb2NlZHVyZSwKCQkiTm8gVlRFIFByb3BoeWxheGlzIE1lZGljYXRpb24gb3IgRGV2aWNlIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiIFBhdGllbnRSZWZ1c2FsCgl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQpIGVuZHMgMSBkYXkgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kCgkJYW5kIENvYWxlc2NlKHN0YXJ0IG9mIFBhdGllbnRSZWZ1c2FsLmVmZmVjdGl2ZSwgUGF0aWVudFJlZnVzYWwuYXV0aG9yZWRPbiwgUGF0aWVudFJlZnVzYWwucmVjb3JkZWRPbikKICAgICAgZHVyaW5nIFZURUlDVS4iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKGVuZCBvZiBBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkKCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBvciBEZXZpY2UgRHVlIHRvIFBhdGllbnQgUmVmdXNhbCI6CgkoICJObyBWVEUgUHJvcGh5bGF4aXMgTWVkaWNhdGlvbiBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIKCQl1bmlvbiAiTm8gVlRFIFByb3BoeWxheGlzIERldmljZSBBcHBsaWVkIG9yIE9yZGVyZWQiICkgTm9WVEVQcm9waHlsYXhpcwoJCXdoZXJlIEdsb2JhbC5HZXRFeHRlbnNpb24oTm9WVEVQcm9waHlsYXhpcywgJ25vdERvbmVSZWFzb24nKS52YWx1ZSBpbiAiUGF0aWVudCBSZWZ1c2FsIgoKLy9Eb25lCmRlZmluZSAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiOgoJIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIER1cmluZyBFRCBWaXNpdCIKCQl1bmlvbiAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24iCgkJdW5pb24gIk5vIFZURSBQcm9waHlsYXhpcyBEdWUgdG8gUGF0aWVudCBSZWZ1c2FsIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgUHJvY2VkdXJlIgoKLy9Eb25lCmRlZmluZSAiTnVtZXJhdG9yIjoKCSJWVEUgUHJvcGh5bGF4aXMgUmVjZWl2ZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBBZG1pc3Npb24gb3IgUHJvY2VkdXJlIgoJCXVuaW9uICggIk1lZGljYXRpb24gT3JhbCBGYWN0b3IgWGEgSW5oaWJpdG9yIEFkbWluaXN0ZXJlZCBvbiBEYXkgb2Ygb3IgRGF5IEFmdGVyIEFkbWlzc2lvbiBvciBQcm9jZWR1cmUiCgkJCQlpbnRlcnNlY3QgKCAiRW5jb3VudGVyIFdpdGggUHJpb3Igb3IgUHJlc2VudCBEaWFnbm9zaXMgb2YgQXRyaWFsIEZpYnJpbGxhdGlvbiBvciBWVEUiCgkJCQkJCXVuaW9uICJFbmNvdW50ZXIgV2l0aCBQcmlvciBvciBQcmVzZW50IFByb2NlZHVyZSBvZiBIaXAgb3IgS25lZSBSZXBsYWNlbWVudCBTdXJnZXJ5IgoJCQkJKQoJCSkKCQl1bmlvbiAiTG93IFJpc2sgZm9yIFZURSBvciBBbnRpY29hZ3VsYW50IEFkbWluaXN0ZXJlZCIKCQl1bmlvbiAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBNZWRpY2FsIFJlYXNvbiIKCQl1bmlvbiAiTm8gVlRFIFByb3BoeWxheGlzIER1ZSB0byBQYXRpZW50IFJlZnVzYWwiCgovL0RvbmUKZGVmaW5lICJJcyBJbiBMb3cgUmlzayBmb3IgVlRFIG9yIE9uIEFudGljb2FndWxhbnQiOgogICAgLy9Db25uZWN0YXRob246IHZlcmlmaWVkIHRoYXQgdGhpcyBpcyBjb3JyZWN0ZWQKCSggWyJPYnNlcnZhdGlvbiI6ICJSaXNrIGZvciB2ZW5vdXMgdGhyb21ib2VtYm9saXNtIl0gVlRFUmlza0Fzc2Vzc21lbnQKCQkJd2hlcmUgVlRFUmlza0Fzc2Vzc21lbnQudmFsdWUgaW4gIkxvdyBSaXNrIgoJKQoKLyoKLy8gVE9ETzogSXNzdWVzIHdpdGggY29uc3RydWN0aW5nIHRoZSBGSElSIHR5cGVzIGhlcmUuLi4KCQl1bmlvbiAoIFsiT2JzZXJ2YXRpb24iOiAiSU5SIl0gSU5STGFiVGVzdAoJCQkJd2hlcmUgSU5STGFiVGVzdC52YWx1ZSBhcyBRdWFudGl0eSA+IDMuMAoJCQkJcmV0dXJuICJPYnNlcnZhdGlvbiIgeyBpZDogSU5STGFiVGVzdC5pZCwgZWZmZWN0aXZlOiBJTlJMYWJUZXN0Lmlzc3VlZCB9CgkJKQoJCXVuaW9uICgoKCBbIk1lZGljYXRpb25BZG1pbmlzdHJhdGlvbiI6ICJVbmZyYWN0aW9uYXRlZCBIZXBhcmluIl0gVW5mcmFjdGlvbmF0ZWRIZXBhcmluCgkJCQkJd2hlcmUgVW5mcmFjdGlvbmF0ZWRIZXBhcmluLmRvc2FnZS5yb3V0ZSBpbiAiSW50cmF2ZW5vdXMgcm91dGUiCgkJCQkJCSkKCQkJCXVuaW9uIFsiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uIjogIkRpcmVjdCBUaHJvbWJpbiBJbmhpYml0b3IiXQoJCQkJdW5pb24gWyJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb24iOiAiR2x5Y29wcm90ZWluIElJYi9JSUlhIEluaGliaXRvcnMiXSApIEFudGljb2FndWxhbnRNZWRpY2F0aW9uCgkJCQkJcmV0dXJuICJPYnNlcnZhdGlvbiIgeyBpZDogQW50aWNvYWd1bGFudE1lZGljYXRpb24uaWQsIGVmZmVjdGl2ZTogc3RhcnQgb2YgZWZmZWN0aXZlfQoJCSkKKi8KCi8vRG9uZQpkZWZpbmUgIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgRHVyaW5nIEVEIFZpc2l0IjoKCWZyb20KCQkiRW5jb3VudGVyIFdpdGggQWdlIFJhbmdlIGFuZCBXaXRob3V0IFZURSBEaWFnbm9zaXMgb3IgT2JzdGV0cmljYWwgQ29uZGl0aW9ucyIgUXVhbGlmeWluZ0VuY291bnRlciwKCQkiRUQgVmlzaXQiIEVEVmlzaXQsCgkJIklzIEluIExvdyBSaXNrIGZvciBWVEUgb3IgT24gQW50aWNvYWd1bGFudCIgVlRFUmlza0Fzc2Vzc21lbnQKCXdoZXJlIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRURWaXNpdC5wZXJpb2QpIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJYW5kIFZURVJpc2tBc3Nlc3NtZW50Lmlzc3VlZCBkdXJpbmcgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRFZpc2l0LnBlcmlvZCkKCXJldHVybiBRdWFsaWZ5aW5nRW5jb3VudGVyCgovL0RvbmUKZGVmaW5lICJMb3cgUmlzayBmb3IgVlRFIG9yIEFudGljb2FndWxhbnQgQWRtaW5pc3RlcmVkIG9uIERheSBvZiBvciBEYXkgQWZ0ZXIgQWRtaXNzaW9uIjoKCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyCgkJd2l0aCAiSXMgSW4gTG93IFJpc2sgZm9yIFZURSBvciBPbiBBbnRpY29hZ3VsYW50IiBWVEVSaXNrQXNzZXNzbWVudAoJCQlzdWNoIHRoYXQgVlRFUmlza0Fzc2Vzc21lbnQuaXNzdWVkIGR1cmluZyBWVEVJQ1UuIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFF1YWxpZnlpbmdFbmNvdW50ZXIucGVyaW9kKSkKCi8vRG9uZQpkZWZpbmUgIkxvdyBSaXNrIGZvciBWVEUgb3IgQW50aWNvYWd1bGFudCBBZG1pbmlzdGVyZWQgb24gRGF5IG9mIG9yIERheSBBZnRlciBQcm9jZWR1cmUiOgoJZnJvbQoJCSJFbmNvdW50ZXIgV2l0aCBBZ2UgUmFuZ2UgYW5kIFdpdGhvdXQgVlRFIERpYWdub3NpcyBvciBPYnN0ZXRyaWNhbCBDb25kaXRpb25zIiBRdWFsaWZ5aW5nRW5jb3VudGVyLAoJCVsiUHJvY2VkdXJlIjogIkdlbmVyYWwgb3IgTmV1cmF4aWFsIEFuZXN0aGVzaWEiXSBBbmVzdGhlc2lhUHJvY2VkdXJlLAoJCSJJcyBJbiBMb3cgUmlzayBmb3IgVlRFIG9yIE9uIEFudGljb2FndWxhbnQiIFZURVJpc2tBc3Nlc3NtZW50Cgl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQW5lc3RoZXNpYVByb2NlZHVyZS5wZXJmb3JtZWQpIGVuZHMgMSBkYXkgYWZ0ZXIgZGF5IG9mIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoUXVhbGlmeWluZ0VuY291bnRlci5wZXJpb2QpCgkJYW5kIFZURVJpc2tBc3Nlc3NtZW50Lmlzc3VlZCBkdXJpbmcgVlRFSUNVLiJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIoZW5kIG9mIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihBbmVzdGhlc2lhUHJvY2VkdXJlLnBlcmZvcm1lZCkpCglyZXR1cm4gUXVhbGlmeWluZ0VuY291bnRlcgo=" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-EXM117_FHIR3-8.3.000.json b/fhir3/input/resources/library/library-EXM117_FHIR3-8.3.000.json index cdab83e4..2214e6f8 100644 --- a/fhir3/input/resources/library/library-EXM117_FHIR3-8.3.000.json +++ b/fhir3/input/resources/library/library-EXM117_FHIR3-8.3.000.json @@ -3,565 +3,452 @@ "id": "library-EXM117-FHIR3-8.3.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM117-FHIR3-8.3.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">8.3.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-Hospice-FHIR3-1.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"58\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1214</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1031</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.114.12.1007</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1219</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1224</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1001</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1009</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1059</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1060</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1053</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1061</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1062</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1032</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1063</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1064</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1037</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1217</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1216</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1073</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1032</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1025</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1170</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1066</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1067</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1001</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1009</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1039</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1221</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1215</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1033</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1026</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1024</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1007</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1056</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1223</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1218</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1009</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1001</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM117_FHIR3 version '8.3.000'\n\n/*\nChildhood Immunization Screening (CIS)\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\ninclude Hospice_FHIR3 version '1.0.000' called Hospice\n\n/*\nDescription\nPercentage of children 2 years of age who had four diphtheria, tetanus and acellular pertussis (DTaP); three polio (IPV), one measles, mumps and rubella (MMR); three H influenza type B (HiB); three hepatitis B (Hep B); one chicken pox (VZV); four pneumococcal conjugate (PCV); one hepatitis A (Hep A); two or three rotavirus (RV); and two influenza (flu) vaccines by their second birthday\n*/\n\ncodesystem "CPT": 'http://www.ama-assn.org/'\ncodesystem "CVX": 'http://www2a.cdc.gov/'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "LOINC": 'http://loinc.org'\n\nvalueset "Anaphylactic Reaction to Common Baker's Yeast": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1032'\nvalueset "Anaphylactic Reaction to DTaP Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1031'\nvalueset "Anaphylactic Reaction to Hepatitis A Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1026'\nvalueset "Anti Hepatitis A IgG Antigen Test": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1033'\nvalueset "Anti Hepatitis B Virus Surface Ab": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1073'\nvalueset "Disorders of the Immune System": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1001'\nvalueset "DTaP Vaccine Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1022'\nvalueset "DTaP Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1214'\nvalueset "Encephalopathy due to Childhood Vaccination": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.114.12.1007'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Haemophilus Influenzae Type B (HiB) Vaccine Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1043'\nvalueset "Haemophilus Influenzae Type B (HiB) Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1217'\nvalueset "Hepatitis A Vaccine Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1041'\nvalueset "Hepatitis A Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1215'\nvalueset "Hepatitis A": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1024'\nvalueset "Hepatitis B Vaccine Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1042'\nvalueset "Hepatitis B Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1216'\nvalueset "Hepatitis B": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1025'\nvalueset "HIV": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003'\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\nvalueset "Hospice care ambulatory": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15'\nvalueset "Inactivated Polio Vaccine (IPV) Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1045'\nvalueset "Inactivated Polio Vaccine (IPV)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1219'\nvalueset "Influenza Vaccine Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1044'\nvalueset "Influenza Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1218'\nvalueset "Intussusception": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1056'\nvalueset "Malignant Neoplasm of Lymphatic and Hematopoietic Tissue": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1009'\nvalueset "Measles Antibody Test (IgG Antibody presence)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1060'\nvalueset "Measles Antibody Test (IgG Antibody Titer)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1059'\nvalueset "Measles": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1053'\nvalueset "Measles, Mumps and Rubella (MMR) Vaccine Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1031'\nvalueset "Measles, Mumps and Rubella (MMR) Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1224'\nvalueset "Mumps Antibody Test (IgG Antibody presence)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1062'\nvalueset "Mumps Antibody Test (IgG Antibody Titer)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1061'\nvalueset "Mumps": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1032'\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Pneumococcal Conjugate Vaccine Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1046'\nvalueset "Pneumococcal Conjugate Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1221'\nvalueset "Positive Finding": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.121.12.1016'\nvalueset "Preventive Care Services, Initial Office Visit, 0 to 17": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022'\nvalueset "Preventive Care, Established Office Visit, 0 to 17": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Rotavirus Vaccine (3 dose schedule)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1223'\nvalueset "Rubella Antibody Test (IgG Antibody presence)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1064'\nvalueset "Rubella Antibody Test (IgG Antibody Titer)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1063'\nvalueset "Rubella": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1037'\nvalueset "Severe Combined Immunodeficiency": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1007'\nvalueset "Varicella Zoster Antibody Test (IgG Antibody Presence)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1067'\nvalueset "Varicella Zoster Antibody Test (IgG Antibody Titer)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1066'\nvalueset "Varicella Zoster Vaccine (VZV) Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1040'\nvalueset "Varicella Zoster Vaccine (VZV)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1170'\nvalueset "Varicella Zoster": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1039'\n\n// BTR -> Codes must come after value sets\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\ncode "Anaphylaxis due to Haemophilus influenzae type b vaccine (disorder)": '433621000124101' from "SNOMEDCT" display 'Anaphylaxis due to Haemophilus influenzae type b vaccine (disorder)'\ncode "Anaphylaxis due to Hepatitis B vaccine (disorder)": '433621000124101'from "SNOMEDCT" display 'Anaphylaxis due to Hepatitis B vaccine (disorder)'\ncode "Anaphylaxis due to rotavirus vaccine (disorder)": '428331000124103' from "SNOMEDCT" display 'Anaphylaxis due to rotavirus vaccine (disorder)'\ncode "Discharge to healthcare facility for hospice care (procedure)": '428371000124100' from "SNOMEDCT" display 'Discharge to healthcare facility for hospice care (procedure)'\ncode "Discharge to home for hospice care (procedure)": '428361000124107' from "SNOMEDCT" display 'Discharge to home for hospice care (procedure)'\ncode "Influenza virus vaccine adverse reaction (disorder)": '420113004' from "SNOMEDCT" display 'Influenza virus vaccine adverse reaction (disorder)'\ncode "Neomycin adverse reaction (disorder)": '292927007' from "SNOMEDCT" display 'Neomycin adverse reaction (disorder)'\ncode "Pneumococcal vaccine adverse reaction (disorder)": '293116002' from "SNOMEDCT" display 'Pneumococcal vaccine adverse reaction (disorder)'\ncode "Poliomyelitis vaccine adverse reaction (disorder)": '293117006' from "SNOMEDCT" display 'Poliomyelitis vaccine adverse reaction (disorder)'\ncode "Polymyxin B adverse reaction (disorder)": '292992006' from "SNOMEDCT" display 'Polymyxin B adverse reaction (disorder)'\ncode "Rotavirus vaccine, human, attenuated (RV1), 2 dose schedule, live, for oral use": '90681' from "SNOMEDCT" display 'Rotavirus vaccine, human, attenuated (RV1), 2 dose schedule, live, for oral use'\ncode "Rotavirus vaccine, pentavalent (RV5), 3 dose schedule, live, for oral use": '90680' from "CPT" display 'Rotavirus vaccine, pentavalent (RV5), 3 dose schedule, live, for oral use'\ncode "Rotavirus, live, monovalent vaccine": '119' from "CVX" display 'Rotavirus, live, monovalent vaccine'\ncode "Streptomycin adverse reaction (disorder)": '292925004' from "SNOMEDCT" display 'Streptomycin adverse reaction (disorder)'\n\n/*\nThis library has an explicit parameter which is the measurement year.\nWhile the actual parameter type accepts all intervals, this library\nexpects it will only be given arguments corresponding exactly to one whole\ncalendar year, and it will not behave properly otherwise; 2017 for example:\nInterval[DateTime(2017,1,1,0,0,0,0), DateTime(2018,1,1,0,0,0,0))\n*/\n\nparameter "Measurement Period" Interval<DateTime>\n/*\nThis library evaluates with respect to exactly 1 candidate patient at a time,\nthat patient being given by the special context parameter Patient.\n*/\n\ncontext Patient\n\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n SDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n SDE."SDE Sex"\n\n/*\nInitial Population\n*/\n\ndefine "Initial Population":\n\t\tGlobal."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")>= 1\n\t\t\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period")= 2\n\t\tand exists ( "Qualifying Encounter" )\n\t\tand (not Hospice."Has Hospice"("Measurement Period"))\n\ndefine "Qualifying Encounter":\n\t( ["Encounter": "Office Visit"]\n\t\tunion ["Encounter": "Home Healthcare Services"]\n\t\tunion ["Encounter": "Preventive Care, Established Office Visit, 0 to 17"]\n\t\tunion ["Encounter": "Preventive Care Services, Initial Office Visit, 0 to 17"] ) ValidEncounter\n\t\twhere ValidEncounter.status = 'finished'\n\t\t\tand ValidEncounter.period during "Measurement Period"\n\ndefine "Denominator":\n\t"Initial Population"\n\ndefine "Numerator":\n\n\t( exists ( "Four DTaP Vaccinations" )\n\t\t\tor exists ( "DTaP Numerator Inclusion Conditions" )\n\t)\n\t\tand ( exists ( "Three Polio Vaccinations" )\n\t\t\t\tor exists ( "Polio Numerator Inclusion Conditions" )\n\t\t)\n\t\tand ( exists ( "One MMR Vaccinations" )\n\t\t\t\tor exists ( "MMR Numerator Inclusion Conditions" )\n\t\t\t\tor ( exists ( "Measles Indicators" )\n\t\t\t\t\t\tand exists ( "Mumps Indicators" )\n\t\t\t\t\t\tand exists ( "Rubella Indicators" )\n\t\t\t\t)\n\t\t)\n\t\tand ( exists ( "Three Hib Vaccinations" )\n\t\t\t\tor exists ( "Hib Numerator Inclusion Conditions" )\n\t\t)\n\t\tand ( exists ( "Three Hepatitis B Vaccinations" )\n\t\t\t\tor exists ( "Hepatitis B Numerator Inclusion Conditions" )\n\t\t)\n\t\tand ( exists ( "One Chicken Pox Vaccination" )\n\t\t\t\tor exists ( "Varicella Zoster Numerator Inclusion Conditions" )\n\t\t)\n\t\tand ( exists ( "Four Pneumococcal Conjugate Vaccinations" )\n\t\t\t\tor exists ( "Pneumococcal Conjugate Numerator Inclusion Conditions" )\n\t\t)\n\t\tand ( exists ( "One Hepatitis A Vaccinations" )\n\t\t\t\tor exists ( "Hepatitis A Numerator Inclusion Conditions" )\n\t\t)\n\t\tand ( exists ( "Rotavirus 2 Dose Vaccinations" )\n\t\t\t\tor exists ( "Rotavirus Numerator Inclusion Conditions" )\n\t\t\t\tor exists ( "Rotavirus 2 or 3 Dose Vaccinations" )\n\t\t\t\tor exists ( "Rotavirus 3 Dose Vaccinations" )\n\t\t)\n\t\tand ( exists ( "Two Influenza Vaccinations" )\n\t\t\t\tor exists ( "Influenza Numerator Inclusion Conditions" "Numerator Compliant Influenza Conditions" )\n\t\t)\n\n/* How do we enact the Hospice Library\n// BTR -> Add an include for Hospice_FHIR, we've already translated that to FHIR, then you can just reference it\n*/\n define "Four DTaP Vaccinations":\n\tfrom\n\t\t"DTaP Immunizations or Procedures" DTaPVaccination1,\n\t\t"DTaP Immunizations or Procedures" DTaPVaccination2,\n\t\t"DTaP Immunizations or Procedures" DTaPVaccination3,\n\t\t"DTaP Immunizations or Procedures" DTaPVaccination4\n\t\twhere DTaPVaccination2.date 1 day or more after day of DTaPVaccination1.date\n\t\t\tand DTaPVaccination3.date 1 day or more after day of DTaPVaccination2.date\n\t\t\tand DTaPVaccination4.date 1 day or more after day of DTaPVaccination3.date\n\t\treturn DTaPVaccination1\n\ndefine "DTaP Immunizations or Procedures":\n\t["Immunization" : "DTaP Vaccine"] DTaP\n\t\twhere DTaP.status = 'completed'\n\t\t\tand ( Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), DTaP.date) >= 42 )\n\t\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), DTaP.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, DTaP.date)\n )\n\ndefine "DTaP Numerator Inclusion Conditions":\n\t(\n ["Condition": "Anaphylactic Reaction to DTaP Vaccine"]\n\t\t union ["Condition": "Encephalopathy due to Childhood Vaccination"]\n ) DTaPConditions\n\t\t where DTaPConditions.verificationStatus = 'confirmed'\n\t\t\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), DTaPConditions.onset."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, DTaPConditions.onset."start")\n )\n\ndefine "Three Polio Vaccinations":\n\tfrom\n "Polio Immunizations or Procedures" PolioVaccination1,\n\t\t"Polio Immunizations or Procedures" PolioVaccination2,\n\t\t"Polio Immunizations or Procedures" PolioVaccination3\n\t\twhere PolioVaccination2.date 1 day or more after day of PolioVaccination1.date\n\t\t\tand PolioVaccination3.date 1 day or more after day of PolioVaccination2.date\n\t\treturn PolioVaccination1\n\n define "Polio Immunizations or Procedures":\n\t["Immunization": "Inactivated Polio Vaccine (IPV)"] PolioVaccination\n\t\twhere PolioVaccination.status ~ 'completed'\n\t\tand (Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), PolioVaccination.date) >= 42 )\n\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), PolioVaccination.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, PolioVaccination.date)\n )\n\ndefine "Polio Numerator Inclusion Conditions":\n\t( ["Condition": "Poliomyelitis vaccine adverse reaction (disorder)"]\n\t\tunion ["Condition": "Streptomycin adverse reaction (disorder)"]\n\t\tunion ["Condition": "Polymyxin B adverse reaction (disorder)"]\n\t\tunion ["Condition": "Neomycin adverse reaction (disorder)"] ) PolioConditions\n\t\t\twhere PolioConditions.verificationStatus ~ 'confirmed'\n\t\t\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), PolioConditions.onset."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, PolioConditions.onset."start")\n )\n\ndefine "One MMR Vaccinations":\n\t["Immunization": "Measles, Mumps and Rubella (MMR) Vaccine"] MMRVaccination\n\t\twhere MMRVaccination.status ~ 'completed'\n\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), MMRVaccination.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, MMRVaccination.date)\n )\n\ndefine "MMR Numerator Inclusion Conditions":\n\t(\n ["Condition": "Disorders of the Immune System"]\n \t\tunion ["Condition": "HIV"]\n \t\tunion ["Condition": "Malignant Neoplasm of Lymphatic and Hematopoietic Tissue"]\n \t\tunion ["Condition": "Neomycin adverse reaction (disorder)"]\n ) MMRConditions\n\t\t\twhere MMRConditions.verificationStatus ~ 'confirmed'\n\t\t\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), MMRConditions.onset."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, MMRConditions.onset."start")\n )\n\ndefine "Measles Indicators":\n\t(\n (\n ["Observation": "Measles Antibody Test (IgG Antibody Titer)"] MeaslesTiter\n \twhere MeaslesTiter.status in {'final', 'amended'}\n \tand MeaslesTiter.value >= 1.10\n )\n\t\tunion (\n ["Observation": "Measles Antibody Test (IgG Antibody presence)"] MeaslesIgGPresence\n \t\t\twhere MeaslesIgGPresence.status in {'final', 'amended'}\n \t\t\tand MeaslesIgGPresence.interpretation in "Positive Finding"\n\t\t)\n\t\tunion (\n ["Condition": "Measles"] MeaslesDiagnosis\n \t\t\twhere MeaslesDiagnosis.verificationStatus ~ 'confirmed'\n \t\t\treturn "Observation" { effective: MeaslesDiagnosis.onset }\n\t\t)\n ) Measles\n\t\t\twhere Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), Measles.effective."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, Measles.effective."start")\n\ndefine "Mumps Indicators":\n\t(\n (\n ["Observation": "Mumps Antibody Test (IgG Antibody Titer)"] MumpsTiter\n \twhere MumpsTiter.status in {'final', 'amended'}\n \tand MumpsTiter.value >= 1.10\n )\n\t\tunion (\n ["Observation": "Mumps Antibody Test (IgG Antibody presence)"] MumpsIgGPresence\n \t\t\twhere MumpsIgGPresence.status in {'final', 'amended'}\n \t\t\tand MumpsIgGPresence.interpretation in "Positive Finding"\n\t\t)\n\t\tunion (\n ["Condition": "Mumps"] MumpsDiagnosis\n \t\t\twhere MumpsDiagnosis.verificationStatus ~ 'confirmed'\n \t\t\treturn "Observation" { effective: MumpsDiagnosis.onset }\n\t\t)\n ) Measles\n\t\t\twhere Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), Measles.effective."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, Measles.effective."start")\n\ndefine "Rubella Indicators":\n\t(\n (\n ["Observation": "Rubella Antibody Test (IgG Antibody Titer)"] RubellaTiter\n \twhere RubellaTiter.status in {'final', 'amended'}\n \tand RubellaTiter.value >= 1.10\n )\n\t\tunion (\n ["Observation": "Rubella Antibody Test (IgG Antibody presence)"] RubellaIgGPresence\n \t\t\twhere RubellaIgGPresence.status in {'final', 'amended'}\n \t\t\tand RubellaIgGPresence.interpretation in "Positive Finding"\n\t\t)\n\t\tunion (\n ["Condition": "Rubella"] RubellaDiagnosis\n \t\t\twhere RubellaDiagnosis.verificationStatus ~ 'confirmed'\n \t\t\treturn "Observation" { effective: RubellaDiagnosis.onset }\n\t\t)\n ) Rubella\n\t\t\twhere Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), Rubella.effective."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, Rubella.effective."start")\n\ndefine "Three Hib Vaccinations":\n\tfrom\n\t\t"Hib Immunizations or Procedures" HiBVaccination1,\n\t\t"Hib Immunizations or Procedures" HiBVaccination2,\n\t\t"Hib Immunizations or Procedures" HiBVaccination3\n\t\twhere HiBVaccination2.date 1 day or more after day of HiBVaccination1.date\n\t\t\tand HiBVaccination3.date 1 day or more after day of HiBVaccination2.date\n\t\treturn HiBVaccination1\n\ndefine "Hib Immunizations or Procedures":\n\t["Immunization": "Haemophilus Influenzae Type B (HiB) Vaccine"] HibVaccination\n\t\twhere HibVaccination.status ~ 'completed'\n\t\tand ( Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), HibVaccination.date) >= 42 )\n\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), HibVaccination.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, HibVaccination.date)\n )\n\ndefine "Hib Numerator Inclusion Conditions":\n\t["Condition": "Anaphylaxis due to Haemophilus influenzae type b vaccine (disorder)"] HibReaction\n\t\twhere HibReaction.verificationStatus ~ 'confirmed'\n\t\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), HibReaction.onset."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, HibReaction.onset."start")\n )\n\ndefine "Three Hepatitis B Vaccinations":\n\tfrom\n\t\t"Hepatitis B Immunizations or Procedures" HepatitisBVaccination1,\n\t\t"Hepatitis B Immunizations or Procedures" HepatitisBVaccination2,\n\t\t"Hepatitis B Immunizations or Procedures" HepatitisBVaccination3\n\t\twhere HepatitisBVaccination2.date 1 day or more after day of HepatitisBVaccination1.date\n\t\t\tand HepatitisBVaccination3.date 1 day or more after day of HepatitisBVaccination2.date\n\t\treturn HepatitisBVaccination1\n\ndefine "Hepatitis B Immunizations or Procedures":\n\t["Immunization": "Hepatitis B Vaccine"] HepatitisBVaccination\n\t\twhere HepatitisBVaccination.status = 'completed'\n\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), HepatitisBVaccination.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, HepatitisBVaccination.date)\n )\n\ndefine "Hepatitis B Numerator Inclusion Conditions":\n\t(\n (\n ["Observation": "Anti Hepatitis B Virus Surface Ab"] HepatitisBAntigenTest\n \twhere HepatitisBAntigenTest.status in {'final', 'amended'}\n \tand HepatitisBAntigenTest.interpretation in "Positive Finding"\n )\n\t\tunion (\n ["Condition": "Anaphylaxis due to Hepatitis B vaccine (disorder)"] HepatitisBReaction\n\t\t\t\twhere HepatitisBReaction.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: HepatitisBReaction.onset }\n\t\t)\n\t\tunion (\n ["Condition": "Anaphylactic Reaction to Common Baker's Yeast"] YeastReaction\n\t\t\t\twhere YeastReaction.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: YeastReaction.onset }\n\t\t)\n\t\tunion (\n ["Condition": "Hepatitis B"] HepatitisBDiagnosis\n\t\t\t\twhere HepatitisBDiagnosis.verificationStatus = 'confirmed'\n\t\t\t\treturn "Observation" { effective: HepatitisBDiagnosis.onset }\n\t\t)\n ) HepBConditions\n\t\t\twhere (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), HepBConditions.effective."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, HepBConditions.effective."start")\n )\n\ndefine "One Chicken Pox Vaccination":\n\t["Immunization": "Varicella Zoster Vaccine (VZV)"] ChickenPoxVaccination\n\t\twhere ChickenPoxVaccination.status ~ 'completed'\n\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), ChickenPoxVaccination.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, ChickenPoxVaccination.date)\n )\n\ndefine "Varicella Zoster Numerator Inclusion Conditions":\n\t(\n (\n ["Observation": "Varicella Zoster Antibody Test (IgG Antibody Titer)"] ChickenPoxTiter\n where ChickenPoxTiter.status in {'final' , 'amended'}\n and ChickenPoxTiter.value >= 1.10\n )\n\t\tunion (\n ["Observation": "Varicella Zoster Antibody Test (IgG Antibody Presence)"] ChickenPoxIgGPresence\n\t\t\t\twhere ChickenPoxIgGPresence.status in {'final' , 'amended'}\n\t\t\t\tand ChickenPoxIgGPresence.interpretation in "Positive Finding"\n\t\t)\n\t\tunion (\n ["Condition": "Disorders of the Immune System"] ImmuneDisorder\n\t\t\t\twhere ImmuneDisorder.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: ImmuneDisorder.onset }\n\t\t)\n\t\tunion (\n ["Condition": "HIV"] HIV\n\t\t\t\twhere HIV.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: HIV.onset }\n\t\t)\n\t\tunion (\n ["Condition": "Malignant Neoplasm of Lymphatic and Hematopoietic Tissue"] LymphaticMalignantNeoplasm\n\t\t\t\twhere LymphaticMalignantNeoplasm.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: LymphaticMalignantNeoplasm.onset }\n\t\t)\n\t\tunion (\n ["Condition": "Neomycin adverse reaction (disorder)"] NeomycinReaction\n\t\t\t\twhere NeomycinReaction.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: NeomycinReaction.onset }\n\t\t)\n\t\tunion (\n ["Condition": "Varicella Zoster"] VaricellaZoster\n\t\t\t\twhere VaricellaZoster.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: VaricellaZoster.onset }\n\t\t)\n ) VaricellaZosterConditions\n\t\t\twhere (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), VaricellaZosterConditions.effective."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, VaricellaZosterConditions.effective."start")\n )\n\ndefine "Four Pneumococcal Conjugate Vaccinations":\n\tfrom\n\t\t"Pneumococcal Conjugate Immunizations or Procedures" PneumococcalVaccination1,\n\t\t"Pneumococcal Conjugate Immunizations or Procedures" PneumococcalVaccination2,\n\t\t"Pneumococcal Conjugate Immunizations or Procedures" PneumococcalVaccination3,\n\t\t"Pneumococcal Conjugate Immunizations or Procedures" PneumococcalVaccination4\n \t\twhere PneumococcalVaccination2.date 1 day or more after day of PneumococcalVaccination1.date\n \t\t\tand PneumococcalVaccination3.date 1 day or more after day of PneumococcalVaccination2.date\n \t\t\tand PneumococcalVaccination4.date 1 day or more after day of PneumococcalVaccination3.date\n \t\treturn PneumococcalVaccination1\n\ndefine "Pneumococcal Conjugate Immunizations or Procedures":\n ["Immunization": "Pneumococcal Conjugate Vaccine"] PneumococcalVaccination\n where PneumococcalVaccination.status ~ 'completed'\n and ( Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), PneumococcalVaccination.date) >= 42 )\n and (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), PneumococcalVaccination.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, PneumococcalVaccination.date)\n )\n\ndefine "Pneumococcal Conjugate Numerator Inclusion Conditions":\n\t["Condition": "Pneumococcal vaccine adverse reaction (disorder)"] PneumococcalReaction\n\t\twhere PneumococcalReaction.verificationStatus ~ 'confirmed'\n\t\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), PneumococcalReaction.onset."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, PneumococcalReaction.onset."start")\n )\n\ndefine "One Hepatitis A Vaccinations":\n\t["Immunization": "Hepatitis A Vaccine"] HepatitisAVaccination\n\t\twhere HepatitisAVaccination.status ~ 'completed'\n\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), HepatitisAVaccination.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, HepatitisAVaccination.date)\n )\n\ndefine "Hepatitis A Numerator Inclusion Conditions":\n\t(\n (\n ["Observation": "Anti Hepatitis A IgG Antigen Test"] HepatitisAAntigenTest\n where HepatitisAAntigenTest.status in {'final' , 'amended'}\n \tand HepatitisAAntigenTest.interpretation in "Positive Finding"\n )\n\t\tunion (\n ["Condition": "Anaphylactic Reaction to Hepatitis A Vaccine"] HepatitisAReaction\n\t\t\t\twhere HepatitisAReaction.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: HepatitisAReaction.onset }\n\t\t)\n\t\tunion (\n ["Condition": "Hepatitis A"] HepatitisADiagnosis\n\t\t\t\twhere HepatitisADiagnosis.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: HepatitisADiagnosis.onset }\n\t\t)\n ) HepatitisAConditions\n\t\t\twhere (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), HepatitisAConditions.effective."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, HepatitisAConditions.effective."start")\n )\n\ndefine "Rotavirus 2 Dose Immunizations or Procedures":\n ["Immunization": "Rotavirus, live, monovalent vaccine"] TwoDoseRotavirus\n \twhere TwoDoseRotavirus.status ~ 'completed'\n \tand ( Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), TwoDoseRotavirus.date) >= 42 )\n \tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), TwoDoseRotavirus.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, TwoDoseRotavirus.date)\n )\n\ndefine "Rotavirus 3 Dose Immunizations or Procedures":\n ["Immunization": "Rotavirus Vaccine (3 dose schedule)"] ThreeDoseRotavirus\n \twhere ThreeDoseRotavirus.status ~ 'completed'\n \tand ( Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), ThreeDoseRotavirus.date) >= 42 )\n \tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), ThreeDoseRotavirus.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, ThreeDoseRotavirus.date)\n )\n\ndefine "Rotavirus 2 or 3 Dose Vaccinations":\n "Rotavirus 2 Dose Vaccination Followed by Two Rotavirus 3 Dose Vaccinations"\n \tunion "Rotavirus 3 Dose Vaccination Followed by A Rotavirus 2 Dose Vaccination and A Rotavirus 3 Dose Vaccination"\n \tunion "Rotavirus 3 Dose Vaccinations Followed by One Rotavirus 2 Dose Vaccination"\n\ndefine "Rotavirus 2 Dose Vaccination Followed by Two Rotavirus 3 Dose Vaccinations":\n\tfrom\n\t\t"Rotavirus 2 Dose Immunizations or Procedures" Rotavirus233Vaccination1,\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus233Vaccination2,\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus233Vaccination3\n\t\twhere Rotavirus233Vaccination2.date 1 day or more after day of Rotavirus233Vaccination1.date\n\t\t\tand Rotavirus233Vaccination3.date 1 day or more after day of Rotavirus233Vaccination2.date\n\t\treturn Rotavirus233Vaccination1\n\ndefine "Rotavirus 2 Dose Vaccinations":\n\tfrom\n\t\t"Rotavirus 2 Dose Immunizations or Procedures" Rotavirus2Vaccination1,\n\t\t"Rotavirus 2 Dose Immunizations or Procedures" Rotavirus2Vaccination2\n\t\twhere Rotavirus2Vaccination2.date 1 day or more after day of Rotavirus2Vaccination1.date\n\t\treturn Rotavirus2Vaccination1\n\ndefine "Rotavirus 3 Dose Vaccination Followed by A Rotavirus 2 Dose Vaccination and A Rotavirus 3 Dose Vaccination":\n\tfrom\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus323Vaccination1,\n\t\t"Rotavirus 2 Dose Immunizations or Procedures" Rotavirus323Vaccination2,\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus323Vaccination3\n\t\twhere Rotavirus323Vaccination2.date 1 day or more after day of Rotavirus323Vaccination1.date\n\t\t\tand Rotavirus323Vaccination3.date 1 day or more after day of Rotavirus323Vaccination2.date\n\t\treturn Rotavirus323Vaccination1\n\ndefine "Rotavirus 3 Dose Vaccinations":\n\tfrom\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus3Vaccination1,\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus3Vaccination2,\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus3Vaccination3\n\t\twhere Rotavirus3Vaccination2.date 1 day or more after day of Rotavirus3Vaccination1.date\n\t\t\tand Rotavirus3Vaccination3.date 1 day or more after day of Rotavirus3Vaccination2.date\n\t\treturn Rotavirus3Vaccination1\n\ndefine "Rotavirus 3 Dose Vaccinations Followed by One Rotavirus 2 Dose Vaccination":\n\tfrom\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus332Vaccination1,\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus332Vaccination2,\n\t\t"Rotavirus 2 Dose Immunizations or Procedures" Rotavirus332Vaccination3\n\t\twhere Rotavirus332Vaccination2.date 1 day or more after day of Rotavirus332Vaccination1.date\n\t\t\tand Rotavirus332Vaccination3.date 1 day or more after day of Rotavirus332Vaccination2.date\n\t\treturn Rotavirus332Vaccination1\n\ndefine "Rotavirus Numerator Inclusion Conditions":\n\t(\n ["Condition": "Anaphylaxis due to rotavirus vaccine (disorder)"]\n\t\t\tunion ["Condition": "Severe Combined Immunodeficiency"]\n\t\t\tunion ["Condition": "Intussusception"]\n ) RotavirusConditions\n\t\t\twhere RotavirusConditions.verificationStatus ~ 'confirmed'\n\t\t\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), RotavirusConditions.onset."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, RotavirusConditions.onset."start")\n )\n\n define "Two Influenza Vaccinations":\n\tfrom\n\t\t"Influenza Immunizations or Procedures" FluVaccination1,\n\t\t"Influenza Immunizations or Procedures" FluVaccination2\n \t\twhere FluVaccination2.date 1 day or more after day of FluVaccination1.date\n \t\treturn FluVaccination1\n\ndefine "Influenza Immunizations or Procedures":\n ["Immunization": "Influenza Vaccine"] InfluenzaVaccination\n \twhere InfluenzaVaccination.status ~ 'completed'\n \t\tand ( Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), InfluenzaVaccination.date) >= 180 )\n \t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), InfluenzaVaccination.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, InfluenzaVaccination.date)\n )\n\ndefine "Influenza Numerator Inclusion Conditions":\n\t(\n ["Condition": "Influenza virus vaccine adverse reaction (disorder)"]\n \t\tunion ["Condition": "Malignant Neoplasm of Lymphatic and Hematopoietic Tissue"]\n \t\tunion ["Condition": "Neomycin adverse reaction (disorder)"]\n \t\tunion ["Condition": "HIV"]\n \t\tunion ["Condition": "Disorders of the Immune System"]\n ) InfluenzaConditions\n\t\t\twhere InfluenzaConditions.verificationStatus ~ 'confirmed'\n\t\t\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), InfluenzaConditions.onset."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, InfluenzaConditions.onset."start")\n )\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM117-FHIR3-8.3.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">8.3.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-Hospice-FHIR3-1.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"58\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1214</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1031</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.114.12.1007</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1219</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1224</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1001</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1009</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1059</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1060</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1053</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1061</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1062</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1032</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1063</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1064</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1037</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1217</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1216</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1073</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1032</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1025</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1170</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1066</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1067</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1001</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1009</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1039</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1221</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1215</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1033</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1026</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1024</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1007</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1056</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1223</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Immunization</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>vaccineCode</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1218</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1009</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1001</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM117_FHIR3 version '8.3.000'\n\n/*\nChildhood Immunization Screening (CIS)\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\ninclude Hospice_FHIR3 version '1.0.000' called Hospice\n\n/*\nDescription\nPercentage of children 2 years of age who had four diphtheria, tetanus and acellular pertussis (DTaP); three polio (IPV), one measles, mumps and rubella (MMR); three H influenza type B (HiB); three hepatitis B (Hep B); one chicken pox (VZV); four pneumococcal conjugate (PCV); one hepatitis A (Hep A); two or three rotavirus (RV); and two influenza (flu) vaccines by their second birthday\n*/\n\ncodesystem "CPT": 'http://www.ama-assn.org/'\ncodesystem "CVX": 'http://www2a.cdc.gov/'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "LOINC": 'http://loinc.org'\n\nvalueset "Anaphylactic Reaction to Common Baker's Yeast": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1032'\nvalueset "Anaphylactic Reaction to DTaP Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1031'\nvalueset "Anaphylactic Reaction to Hepatitis A Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1026'\nvalueset "Anti Hepatitis A IgG Antigen Test": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1033'\nvalueset "Anti Hepatitis B Virus Surface Ab": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1073'\nvalueset "Disorders of the Immune System": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1001'\nvalueset "DTaP Vaccine Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1022'\nvalueset "DTaP Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1214'\nvalueset "Encephalopathy due to Childhood Vaccination": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.114.12.1007'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Haemophilus Influenzae Type B (HiB) Vaccine Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1043'\nvalueset "Haemophilus Influenzae Type B (HiB) Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1217'\nvalueset "Hepatitis A Vaccine Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1041'\nvalueset "Hepatitis A Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1215'\nvalueset "Hepatitis A": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1024'\nvalueset "Hepatitis B Vaccine Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1042'\nvalueset "Hepatitis B Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1216'\nvalueset "Hepatitis B": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1025'\nvalueset "HIV": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003'\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\nvalueset "Hospice care ambulatory": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15'\nvalueset "Inactivated Polio Vaccine (IPV) Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1045'\nvalueset "Inactivated Polio Vaccine (IPV)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1219'\nvalueset "Influenza Vaccine Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1044'\nvalueset "Influenza Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1218'\nvalueset "Intussusception": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1056'\nvalueset "Malignant Neoplasm of Lymphatic and Hematopoietic Tissue": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1009'\nvalueset "Measles Antibody Test (IgG Antibody presence)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1060'\nvalueset "Measles Antibody Test (IgG Antibody Titer)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1059'\nvalueset "Measles": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1053'\nvalueset "Measles, Mumps and Rubella (MMR) Vaccine Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1031'\nvalueset "Measles, Mumps and Rubella (MMR) Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1224'\nvalueset "Mumps Antibody Test (IgG Antibody presence)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1062'\nvalueset "Mumps Antibody Test (IgG Antibody Titer)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1061'\nvalueset "Mumps": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1032'\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Pneumococcal Conjugate Vaccine Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1046'\nvalueset "Pneumococcal Conjugate Vaccine": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1221'\nvalueset "Positive Finding": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.121.12.1016'\nvalueset "Preventive Care Services, Initial Office Visit, 0 to 17": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022'\nvalueset "Preventive Care, Established Office Visit, 0 to 17": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Rotavirus Vaccine (3 dose schedule)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1223'\nvalueset "Rubella Antibody Test (IgG Antibody presence)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1064'\nvalueset "Rubella Antibody Test (IgG Antibody Titer)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1063'\nvalueset "Rubella": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1037'\nvalueset "Severe Combined Immunodeficiency": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1007'\nvalueset "Varicella Zoster Antibody Test (IgG Antibody Presence)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1067'\nvalueset "Varicella Zoster Antibody Test (IgG Antibody Titer)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1066'\nvalueset "Varicella Zoster Vaccine (VZV) Administered": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1040'\nvalueset "Varicella Zoster Vaccine (VZV)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1170'\nvalueset "Varicella Zoster": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1039'\n\n// BTR -> Codes must come after value sets\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\ncode "Anaphylaxis due to Haemophilus influenzae type b vaccine (disorder)": '433621000124101' from "SNOMEDCT" display 'Anaphylaxis due to Haemophilus influenzae type b vaccine (disorder)'\ncode "Anaphylaxis due to Hepatitis B vaccine (disorder)": '433621000124101'from "SNOMEDCT" display 'Anaphylaxis due to Hepatitis B vaccine (disorder)'\ncode "Anaphylaxis due to rotavirus vaccine (disorder)": '428331000124103' from "SNOMEDCT" display 'Anaphylaxis due to rotavirus vaccine (disorder)'\ncode "Discharge to healthcare facility for hospice care (procedure)": '428371000124100' from "SNOMEDCT" display 'Discharge to healthcare facility for hospice care (procedure)'\ncode "Discharge to home for hospice care (procedure)": '428361000124107' from "SNOMEDCT" display 'Discharge to home for hospice care (procedure)'\ncode "Influenza virus vaccine adverse reaction (disorder)": '420113004' from "SNOMEDCT" display 'Influenza virus vaccine adverse reaction (disorder)'\ncode "Neomycin adverse reaction (disorder)": '292927007' from "SNOMEDCT" display 'Neomycin adverse reaction (disorder)'\ncode "Pneumococcal vaccine adverse reaction (disorder)": '293116002' from "SNOMEDCT" display 'Pneumococcal vaccine adverse reaction (disorder)'\ncode "Poliomyelitis vaccine adverse reaction (disorder)": '293117006' from "SNOMEDCT" display 'Poliomyelitis vaccine adverse reaction (disorder)'\ncode "Polymyxin B adverse reaction (disorder)": '292992006' from "SNOMEDCT" display 'Polymyxin B adverse reaction (disorder)'\ncode "Rotavirus vaccine, human, attenuated (RV1), 2 dose schedule, live, for oral use": '90681' from "SNOMEDCT" display 'Rotavirus vaccine, human, attenuated (RV1), 2 dose schedule, live, for oral use'\ncode "Rotavirus vaccine, pentavalent (RV5), 3 dose schedule, live, for oral use": '90680' from "CPT" display 'Rotavirus vaccine, pentavalent (RV5), 3 dose schedule, live, for oral use'\ncode "Rotavirus, live, monovalent vaccine": '119' from "CVX" display 'Rotavirus, live, monovalent vaccine'\ncode "Streptomycin adverse reaction (disorder)": '292925004' from "SNOMEDCT" display 'Streptomycin adverse reaction (disorder)'\n\n/*\nThis library has an explicit parameter which is the measurement year.\nWhile the actual parameter type accepts all intervals, this library\nexpects it will only be given arguments corresponding exactly to one whole\ncalendar year, and it will not behave properly otherwise; 2017 for example:\nInterval[DateTime(2017,1,1,0,0,0,0), DateTime(2018,1,1,0,0,0,0))\n*/\n\nparameter "Measurement Period" Interval<DateTime>\n/*\nThis library evaluates with respect to exactly 1 candidate patient at a time,\nthat patient being given by the special context parameter Patient.\n*/\n\ncontext Patient\n\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n SDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n SDE."SDE Sex"\n\n/*\nInitial Population\n*/\n\ndefine "Initial Population":\n\t\tGlobal."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")>= 1\n\t\t\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period")= 2\n\t\tand exists ( "Qualifying Encounter" )\n\t\tand (not Hospice."Has Hospice"("Measurement Period"))\n\ndefine "Qualifying Encounter":\n\t( ["Encounter": "Office Visit"]\n\t\tunion ["Encounter": "Home Healthcare Services"]\n\t\tunion ["Encounter": "Preventive Care, Established Office Visit, 0 to 17"]\n\t\tunion ["Encounter": "Preventive Care Services, Initial Office Visit, 0 to 17"] ) ValidEncounter\n\t\twhere ValidEncounter.status = 'finished'\n\t\t\tand ValidEncounter.period during "Measurement Period"\n\ndefine "Denominator":\n\t"Initial Population"\n\ndefine "Numerator":\n\n\t( exists ( "Four DTaP Vaccinations" )\n\t\t\tor exists ( "DTaP Numerator Inclusion Conditions" )\n\t)\n\t\tand ( exists ( "Three Polio Vaccinations" )\n\t\t\t\tor exists ( "Polio Numerator Inclusion Conditions" )\n\t\t)\n\t\tand ( exists ( "One MMR Vaccinations" )\n\t\t\t\tor exists ( "MMR Numerator Inclusion Conditions" )\n\t\t\t\tor ( exists ( "Measles Indicators" )\n\t\t\t\t\t\tand exists ( "Mumps Indicators" )\n\t\t\t\t\t\tand exists ( "Rubella Indicators" )\n\t\t\t\t)\n\t\t)\n\t\tand ( exists ( "Three Hib Vaccinations" )\n\t\t\t\tor exists ( "Hib Numerator Inclusion Conditions" )\n\t\t)\n\t\tand ( exists ( "Three Hepatitis B Vaccinations" )\n\t\t\t\tor exists ( "Hepatitis B Numerator Inclusion Conditions" )\n\t\t)\n\t\tand ( exists ( "One Chicken Pox Vaccination" )\n\t\t\t\tor exists ( "Varicella Zoster Numerator Inclusion Conditions" )\n\t\t)\n\t\tand ( exists ( "Four Pneumococcal Conjugate Vaccinations" )\n\t\t\t\tor exists ( "Pneumococcal Conjugate Numerator Inclusion Conditions" )\n\t\t)\n\t\tand ( exists ( "One Hepatitis A Vaccinations" )\n\t\t\t\tor exists ( "Hepatitis A Numerator Inclusion Conditions" )\n\t\t)\n\t\tand ( exists ( "Rotavirus 2 Dose Vaccinations" )\n\t\t\t\tor exists ( "Rotavirus Numerator Inclusion Conditions" )\n\t\t\t\tor exists ( "Rotavirus 2 or 3 Dose Vaccinations" )\n\t\t\t\tor exists ( "Rotavirus 3 Dose Vaccinations" )\n\t\t)\n\t\tand ( exists ( "Two Influenza Vaccinations" )\n\t\t\t\tor exists ( "Influenza Numerator Inclusion Conditions" "Numerator Compliant Influenza Conditions" )\n\t\t)\n\n/* How do we enact the Hospice Library\n// BTR -> Add an include for Hospice_FHIR, we've already translated that to FHIR, then you can just reference it\n*/\n define "Four DTaP Vaccinations":\n\tfrom\n\t\t"DTaP Immunizations or Procedures" DTaPVaccination1,\n\t\t"DTaP Immunizations or Procedures" DTaPVaccination2,\n\t\t"DTaP Immunizations or Procedures" DTaPVaccination3,\n\t\t"DTaP Immunizations or Procedures" DTaPVaccination4\n\t\twhere DTaPVaccination2.date 1 day or more after day of DTaPVaccination1.date\n\t\t\tand DTaPVaccination3.date 1 day or more after day of DTaPVaccination2.date\n\t\t\tand DTaPVaccination4.date 1 day or more after day of DTaPVaccination3.date\n\t\treturn DTaPVaccination1\n\ndefine "DTaP Immunizations or Procedures":\n\t["Immunization" : "DTaP Vaccine"] DTaP\n\t\twhere DTaP.status = 'completed'\n\t\t\tand ( Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), DTaP.date) >= 42 )\n\t\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), DTaP.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, DTaP.date)\n )\n\ndefine "DTaP Numerator Inclusion Conditions":\n\t(\n ["Condition": "Anaphylactic Reaction to DTaP Vaccine"]\n\t\t union ["Condition": "Encephalopathy due to Childhood Vaccination"]\n ) DTaPConditions\n\t\t where DTaPConditions.verificationStatus = 'confirmed'\n\t\t\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), DTaPConditions.onset."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, DTaPConditions.onset."start")\n )\n\ndefine "Three Polio Vaccinations":\n\tfrom\n "Polio Immunizations or Procedures" PolioVaccination1,\n\t\t"Polio Immunizations or Procedures" PolioVaccination2,\n\t\t"Polio Immunizations or Procedures" PolioVaccination3\n\t\twhere PolioVaccination2.date 1 day or more after day of PolioVaccination1.date\n\t\t\tand PolioVaccination3.date 1 day or more after day of PolioVaccination2.date\n\t\treturn PolioVaccination1\n\n define "Polio Immunizations or Procedures":\n\t["Immunization": "Inactivated Polio Vaccine (IPV)"] PolioVaccination\n\t\twhere PolioVaccination.status ~ 'completed'\n\t\tand (Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), PolioVaccination.date) >= 42 )\n\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), PolioVaccination.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, PolioVaccination.date)\n )\n\ndefine "Polio Numerator Inclusion Conditions":\n\t( ["Condition": "Poliomyelitis vaccine adverse reaction (disorder)"]\n\t\tunion ["Condition": "Streptomycin adverse reaction (disorder)"]\n\t\tunion ["Condition": "Polymyxin B adverse reaction (disorder)"]\n\t\tunion ["Condition": "Neomycin adverse reaction (disorder)"] ) PolioConditions\n\t\t\twhere PolioConditions.verificationStatus ~ 'confirmed'\n\t\t\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), PolioConditions.onset."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, PolioConditions.onset."start")\n )\n\ndefine "One MMR Vaccinations":\n\t["Immunization": "Measles, Mumps and Rubella (MMR) Vaccine"] MMRVaccination\n\t\twhere MMRVaccination.status ~ 'completed'\n\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), MMRVaccination.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, MMRVaccination.date)\n )\n\ndefine "MMR Numerator Inclusion Conditions":\n\t(\n ["Condition": "Disorders of the Immune System"]\n \t\tunion ["Condition": "HIV"]\n \t\tunion ["Condition": "Malignant Neoplasm of Lymphatic and Hematopoietic Tissue"]\n \t\tunion ["Condition": "Neomycin adverse reaction (disorder)"]\n ) MMRConditions\n\t\t\twhere MMRConditions.verificationStatus ~ 'confirmed'\n\t\t\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), MMRConditions.onset."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, MMRConditions.onset."start")\n )\n\ndefine "Measles Indicators":\n\t(\n (\n ["Observation": "Measles Antibody Test (IgG Antibody Titer)"] MeaslesTiter\n \twhere MeaslesTiter.status in {'final', 'amended'}\n \tand MeaslesTiter.value >= 1.10\n )\n\t\tunion (\n ["Observation": "Measles Antibody Test (IgG Antibody presence)"] MeaslesIgGPresence\n \t\t\twhere MeaslesIgGPresence.status in {'final', 'amended'}\n \t\t\tand MeaslesIgGPresence.interpretation in "Positive Finding"\n\t\t)\n\t\tunion (\n ["Condition": "Measles"] MeaslesDiagnosis\n \t\t\twhere MeaslesDiagnosis.verificationStatus ~ 'confirmed'\n \t\t\treturn "Observation" { effective: MeaslesDiagnosis.onset }\n\t\t)\n ) Measles\n\t\t\twhere Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), Measles.effective."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, Measles.effective."start")\n\ndefine "Mumps Indicators":\n\t(\n (\n ["Observation": "Mumps Antibody Test (IgG Antibody Titer)"] MumpsTiter\n \twhere MumpsTiter.status in {'final', 'amended'}\n \tand MumpsTiter.value >= 1.10\n )\n\t\tunion (\n ["Observation": "Mumps Antibody Test (IgG Antibody presence)"] MumpsIgGPresence\n \t\t\twhere MumpsIgGPresence.status in {'final', 'amended'}\n \t\t\tand MumpsIgGPresence.interpretation in "Positive Finding"\n\t\t)\n\t\tunion (\n ["Condition": "Mumps"] MumpsDiagnosis\n \t\t\twhere MumpsDiagnosis.verificationStatus ~ 'confirmed'\n \t\t\treturn "Observation" { effective: MumpsDiagnosis.onset }\n\t\t)\n ) Measles\n\t\t\twhere Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), Measles.effective."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, Measles.effective."start")\n\ndefine "Rubella Indicators":\n\t(\n (\n ["Observation": "Rubella Antibody Test (IgG Antibody Titer)"] RubellaTiter\n \twhere RubellaTiter.status in {'final', 'amended'}\n \tand RubellaTiter.value >= 1.10\n )\n\t\tunion (\n ["Observation": "Rubella Antibody Test (IgG Antibody presence)"] RubellaIgGPresence\n \t\t\twhere RubellaIgGPresence.status in {'final', 'amended'}\n \t\t\tand RubellaIgGPresence.interpretation in "Positive Finding"\n\t\t)\n\t\tunion (\n ["Condition": "Rubella"] RubellaDiagnosis\n \t\t\twhere RubellaDiagnosis.verificationStatus ~ 'confirmed'\n \t\t\treturn "Observation" { effective: RubellaDiagnosis.onset }\n\t\t)\n ) Rubella\n\t\t\twhere Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), Rubella.effective."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, Rubella.effective."start")\n\ndefine "Three Hib Vaccinations":\n\tfrom\n\t\t"Hib Immunizations or Procedures" HiBVaccination1,\n\t\t"Hib Immunizations or Procedures" HiBVaccination2,\n\t\t"Hib Immunizations or Procedures" HiBVaccination3\n\t\twhere HiBVaccination2.date 1 day or more after day of HiBVaccination1.date\n\t\t\tand HiBVaccination3.date 1 day or more after day of HiBVaccination2.date\n\t\treturn HiBVaccination1\n\ndefine "Hib Immunizations or Procedures":\n\t["Immunization": "Haemophilus Influenzae Type B (HiB) Vaccine"] HibVaccination\n\t\twhere HibVaccination.status ~ 'completed'\n\t\tand ( Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), HibVaccination.date) >= 42 )\n\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), HibVaccination.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, HibVaccination.date)\n )\n\ndefine "Hib Numerator Inclusion Conditions":\n\t["Condition": "Anaphylaxis due to Haemophilus influenzae type b vaccine (disorder)"] HibReaction\n\t\twhere HibReaction.verificationStatus ~ 'confirmed'\n\t\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), HibReaction.onset."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, HibReaction.onset."start")\n )\n\ndefine "Three Hepatitis B Vaccinations":\n\tfrom\n\t\t"Hepatitis B Immunizations or Procedures" HepatitisBVaccination1,\n\t\t"Hepatitis B Immunizations or Procedures" HepatitisBVaccination2,\n\t\t"Hepatitis B Immunizations or Procedures" HepatitisBVaccination3\n\t\twhere HepatitisBVaccination2.date 1 day or more after day of HepatitisBVaccination1.date\n\t\t\tand HepatitisBVaccination3.date 1 day or more after day of HepatitisBVaccination2.date\n\t\treturn HepatitisBVaccination1\n\ndefine "Hepatitis B Immunizations or Procedures":\n\t["Immunization": "Hepatitis B Vaccine"] HepatitisBVaccination\n\t\twhere HepatitisBVaccination.status = 'completed'\n\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), HepatitisBVaccination.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, HepatitisBVaccination.date)\n )\n\ndefine "Hepatitis B Numerator Inclusion Conditions":\n\t(\n (\n ["Observation": "Anti Hepatitis B Virus Surface Ab"] HepatitisBAntigenTest\n \twhere HepatitisBAntigenTest.status in {'final', 'amended'}\n \tand HepatitisBAntigenTest.interpretation in "Positive Finding"\n )\n\t\tunion (\n ["Condition": "Anaphylaxis due to Hepatitis B vaccine (disorder)"] HepatitisBReaction\n\t\t\t\twhere HepatitisBReaction.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: HepatitisBReaction.onset }\n\t\t)\n\t\tunion (\n ["Condition": "Anaphylactic Reaction to Common Baker's Yeast"] YeastReaction\n\t\t\t\twhere YeastReaction.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: YeastReaction.onset }\n\t\t)\n\t\tunion (\n ["Condition": "Hepatitis B"] HepatitisBDiagnosis\n\t\t\t\twhere HepatitisBDiagnosis.verificationStatus = 'confirmed'\n\t\t\t\treturn "Observation" { effective: HepatitisBDiagnosis.onset }\n\t\t)\n ) HepBConditions\n\t\t\twhere (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), HepBConditions.effective."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, HepBConditions.effective."start")\n )\n\ndefine "One Chicken Pox Vaccination":\n\t["Immunization": "Varicella Zoster Vaccine (VZV)"] ChickenPoxVaccination\n\t\twhere ChickenPoxVaccination.status ~ 'completed'\n\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), ChickenPoxVaccination.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, ChickenPoxVaccination.date)\n )\n\ndefine "Varicella Zoster Numerator Inclusion Conditions":\n\t(\n (\n ["Observation": "Varicella Zoster Antibody Test (IgG Antibody Titer)"] ChickenPoxTiter\n where ChickenPoxTiter.status in {'final' , 'amended'}\n and ChickenPoxTiter.value >= 1.10\n )\n\t\tunion (\n ["Observation": "Varicella Zoster Antibody Test (IgG Antibody Presence)"] ChickenPoxIgGPresence\n\t\t\t\twhere ChickenPoxIgGPresence.status in {'final' , 'amended'}\n\t\t\t\tand ChickenPoxIgGPresence.interpretation in "Positive Finding"\n\t\t)\n\t\tunion (\n ["Condition": "Disorders of the Immune System"] ImmuneDisorder\n\t\t\t\twhere ImmuneDisorder.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: ImmuneDisorder.onset }\n\t\t)\n\t\tunion (\n ["Condition": "HIV"] HIV\n\t\t\t\twhere HIV.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: HIV.onset }\n\t\t)\n\t\tunion (\n ["Condition": "Malignant Neoplasm of Lymphatic and Hematopoietic Tissue"] LymphaticMalignantNeoplasm\n\t\t\t\twhere LymphaticMalignantNeoplasm.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: LymphaticMalignantNeoplasm.onset }\n\t\t)\n\t\tunion (\n ["Condition": "Neomycin adverse reaction (disorder)"] NeomycinReaction\n\t\t\t\twhere NeomycinReaction.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: NeomycinReaction.onset }\n\t\t)\n\t\tunion (\n ["Condition": "Varicella Zoster"] VaricellaZoster\n\t\t\t\twhere VaricellaZoster.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: VaricellaZoster.onset }\n\t\t)\n ) VaricellaZosterConditions\n\t\t\twhere (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), VaricellaZosterConditions.effective."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, VaricellaZosterConditions.effective."start")\n )\n\ndefine "Four Pneumococcal Conjugate Vaccinations":\n\tfrom\n\t\t"Pneumococcal Conjugate Immunizations or Procedures" PneumococcalVaccination1,\n\t\t"Pneumococcal Conjugate Immunizations or Procedures" PneumococcalVaccination2,\n\t\t"Pneumococcal Conjugate Immunizations or Procedures" PneumococcalVaccination3,\n\t\t"Pneumococcal Conjugate Immunizations or Procedures" PneumococcalVaccination4\n \t\twhere PneumococcalVaccination2.date 1 day or more after day of PneumococcalVaccination1.date\n \t\t\tand PneumococcalVaccination3.date 1 day or more after day of PneumococcalVaccination2.date\n \t\t\tand PneumococcalVaccination4.date 1 day or more after day of PneumococcalVaccination3.date\n \t\treturn PneumococcalVaccination1\n\ndefine "Pneumococcal Conjugate Immunizations or Procedures":\n ["Immunization": "Pneumococcal Conjugate Vaccine"] PneumococcalVaccination\n where PneumococcalVaccination.status ~ 'completed'\n and ( Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), PneumococcalVaccination.date) >= 42 )\n and (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), PneumococcalVaccination.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, PneumococcalVaccination.date)\n )\n\ndefine "Pneumococcal Conjugate Numerator Inclusion Conditions":\n\t["Condition": "Pneumococcal vaccine adverse reaction (disorder)"] PneumococcalReaction\n\t\twhere PneumococcalReaction.verificationStatus ~ 'confirmed'\n\t\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), PneumococcalReaction.onset."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, PneumococcalReaction.onset."start")\n )\n\ndefine "One Hepatitis A Vaccinations":\n\t["Immunization": "Hepatitis A Vaccine"] HepatitisAVaccination\n\t\twhere HepatitisAVaccination.status ~ 'completed'\n\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), HepatitisAVaccination.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, HepatitisAVaccination.date)\n )\n\ndefine "Hepatitis A Numerator Inclusion Conditions":\n\t(\n (\n ["Observation": "Anti Hepatitis A IgG Antigen Test"] HepatitisAAntigenTest\n where HepatitisAAntigenTest.status in {'final' , 'amended'}\n \tand HepatitisAAntigenTest.interpretation in "Positive Finding"\n )\n\t\tunion (\n ["Condition": "Anaphylactic Reaction to Hepatitis A Vaccine"] HepatitisAReaction\n\t\t\t\twhere HepatitisAReaction.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: HepatitisAReaction.onset }\n\t\t)\n\t\tunion (\n ["Condition": "Hepatitis A"] HepatitisADiagnosis\n\t\t\t\twhere HepatitisADiagnosis.verificationStatus ~ 'confirmed'\n\t\t\t\treturn "Observation" { effective: HepatitisADiagnosis.onset }\n\t\t)\n ) HepatitisAConditions\n\t\t\twhere (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), HepatitisAConditions.effective."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, HepatitisAConditions.effective."start")\n )\n\ndefine "Rotavirus 2 Dose Immunizations or Procedures":\n ["Immunization": "Rotavirus, live, monovalent vaccine"] TwoDoseRotavirus\n \twhere TwoDoseRotavirus.status ~ 'completed'\n \tand ( Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), TwoDoseRotavirus.date) >= 42 )\n \tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), TwoDoseRotavirus.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, TwoDoseRotavirus.date)\n )\n\ndefine "Rotavirus 3 Dose Immunizations or Procedures":\n ["Immunization": "Rotavirus Vaccine (3 dose schedule)"] ThreeDoseRotavirus\n \twhere ThreeDoseRotavirus.status ~ 'completed'\n \tand ( Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), ThreeDoseRotavirus.date) >= 42 )\n \tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), ThreeDoseRotavirus.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, ThreeDoseRotavirus.date)\n )\n\ndefine "Rotavirus 2 or 3 Dose Vaccinations":\n "Rotavirus 2 Dose Vaccination Followed by Two Rotavirus 3 Dose Vaccinations"\n \tunion "Rotavirus 3 Dose Vaccination Followed by A Rotavirus 2 Dose Vaccination and A Rotavirus 3 Dose Vaccination"\n \tunion "Rotavirus 3 Dose Vaccinations Followed by One Rotavirus 2 Dose Vaccination"\n\ndefine "Rotavirus 2 Dose Vaccination Followed by Two Rotavirus 3 Dose Vaccinations":\n\tfrom\n\t\t"Rotavirus 2 Dose Immunizations or Procedures" Rotavirus233Vaccination1,\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus233Vaccination2,\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus233Vaccination3\n\t\twhere Rotavirus233Vaccination2.date 1 day or more after day of Rotavirus233Vaccination1.date\n\t\t\tand Rotavirus233Vaccination3.date 1 day or more after day of Rotavirus233Vaccination2.date\n\t\treturn Rotavirus233Vaccination1\n\ndefine "Rotavirus 2 Dose Vaccinations":\n\tfrom\n\t\t"Rotavirus 2 Dose Immunizations or Procedures" Rotavirus2Vaccination1,\n\t\t"Rotavirus 2 Dose Immunizations or Procedures" Rotavirus2Vaccination2\n\t\twhere Rotavirus2Vaccination2.date 1 day or more after day of Rotavirus2Vaccination1.date\n\t\treturn Rotavirus2Vaccination1\n\ndefine "Rotavirus 3 Dose Vaccination Followed by A Rotavirus 2 Dose Vaccination and A Rotavirus 3 Dose Vaccination":\n\tfrom\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus323Vaccination1,\n\t\t"Rotavirus 2 Dose Immunizations or Procedures" Rotavirus323Vaccination2,\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus323Vaccination3\n\t\twhere Rotavirus323Vaccination2.date 1 day or more after day of Rotavirus323Vaccination1.date\n\t\t\tand Rotavirus323Vaccination3.date 1 day or more after day of Rotavirus323Vaccination2.date\n\t\treturn Rotavirus323Vaccination1\n\ndefine "Rotavirus 3 Dose Vaccinations":\n\tfrom\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus3Vaccination1,\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus3Vaccination2,\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus3Vaccination3\n\t\twhere Rotavirus3Vaccination2.date 1 day or more after day of Rotavirus3Vaccination1.date\n\t\t\tand Rotavirus3Vaccination3.date 1 day or more after day of Rotavirus3Vaccination2.date\n\t\treturn Rotavirus3Vaccination1\n\ndefine "Rotavirus 3 Dose Vaccinations Followed by One Rotavirus 2 Dose Vaccination":\n\tfrom\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus332Vaccination1,\n\t\t"Rotavirus 3 Dose Immunizations or Procedures" Rotavirus332Vaccination2,\n\t\t"Rotavirus 2 Dose Immunizations or Procedures" Rotavirus332Vaccination3\n\t\twhere Rotavirus332Vaccination2.date 1 day or more after day of Rotavirus332Vaccination1.date\n\t\t\tand Rotavirus332Vaccination3.date 1 day or more after day of Rotavirus332Vaccination2.date\n\t\treturn Rotavirus332Vaccination1\n\ndefine "Rotavirus Numerator Inclusion Conditions":\n\t(\n ["Condition": "Anaphylaxis due to rotavirus vaccine (disorder)"]\n\t\t\tunion ["Condition": "Severe Combined Immunodeficiency"]\n\t\t\tunion ["Condition": "Intussusception"]\n ) RotavirusConditions\n\t\t\twhere RotavirusConditions.verificationStatus ~ 'confirmed'\n\t\t\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), RotavirusConditions.onset."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, RotavirusConditions.onset."start")\n )\n\n define "Two Influenza Vaccinations":\n\tfrom\n\t\t"Influenza Immunizations or Procedures" FluVaccination1,\n\t\t"Influenza Immunizations or Procedures" FluVaccination2\n \t\twhere FluVaccination2.date 1 day or more after day of FluVaccination1.date\n \t\treturn FluVaccination1\n\ndefine "Influenza Immunizations or Procedures":\n ["Immunization": "Influenza Vaccine"] InfluenzaVaccination\n \twhere InfluenzaVaccination.status ~ 'completed'\n \t\tand ( Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), InfluenzaVaccination.date) >= 180 )\n \t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), InfluenzaVaccination.date)\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, InfluenzaVaccination.date)\n )\n\ndefine "Influenza Numerator Inclusion Conditions":\n\t(\n ["Condition": "Influenza virus vaccine adverse reaction (disorder)"]\n \t\tunion ["Condition": "Malignant Neoplasm of Lymphatic and Hematopoietic Tissue"]\n \t\tunion ["Condition": "Neomycin adverse reaction (disorder)"]\n \t\tunion ["Condition": "HIV"]\n \t\tunion ["Condition": "Disorders of the Immune System"]\n ) InfluenzaConditions\n\t\t\twhere InfluenzaConditions.verificationStatus ~ 'confirmed'\n\t\t\t\tand (\n Global."CalendarAgeInDaysAt"(FHIRHelpers.ToDate(Patient.birthDate), InfluenzaConditions.onset."start")\n <= Global."CalendarAgeInDaysAt"(Patient.birthDate + 2 years, InfluenzaConditions.onset."start")\n )\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "8.3.000", "name": "EXM117_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-Hospice-FHIR3-1.0.000" + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" } - } - ], - "dataRequirement": [ - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022" - } - ] - }, - { - "type": "Immunization", - "codeFilter": [ - { - "path": "vaccineCode", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1214" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1031" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.114.12.1007" - } - ] - }, - { - "type": "Immunization", - "codeFilter": [ - { - "path": "vaccineCode", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1219" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code" - } - ] - }, - { - "type": "Immunization", - "codeFilter": [ - { - "path": "vaccineCode", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1224" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1001" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1009" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1059" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1060" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1053" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1061" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1062" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1032" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1063" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1064" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1037" - } - ] - }, - { - "type": "Immunization", - "codeFilter": [ - { - "path": "vaccineCode", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1217" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code" - } - ] - }, - { - "type": "Immunization", - "codeFilter": [ - { - "path": "vaccineCode", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1216" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1073" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1032" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1025" - } - ] - }, - { - "type": "Immunization", - "codeFilter": [ - { - "path": "vaccineCode", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1170" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1066" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1067" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1001" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1009" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1039" - } - ] - }, - { - "type": "Immunization", - "codeFilter": [ - { - "path": "vaccineCode", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1221" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code" - } - ] - }, - { - "type": "Immunization", - "codeFilter": [ - { - "path": "vaccineCode", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1215" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1033" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1026" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1024" - } - ] - }, - { - "type": "Immunization", - "codeFilter": [ - { - "path": "vaccineCode" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1007" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1056" - } - ] - }, - { - "type": "Immunization", - "codeFilter": [ - { - "path": "vaccineCode", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1223" - } - ] - }, - { - "type": "Immunization", - "codeFilter": [ - { - "path": "vaccineCode", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1218" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1009" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1001" - } - ] - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMzkiIHN0YXJ0Q2hhcj0iNCIgZW5kTGluZT0iMjM5IiBlbmRDaGFyPSI2OSIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMjQwIiBzdGFydENoYXI9IjkiIGVuZExpbmU9IjI0MCIgZW5kQ2hhcj0iNjUiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9IjI0MSIgc3RhcnRDaGFyPSI5IiBlbmRMaW5lPSIyNDEiIGVuZENoYXI9IjY0IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyNDIiIHN0YXJ0Q2hhcj0iOSIgZW5kTGluZT0iMjQyIiBlbmRDaGFyPSI2MSIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMjYyIiBzdGFydENoYXI9IjExIiBlbmRMaW5lPSIyNjIiIGVuZENoYXI9IjYzIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIzNTIiIHN0YXJ0Q2hhcj0iMiIgZW5kTGluZT0iMzUyIiBlbmRDaGFyPSI4NSIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMzg0IiBzdGFydENoYXI9IjciIGVuZExpbmU9IjM4NCIgZW5kQ2hhcj0iNzIiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9IjQ0MCIgc3RhcnRDaGFyPSI3IiBlbmRMaW5lPSI0NDAiIGVuZENoYXI9IjU5IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI0NzYiIHN0YXJ0Q2hhcj0iMiIgZW5kTGluZT0iNDc2IiBlbmRDaGFyPSI2NiIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iNTE1IiBzdGFydENoYXI9IjMiIGVuZExpbmU9IjUxNSIgZW5kQ2hhcj0iNTciIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9IjU4MiIgc3RhcnRDaGFyPSI1IiBlbmRMaW5lPSI1ODIiIGVuZENoYXI9IjY4IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI2MTAiIHN0YXJ0Q2hhcj0iNSIgZW5kTGluZT0iNjEwIiBlbmRDaGFyPSI3MiIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iNjEyIiBzdGFydENoYXI9IjExIiBlbmRMaW5lPSI2MTIiIGVuZENoYXI9IjYzIiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPg0KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTExN19GSElSMyIgdmVyc2lvbj0iOC4zLjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlNERSIgcGF0aD0iU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIiB2ZXJzaW9uPSIxLjAuMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9Ikhvc3BpY2UiIHBhdGg9Ikhvc3BpY2VfRkhJUjMiIHZlcnNpb249IjEuMC4wMDAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8cGFyYW1ldGVycz4NCiAgICAgIDxkZWYgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L3BhcmFtZXRlclR5cGVTcGVjaWZpZXI+DQogICAgICA8L2RlZj4NCiAgIDwvcGFyYW1ldGVycz4NCiAgIDxjb2RlU3lzdGVtcz4NCiAgICAgIDxkZWYgbmFtZT0iQ1BUIiBpZD0iaHR0cDovL3d3dy5hbWEtYXNzbi5vcmcvIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkNWWCIgaWQ9Imh0dHA6Ly93d3cyYS5jZGMuZ292LyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJTTk9NRURDVCIgaWQ9Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkxPSU5DIiBpZD0iaHR0cDovL2xvaW5jLm9yZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC9jb2RlU3lzdGVtcz4NCiAgIDx2YWx1ZVNldHM+DQogICAgICA8ZGVmIG5hbWU9IkFuYXBoeWxhY3RpYyBSZWFjdGlvbiB0byBDb21tb24gQmFrZXIncyBZZWFzdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OS4xMi4xMDMyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkFuYXBoeWxhY3RpYyBSZWFjdGlvbiB0byBEVGFQIFZhY2NpbmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTkuMTIuMTAzMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJBbmFwaHlsYWN0aWMgUmVhY3Rpb24gdG8gSGVwYXRpdGlzIEEgVmFjY2luZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OS4xMi4xMDI2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkFudGkgSGVwYXRpdGlzIEEgSWdHIEFudGlnZW4gVGVzdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDMzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkFudGkgSGVwYXRpdGlzIEIgVmlydXMgU3VyZmFjZSBBYiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDczIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpc29yZGVycyBvZiB0aGUgSW1tdW5lIFN5c3RlbSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEyMC4xMi4xMDAxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRUYVAgVmFjY2luZSBBZG1pbmlzdGVyZWQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTAuMTIuMTAyMiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJEVGFQIFZhY2NpbmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTYuMTIuMTIxNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbmNlcGhhbG9wYXRoeSBkdWUgdG8gQ2hpbGRob29kIFZhY2NpbmF0aW9uIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTE0LjEyLjEwMDciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFdGhuaWNpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSGFlbW9waGlsdXMgSW5mbHVlbnphZSBUeXBlIEIgKEhpQikgVmFjY2luZSBBZG1pbmlzdGVyZWQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTAuMTIuMTA0MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJIYWVtb3BoaWx1cyBJbmZsdWVuemFlIFR5cGUgQiAoSGlCKSBWYWNjaW5lIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk2LjEyLjEyMTciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSGVwYXRpdGlzIEEgVmFjY2luZSBBZG1pbmlzdGVyZWQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTAuMTIuMTA0MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJIZXBhdGl0aXMgQSBWYWNjaW5lIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk2LjEyLjEyMTUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSGVwYXRpdGlzIEEiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTAuMTIuMTAyNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJIZXBhdGl0aXMgQiBWYWNjaW5lIEFkbWluaXN0ZXJlZCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDQyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkhlcGF0aXRpcyBCIFZhY2NpbmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTYuMTIuMTIxNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJIZXBhdGl0aXMgQiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDI1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkhJViIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEyMC4xMi4xMDAzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDE2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpY2UgY2FyZSBhbWJ1bGF0b3J5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTA4LjE1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkluYWN0aXZhdGVkIFBvbGlvIFZhY2NpbmUgKElQVikgQWRtaW5pc3RlcmVkIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwNDUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSW5hY3RpdmF0ZWQgUG9saW8gVmFjY2luZSAoSVBWKSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xMjE5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkluZmx1ZW56YSBWYWNjaW5lIEFkbWluaXN0ZXJlZCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDQ0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkluZmx1ZW56YSBWYWNjaW5lIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk2LjEyLjEyMTgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSW50dXNzdXNjZXB0aW9uIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk5LjEyLjEwNTYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTWFsaWduYW50IE5lb3BsYXNtIG9mIEx5bXBoYXRpYyBhbmQgSGVtYXRvcG9pZXRpYyBUaXNzdWUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAwOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzbGVzIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBwcmVzZW5jZSkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTA2MCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzbGVzIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBUaXRlcikiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTA1OSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzbGVzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwNTMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTWVhc2xlcywgTXVtcHMgYW5kIFJ1YmVsbGEgKE1NUikgVmFjY2luZSBBZG1pbmlzdGVyZWQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTAuMTIuMTAzMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzbGVzLCBNdW1wcyBhbmQgUnViZWxsYSAoTU1SKSBWYWNjaW5lIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk2LjEyLjEyMjQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTXVtcHMgQW50aWJvZHkgVGVzdCAoSWdHIEFudGlib2R5IHByZXNlbmNlKSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDYyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik11bXBzIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBUaXRlcikiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTA2MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJNdW1wcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDMyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik9mZmljZSBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDAxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUGF5ZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlBuZXVtb2NvY2NhbCBDb25qdWdhdGUgVmFjY2luZSBBZG1pbmlzdGVyZWQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTAuMTIuMTA0NiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIFZhY2NpbmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTYuMTIuMTIyMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQb3NpdGl2ZSBGaW5kaW5nIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTIxLjEyLjEwMTYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLCBJbml0aWFsIE9mZmljZSBWaXNpdCwgMCB0byAxNyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDIyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSwgRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAwIHRvIDE3IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb3RhdmlydXMgVmFjY2luZSAoMyBkb3NlIHNjaGVkdWxlKSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xMjIzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlJ1YmVsbGEgQW50aWJvZHkgVGVzdCAoSWdHIEFudGlib2R5IHByZXNlbmNlKSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDY0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlJ1YmVsbGEgQW50aWJvZHkgVGVzdCAoSWdHIEFudGlib2R5IFRpdGVyKSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDYzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlJ1YmVsbGEiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTAuMTIuMTAzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJTZXZlcmUgQ29tYmluZWQgSW1tdW5vZGVmaWNpZW5jeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEyMC4xMi4xMDA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlZhcmljZWxsYSBab3N0ZXIgQW50aWJvZHkgVGVzdCAoSWdHIEFudGlib2R5IFByZXNlbmNlKSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDY3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlZhcmljZWxsYSBab3N0ZXIgQW50aWJvZHkgVGVzdCAoSWdHIEFudGlib2R5IFRpdGVyKSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDY2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlZhcmljZWxsYSBab3N0ZXIgVmFjY2luZSAoVlpWKSBBZG1pbmlzdGVyZWQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTAuMTIuMTA0MCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJWYXJpY2VsbGEgWm9zdGVyIFZhY2NpbmUgKFZaVikiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTYuMTIuMTE3MCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJWYXJpY2VsbGEgWm9zdGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwMzkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aCBkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkFuYXBoeWxheGlzIGR1ZSB0byBIYWVtb3BoaWx1cyBpbmZsdWVuemFlIHR5cGUgYiB2YWNjaW5lIChkaXNvcmRlcikiIGlkPSI0MzM2MjEwMDAxMjQxMDEiIGRpc3BsYXk9IkFuYXBoeWxheGlzIGR1ZSB0byBIYWVtb3BoaWx1cyBpbmZsdWVuemFlIHR5cGUgYiB2YWNjaW5lIChkaXNvcmRlcikiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEQ1QiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJBbmFwaHlsYXhpcyBkdWUgdG8gSGVwYXRpdGlzIEIgdmFjY2luZSAoZGlzb3JkZXIpIiBpZD0iNDMzNjIxMDAwMTI0MTAxIiBkaXNwbGF5PSJBbmFwaHlsYXhpcyBkdWUgdG8gSGVwYXRpdGlzIEIgdmFjY2luZSAoZGlzb3JkZXIpIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlNOT01FRENUIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQW5hcGh5bGF4aXMgZHVlIHRvIHJvdGF2aXJ1cyB2YWNjaW5lIChkaXNvcmRlcikiIGlkPSI0MjgzMzEwMDAxMjQxMDMiIGRpc3BsYXk9IkFuYXBoeWxheGlzIGR1ZSB0byByb3RhdmlydXMgdmFjY2luZSAoZGlzb3JkZXIpIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlNOT01FRENUIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgaWQ9IjQyODM3MTAwMDEyNDEwMCIgZGlzcGxheT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRpc2NoYXJnZSB0byBob21lIGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSkiIGlkPSI0MjgzNjEwMDAxMjQxMDciIGRpc3BsYXk9IkRpc2NoYXJnZSB0byBob21lIGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEQ1QiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbmZsdWVuemEgdmlydXMgdmFjY2luZSBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlcikiIGlkPSI0MjAxMTMwMDQiIGRpc3BsYXk9IkluZmx1ZW56YSB2aXJ1cyB2YWNjaW5lIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5lb215Y2luIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKSIgaWQ9IjI5MjkyNzAwNyIgZGlzcGxheT0iTmVvbXljaW4gYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlNOT01FRENUIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUG5ldW1vY29jY2FsIHZhY2NpbmUgYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIiBpZD0iMjkzMTE2MDAyIiBkaXNwbGF5PSJQbmV1bW9jb2NjYWwgdmFjY2luZSBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlcikiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEQ1QiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQb2xpb215ZWxpdGlzIHZhY2NpbmUgYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIiBpZD0iMjkzMTE3MDA2IiBkaXNwbGF5PSJQb2xpb215ZWxpdGlzIHZhY2NpbmUgYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlNOT01FRENUIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUG9seW15eGluIEIgYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIiBpZD0iMjkyOTkyMDA2IiBkaXNwbGF5PSJQb2x5bXl4aW4gQiBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlcikiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEQ1QiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJSb3RhdmlydXMgdmFjY2luZSwgaHVtYW4sIGF0dGVudWF0ZWQgKFJWMSksIDIgZG9zZSBzY2hlZHVsZSwgbGl2ZSwgZm9yIG9yYWwgdXNlIiBpZD0iOTA2ODEiIGRpc3BsYXk9IlJvdGF2aXJ1cyB2YWNjaW5lLCBodW1hbiwgYXR0ZW51YXRlZCAoUlYxKSwgMiBkb3NlIHNjaGVkdWxlLCBsaXZlLCBmb3Igb3JhbCB1c2UiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEQ1QiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJSb3RhdmlydXMgdmFjY2luZSwgcGVudGF2YWxlbnQgKFJWNSksIDMgZG9zZSBzY2hlZHVsZSwgbGl2ZSwgZm9yIG9yYWwgdXNlIiBpZD0iOTA2ODAiIGRpc3BsYXk9IlJvdGF2aXJ1cyB2YWNjaW5lLCBwZW50YXZhbGVudCAoUlY1KSwgMyBkb3NlIHNjaGVkdWxlLCBsaXZlLCBmb3Igb3JhbCB1c2UiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iQ1BUIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUm90YXZpcnVzLCBsaXZlLCBtb25vdmFsZW50IHZhY2NpbmUiIGlkPSIxMTkiIGRpc3BsYXk9IlJvdGF2aXJ1cywgbGl2ZSwgbW9ub3ZhbGVudCB2YWNjaW5lIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkNWWCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlN0cmVwdG9teWNpbiBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlcikiIGlkPSIyOTI5MjUwMDQiIGRpc3BsYXk9IlN0cmVwdG9teWNpbiBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlcikiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEQ1QiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBFdGhuaWNpdHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIEV0aG5pY2l0eSIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgUGF5ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIFBheWVyIiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBSYWNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBSYWNlIiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBTZXgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIFNleCIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJRdWFsaWZ5aW5nIEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVmFsaWRFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPZmZpY2UgVmlzaXQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSG9tZSBIZWFsdGhjYXJlIFNlcnZpY2VzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQcmV2ZW50aXZlIENhcmUsIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMCB0byAxNyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMsIEluaXRpYWwgT2ZmaWNlIFZpc2l0LCAwIHRvIDE3IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJWYWxpZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5jbHVkZWRJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWYWxpZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJRdWFsaWZ5aW5nIEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOb3QiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSGFzIEhvc3BpY2UiIGxpYnJhcnlOYW1lPSJIb3NwaWNlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRUYVAgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJEVGFQIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkltbXVuaXphdGlvbiIgY29kZVByb3BlcnR5PSJ2YWNjaW5lQ29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJEVGFQIFZhY2NpbmUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRFRhUCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJEVGFQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNDIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IkRUYVAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMiIgdW5pdD0ieWVhcnMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IkRUYVAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJGb3VyIERUYVAgVmFjY2luYXRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJEVGFQVmFjY2luYXRpb24xIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkRUYVAgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJEVGFQVmFjY2luYXRpb24yIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkRUYVAgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJEVGFQVmFjY2luYXRpb24zIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkRUYVAgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJEVGFQVmFjY2luYXRpb240Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkRUYVAgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iU2FtZU9yQWZ0ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IkRUYVBWYWNjaW5hdGlvbjIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iRFRhUFZhY2NpbmF0aW9uMSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iU2FtZU9yQWZ0ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IkRUYVBWYWNjaW5hdGlvbjMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iRFRhUFZhY2NpbmF0aW9uMiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iU2FtZU9yQWZ0ZXIiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IkRUYVBWYWNjaW5hdGlvbjQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iRFRhUFZhY2NpbmF0aW9uMyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRFRhUFZhY2NpbmF0aW9uMSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEVGFQIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRFRhUENvbmRpdGlvbnMiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkFuYXBoeWxhY3RpYyBSZWFjdGlvbiB0byBEVGFQIFZhY2NpbmUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRW5jZXBoYWxvcGF0aHkgZHVlIHRvIENoaWxkaG9vZCBWYWNjaW5hdGlvbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmVyaWZpY2F0aW9uU3RhdHVzIiBzY29wZT0iRFRhUENvbmRpdGlvbnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbmZpcm1lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGFydCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ib25zZXQiIHNjb3BlPSJEVGFQQ29uZGl0aW9ucyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIyIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGFydCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ib25zZXQiIHNjb3BlPSJEVGFQQ29uZGl0aW9ucyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlBvbGlvIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUG9saW9WYWNjaW5hdGlvbiI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpJbW11bml6YXRpb24iIGNvZGVQcm9wZXJ0eT0idmFjY2luZUNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSW5hY3RpdmF0ZWQgUG9saW8gVmFjY2luZSAoSVBWKSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IlBvbGlvVmFjY2luYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iUG9saW9WYWNjaW5hdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjQyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJQb2xpb1ZhY2NpbmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJQb2xpb1ZhY2NpbmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVGhyZWUgUG9saW8gVmFjY2luYXRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQb2xpb1ZhY2NpbmF0aW9uMSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJQb2xpbyBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBvbGlvVmFjY2luYXRpb24yIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlBvbGlvIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUG9saW9WYWNjaW5hdGlvbjMiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUG9saW8gSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVPckFmdGVyIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJQb2xpb1ZhY2NpbmF0aW9uMiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJQb2xpb1ZhY2NpbmF0aW9uMSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iU2FtZU9yQWZ0ZXIiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IlBvbGlvVmFjY2luYXRpb24zIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IlBvbGlvVmFjY2luYXRpb24yIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJQb2xpb1ZhY2NpbmF0aW9uMSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQb2xpbyBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBvbGlvQ29uZGl0aW9ucyI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUG9saW9teWVsaXRpcyB2YWNjaW5lIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlN0cmVwdG9teWNpbiBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlcikiIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUG9seW15eGluIEIgYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTmVvbXljaW4gYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IlBvbGlvQ29uZGl0aW9ucyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29uZmlybWVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJvbnNldCIgc2NvcGU9IlBvbGlvQ29uZGl0aW9ucyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIyIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGFydCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ib25zZXQiIHNjb3BlPSJQb2xpb0NvbmRpdGlvbnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJPbmUgTU1SIFZhY2NpbmF0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTU1SVmFjY2luYXRpb24iPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6SW1tdW5pemF0aW9uIiBjb2RlUHJvcGVydHk9InZhY2NpbmVDb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik1lYXNsZXMsIE11bXBzIGFuZCBSdWJlbGxhIChNTVIpIFZhY2NpbmUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1aXZhbGVudCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iTU1SVmFjY2luYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iTU1SVmFjY2luYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMiIgdW5pdD0ieWVhcnMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9Ik1NUlZhY2NpbmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTU1SIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTU1SQ29uZGl0aW9ucyI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkRpc29yZGVycyBvZiB0aGUgSW1tdW5lIFN5c3RlbSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJISVYiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik1hbGlnbmFudCBOZW9wbGFzbSBvZiBMeW1waGF0aWMgYW5kIEhlbWF0b3BvaWV0aWMgVGlzc3VlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTmVvbXljaW4gYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9Ik1NUkNvbmRpdGlvbnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbmZpcm1lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGFydCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ib25zZXQiIHNjb3BlPSJNTVJDb25kaXRpb25zIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJvbnNldCIgc2NvcGU9Ik1NUkNvbmRpdGlvbnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzbGVzIEluZGljYXRvcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik1lYXNsZXMiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTWVhc2xlc1RpdGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTWVhc2xlcyBBbnRpYm9keSBUZXN0IChJZ0cgQW50aWJvZHkgVGl0ZXIpIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJNZWFzbGVzVGl0ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFtZW5kZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlF1YW50aXR5IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJNZWFzbGVzVGl0ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvUXVhbnRpdHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkRlY2ltYWwiIHZhbHVlPSIxLjEwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJNZWFzbGVzSWdHUHJlc2VuY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJNZWFzbGVzIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBwcmVzZW5jZSkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9Ik1lYXNsZXNJZ0dQcmVzZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluYWwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYW1lbmRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaW50ZXJwcmV0YXRpb24iIHNjb3BlPSJNZWFzbGVzSWdHUHJlc2VuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IlBvc2l0aXZlIEZpbmRpbmciLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTWVhc2xlc0RpYWdub3NpcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJNZWFzbGVzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2ZXJpZmljYXRpb25TdGF0dXMiIHNjb3BlPSJNZWFzbGVzRGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb25maXJtZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGNsYXNzVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiBzY29wZT0iTWVhc2xlc0RpYWdub3NpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9Ik1lYXNsZXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMiIgdW5pdD0ieWVhcnMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9Ik1lYXNsZXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJNdW1wcyBJbmRpY2F0b3JzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJNZWFzbGVzIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik11bXBzVGl0ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJNdW1wcyBBbnRpYm9keSBUZXN0IChJZ0cgQW50aWJvZHkgVGl0ZXIpIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJNdW1wc1RpdGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5hbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhbWVuZGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiBzY29wZT0iTXVtcHNUaXRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9RdWFudGl0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6RGVjaW1hbCIgdmFsdWU9IjEuMTAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik11bXBzSWdHUHJlc2VuY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJNdW1wcyBBbnRpYm9keSBUZXN0IChJZ0cgQW50aWJvZHkgcHJlc2VuY2UpIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJNdW1wc0lnR1ByZXNlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5hbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhbWVuZGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpbnRlcnByZXRhdGlvbiIgc2NvcGU9Ik11bXBzSWdHUHJlc2VuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IlBvc2l0aXZlIEZpbmRpbmciLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTXVtcHNEaWFnbm9zaXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTXVtcHMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9Ik11bXBzRGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb25maXJtZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGNsYXNzVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiBzY29wZT0iTXVtcHNEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJNZWFzbGVzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJNZWFzbGVzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUnViZWxsYSBJbmRpY2F0b3JzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJSdWJlbGxhIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlJ1YmVsbGFUaXRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlJ1YmVsbGEgQW50aWJvZHkgVGVzdCAoSWdHIEFudGlib2R5IFRpdGVyKSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iUnViZWxsYVRpdGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5hbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhbWVuZGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiBzY29wZT0iUnViZWxsYVRpdGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb1F1YW50aXR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpEZWNpbWFsIiB2YWx1ZT0iMS4xMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUnViZWxsYUlnR1ByZXNlbmNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iUnViZWxsYSBBbnRpYm9keSBUZXN0IChJZ0cgQW50aWJvZHkgcHJlc2VuY2UpIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJSdWJlbGxhSWdHUHJlc2VuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFtZW5kZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVycHJldGF0aW9uIiBzY29wZT0iUnViZWxsYUlnR1ByZXNlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJQb3NpdGl2ZSBGaW5kaW5nIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlJ1YmVsbGFEaWFnbm9zaXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iUnViZWxsYSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1aXZhbGVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmVyaWZpY2F0aW9uU3RhdHVzIiBzY29wZT0iUnViZWxsYURpYWdub3NpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29uZmlybWVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBjbGFzc1R5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJvbnNldCIgc2NvcGU9IlJ1YmVsbGFEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJSdWJlbGxhIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJSdWJlbGxhIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSGliIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSGliVmFjY2luYXRpb24iPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6SW1tdW5pemF0aW9uIiBjb2RlUHJvcGVydHk9InZhY2NpbmVDb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhhZW1vcGhpbHVzIEluZmx1ZW56YWUgVHlwZSBCIChIaUIpIFZhY2NpbmUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJIaWJWYWNjaW5hdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJIaWJWYWNjaW5hdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjQyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJIaWJWYWNjaW5hdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIyIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iSGliVmFjY2luYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUaHJlZSBIaWIgVmFjY2luYXRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJIaUJWYWNjaW5hdGlvbjEiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSGliIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSGlCVmFjY2luYXRpb24yIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkhpYiBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkhpQlZhY2NpbmF0aW9uMyI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIaWIgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVPckFmdGVyIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJIaUJWYWNjaW5hdGlvbjIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iSGlCVmFjY2luYXRpb24xIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lT3JBZnRlciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iSGlCVmFjY2luYXRpb24zIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IkhpQlZhY2NpbmF0aW9uMiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSGlCVmFjY2luYXRpb24xIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkhpYiBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkhpYlJlYWN0aW9uIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQW5hcGh5bGF4aXMgZHVlIHRvIEhhZW1vcGhpbHVzIGluZmx1ZW56YWUgdHlwZSBiIHZhY2NpbmUgKGRpc29yZGVyKSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2ZXJpZmljYXRpb25TdGF0dXMiIHNjb3BlPSJIaWJSZWFjdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29uZmlybWVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJvbnNldCIgc2NvcGU9IkhpYlJlYWN0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJvbnNldCIgc2NvcGU9IkhpYlJlYWN0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSGVwYXRpdGlzIEIgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJIZXBhdGl0aXNCVmFjY2luYXRpb24iPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6SW1tdW5pemF0aW9uIiBjb2RlUHJvcGVydHk9InZhY2NpbmVDb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhlcGF0aXRpcyBCIFZhY2NpbmUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkhlcGF0aXRpc0JWYWNjaW5hdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJIZXBhdGl0aXNCVmFjY2luYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMiIgdW5pdD0ieWVhcnMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IkhlcGF0aXRpc0JWYWNjaW5hdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRocmVlIEhlcGF0aXRpcyBCIFZhY2NpbmF0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSGVwYXRpdGlzQlZhY2NpbmF0aW9uMSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIZXBhdGl0aXMgQiBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkhlcGF0aXRpc0JWYWNjaW5hdGlvbjIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSGVwYXRpdGlzIEIgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJIZXBhdGl0aXNCVmFjY2luYXRpb24zIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkhlcGF0aXRpcyBCIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lT3JBZnRlciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iSGVwYXRpdGlzQlZhY2NpbmF0aW9uMiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJIZXBhdGl0aXNCVmFjY2luYXRpb24xIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lT3JBZnRlciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iSGVwYXRpdGlzQlZhY2NpbmF0aW9uMyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJIZXBhdGl0aXNCVmFjY2luYXRpb24yIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIZXBhdGl0aXNCVmFjY2luYXRpb24xIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkhlcGF0aXRpcyBCIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSGVwQkNvbmRpdGlvbnMiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSGVwYXRpdGlzQkFudGlnZW5UZXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQW50aSBIZXBhdGl0aXMgQiBWaXJ1cyBTdXJmYWNlIEFiIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJIZXBhdGl0aXNCQW50aWdlblRlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFtZW5kZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVycHJldGF0aW9uIiBzY29wZT0iSGVwYXRpdGlzQkFudGlnZW5UZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJQb3NpdGl2ZSBGaW5kaW5nIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkhlcGF0aXRpc0JSZWFjdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFuYXBoeWxheGlzIGR1ZSB0byBIZXBhdGl0aXMgQiB2YWNjaW5lIChkaXNvcmRlcikiIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IkhlcGF0aXRpc0JSZWFjdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29uZmlybWVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBjbGFzc1R5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJvbnNldCIgc2NvcGU9IkhlcGF0aXRpc0JSZWFjdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlllYXN0UmVhY3Rpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQW5hcGh5bGFjdGljIFJlYWN0aW9uIHRvIENvbW1vbiBCYWtlcidzIFllYXN0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2ZXJpZmljYXRpb25TdGF0dXMiIHNjb3BlPSJZZWFzdFJlYWN0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb25maXJtZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGNsYXNzVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiBzY29wZT0iWWVhc3RSZWFjdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSGVwYXRpdGlzQkRpYWdub3NpcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIZXBhdGl0aXMgQiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IkhlcGF0aXRpc0JEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbmZpcm1lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gY2xhc3NUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZWZmZWN0aXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJIZXBhdGl0aXNCRGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGFydCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iSGVwQkNvbmRpdGlvbnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMiIgdW5pdD0ieWVhcnMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkhlcEJDb25kaXRpb25zIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iT25lIENoaWNrZW4gUG94IFZhY2NpbmF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDaGlja2VuUG94VmFjY2luYXRpb24iPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6SW1tdW5pemF0aW9uIiBjb2RlUHJvcGVydHk9InZhY2NpbmVDb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlZhcmljZWxsYSBab3N0ZXIgVmFjY2luZSAoVlpWKSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJDaGlja2VuUG94VmFjY2luYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iQ2hpY2tlblBveFZhY2NpbmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJDaGlja2VuUG94VmFjY2luYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJWYXJpY2VsbGEgWm9zdGVyIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVmFyaWNlbGxhWm9zdGVyQ29uZGl0aW9ucyI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkNoaWNrZW5Qb3hUaXRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlZhcmljZWxsYSBab3N0ZXIgQW50aWJvZHkgVGVzdCAoSWdHIEFudGlib2R5IFRpdGVyKSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iQ2hpY2tlblBveFRpdGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5hbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhbWVuZGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiBzY29wZT0iQ2hpY2tlblBveFRpdGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb1F1YW50aXR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpEZWNpbWFsIiB2YWx1ZT0iMS4xMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQ2hpY2tlblBveElnR1ByZXNlbmNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iVmFyaWNlbGxhIFpvc3RlciBBbnRpYm9keSBUZXN0IChJZ0cgQW50aWJvZHkgUHJlc2VuY2UpIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJDaGlja2VuUG94SWdHUHJlc2VuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFtZW5kZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVycHJldGF0aW9uIiBzY29wZT0iQ2hpY2tlblBveElnR1ByZXNlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJQb3NpdGl2ZSBGaW5kaW5nIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbW11bmVEaXNvcmRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJEaXNvcmRlcnMgb2YgdGhlIEltbXVuZSBTeXN0ZW0iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IkltbXVuZURpc29yZGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb25maXJtZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGNsYXNzVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiBzY29wZT0iSW1tdW5lRGlzb3JkZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkhJViI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJISVYiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IkhJViIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29uZmlybWVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBjbGFzc1R5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJvbnNldCIgc2NvcGU9IkhJViIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikx5bXBoYXRpY01hbGlnbmFudE5lb3BsYXNtIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik1hbGlnbmFudCBOZW9wbGFzbSBvZiBMeW1waGF0aWMgYW5kIEhlbWF0b3BvaWV0aWMgVGlzc3VlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2ZXJpZmljYXRpb25TdGF0dXMiIHNjb3BlPSJMeW1waGF0aWNNYWxpZ25hbnROZW9wbGFzbSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29uZmlybWVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBjbGFzc1R5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJvbnNldCIgc2NvcGU9Ikx5bXBoYXRpY01hbGlnbmFudE5lb3BsYXNtIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOZW9teWNpblJlYWN0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTmVvbXljaW4gYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2ZXJpZmljYXRpb25TdGF0dXMiIHNjb3BlPSJOZW9teWNpblJlYWN0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb25maXJtZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGNsYXNzVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImVmZmVjdGl2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWUgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiBzY29wZT0iTmVvbXljaW5SZWFjdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVmFyaWNlbGxhWm9zdGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlZhcmljZWxsYSBab3N0ZXIiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IlZhcmljZWxsYVpvc3RlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29uZmlybWVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBjbGFzc1R5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJvbnNldCIgc2NvcGU9IlZhcmljZWxsYVpvc3RlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IlZhcmljZWxsYVpvc3RlckNvbmRpdGlvbnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMiIgdW5pdD0ieWVhcnMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IlZhcmljZWxsYVpvc3RlckNvbmRpdGlvbnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUG5ldW1vY29jY2FsVmFjY2luYXRpb24iPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6SW1tdW5pemF0aW9uIiBjb2RlUHJvcGVydHk9InZhY2NpbmVDb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlBuZXVtb2NvY2NhbCBDb25qdWdhdGUgVmFjY2luZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IlBuZXVtb2NvY2NhbFZhY2NpbmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IlBuZXVtb2NvY2NhbFZhY2NpbmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNDIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IlBuZXVtb2NvY2NhbFZhY2NpbmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJQbmV1bW9jb2NjYWxWYWNjaW5hdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkZvdXIgUG5ldW1vY29jY2FsIENvbmp1Z2F0ZSBWYWNjaW5hdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBuZXVtb2NvY2NhbFZhY2NpbmF0aW9uMSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUG5ldW1vY29jY2FsVmFjY2luYXRpb24yIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlBuZXVtb2NvY2NhbCBDb25qdWdhdGUgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQbmV1bW9jb2NjYWxWYWNjaW5hdGlvbjMiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUG5ldW1vY29jY2FsIENvbmp1Z2F0ZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBuZXVtb2NvY2NhbFZhY2NpbmF0aW9uNCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVPckFmdGVyIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJQbmV1bW9jb2NjYWxWYWNjaW5hdGlvbjIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iUG5ldW1vY29jY2FsVmFjY2luYXRpb24xIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lT3JBZnRlciI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iUG5ldW1vY29jY2FsVmFjY2luYXRpb24zIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IlBuZXVtb2NvY2NhbFZhY2NpbmF0aW9uMiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iU2FtZU9yQWZ0ZXIiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IlBuZXVtb2NvY2NhbFZhY2NpbmF0aW9uNCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJQbmV1bW9jb2NjYWxWYWNjaW5hdGlvbjMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlBuZXVtb2NvY2NhbFZhY2NpbmF0aW9uMSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUG5ldW1vY29jY2FsUmVhY3Rpb24iPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJQbmV1bW9jb2NjYWwgdmFjY2luZSBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlcikiIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1aXZhbGVudCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmVyaWZpY2F0aW9uU3RhdHVzIiBzY29wZT0iUG5ldW1vY29jY2FsUmVhY3Rpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbmZpcm1lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGFydCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ib25zZXQiIHNjb3BlPSJQbmV1bW9jb2NjYWxSZWFjdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIyIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGFydCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ib25zZXQiIHNjb3BlPSJQbmV1bW9jb2NjYWxSZWFjdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik9uZSBIZXBhdGl0aXMgQSBWYWNjaW5hdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkhlcGF0aXRpc0FWYWNjaW5hdGlvbiI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpJbW11bml6YXRpb24iIGNvZGVQcm9wZXJ0eT0idmFjY2luZUNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSGVwYXRpdGlzIEEgVmFjY2luZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJIZXBhdGl0aXNBVmFjY2luYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iSGVwYXRpdGlzQVZhY2NpbmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJIZXBhdGl0aXNBVmFjY2luYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIZXBhdGl0aXMgQSBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkhlcGF0aXRpc0FDb25kaXRpb25zIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkhlcGF0aXRpc0FBbnRpZ2VuVGVzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkFudGkgSGVwYXRpdGlzIEEgSWdHIEFudGlnZW4gVGVzdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iSGVwYXRpdGlzQUFudGlnZW5UZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5hbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhbWVuZGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpbnRlcnByZXRhdGlvbiIgc2NvcGU9IkhlcGF0aXRpc0FBbnRpZ2VuVGVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iUG9zaXRpdmUgRmluZGluZyIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJIZXBhdGl0aXNBUmVhY3Rpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQW5hcGh5bGFjdGljIFJlYWN0aW9uIHRvIEhlcGF0aXRpcyBBIFZhY2NpbmUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IkhlcGF0aXRpc0FSZWFjdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29uZmlybWVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBjbGFzc1R5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJvbnNldCIgc2NvcGU9IkhlcGF0aXRpc0FSZWFjdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSGVwYXRpdGlzQURpYWdub3NpcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIZXBhdGl0aXMgQSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1aXZhbGVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmVyaWZpY2F0aW9uU3RhdHVzIiBzY29wZT0iSGVwYXRpdGlzQURpYWdub3NpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29uZmlybWVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBjbGFzc1R5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJlZmZlY3RpdmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJvbnNldCIgc2NvcGU9IkhlcGF0aXRpc0FEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJIZXBhdGl0aXNBQ29uZGl0aW9ucyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIyIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGFydCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iSGVwYXRpdGlzQUNvbmRpdGlvbnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJSb3RhdmlydXMgMiBEb3NlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVHdvRG9zZVJvdGF2aXJ1cyI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpJbW11bml6YXRpb24iIGNvZGVQcm9wZXJ0eT0idmFjY2luZUNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJSb3RhdmlydXMsIGxpdmUsIG1vbm92YWxlbnQgdmFjY2luZSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IlR3b0Rvc2VSb3RhdmlydXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iVHdvRG9zZVJvdGF2aXJ1cyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjQyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJUd29Eb3NlUm90YXZpcnVzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJUd29Eb3NlUm90YXZpcnVzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUm90YXZpcnVzIDIgRG9zZSBWYWNjaW5hdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlJvdGF2aXJ1czJWYWNjaW5hdGlvbjEiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUm90YXZpcnVzIDIgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlJvdGF2aXJ1czJWYWNjaW5hdGlvbjIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUm90YXZpcnVzIDIgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVPckFmdGVyIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJSb3RhdmlydXMyVmFjY2luYXRpb24yIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IlJvdGF2aXJ1czJWYWNjaW5hdGlvbjEiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlJvdGF2aXJ1czJWYWNjaW5hdGlvbjEiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUm90YXZpcnVzIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUm90YXZpcnVzQ29uZGl0aW9ucyI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQW5hcGh5bGF4aXMgZHVlIHRvIHJvdGF2aXJ1cyB2YWNjaW5lIChkaXNvcmRlcikiIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iU2V2ZXJlIENvbWJpbmVkIEltbXVub2RlZmljaWVuY3kiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSW50dXNzdXNjZXB0aW9uIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IlJvdGF2aXJ1c0NvbmRpdGlvbnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbmZpcm1lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGFydCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ib25zZXQiIHNjb3BlPSJSb3RhdmlydXNDb25kaXRpb25zIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJvbnNldCIgc2NvcGU9IlJvdGF2aXJ1c0NvbmRpdGlvbnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJSb3RhdmlydXMgMyBEb3NlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVGhyZWVEb3NlUm90YXZpcnVzIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkltbXVuaXphdGlvbiIgY29kZVByb3BlcnR5PSJ2YWNjaW5lQ29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJSb3RhdmlydXMgVmFjY2luZSAoMyBkb3NlIHNjaGVkdWxlKSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IlRocmVlRG9zZVJvdGF2aXJ1cyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJUaHJlZURvc2VSb3RhdmlydXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI0MiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iVGhyZWVEb3NlUm90YXZpcnVzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJUaHJlZURvc2VSb3RhdmlydXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJSb3RhdmlydXMgMiBEb3NlIFZhY2NpbmF0aW9uIEZvbGxvd2VkIGJ5IFR3byBSb3RhdmlydXMgMyBEb3NlIFZhY2NpbmF0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUm90YXZpcnVzMjMzVmFjY2luYXRpb24xIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlJvdGF2aXJ1cyAyIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJSb3RhdmlydXMyMzNWYWNjaW5hdGlvbjIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUm90YXZpcnVzIDMgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlJvdGF2aXJ1czIzM1ZhY2NpbmF0aW9uMyI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJSb3RhdmlydXMgMyBEb3NlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lT3JBZnRlciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iUm90YXZpcnVzMjMzVmFjY2luYXRpb24yIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IlJvdGF2aXJ1czIzM1ZhY2NpbmF0aW9uMSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iU2FtZU9yQWZ0ZXIiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IlJvdGF2aXJ1czIzM1ZhY2NpbmF0aW9uMyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJSb3RhdmlydXMyMzNWYWNjaW5hdGlvbjIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheSIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlJvdGF2aXJ1czIzM1ZhY2NpbmF0aW9uMSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJSb3RhdmlydXMgMyBEb3NlIFZhY2NpbmF0aW9uIEZvbGxvd2VkIGJ5IEEgUm90YXZpcnVzIDIgRG9zZSBWYWNjaW5hdGlvbiBhbmQgQSBSb3RhdmlydXMgMyBEb3NlIFZhY2NpbmF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJSb3RhdmlydXMzMjNWYWNjaW5hdGlvbjEiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUm90YXZpcnVzIDMgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlJvdGF2aXJ1czMyM1ZhY2NpbmF0aW9uMiI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJSb3RhdmlydXMgMiBEb3NlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUm90YXZpcnVzMzIzVmFjY2luYXRpb24zIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlJvdGF2aXJ1cyAzIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVPckFmdGVyIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJSb3RhdmlydXMzMjNWYWNjaW5hdGlvbjIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iUm90YXZpcnVzMzIzVmFjY2luYXRpb24xIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lT3JBZnRlciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iUm90YXZpcnVzMzIzVmFjY2luYXRpb24zIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IlJvdGF2aXJ1czMyM1ZhY2NpbmF0aW9uMiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUm90YXZpcnVzMzIzVmFjY2luYXRpb24xIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlJvdGF2aXJ1cyAzIERvc2UgVmFjY2luYXRpb25zIEZvbGxvd2VkIGJ5IE9uZSBSb3RhdmlydXMgMiBEb3NlIFZhY2NpbmF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJSb3RhdmlydXMzMzJWYWNjaW5hdGlvbjEiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUm90YXZpcnVzIDMgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlJvdGF2aXJ1czMzMlZhY2NpbmF0aW9uMiI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJSb3RhdmlydXMgMyBEb3NlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUm90YXZpcnVzMzMyVmFjY2luYXRpb24zIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlJvdGF2aXJ1cyAyIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVPckFmdGVyIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJSb3RhdmlydXMzMzJWYWNjaW5hdGlvbjIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iUm90YXZpcnVzMzMyVmFjY2luYXRpb24xIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lT3JBZnRlciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iUm90YXZpcnVzMzMyVmFjY2luYXRpb24zIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IlJvdGF2aXJ1czMzMlZhY2NpbmF0aW9uMiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUm90YXZpcnVzMzMyVmFjY2luYXRpb24xIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlJvdGF2aXJ1cyAyIG9yIDMgRG9zZSBWYWNjaW5hdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJSb3RhdmlydXMgMiBEb3NlIFZhY2NpbmF0aW9uIEZvbGxvd2VkIGJ5IFR3byBSb3RhdmlydXMgMyBEb3NlIFZhY2NpbmF0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlJvdGF2aXJ1cyAzIERvc2UgVmFjY2luYXRpb24gRm9sbG93ZWQgYnkgQSBSb3RhdmlydXMgMiBEb3NlIFZhY2NpbmF0aW9uIGFuZCBBIFJvdGF2aXJ1cyAzIERvc2UgVmFjY2luYXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJSb3RhdmlydXMgMyBEb3NlIFZhY2NpbmF0aW9ucyBGb2xsb3dlZCBieSBPbmUgUm90YXZpcnVzIDIgRG9zZSBWYWNjaW5hdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJSb3RhdmlydXMgMyBEb3NlIFZhY2NpbmF0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUm90YXZpcnVzM1ZhY2NpbmF0aW9uMSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJSb3RhdmlydXMgMyBEb3NlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUm90YXZpcnVzM1ZhY2NpbmF0aW9uMiI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJSb3RhdmlydXMgMyBEb3NlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUm90YXZpcnVzM1ZhY2NpbmF0aW9uMyI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJSb3RhdmlydXMgMyBEb3NlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lT3JBZnRlciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iUm90YXZpcnVzM1ZhY2NpbmF0aW9uMiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJSb3RhdmlydXMzVmFjY2luYXRpb24xIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lT3JBZnRlciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iUm90YXZpcnVzM1ZhY2NpbmF0aW9uMyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJSb3RhdmlydXMzVmFjY2luYXRpb24yIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJSb3RhdmlydXMzVmFjY2luYXRpb24xIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkluZmx1ZW56YSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkluZmx1ZW56YVZhY2NpbmF0aW9uIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkltbXVuaXphdGlvbiIgY29kZVByb3BlcnR5PSJ2YWNjaW5lQ29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJJbmZsdWVuemEgVmFjY2luZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkluZmx1ZW56YVZhY2NpbmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IkluZmx1ZW56YVZhY2NpbmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTgwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRhdGUiIHNjb3BlPSJJbmZsdWVuemFWYWNjaW5hdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIyIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iSW5mbHVlbnphVmFjY2luYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUd28gSW5mbHVlbnphIFZhY2NpbmF0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRmx1VmFjY2luYXRpb24xIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkluZmx1ZW56YSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkZsdVZhY2NpbmF0aW9uMiI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbmZsdWVuemEgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lT3JBZnRlciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkYXRlIiBzY29wZT0iRmx1VmFjY2luYXRpb24yIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGF0ZSIgc2NvcGU9IkZsdVZhY2NpbmF0aW9uMSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRmx1VmFjY2luYXRpb24xIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkluZmx1ZW56YSBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkluZmx1ZW56YUNvbmRpdGlvbnMiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJbmZsdWVuemEgdmlydXMgdmFjY2luZSBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlcikiIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iTWFsaWduYW50IE5lb3BsYXNtIG9mIEx5bXBoYXRpYyBhbmQgSGVtYXRvcG9pZXRpYyBUaXNzdWUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTmVvbXljaW4gYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhJViIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJEaXNvcmRlcnMgb2YgdGhlIEltbXVuZSBTeXN0ZW0iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1aXZhbGVudCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmVyaWZpY2F0aW9uU3RhdHVzIiBzY29wZT0iSW5mbHVlbnphQ29uZGl0aW9ucyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29uZmlybWVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXJ0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJvbnNldCIgc2NvcGU9IkluZmx1ZW56YUNvbmRpdGlvbnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMiIgdW5pdD0ieWVhcnMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9Im9uc2V0IiBzY29wZT0iSW5mbHVlbnphQ29uZGl0aW9ucyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik51bWVyYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJGb3VyIERUYVAgVmFjY2luYXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJEVGFQIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRocmVlIFBvbGlvIFZhY2NpbmF0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUG9saW8gTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik9uZSBNTVIgVmFjY2luYXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNTVIgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc2xlcyBJbmRpY2F0b3JzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNdW1wcyBJbmRpY2F0b3JzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJSdWJlbGxhIEluZGljYXRvcnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaHJlZSBIaWIgVmFjY2luYXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIaWIgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhyZWUgSGVwYXRpdGlzIEIgVmFjY2luYXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIZXBhdGl0aXMgQiBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJPbmUgQ2hpY2tlbiBQb3ggVmFjY2luYXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhcmljZWxsYSBab3N0ZXIgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRm91ciBQbmV1bW9jb2NjYWwgQ29uanVnYXRlIFZhY2NpbmF0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUG5ldW1vY29jY2FsIENvbmp1Z2F0ZSBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJPbmUgSGVwYXRpdGlzIEEgVmFjY2luYXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIZXBhdGl0aXMgQSBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlJvdGF2aXJ1cyAyIERvc2UgVmFjY2luYXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJSb3RhdmlydXMgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJSb3RhdmlydXMgMiBvciAzIERvc2UgVmFjY2luYXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJSb3RhdmlydXMgMyBEb3NlIFZhY2NpbmF0aW9ucyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlR3byBJbmZsdWVuemEgVmFjY2luYXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTnVtZXJhdG9yIENvbXBsaWFudCBJbmZsdWVuemEgQ29uZGl0aW9ucyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbmZsdWVuemEgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE0xMTdfRkhJUjMgdmVyc2lvbiAnOC4zLjAwMCcKCi8qCkNoaWxkaG9vZCBJbW11bml6YXRpb24gU2NyZWVuaW5nIChDSVMpCiovCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKaW5jbHVkZSBIb3NwaWNlX0ZISVIzIHZlcnNpb24gJzEuMC4wMDAnIGNhbGxlZCBIb3NwaWNlCgovKgpEZXNjcmlwdGlvbgpQZXJjZW50YWdlIG9mIGNoaWxkcmVuIDIgeWVhcnMgb2YgYWdlIHdobyBoYWQgZm91ciBkaXBodGhlcmlhLCB0ZXRhbnVzIGFuZCBhY2VsbHVsYXIgcGVydHVzc2lzIChEVGFQKTsgdGhyZWUgcG9saW8gKElQViksIG9uZSBtZWFzbGVzLCBtdW1wcyBhbmQgcnViZWxsYSAoTU1SKTsgdGhyZWUgSCBpbmZsdWVuemEgdHlwZSBCIChIaUIpOyB0aHJlZSBoZXBhdGl0aXMgQiAoSGVwIEIpOyBvbmUgY2hpY2tlbiBwb3ggKFZaVik7IGZvdXIgcG5ldW1vY29jY2FsIGNvbmp1Z2F0ZSAoUENWKTsgb25lIGhlcGF0aXRpcyBBIChIZXAgQSk7IHR3byBvciB0aHJlZSByb3RhdmlydXMgKFJWKTsgYW5kIHR3byBpbmZsdWVuemEgKGZsdSkgdmFjY2luZXMgYnkgdGhlaXIgc2Vjb25kIGJpcnRoZGF5CiovCgpjb2Rlc3lzdGVtICJDUFQiOiAnaHR0cDovL3d3dy5hbWEtYXNzbi5vcmcvJwpjb2Rlc3lzdGVtICJDVlgiOiAnaHR0cDovL3d3dzJhLmNkYy5nb3YvJwpjb2Rlc3lzdGVtICJTTk9NRURDVCI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKCnZhbHVlc2V0ICJBbmFwaHlsYWN0aWMgUmVhY3Rpb24gdG8gQ29tbW9uIEJha2VyJ3MgWWVhc3QiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk5LjEyLjEwMzInCnZhbHVlc2V0ICJBbmFwaHlsYWN0aWMgUmVhY3Rpb24gdG8gRFRhUCBWYWNjaW5lIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OS4xMi4xMDMxJwp2YWx1ZXNldCAiQW5hcGh5bGFjdGljIFJlYWN0aW9uIHRvIEhlcGF0aXRpcyBBIFZhY2NpbmUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk5LjEyLjEwMjYnCnZhbHVlc2V0ICJBbnRpIEhlcGF0aXRpcyBBIElnRyBBbnRpZ2VuIFRlc3QiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwMzMnCnZhbHVlc2V0ICJBbnRpIEhlcGF0aXRpcyBCIFZpcnVzIFN1cmZhY2UgQWIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNzMnCnZhbHVlc2V0ICJEaXNvcmRlcnMgb2YgdGhlIEltbXVuZSBTeXN0ZW0iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTIwLjEyLjEwMDEnCnZhbHVlc2V0ICJEVGFQIFZhY2NpbmUgQWRtaW5pc3RlcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDIyJwp2YWx1ZXNldCAiRFRhUCBWYWNjaW5lIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xMjE0Jwp2YWx1ZXNldCAiRW5jZXBoYWxvcGF0aHkgZHVlIHRvIENoaWxkaG9vZCBWYWNjaW5hdGlvbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTQuMTIuMTAwNycKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkhhZW1vcGhpbHVzIEluZmx1ZW56YWUgVHlwZSBCIChIaUIpIFZhY2NpbmUgQWRtaW5pc3RlcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDQzJwp2YWx1ZXNldCAiSGFlbW9waGlsdXMgSW5mbHVlbnphZSBUeXBlIEIgKEhpQikgVmFjY2luZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTYuMTIuMTIxNycKdmFsdWVzZXQgIkhlcGF0aXRpcyBBIFZhY2NpbmUgQWRtaW5pc3RlcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDQxJwp2YWx1ZXNldCAiSGVwYXRpdGlzIEEgVmFjY2luZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTYuMTIuMTIxNScKdmFsdWVzZXQgIkhlcGF0aXRpcyBBIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDI0Jwp2YWx1ZXNldCAiSGVwYXRpdGlzIEIgVmFjY2luZSBBZG1pbmlzdGVyZWQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwNDInCnZhbHVlc2V0ICJIZXBhdGl0aXMgQiBWYWNjaW5lIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xMjE2Jwp2YWx1ZXNldCAiSGVwYXRpdGlzIEIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwMjUnCnZhbHVlc2V0ICJISVYiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTIwLjEyLjEwMDMnCnZhbHVlc2V0ICJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYnCnZhbHVlc2V0ICJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMDguMTUnCnZhbHVlc2V0ICJJbmFjdGl2YXRlZCBQb2xpbyBWYWNjaW5lIChJUFYpIEFkbWluaXN0ZXJlZCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTAuMTIuMTA0NScKdmFsdWVzZXQgIkluYWN0aXZhdGVkIFBvbGlvIFZhY2NpbmUgKElQVikiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk2LjEyLjEyMTknCnZhbHVlc2V0ICJJbmZsdWVuemEgVmFjY2luZSBBZG1pbmlzdGVyZWQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwNDQnCnZhbHVlc2V0ICJJbmZsdWVuemEgVmFjY2luZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTYuMTIuMTIxOCcKdmFsdWVzZXQgIkludHVzc3VzY2VwdGlvbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTkuMTIuMTA1NicKdmFsdWVzZXQgIk1hbGlnbmFudCBOZW9wbGFzbSBvZiBMeW1waGF0aWMgYW5kIEhlbWF0b3BvaWV0aWMgVGlzc3VlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOC4xMi4xMDA5Jwp2YWx1ZXNldCAiTWVhc2xlcyBBbnRpYm9keSBUZXN0IChJZ0cgQW50aWJvZHkgcHJlc2VuY2UpIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDYwJwp2YWx1ZXNldCAiTWVhc2xlcyBBbnRpYm9keSBUZXN0IChJZ0cgQW50aWJvZHkgVGl0ZXIpIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDU5Jwp2YWx1ZXNldCAiTWVhc2xlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTAuMTIuMTA1MycKdmFsdWVzZXQgIk1lYXNsZXMsIE11bXBzIGFuZCBSdWJlbGxhIChNTVIpIFZhY2NpbmUgQWRtaW5pc3RlcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDMxJwp2YWx1ZXNldCAiTWVhc2xlcywgTXVtcHMgYW5kIFJ1YmVsbGEgKE1NUikgVmFjY2luZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTYuMTIuMTIyNCcKdmFsdWVzZXQgIk11bXBzIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBwcmVzZW5jZSkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjInCnZhbHVlc2V0ICJNdW1wcyBBbnRpYm9keSBUZXN0IChJZ0cgQW50aWJvZHkgVGl0ZXIpIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDYxJwp2YWx1ZXNldCAiTXVtcHMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwMzInCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlBheWVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnCnZhbHVlc2V0ICJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIFZhY2NpbmUgQWRtaW5pc3RlcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDQ2Jwp2YWx1ZXNldCAiUG5ldW1vY29jY2FsIENvbmp1Z2F0ZSBWYWNjaW5lIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xMjIxJwp2YWx1ZXNldCAiUG9zaXRpdmUgRmluZGluZyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMjEuMTIuMTAxNicKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcywgSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjInCnZhbHVlc2V0ICJQcmV2ZW50aXZlIENhcmUsIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMCB0byAxNyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyNCcKdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiUm90YXZpcnVzIFZhY2NpbmUgKDMgZG9zZSBzY2hlZHVsZSkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk2LjEyLjEyMjMnCnZhbHVlc2V0ICJSdWJlbGxhIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBwcmVzZW5jZSkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjQnCnZhbHVlc2V0ICJSdWJlbGxhIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBUaXRlcikiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjMnCnZhbHVlc2V0ICJSdWJlbGxhIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDM3Jwp2YWx1ZXNldCAiU2V2ZXJlIENvbWJpbmVkIEltbXVub2RlZmljaWVuY3kiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTIwLjEyLjEwMDcnCnZhbHVlc2V0ICJWYXJpY2VsbGEgWm9zdGVyIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBQcmVzZW5jZSkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjcnCnZhbHVlc2V0ICJWYXJpY2VsbGEgWm9zdGVyIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBUaXRlcikiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjYnCnZhbHVlc2V0ICJWYXJpY2VsbGEgWm9zdGVyIFZhY2NpbmUgKFZaVikgQWRtaW5pc3RlcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDQwJwp2YWx1ZXNldCAiVmFyaWNlbGxhIFpvc3RlciBWYWNjaW5lIChWWlYpIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xMTcwJwp2YWx1ZXNldCAiVmFyaWNlbGxhIFpvc3RlciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTAuMTIuMTAzOScKCi8vIEJUUiAtPiBDb2RlcyBtdXN0IGNvbWUgYWZ0ZXIgdmFsdWUgc2V0cwpjb2RlICJCaXJ0aCBkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJBbmFwaHlsYXhpcyBkdWUgdG8gSGFlbW9waGlsdXMgaW5mbHVlbnphZSB0eXBlIGIgdmFjY2luZSAoZGlzb3JkZXIpIjogJzQzMzYyMTAwMDEyNDEwMScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0FuYXBoeWxheGlzIGR1ZSB0byBIYWVtb3BoaWx1cyBpbmZsdWVuemFlIHR5cGUgYiB2YWNjaW5lIChkaXNvcmRlciknCmNvZGUgIkFuYXBoeWxheGlzIGR1ZSB0byBIZXBhdGl0aXMgQiB2YWNjaW5lIChkaXNvcmRlcikiOiAnNDMzNjIxMDAwMTI0MTAxJ2Zyb20gIlNOT01FRENUIiBkaXNwbGF5ICdBbmFwaHlsYXhpcyBkdWUgdG8gSGVwYXRpdGlzIEIgdmFjY2luZSAoZGlzb3JkZXIpJwpjb2RlICJBbmFwaHlsYXhpcyBkdWUgdG8gcm90YXZpcnVzIHZhY2NpbmUgKGRpc29yZGVyKSI6ICc0MjgzMzEwMDAxMjQxMDMnIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdBbmFwaHlsYXhpcyBkdWUgdG8gcm90YXZpcnVzIHZhY2NpbmUgKGRpc29yZGVyKScKY29kZSAiRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSI6ICc0MjgzNzEwMDAxMjQxMDAnIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdEaXNjaGFyZ2UgdG8gaGVhbHRoY2FyZSBmYWNpbGl0eSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpJwpjb2RlICJEaXNjaGFyZ2UgdG8gaG9tZSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIjogJzQyODM2MTAwMDEyNDEwNycgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0Rpc2NoYXJnZSB0byBob21lIGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSknCmNvZGUgIkluZmx1ZW56YSB2aXJ1cyB2YWNjaW5lIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKSI6ICc0MjAxMTMwMDQnIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdJbmZsdWVuemEgdmlydXMgdmFjY2luZSBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlciknCmNvZGUgIk5lb215Y2luIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKSI6ICcyOTI5MjcwMDcnIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdOZW9teWNpbiBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlciknCmNvZGUgIlBuZXVtb2NvY2NhbCB2YWNjaW5lIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKSI6ICcyOTMxMTYwMDInIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdQbmV1bW9jb2NjYWwgdmFjY2luZSBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlciknCmNvZGUgIlBvbGlvbXllbGl0aXMgdmFjY2luZSBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlcikiOiAnMjkzMTE3MDA2JyBmcm9tICJTTk9NRURDVCIgZGlzcGxheSAnUG9saW9teWVsaXRpcyB2YWNjaW5lIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKScKY29kZSAiUG9seW15eGluIEIgYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIjogJzI5Mjk5MjAwNicgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ1BvbHlteXhpbiBCIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKScKY29kZSAiUm90YXZpcnVzIHZhY2NpbmUsIGh1bWFuLCBhdHRlbnVhdGVkIChSVjEpLCAyIGRvc2Ugc2NoZWR1bGUsIGxpdmUsIGZvciBvcmFsIHVzZSI6ICc5MDY4MScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ1JvdGF2aXJ1cyB2YWNjaW5lLCBodW1hbiwgYXR0ZW51YXRlZCAoUlYxKSwgMiBkb3NlIHNjaGVkdWxlLCBsaXZlLCBmb3Igb3JhbCB1c2UnCmNvZGUgIlJvdGF2aXJ1cyB2YWNjaW5lLCBwZW50YXZhbGVudCAoUlY1KSwgMyBkb3NlIHNjaGVkdWxlLCBsaXZlLCBmb3Igb3JhbCB1c2UiOiAnOTA2ODAnIGZyb20gIkNQVCIgZGlzcGxheSAnUm90YXZpcnVzIHZhY2NpbmUsIHBlbnRhdmFsZW50IChSVjUpLCAzIGRvc2Ugc2NoZWR1bGUsIGxpdmUsIGZvciBvcmFsIHVzZScKY29kZSAiUm90YXZpcnVzLCBsaXZlLCBtb25vdmFsZW50IHZhY2NpbmUiOiAnMTE5JyBmcm9tICJDVlgiIGRpc3BsYXkgJ1JvdGF2aXJ1cywgbGl2ZSwgbW9ub3ZhbGVudCB2YWNjaW5lJwpjb2RlICJTdHJlcHRvbXljaW4gYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIjogJzI5MjkyNTAwNCcgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ1N0cmVwdG9teWNpbiBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlciknCgovKgpUaGlzIGxpYnJhcnkgaGFzIGFuIGV4cGxpY2l0IHBhcmFtZXRlciB3aGljaCBpcyB0aGUgbWVhc3VyZW1lbnQgeWVhci4KV2hpbGUgdGhlIGFjdHVhbCBwYXJhbWV0ZXIgdHlwZSBhY2NlcHRzIGFsbCBpbnRlcnZhbHMsIHRoaXMgbGlicmFyeQpleHBlY3RzIGl0IHdpbGwgb25seSBiZSBnaXZlbiBhcmd1bWVudHMgY29ycmVzcG9uZGluZyBleGFjdGx5IHRvIG9uZSB3aG9sZQpjYWxlbmRhciB5ZWFyLCBhbmQgaXQgd2lsbCBub3QgYmVoYXZlIHByb3Blcmx5IG90aGVyd2lzZTsgMjAxNyBmb3IgZXhhbXBsZToKSW50ZXJ2YWxbRGF0ZVRpbWUoMjAxNywxLDEsMCwwLDAsMCksIERhdGVUaW1lKDIwMTgsMSwxLDAsMCwwLDApKQoqLwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgovKgpUaGlzIGxpYnJhcnkgZXZhbHVhdGVzIHdpdGggcmVzcGVjdCB0byBleGFjdGx5IDEgY2FuZGlkYXRlIHBhdGllbnQgYXQgYSB0aW1lLAp0aGF0IHBhdGllbnQgYmVpbmcgZ2l2ZW4gYnkgdGhlIHNwZWNpYWwgY29udGV4dCBwYXJhbWV0ZXIgUGF0aWVudC4KKi8KCmNvbnRleHQgUGF0aWVudAoKCmRlZmluZSAiU0RFIEV0aG5pY2l0eSI6CiAgU0RFLiJTREUgRXRobmljaXR5IgoKZGVmaW5lICJTREUgUGF5ZXIiOgogICBTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgogICBTREUuIlNERSBTZXgiCgovKgpJbml0aWFsIFBvcHVsYXRpb24KKi8KCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKCQlHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCAgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPj0gMQoJCQkJYW5kIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIik9IDIKCQlhbmQgZXhpc3RzICggIlF1YWxpZnlpbmcgRW5jb3VudGVyIiApCgkJYW5kIChub3QgSG9zcGljZS4iSGFzIEhvc3BpY2UiKCJNZWFzdXJlbWVudCBQZXJpb2QiKSkKCmRlZmluZSAiUXVhbGlmeWluZyBFbmNvdW50ZXIiOgoJKCBbIkVuY291bnRlciI6ICJPZmZpY2UgVmlzaXQiXQoJCXVuaW9uIFsiRW5jb3VudGVyIjogIkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyJdCgkJdW5pb24gWyJFbmNvdW50ZXIiOiAiUHJldmVudGl2ZSBDYXJlLCBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciXQoJCXVuaW9uIFsiRW5jb3VudGVyIjogIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcywgSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciXSApIFZhbGlkRW5jb3VudGVyCgkJd2hlcmUgVmFsaWRFbmNvdW50ZXIuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCQlhbmQgVmFsaWRFbmNvdW50ZXIucGVyaW9kIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CgkiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJOdW1lcmF0b3IiOgoKCSggZXhpc3RzICggIkZvdXIgRFRhUCBWYWNjaW5hdGlvbnMiICkKCQkJb3IgZXhpc3RzICggIkRUYVAgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIiApCgkpCgkJYW5kICggZXhpc3RzICggIlRocmVlIFBvbGlvIFZhY2NpbmF0aW9ucyIgKQoJCQkJb3IgZXhpc3RzICggIlBvbGlvIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyIgKQoJCSkKCQlhbmQgKCBleGlzdHMgKCAiT25lIE1NUiBWYWNjaW5hdGlvbnMiICkKCQkJCW9yIGV4aXN0cyAoICJNTVIgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIiApCgkJCQlvciAoIGV4aXN0cyAoICJNZWFzbGVzIEluZGljYXRvcnMiICkKCQkJCQkJYW5kIGV4aXN0cyAoICJNdW1wcyBJbmRpY2F0b3JzIiApCgkJCQkJCWFuZCBleGlzdHMgKCAiUnViZWxsYSBJbmRpY2F0b3JzIiApCgkJCQkpCgkJKQoJCWFuZCAoIGV4aXN0cyAoICJUaHJlZSBIaWIgVmFjY2luYXRpb25zIiApCgkJCQlvciBleGlzdHMgKCAiSGliIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyIgKQoJCSkKCQlhbmQgKCBleGlzdHMgKCAiVGhyZWUgSGVwYXRpdGlzIEIgVmFjY2luYXRpb25zIiApCgkJCQlvciBleGlzdHMgKCAiSGVwYXRpdGlzIEIgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIiApCgkJKQoJCWFuZCAoIGV4aXN0cyAoICJPbmUgQ2hpY2tlbiBQb3ggVmFjY2luYXRpb24iICkKCQkJCW9yIGV4aXN0cyAoICJWYXJpY2VsbGEgWm9zdGVyIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyIgKQoJCSkKCQlhbmQgKCBleGlzdHMgKCAiRm91ciBQbmV1bW9jb2NjYWwgQ29uanVnYXRlIFZhY2NpbmF0aW9ucyIgKQoJCQkJb3IgZXhpc3RzICggIlBuZXVtb2NvY2NhbCBDb25qdWdhdGUgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIiApCgkJKQoJCWFuZCAoIGV4aXN0cyAoICJPbmUgSGVwYXRpdGlzIEEgVmFjY2luYXRpb25zIiApCgkJCQlvciBleGlzdHMgKCAiSGVwYXRpdGlzIEEgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIiApCgkJKQoJCWFuZCAoIGV4aXN0cyAoICJSb3RhdmlydXMgMiBEb3NlIFZhY2NpbmF0aW9ucyIgKQoJCQkJb3IgZXhpc3RzICggIlJvdGF2aXJ1cyBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiICkKCQkJCW9yIGV4aXN0cyAoICJSb3RhdmlydXMgMiBvciAzIERvc2UgVmFjY2luYXRpb25zIiApCgkJCQlvciBleGlzdHMgKCAiUm90YXZpcnVzIDMgRG9zZSBWYWNjaW5hdGlvbnMiICkKCQkpCgkJYW5kICggZXhpc3RzICggIlR3byBJbmZsdWVuemEgVmFjY2luYXRpb25zIiApCgkJCQlvciBleGlzdHMgKCAiSW5mbHVlbnphIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyIgIk51bWVyYXRvciBDb21wbGlhbnQgSW5mbHVlbnphIENvbmRpdGlvbnMiICkKCQkpCgovKiBIb3cgZG8gd2UgZW5hY3QgdGhlIEhvc3BpY2UgTGlicmFyeQovLyBCVFIgLT4gQWRkIGFuIGluY2x1ZGUgZm9yIEhvc3BpY2VfRkhJUiwgd2UndmUgYWxyZWFkeSB0cmFuc2xhdGVkIHRoYXQgdG8gRkhJUiwgdGhlbiB5b3UgY2FuIGp1c3QgcmVmZXJlbmNlIGl0CiovCiBkZWZpbmUgIkZvdXIgRFRhUCBWYWNjaW5hdGlvbnMiOgoJZnJvbQoJCSJEVGFQIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgRFRhUFZhY2NpbmF0aW9uMSwKCQkiRFRhUCBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIERUYVBWYWNjaW5hdGlvbjIsCgkJIkRUYVAgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBEVGFQVmFjY2luYXRpb24zLAoJCSJEVGFQIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgRFRhUFZhY2NpbmF0aW9uNAoJCXdoZXJlIERUYVBWYWNjaW5hdGlvbjIuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBEVGFQVmFjY2luYXRpb24xLmRhdGUKCQkJYW5kIERUYVBWYWNjaW5hdGlvbjMuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBEVGFQVmFjY2luYXRpb24yLmRhdGUKCQkJYW5kIERUYVBWYWNjaW5hdGlvbjQuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBEVGFQVmFjY2luYXRpb24zLmRhdGUKCQlyZXR1cm4gRFRhUFZhY2NpbmF0aW9uMQoKZGVmaW5lICJEVGFQIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyI6CglbIkltbXVuaXphdGlvbiIgOiAiRFRhUCBWYWNjaW5lIl0gRFRhUAoJCXdoZXJlIERUYVAuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJYW5kICggR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBEVGFQLmRhdGUpID49IDQyICkKCQkJYW5kICgKICAgICAgICBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIERUYVAuZGF0ZSkKICAgICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBEVGFQLmRhdGUpCiAgICAgICkKCmRlZmluZSAiRFRhUCBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiOgoJKAogICAgWyJDb25kaXRpb24iOiAiQW5hcGh5bGFjdGljIFJlYWN0aW9uIHRvIERUYVAgVmFjY2luZSJdCgkJICB1bmlvbiBbIkNvbmRpdGlvbiI6ICJFbmNlcGhhbG9wYXRoeSBkdWUgdG8gQ2hpbGRob29kIFZhY2NpbmF0aW9uIl0KICApIERUYVBDb25kaXRpb25zCgkJICB3aGVyZSBEVGFQQ29uZGl0aW9ucy52ZXJpZmljYXRpb25TdGF0dXMgPSAnY29uZmlybWVkJwoJCQkJYW5kICgKICAgICAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgRFRhUENvbmRpdGlvbnMub25zZXQuInN0YXJ0IikKICAgICAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIERUYVBDb25kaXRpb25zLm9uc2V0LiJzdGFydCIpCiAgICAgICAgKQoKZGVmaW5lICJUaHJlZSBQb2xpbyBWYWNjaW5hdGlvbnMiOgoJZnJvbQogICAgIlBvbGlvIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUG9saW9WYWNjaW5hdGlvbjEsCgkJIlBvbGlvIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUG9saW9WYWNjaW5hdGlvbjIsCgkJIlBvbGlvIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUG9saW9WYWNjaW5hdGlvbjMKCQl3aGVyZSBQb2xpb1ZhY2NpbmF0aW9uMi5kYXRlIDEgZGF5IG9yIG1vcmUgYWZ0ZXIgZGF5IG9mIFBvbGlvVmFjY2luYXRpb24xLmRhdGUKCQkJYW5kIFBvbGlvVmFjY2luYXRpb24zLmRhdGUgMSBkYXkgb3IgbW9yZSBhZnRlciBkYXkgb2YgUG9saW9WYWNjaW5hdGlvbjIuZGF0ZQoJCXJldHVybiBQb2xpb1ZhY2NpbmF0aW9uMQoKIGRlZmluZSAiUG9saW8gSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIjoKCVsiSW1tdW5pemF0aW9uIjogIkluYWN0aXZhdGVkIFBvbGlvIFZhY2NpbmUgKElQVikiXSBQb2xpb1ZhY2NpbmF0aW9uCgkJd2hlcmUgUG9saW9WYWNjaW5hdGlvbi5zdGF0dXMgfiAnY29tcGxldGVkJwoJCWFuZCAoR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBQb2xpb1ZhY2NpbmF0aW9uLmRhdGUpID49IDQyICkKCQlhbmQgKAogICAgICBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIFBvbGlvVmFjY2luYXRpb24uZGF0ZSkKICAgICAgICA8PSBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKFBhdGllbnQuYmlydGhEYXRlICsgMiB5ZWFycywgUG9saW9WYWNjaW5hdGlvbi5kYXRlKQogICAgKQoKZGVmaW5lICJQb2xpbyBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiOgoJKCBbIkNvbmRpdGlvbiI6ICJQb2xpb215ZWxpdGlzIHZhY2NpbmUgYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIl0KCQl1bmlvbiBbIkNvbmRpdGlvbiI6ICJTdHJlcHRvbXljaW4gYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIl0KCQl1bmlvbiBbIkNvbmRpdGlvbiI6ICJQb2x5bXl4aW4gQiBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlcikiXQoJCXVuaW9uIFsiQ29uZGl0aW9uIjogIk5lb215Y2luIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKSJdICkgUG9saW9Db25kaXRpb25zCgkJCXdoZXJlIFBvbGlvQ29uZGl0aW9ucy52ZXJpZmljYXRpb25TdGF0dXMgfiAnY29uZmlybWVkJwoJCQkJYW5kICgKICAgICAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgUG9saW9Db25kaXRpb25zLm9uc2V0LiJzdGFydCIpCiAgICAgICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBQb2xpb0NvbmRpdGlvbnMub25zZXQuInN0YXJ0IikKICAgICAgICApCgpkZWZpbmUgIk9uZSBNTVIgVmFjY2luYXRpb25zIjoKCVsiSW1tdW5pemF0aW9uIjogIk1lYXNsZXMsIE11bXBzIGFuZCBSdWJlbGxhIChNTVIpIFZhY2NpbmUiXSBNTVJWYWNjaW5hdGlvbgoJCXdoZXJlIE1NUlZhY2NpbmF0aW9uLnN0YXR1cyB+ICdjb21wbGV0ZWQnCgkJYW5kICgKICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBNTVJWYWNjaW5hdGlvbi5kYXRlKQogICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBNTVJWYWNjaW5hdGlvbi5kYXRlKQogICAgKQoKZGVmaW5lICJNTVIgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIjoKCSgKICAgIFsiQ29uZGl0aW9uIjogIkRpc29yZGVycyBvZiB0aGUgSW1tdW5lIFN5c3RlbSJdCiAgCQl1bmlvbiBbIkNvbmRpdGlvbiI6ICJISVYiXQogIAkJdW5pb24gWyJDb25kaXRpb24iOiAiTWFsaWduYW50IE5lb3BsYXNtIG9mIEx5bXBoYXRpYyBhbmQgSGVtYXRvcG9pZXRpYyBUaXNzdWUiXQogIAkJdW5pb24gWyJDb25kaXRpb24iOiAiTmVvbXljaW4gYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIl0KICApIE1NUkNvbmRpdGlvbnMKCQkJd2hlcmUgTU1SQ29uZGl0aW9ucy52ZXJpZmljYXRpb25TdGF0dXMgfiAnY29uZmlybWVkJwoJCQkJYW5kICgKICAgICAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgTU1SQ29uZGl0aW9ucy5vbnNldC4ic3RhcnQiKQogICAgICAgICAgICA8PSBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKFBhdGllbnQuYmlydGhEYXRlICsgMiB5ZWFycywgTU1SQ29uZGl0aW9ucy5vbnNldC4ic3RhcnQiKQogICAgICAgICkKCmRlZmluZSAiTWVhc2xlcyBJbmRpY2F0b3JzIjoKCSgKICAgICgKICAgICAgWyJPYnNlcnZhdGlvbiI6ICJNZWFzbGVzIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBUaXRlcikiXSBNZWFzbGVzVGl0ZXIKICAgICAgCXdoZXJlIE1lYXNsZXNUaXRlci5zdGF0dXMgaW4geydmaW5hbCcsICdhbWVuZGVkJ30KICAgICAgCWFuZCBNZWFzbGVzVGl0ZXIudmFsdWUgPj0gMS4xMAogICAgKQoJCXVuaW9uICgKICAgICAgWyJPYnNlcnZhdGlvbiI6ICJNZWFzbGVzIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBwcmVzZW5jZSkiXSBNZWFzbGVzSWdHUHJlc2VuY2UKICAJCQl3aGVyZSBNZWFzbGVzSWdHUHJlc2VuY2Uuc3RhdHVzIGluIHsnZmluYWwnLCAnYW1lbmRlZCd9CiAgCQkJYW5kIE1lYXNsZXNJZ0dQcmVzZW5jZS5pbnRlcnByZXRhdGlvbiBpbiAiUG9zaXRpdmUgRmluZGluZyIKCQkpCgkJdW5pb24gKAogICAgICBbIkNvbmRpdGlvbiI6ICJNZWFzbGVzIl0gTWVhc2xlc0RpYWdub3NpcwogIAkJCXdoZXJlIE1lYXNsZXNEaWFnbm9zaXMudmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKICAJCQlyZXR1cm4gIk9ic2VydmF0aW9uIiB7IGVmZmVjdGl2ZTogTWVhc2xlc0RpYWdub3Npcy5vbnNldCB9CgkJKQogICkgTWVhc2xlcwoJCQl3aGVyZSBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIE1lYXNsZXMuZWZmZWN0aXZlLiJzdGFydCIpCiAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIE1lYXNsZXMuZWZmZWN0aXZlLiJzdGFydCIpCgpkZWZpbmUgIk11bXBzIEluZGljYXRvcnMiOgoJKAogICAgKAogICAgICBbIk9ic2VydmF0aW9uIjogIk11bXBzIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBUaXRlcikiXSBNdW1wc1RpdGVyCiAgICAgIAl3aGVyZSBNdW1wc1RpdGVyLnN0YXR1cyBpbiB7J2ZpbmFsJywgJ2FtZW5kZWQnfQogICAgICAJYW5kIE11bXBzVGl0ZXIudmFsdWUgPj0gMS4xMAogICAgKQoJCXVuaW9uICgKICAgICAgWyJPYnNlcnZhdGlvbiI6ICJNdW1wcyBBbnRpYm9keSBUZXN0IChJZ0cgQW50aWJvZHkgcHJlc2VuY2UpIl0gTXVtcHNJZ0dQcmVzZW5jZQogIAkJCXdoZXJlIE11bXBzSWdHUHJlc2VuY2Uuc3RhdHVzIGluIHsnZmluYWwnLCAnYW1lbmRlZCd9CiAgCQkJYW5kIE11bXBzSWdHUHJlc2VuY2UuaW50ZXJwcmV0YXRpb24gaW4gIlBvc2l0aXZlIEZpbmRpbmciCgkJKQoJCXVuaW9uICgKICAgICAgWyJDb25kaXRpb24iOiAiTXVtcHMiXSBNdW1wc0RpYWdub3NpcwogIAkJCXdoZXJlIE11bXBzRGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cyB+ICdjb25maXJtZWQnCiAgCQkJcmV0dXJuICJPYnNlcnZhdGlvbiIgeyBlZmZlY3RpdmU6IE11bXBzRGlhZ25vc2lzLm9uc2V0IH0KCQkpCiAgKSBNZWFzbGVzCgkJCXdoZXJlIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgTWVhc2xlcy5lZmZlY3RpdmUuInN0YXJ0IikKICAgICAgICA8PSBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKFBhdGllbnQuYmlydGhEYXRlICsgMiB5ZWFycywgTWVhc2xlcy5lZmZlY3RpdmUuInN0YXJ0IikKCmRlZmluZSAiUnViZWxsYSBJbmRpY2F0b3JzIjoKCSgKICAgICgKICAgICAgWyJPYnNlcnZhdGlvbiI6ICJSdWJlbGxhIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBUaXRlcikiXSBSdWJlbGxhVGl0ZXIKICAgICAgCXdoZXJlIFJ1YmVsbGFUaXRlci5zdGF0dXMgaW4geydmaW5hbCcsICdhbWVuZGVkJ30KICAgICAgCWFuZCBSdWJlbGxhVGl0ZXIudmFsdWUgPj0gMS4xMAogICAgKQoJCXVuaW9uICgKICAgICAgWyJPYnNlcnZhdGlvbiI6ICJSdWJlbGxhIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBwcmVzZW5jZSkiXSBSdWJlbGxhSWdHUHJlc2VuY2UKICAJCQl3aGVyZSBSdWJlbGxhSWdHUHJlc2VuY2Uuc3RhdHVzIGluIHsnZmluYWwnLCAnYW1lbmRlZCd9CiAgCQkJYW5kIFJ1YmVsbGFJZ0dQcmVzZW5jZS5pbnRlcnByZXRhdGlvbiBpbiAiUG9zaXRpdmUgRmluZGluZyIKCQkpCgkJdW5pb24gKAogICAgICBbIkNvbmRpdGlvbiI6ICJSdWJlbGxhIl0gUnViZWxsYURpYWdub3NpcwogIAkJCXdoZXJlIFJ1YmVsbGFEaWFnbm9zaXMudmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKICAJCQlyZXR1cm4gIk9ic2VydmF0aW9uIiB7IGVmZmVjdGl2ZTogUnViZWxsYURpYWdub3Npcy5vbnNldCB9CgkJKQogICkgUnViZWxsYQoJCQl3aGVyZSBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIFJ1YmVsbGEuZWZmZWN0aXZlLiJzdGFydCIpCiAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIFJ1YmVsbGEuZWZmZWN0aXZlLiJzdGFydCIpCgpkZWZpbmUgIlRocmVlIEhpYiBWYWNjaW5hdGlvbnMiOgoJZnJvbQoJCSJIaWIgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBIaUJWYWNjaW5hdGlvbjEsCgkJIkhpYiBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIEhpQlZhY2NpbmF0aW9uMiwKCQkiSGliIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgSGlCVmFjY2luYXRpb24zCgkJd2hlcmUgSGlCVmFjY2luYXRpb24yLmRhdGUgMSBkYXkgb3IgbW9yZSBhZnRlciBkYXkgb2YgSGlCVmFjY2luYXRpb24xLmRhdGUKCQkJYW5kIEhpQlZhY2NpbmF0aW9uMy5kYXRlIDEgZGF5IG9yIG1vcmUgYWZ0ZXIgZGF5IG9mIEhpQlZhY2NpbmF0aW9uMi5kYXRlCgkJcmV0dXJuIEhpQlZhY2NpbmF0aW9uMQoKZGVmaW5lICJIaWIgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIjoKCVsiSW1tdW5pemF0aW9uIjogIkhhZW1vcGhpbHVzIEluZmx1ZW56YWUgVHlwZSBCIChIaUIpIFZhY2NpbmUiXSBIaWJWYWNjaW5hdGlvbgoJCXdoZXJlIEhpYlZhY2NpbmF0aW9uLnN0YXR1cyB+ICdjb21wbGV0ZWQnCgkJYW5kICggR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBIaWJWYWNjaW5hdGlvbi5kYXRlKSA+PSA0MiApCgkJYW5kICgKICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBIaWJWYWNjaW5hdGlvbi5kYXRlKQogICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBIaWJWYWNjaW5hdGlvbi5kYXRlKQogICAgKQoKZGVmaW5lICJIaWIgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIjoKCVsiQ29uZGl0aW9uIjogIkFuYXBoeWxheGlzIGR1ZSB0byBIYWVtb3BoaWx1cyBpbmZsdWVuemFlIHR5cGUgYiB2YWNjaW5lIChkaXNvcmRlcikiXSBIaWJSZWFjdGlvbgoJCXdoZXJlIEhpYlJlYWN0aW9uLnZlcmlmaWNhdGlvblN0YXR1cyB+ICdjb25maXJtZWQnCgkJCWFuZCAoCiAgICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBIaWJSZWFjdGlvbi5vbnNldC4ic3RhcnQiKQogICAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIEhpYlJlYWN0aW9uLm9uc2V0LiJzdGFydCIpCiAgICAgICkKCmRlZmluZSAiVGhyZWUgSGVwYXRpdGlzIEIgVmFjY2luYXRpb25zIjoKCWZyb20KCQkiSGVwYXRpdGlzIEIgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBIZXBhdGl0aXNCVmFjY2luYXRpb24xLAoJCSJIZXBhdGl0aXMgQiBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIEhlcGF0aXRpc0JWYWNjaW5hdGlvbjIsCgkJIkhlcGF0aXRpcyBCIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgSGVwYXRpdGlzQlZhY2NpbmF0aW9uMwoJCXdoZXJlIEhlcGF0aXRpc0JWYWNjaW5hdGlvbjIuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBIZXBhdGl0aXNCVmFjY2luYXRpb24xLmRhdGUKCQkJYW5kIEhlcGF0aXRpc0JWYWNjaW5hdGlvbjMuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBIZXBhdGl0aXNCVmFjY2luYXRpb24yLmRhdGUKCQlyZXR1cm4gSGVwYXRpdGlzQlZhY2NpbmF0aW9uMQoKZGVmaW5lICJIZXBhdGl0aXMgQiBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiOgoJWyJJbW11bml6YXRpb24iOiAiSGVwYXRpdGlzIEIgVmFjY2luZSJdIEhlcGF0aXRpc0JWYWNjaW5hdGlvbgoJCXdoZXJlIEhlcGF0aXRpc0JWYWNjaW5hdGlvbi5zdGF0dXMgPSAnY29tcGxldGVkJwoJCWFuZCAoCiAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgSGVwYXRpdGlzQlZhY2NpbmF0aW9uLmRhdGUpCiAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIEhlcGF0aXRpc0JWYWNjaW5hdGlvbi5kYXRlKQogICAgKQoKZGVmaW5lICJIZXBhdGl0aXMgQiBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiOgoJKAogICAgKAogICAgICBbIk9ic2VydmF0aW9uIjogIkFudGkgSGVwYXRpdGlzIEIgVmlydXMgU3VyZmFjZSBBYiJdIEhlcGF0aXRpc0JBbnRpZ2VuVGVzdAogICAgICAJd2hlcmUgSGVwYXRpdGlzQkFudGlnZW5UZXN0LnN0YXR1cyBpbiB7J2ZpbmFsJywgJ2FtZW5kZWQnfQogICAgICAJYW5kIEhlcGF0aXRpc0JBbnRpZ2VuVGVzdC5pbnRlcnByZXRhdGlvbiBpbiAiUG9zaXRpdmUgRmluZGluZyIKICAgICkKCQl1bmlvbiAoCiAgICAgIFsiQ29uZGl0aW9uIjogIkFuYXBoeWxheGlzIGR1ZSB0byBIZXBhdGl0aXMgQiB2YWNjaW5lIChkaXNvcmRlcikiXSBIZXBhdGl0aXNCUmVhY3Rpb24KCQkJCXdoZXJlIEhlcGF0aXRpc0JSZWFjdGlvbi52ZXJpZmljYXRpb25TdGF0dXMgfiAnY29uZmlybWVkJwoJCQkJcmV0dXJuICJPYnNlcnZhdGlvbiIgeyBlZmZlY3RpdmU6ICBIZXBhdGl0aXNCUmVhY3Rpb24ub25zZXQgfQoJCSkKCQl1bmlvbiAoCiAgICAgIFsiQ29uZGl0aW9uIjogIkFuYXBoeWxhY3RpYyBSZWFjdGlvbiB0byBDb21tb24gQmFrZXIncyBZZWFzdCJdIFllYXN0UmVhY3Rpb24KCQkJCXdoZXJlIFllYXN0UmVhY3Rpb24udmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKCQkJCXJldHVybiAiT2JzZXJ2YXRpb24iIHsgZWZmZWN0aXZlOiAgWWVhc3RSZWFjdGlvbi5vbnNldCB9CgkJKQoJCXVuaW9uICgKICAgICAgWyJDb25kaXRpb24iOiAiSGVwYXRpdGlzIEIiXSBIZXBhdGl0aXNCRGlhZ25vc2lzCgkJCQl3aGVyZSBIZXBhdGl0aXNCRGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCgkJCQlyZXR1cm4gIk9ic2VydmF0aW9uIiB7IGVmZmVjdGl2ZTogIEhlcGF0aXRpc0JEaWFnbm9zaXMub25zZXQgfQoJCSkKICApIEhlcEJDb25kaXRpb25zCgkJCXdoZXJlICgKICAgICAgICBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIEhlcEJDb25kaXRpb25zLmVmZmVjdGl2ZS4ic3RhcnQiKQogICAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIEhlcEJDb25kaXRpb25zLmVmZmVjdGl2ZS4ic3RhcnQiKQogICAgICApCgpkZWZpbmUgIk9uZSBDaGlja2VuIFBveCBWYWNjaW5hdGlvbiI6CglbIkltbXVuaXphdGlvbiI6ICJWYXJpY2VsbGEgWm9zdGVyIFZhY2NpbmUgKFZaVikiXSBDaGlja2VuUG94VmFjY2luYXRpb24KCQl3aGVyZSBDaGlja2VuUG94VmFjY2luYXRpb24uc3RhdHVzIH4gJ2NvbXBsZXRlZCcKCQlhbmQgKAogICAgICBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIENoaWNrZW5Qb3hWYWNjaW5hdGlvbi5kYXRlKQogICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBDaGlja2VuUG94VmFjY2luYXRpb24uZGF0ZSkKICAgICkKCmRlZmluZSAiVmFyaWNlbGxhIFpvc3RlciBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiOgoJKAogICAgKAogICAgICBbIk9ic2VydmF0aW9uIjogIlZhcmljZWxsYSBab3N0ZXIgQW50aWJvZHkgVGVzdCAoSWdHIEFudGlib2R5IFRpdGVyKSJdIENoaWNrZW5Qb3hUaXRlcgogICAgICAgIHdoZXJlIENoaWNrZW5Qb3hUaXRlci5zdGF0dXMgaW4geydmaW5hbCcgLCAnYW1lbmRlZCd9CiAgICAgICAgICBhbmQgQ2hpY2tlblBveFRpdGVyLnZhbHVlID49IDEuMTAKICAgICkKCQl1bmlvbiAoCiAgICAgIFsiT2JzZXJ2YXRpb24iOiAiVmFyaWNlbGxhIFpvc3RlciBBbnRpYm9keSBUZXN0IChJZ0cgQW50aWJvZHkgUHJlc2VuY2UpIl0gQ2hpY2tlblBveElnR1ByZXNlbmNlCgkJCQl3aGVyZSBDaGlja2VuUG94SWdHUHJlc2VuY2Uuc3RhdHVzIGluIHsnZmluYWwnICwgJ2FtZW5kZWQnfQoJCQkJYW5kIENoaWNrZW5Qb3hJZ0dQcmVzZW5jZS5pbnRlcnByZXRhdGlvbiBpbiAiUG9zaXRpdmUgRmluZGluZyIKCQkpCgkJdW5pb24gKAogICAgICBbIkNvbmRpdGlvbiI6ICJEaXNvcmRlcnMgb2YgdGhlIEltbXVuZSBTeXN0ZW0iXSBJbW11bmVEaXNvcmRlcgoJCQkJd2hlcmUgSW1tdW5lRGlzb3JkZXIudmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKCQkJCXJldHVybiAiT2JzZXJ2YXRpb24iIHsgZWZmZWN0aXZlOiBJbW11bmVEaXNvcmRlci5vbnNldCB9CgkJKQoJCXVuaW9uICgKICAgICAgWyJDb25kaXRpb24iOiAiSElWIl0gSElWCgkJCQl3aGVyZSBISVYudmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKCQkJCXJldHVybiAiT2JzZXJ2YXRpb24iIHsgZWZmZWN0aXZlOiBISVYub25zZXQgfQoJCSkKCQl1bmlvbiAoCiAgICAgIFsiQ29uZGl0aW9uIjogIk1hbGlnbmFudCBOZW9wbGFzbSBvZiBMeW1waGF0aWMgYW5kIEhlbWF0b3BvaWV0aWMgVGlzc3VlIl0gTHltcGhhdGljTWFsaWduYW50TmVvcGxhc20KCQkJCXdoZXJlIEx5bXBoYXRpY01hbGlnbmFudE5lb3BsYXNtLnZlcmlmaWNhdGlvblN0YXR1cyB+ICdjb25maXJtZWQnCgkJCQlyZXR1cm4gIk9ic2VydmF0aW9uIiB7IGVmZmVjdGl2ZTogTHltcGhhdGljTWFsaWduYW50TmVvcGxhc20ub25zZXQgfQoJCSkKCQl1bmlvbiAoCiAgICAgIFsiQ29uZGl0aW9uIjogIk5lb215Y2luIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKSJdIE5lb215Y2luUmVhY3Rpb24KCQkJCXdoZXJlIE5lb215Y2luUmVhY3Rpb24udmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKCQkJCXJldHVybiAiT2JzZXJ2YXRpb24iIHsgZWZmZWN0aXZlOiBOZW9teWNpblJlYWN0aW9uLm9uc2V0IH0KCQkpCgkJdW5pb24gKAogICAgICBbIkNvbmRpdGlvbiI6ICJWYXJpY2VsbGEgWm9zdGVyIl0gVmFyaWNlbGxhWm9zdGVyCgkJCQl3aGVyZSBWYXJpY2VsbGFab3N0ZXIudmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKCQkJCXJldHVybiAiT2JzZXJ2YXRpb24iIHsgZWZmZWN0aXZlOiBWYXJpY2VsbGFab3N0ZXIub25zZXQgfQoJCSkKICApIFZhcmljZWxsYVpvc3RlckNvbmRpdGlvbnMKCQkJd2hlcmUgKAogICAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgVmFyaWNlbGxhWm9zdGVyQ29uZGl0aW9ucy5lZmZlY3RpdmUuInN0YXJ0IikKICAgICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBWYXJpY2VsbGFab3N0ZXJDb25kaXRpb25zLmVmZmVjdGl2ZS4ic3RhcnQiKQogICAgICApCgpkZWZpbmUgIkZvdXIgUG5ldW1vY29jY2FsIENvbmp1Z2F0ZSBWYWNjaW5hdGlvbnMiOgoJZnJvbQoJCSJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUG5ldW1vY29jY2FsVmFjY2luYXRpb24xLAoJCSJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUG5ldW1vY29jY2FsVmFjY2luYXRpb24yLAoJCSJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUG5ldW1vY29jY2FsVmFjY2luYXRpb24zLAoJCSJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUG5ldW1vY29jY2FsVmFjY2luYXRpb240CiAgCQl3aGVyZSBQbmV1bW9jb2NjYWxWYWNjaW5hdGlvbjIuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBQbmV1bW9jb2NjYWxWYWNjaW5hdGlvbjEuZGF0ZQogIAkJCWFuZCBQbmV1bW9jb2NjYWxWYWNjaW5hdGlvbjMuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBQbmV1bW9jb2NjYWxWYWNjaW5hdGlvbjIuZGF0ZQogIAkJCWFuZCBQbmV1bW9jb2NjYWxWYWNjaW5hdGlvbjQuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBQbmV1bW9jb2NjYWxWYWNjaW5hdGlvbjMuZGF0ZQogIAkJcmV0dXJuIFBuZXVtb2NvY2NhbFZhY2NpbmF0aW9uMQoKZGVmaW5lICJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyI6CiAgWyJJbW11bml6YXRpb24iOiAiUG5ldW1vY29jY2FsIENvbmp1Z2F0ZSBWYWNjaW5lIl0gUG5ldW1vY29jY2FsVmFjY2luYXRpb24KICAgIHdoZXJlIFBuZXVtb2NvY2NhbFZhY2NpbmF0aW9uLnN0YXR1cyB+ICdjb21wbGV0ZWQnCiAgICBhbmQgKCBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIFBuZXVtb2NvY2NhbFZhY2NpbmF0aW9uLmRhdGUpID49IDQyICkKICAgIGFuZCAoCiAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgUG5ldW1vY29jY2FsVmFjY2luYXRpb24uZGF0ZSkKICAgICAgICA8PSBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKFBhdGllbnQuYmlydGhEYXRlICsgMiB5ZWFycywgUG5ldW1vY29jY2FsVmFjY2luYXRpb24uZGF0ZSkKICAgICkKCmRlZmluZSAiUG5ldW1vY29jY2FsIENvbmp1Z2F0ZSBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiOgoJWyJDb25kaXRpb24iOiAiUG5ldW1vY29jY2FsIHZhY2NpbmUgYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIl0gUG5ldW1vY29jY2FsUmVhY3Rpb24KCQl3aGVyZSBQbmV1bW9jb2NjYWxSZWFjdGlvbi52ZXJpZmljYXRpb25TdGF0dXMgfiAnY29uZmlybWVkJwoJCQlhbmQgKAogICAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgUG5ldW1vY29jY2FsUmVhY3Rpb24ub25zZXQuInN0YXJ0IikKICAgICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBQbmV1bW9jb2NjYWxSZWFjdGlvbi5vbnNldC4ic3RhcnQiKQogICAgICApCgpkZWZpbmUgIk9uZSBIZXBhdGl0aXMgQSBWYWNjaW5hdGlvbnMiOgoJWyJJbW11bml6YXRpb24iOiAiSGVwYXRpdGlzIEEgVmFjY2luZSJdIEhlcGF0aXRpc0FWYWNjaW5hdGlvbgoJCXdoZXJlIEhlcGF0aXRpc0FWYWNjaW5hdGlvbi5zdGF0dXMgfiAnY29tcGxldGVkJwoJCWFuZCAoCiAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgSGVwYXRpdGlzQVZhY2NpbmF0aW9uLmRhdGUpCiAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIEhlcGF0aXRpc0FWYWNjaW5hdGlvbi5kYXRlKQogICAgKQoKZGVmaW5lICJIZXBhdGl0aXMgQSBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiOgoJKAogICAgKAogICAgICBbIk9ic2VydmF0aW9uIjogIkFudGkgSGVwYXRpdGlzIEEgSWdHIEFudGlnZW4gVGVzdCJdIEhlcGF0aXRpc0FBbnRpZ2VuVGVzdAogICAgICAgIHdoZXJlIEhlcGF0aXRpc0FBbnRpZ2VuVGVzdC5zdGF0dXMgaW4geydmaW5hbCcgLCAnYW1lbmRlZCd9CiAgICAgICAgCWFuZCBIZXBhdGl0aXNBQW50aWdlblRlc3QuaW50ZXJwcmV0YXRpb24gaW4gIlBvc2l0aXZlIEZpbmRpbmciCiAgICApCgkJdW5pb24gKAogICAgICBbIkNvbmRpdGlvbiI6ICJBbmFwaHlsYWN0aWMgUmVhY3Rpb24gdG8gSGVwYXRpdGlzIEEgVmFjY2luZSJdIEhlcGF0aXRpc0FSZWFjdGlvbgoJCQkJd2hlcmUgSGVwYXRpdGlzQVJlYWN0aW9uLnZlcmlmaWNhdGlvblN0YXR1cyB+ICdjb25maXJtZWQnCgkJCQlyZXR1cm4gIk9ic2VydmF0aW9uIiB7IGVmZmVjdGl2ZTogSGVwYXRpdGlzQVJlYWN0aW9uLm9uc2V0IH0KCQkpCgkJdW5pb24gKAogICAgICBbIkNvbmRpdGlvbiI6ICJIZXBhdGl0aXMgQSJdIEhlcGF0aXRpc0FEaWFnbm9zaXMKCQkJCXdoZXJlIEhlcGF0aXRpc0FEaWFnbm9zaXMudmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKCQkJCXJldHVybiAiT2JzZXJ2YXRpb24iIHsgZWZmZWN0aXZlOiBIZXBhdGl0aXNBRGlhZ25vc2lzLm9uc2V0IH0KCQkpCiAgKSBIZXBhdGl0aXNBQ29uZGl0aW9ucwoJCQl3aGVyZSAoCiAgICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBIZXBhdGl0aXNBQ29uZGl0aW9ucy5lZmZlY3RpdmUuInN0YXJ0IikKICAgICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBIZXBhdGl0aXNBQ29uZGl0aW9ucy5lZmZlY3RpdmUuInN0YXJ0IikKICAgICAgKQoKZGVmaW5lICJSb3RhdmlydXMgMiBEb3NlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyI6CiAgWyJJbW11bml6YXRpb24iOiAiUm90YXZpcnVzLCBsaXZlLCBtb25vdmFsZW50IHZhY2NpbmUiXSBUd29Eb3NlUm90YXZpcnVzCiAgCXdoZXJlIFR3b0Rvc2VSb3RhdmlydXMuc3RhdHVzIH4gJ2NvbXBsZXRlZCcKICAJYW5kICggR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBUd29Eb3NlUm90YXZpcnVzLmRhdGUpID49IDQyICkKICAJYW5kICgKICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBUd29Eb3NlUm90YXZpcnVzLmRhdGUpCiAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIFR3b0Rvc2VSb3RhdmlydXMuZGF0ZSkKICAgICkKCmRlZmluZSAiUm90YXZpcnVzIDMgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiOgogIFsiSW1tdW5pemF0aW9uIjogIlJvdGF2aXJ1cyBWYWNjaW5lICgzIGRvc2Ugc2NoZWR1bGUpIl0gVGhyZWVEb3NlUm90YXZpcnVzCiAgCXdoZXJlIFRocmVlRG9zZVJvdGF2aXJ1cy5zdGF0dXMgfiAnY29tcGxldGVkJwogIAlhbmQgKCBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIFRocmVlRG9zZVJvdGF2aXJ1cy5kYXRlKSA+PSA0MiApCiAgCWFuZCAoCiAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgVGhyZWVEb3NlUm90YXZpcnVzLmRhdGUpCiAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIFRocmVlRG9zZVJvdGF2aXJ1cy5kYXRlKQogICAgKQoKZGVmaW5lICJSb3RhdmlydXMgMiBvciAzIERvc2UgVmFjY2luYXRpb25zIjoKICAiUm90YXZpcnVzIDIgRG9zZSBWYWNjaW5hdGlvbiBGb2xsb3dlZCBieSBUd28gUm90YXZpcnVzIDMgRG9zZSBWYWNjaW5hdGlvbnMiCiAgCXVuaW9uICJSb3RhdmlydXMgMyBEb3NlIFZhY2NpbmF0aW9uIEZvbGxvd2VkIGJ5IEEgUm90YXZpcnVzIDIgRG9zZSBWYWNjaW5hdGlvbiBhbmQgQSBSb3RhdmlydXMgMyBEb3NlIFZhY2NpbmF0aW9uIgogIAl1bmlvbiAiUm90YXZpcnVzIDMgRG9zZSBWYWNjaW5hdGlvbnMgRm9sbG93ZWQgYnkgT25lIFJvdGF2aXJ1cyAyIERvc2UgVmFjY2luYXRpb24iCgpkZWZpbmUgIlJvdGF2aXJ1cyAyIERvc2UgVmFjY2luYXRpb24gRm9sbG93ZWQgYnkgVHdvIFJvdGF2aXJ1cyAzIERvc2UgVmFjY2luYXRpb25zIjoKCWZyb20KCQkiUm90YXZpcnVzIDIgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIFJvdGF2aXJ1czIzM1ZhY2NpbmF0aW9uMSwKCQkiUm90YXZpcnVzIDMgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIFJvdGF2aXJ1czIzM1ZhY2NpbmF0aW9uMiwKCQkiUm90YXZpcnVzIDMgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIFJvdGF2aXJ1czIzM1ZhY2NpbmF0aW9uMwoJCXdoZXJlIFJvdGF2aXJ1czIzM1ZhY2NpbmF0aW9uMi5kYXRlIDEgZGF5IG9yIG1vcmUgYWZ0ZXIgZGF5IG9mIFJvdGF2aXJ1czIzM1ZhY2NpbmF0aW9uMS5kYXRlCgkJCWFuZCBSb3RhdmlydXMyMzNWYWNjaW5hdGlvbjMuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBSb3RhdmlydXMyMzNWYWNjaW5hdGlvbjIuZGF0ZQoJCXJldHVybiBSb3RhdmlydXMyMzNWYWNjaW5hdGlvbjEKCmRlZmluZSAiUm90YXZpcnVzIDIgRG9zZSBWYWNjaW5hdGlvbnMiOgoJZnJvbQoJCSJSb3RhdmlydXMgMiBEb3NlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUm90YXZpcnVzMlZhY2NpbmF0aW9uMSwKCQkiUm90YXZpcnVzIDIgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIFJvdGF2aXJ1czJWYWNjaW5hdGlvbjIKCQl3aGVyZSBSb3RhdmlydXMyVmFjY2luYXRpb24yLmRhdGUgMSBkYXkgb3IgbW9yZSBhZnRlciBkYXkgb2YgUm90YXZpcnVzMlZhY2NpbmF0aW9uMS5kYXRlCgkJcmV0dXJuIFJvdGF2aXJ1czJWYWNjaW5hdGlvbjEKCmRlZmluZSAiUm90YXZpcnVzIDMgRG9zZSBWYWNjaW5hdGlvbiBGb2xsb3dlZCBieSBBIFJvdGF2aXJ1cyAyIERvc2UgVmFjY2luYXRpb24gYW5kIEEgUm90YXZpcnVzIDMgRG9zZSBWYWNjaW5hdGlvbiI6Cglmcm9tCgkJIlJvdGF2aXJ1cyAzIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBSb3RhdmlydXMzMjNWYWNjaW5hdGlvbjEsCgkJIlJvdGF2aXJ1cyAyIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBSb3RhdmlydXMzMjNWYWNjaW5hdGlvbjIsCgkJIlJvdGF2aXJ1cyAzIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBSb3RhdmlydXMzMjNWYWNjaW5hdGlvbjMKCQl3aGVyZSBSb3RhdmlydXMzMjNWYWNjaW5hdGlvbjIuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBSb3RhdmlydXMzMjNWYWNjaW5hdGlvbjEuZGF0ZQoJCQlhbmQgUm90YXZpcnVzMzIzVmFjY2luYXRpb24zLmRhdGUgMSBkYXkgb3IgbW9yZSBhZnRlciBkYXkgb2YgUm90YXZpcnVzMzIzVmFjY2luYXRpb24yLmRhdGUKCQlyZXR1cm4gUm90YXZpcnVzMzIzVmFjY2luYXRpb24xCgpkZWZpbmUgIlJvdGF2aXJ1cyAzIERvc2UgVmFjY2luYXRpb25zIjoKCWZyb20KCQkiUm90YXZpcnVzIDMgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIFJvdGF2aXJ1czNWYWNjaW5hdGlvbjEsCgkJIlJvdGF2aXJ1cyAzIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBSb3RhdmlydXMzVmFjY2luYXRpb24yLAoJCSJSb3RhdmlydXMgMyBEb3NlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUm90YXZpcnVzM1ZhY2NpbmF0aW9uMwoJCXdoZXJlIFJvdGF2aXJ1czNWYWNjaW5hdGlvbjIuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBSb3RhdmlydXMzVmFjY2luYXRpb24xLmRhdGUKCQkJYW5kIFJvdGF2aXJ1czNWYWNjaW5hdGlvbjMuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBSb3RhdmlydXMzVmFjY2luYXRpb24yLmRhdGUKCQlyZXR1cm4gUm90YXZpcnVzM1ZhY2NpbmF0aW9uMQoKZGVmaW5lICJSb3RhdmlydXMgMyBEb3NlIFZhY2NpbmF0aW9ucyBGb2xsb3dlZCBieSBPbmUgUm90YXZpcnVzIDIgRG9zZSBWYWNjaW5hdGlvbiI6Cglmcm9tCgkJIlJvdGF2aXJ1cyAzIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBSb3RhdmlydXMzMzJWYWNjaW5hdGlvbjEsCgkJIlJvdGF2aXJ1cyAzIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBSb3RhdmlydXMzMzJWYWNjaW5hdGlvbjIsCgkJIlJvdGF2aXJ1cyAyIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBSb3RhdmlydXMzMzJWYWNjaW5hdGlvbjMKCQl3aGVyZSBSb3RhdmlydXMzMzJWYWNjaW5hdGlvbjIuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBSb3RhdmlydXMzMzJWYWNjaW5hdGlvbjEuZGF0ZQoJCQlhbmQgUm90YXZpcnVzMzMyVmFjY2luYXRpb24zLmRhdGUgMSBkYXkgb3IgbW9yZSBhZnRlciBkYXkgb2YgUm90YXZpcnVzMzMyVmFjY2luYXRpb24yLmRhdGUKCQlyZXR1cm4gUm90YXZpcnVzMzMyVmFjY2luYXRpb24xCgpkZWZpbmUgIlJvdGF2aXJ1cyBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiOgoJKAogICAgWyJDb25kaXRpb24iOiAiQW5hcGh5bGF4aXMgZHVlIHRvIHJvdGF2aXJ1cyB2YWNjaW5lIChkaXNvcmRlcikiXQoJCQl1bmlvbiBbIkNvbmRpdGlvbiI6ICJTZXZlcmUgQ29tYmluZWQgSW1tdW5vZGVmaWNpZW5jeSJdCgkJCXVuaW9uIFsiQ29uZGl0aW9uIjogIkludHVzc3VzY2VwdGlvbiJdCiAgKSBSb3RhdmlydXNDb25kaXRpb25zCgkJCXdoZXJlIFJvdGF2aXJ1c0NvbmRpdGlvbnMudmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKCQkJCWFuZCAoCiAgICAgICAgICBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksICBSb3RhdmlydXNDb25kaXRpb25zLm9uc2V0LiJzdGFydCIpCiAgICAgICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCAgUm90YXZpcnVzQ29uZGl0aW9ucy5vbnNldC4ic3RhcnQiKQogICAgICAgICkKCiBkZWZpbmUgIlR3byBJbmZsdWVuemEgVmFjY2luYXRpb25zIjoKCWZyb20KCQkiSW5mbHVlbnphIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgRmx1VmFjY2luYXRpb24xLAoJCSJJbmZsdWVuemEgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBGbHVWYWNjaW5hdGlvbjIKICAJCXdoZXJlIEZsdVZhY2NpbmF0aW9uMi5kYXRlIDEgZGF5IG9yIG1vcmUgYWZ0ZXIgZGF5IG9mIEZsdVZhY2NpbmF0aW9uMS5kYXRlCiAgCQlyZXR1cm4gRmx1VmFjY2luYXRpb24xCgpkZWZpbmUgIkluZmx1ZW56YSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiOgogIFsiSW1tdW5pemF0aW9uIjogIkluZmx1ZW56YSBWYWNjaW5lIl0gSW5mbHVlbnphVmFjY2luYXRpb24KICAJd2hlcmUgSW5mbHVlbnphVmFjY2luYXRpb24uc3RhdHVzIH4gJ2NvbXBsZXRlZCcKICAJCWFuZCAoIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgSW5mbHVlbnphVmFjY2luYXRpb24uZGF0ZSkgPj0gMTgwICkKICAJCWFuZCAoCiAgICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBJbmZsdWVuemFWYWNjaW5hdGlvbi5kYXRlKQogICAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIEluZmx1ZW56YVZhY2NpbmF0aW9uLmRhdGUpCiAgICAgICkKCmRlZmluZSAiSW5mbHVlbnphIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyI6CgkoCiAgICBbIkNvbmRpdGlvbiI6ICJJbmZsdWVuemEgdmlydXMgdmFjY2luZSBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlcikiXQogIAkJdW5pb24gWyJDb25kaXRpb24iOiAiTWFsaWduYW50IE5lb3BsYXNtIG9mIEx5bXBoYXRpYyBhbmQgSGVtYXRvcG9pZXRpYyBUaXNzdWUiXQogIAkJdW5pb24gWyJDb25kaXRpb24iOiAiTmVvbXljaW4gYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIl0KICAJCXVuaW9uIFsiQ29uZGl0aW9uIjogIkhJViJdCiAgCQl1bmlvbiBbIkNvbmRpdGlvbiI6ICJEaXNvcmRlcnMgb2YgdGhlIEltbXVuZSBTeXN0ZW0iXQogICkgSW5mbHVlbnphQ29uZGl0aW9ucwoJCQl3aGVyZSBJbmZsdWVuemFDb25kaXRpb25zLnZlcmlmaWNhdGlvblN0YXR1cyB+ICdjb25maXJtZWQnCgkJCQlhbmQgKAogICAgICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBJbmZsdWVuemFDb25kaXRpb25zLm9uc2V0LiJzdGFydCIpCiAgICAgICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBJbmZsdWVuemFDb25kaXRpb25zLm9uc2V0LiJzdGFydCIpCiAgICAgICAgKQo=" - } - ] + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022" + } + } ] + }, { + "type": "Immunization", + "codeFilter": [ { + "path": "vaccineCode", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1214" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1031" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.114.12.1007" + } + } ] + }, { + "type": "Immunization", + "codeFilter": [ { + "path": "vaccineCode", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1219" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Immunization", + "codeFilter": [ { + "path": "vaccineCode", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1224" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1001" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1009" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1059" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1060" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1053" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1061" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1062" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1032" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1063" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1064" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1037" + } + } ] + }, { + "type": "Immunization", + "codeFilter": [ { + "path": "vaccineCode", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1217" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Immunization", + "codeFilter": [ { + "path": "vaccineCode", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1216" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1073" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1032" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1025" + } + } ] + }, { + "type": "Immunization", + "codeFilter": [ { + "path": "vaccineCode", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1170" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1066" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1067" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1001" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1009" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1039" + } + } ] + }, { + "type": "Immunization", + "codeFilter": [ { + "path": "vaccineCode", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1221" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Immunization", + "codeFilter": [ { + "path": "vaccineCode", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1215" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1033" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1026" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1024" + } + } ] + }, { + "type": "Immunization", + "codeFilter": [ { + "path": "vaccineCode" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1007" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.199.12.1056" + } + } ] + }, { + "type": "Immunization", + "codeFilter": [ { + "path": "vaccineCode", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1223" + } + } ] + }, { + "type": "Immunization", + "codeFilter": [ { + "path": "vaccineCode", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1218" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1009" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1001" + } + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE0xMTdfRkhJUjMgdmVyc2lvbiAnOC4zLjAwMCcKCi8qCkNoaWxkaG9vZCBJbW11bml6YXRpb24gU2NyZWVuaW5nIChDSVMpCiovCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKaW5jbHVkZSBIb3NwaWNlX0ZISVIzIHZlcnNpb24gJzEuMC4wMDAnIGNhbGxlZCBIb3NwaWNlCgovKgpEZXNjcmlwdGlvbgpQZXJjZW50YWdlIG9mIGNoaWxkcmVuIDIgeWVhcnMgb2YgYWdlIHdobyBoYWQgZm91ciBkaXBodGhlcmlhLCB0ZXRhbnVzIGFuZCBhY2VsbHVsYXIgcGVydHVzc2lzIChEVGFQKTsgdGhyZWUgcG9saW8gKElQViksIG9uZSBtZWFzbGVzLCBtdW1wcyBhbmQgcnViZWxsYSAoTU1SKTsgdGhyZWUgSCBpbmZsdWVuemEgdHlwZSBCIChIaUIpOyB0aHJlZSBoZXBhdGl0aXMgQiAoSGVwIEIpOyBvbmUgY2hpY2tlbiBwb3ggKFZaVik7IGZvdXIgcG5ldW1vY29jY2FsIGNvbmp1Z2F0ZSAoUENWKTsgb25lIGhlcGF0aXRpcyBBIChIZXAgQSk7IHR3byBvciB0aHJlZSByb3RhdmlydXMgKFJWKTsgYW5kIHR3byBpbmZsdWVuemEgKGZsdSkgdmFjY2luZXMgYnkgdGhlaXIgc2Vjb25kIGJpcnRoZGF5CiovCgpjb2Rlc3lzdGVtICJDUFQiOiAnaHR0cDovL3d3dy5hbWEtYXNzbi5vcmcvJwpjb2Rlc3lzdGVtICJDVlgiOiAnaHR0cDovL3d3dzJhLmNkYy5nb3YvJwpjb2Rlc3lzdGVtICJTTk9NRURDVCI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKCnZhbHVlc2V0ICJBbmFwaHlsYWN0aWMgUmVhY3Rpb24gdG8gQ29tbW9uIEJha2VyJ3MgWWVhc3QiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk5LjEyLjEwMzInCnZhbHVlc2V0ICJBbmFwaHlsYWN0aWMgUmVhY3Rpb24gdG8gRFRhUCBWYWNjaW5lIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OS4xMi4xMDMxJwp2YWx1ZXNldCAiQW5hcGh5bGFjdGljIFJlYWN0aW9uIHRvIEhlcGF0aXRpcyBBIFZhY2NpbmUiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk5LjEyLjEwMjYnCnZhbHVlc2V0ICJBbnRpIEhlcGF0aXRpcyBBIElnRyBBbnRpZ2VuIFRlc3QiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwMzMnCnZhbHVlc2V0ICJBbnRpIEhlcGF0aXRpcyBCIFZpcnVzIFN1cmZhY2UgQWIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNzMnCnZhbHVlc2V0ICJEaXNvcmRlcnMgb2YgdGhlIEltbXVuZSBTeXN0ZW0iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTIwLjEyLjEwMDEnCnZhbHVlc2V0ICJEVGFQIFZhY2NpbmUgQWRtaW5pc3RlcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDIyJwp2YWx1ZXNldCAiRFRhUCBWYWNjaW5lIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xMjE0Jwp2YWx1ZXNldCAiRW5jZXBoYWxvcGF0aHkgZHVlIHRvIENoaWxkaG9vZCBWYWNjaW5hdGlvbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTQuMTIuMTAwNycKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkhhZW1vcGhpbHVzIEluZmx1ZW56YWUgVHlwZSBCIChIaUIpIFZhY2NpbmUgQWRtaW5pc3RlcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDQzJwp2YWx1ZXNldCAiSGFlbW9waGlsdXMgSW5mbHVlbnphZSBUeXBlIEIgKEhpQikgVmFjY2luZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTYuMTIuMTIxNycKdmFsdWVzZXQgIkhlcGF0aXRpcyBBIFZhY2NpbmUgQWRtaW5pc3RlcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDQxJwp2YWx1ZXNldCAiSGVwYXRpdGlzIEEgVmFjY2luZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTYuMTIuMTIxNScKdmFsdWVzZXQgIkhlcGF0aXRpcyBBIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDI0Jwp2YWx1ZXNldCAiSGVwYXRpdGlzIEIgVmFjY2luZSBBZG1pbmlzdGVyZWQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwNDInCnZhbHVlc2V0ICJIZXBhdGl0aXMgQiBWYWNjaW5lIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xMjE2Jwp2YWx1ZXNldCAiSGVwYXRpdGlzIEIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwMjUnCnZhbHVlc2V0ICJISVYiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTIwLjEyLjEwMDMnCnZhbHVlc2V0ICJIb21lIEhlYWx0aGNhcmUgU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMTYnCnZhbHVlc2V0ICJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMDguMTUnCnZhbHVlc2V0ICJJbmFjdGl2YXRlZCBQb2xpbyBWYWNjaW5lIChJUFYpIEFkbWluaXN0ZXJlZCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTAuMTIuMTA0NScKdmFsdWVzZXQgIkluYWN0aXZhdGVkIFBvbGlvIFZhY2NpbmUgKElQVikiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk2LjEyLjEyMTknCnZhbHVlc2V0ICJJbmZsdWVuemEgVmFjY2luZSBBZG1pbmlzdGVyZWQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwNDQnCnZhbHVlc2V0ICJJbmZsdWVuemEgVmFjY2luZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTYuMTIuMTIxOCcKdmFsdWVzZXQgIkludHVzc3VzY2VwdGlvbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTkuMTIuMTA1NicKdmFsdWVzZXQgIk1hbGlnbmFudCBOZW9wbGFzbSBvZiBMeW1waGF0aWMgYW5kIEhlbWF0b3BvaWV0aWMgVGlzc3VlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOC4xMi4xMDA5Jwp2YWx1ZXNldCAiTWVhc2xlcyBBbnRpYm9keSBUZXN0IChJZ0cgQW50aWJvZHkgcHJlc2VuY2UpIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDYwJwp2YWx1ZXNldCAiTWVhc2xlcyBBbnRpYm9keSBUZXN0IChJZ0cgQW50aWJvZHkgVGl0ZXIpIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDU5Jwp2YWx1ZXNldCAiTWVhc2xlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTAuMTIuMTA1MycKdmFsdWVzZXQgIk1lYXNsZXMsIE11bXBzIGFuZCBSdWJlbGxhIChNTVIpIFZhY2NpbmUgQWRtaW5pc3RlcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDMxJwp2YWx1ZXNldCAiTWVhc2xlcywgTXVtcHMgYW5kIFJ1YmVsbGEgKE1NUikgVmFjY2luZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTYuMTIuMTIyNCcKdmFsdWVzZXQgIk11bXBzIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBwcmVzZW5jZSkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjInCnZhbHVlc2V0ICJNdW1wcyBBbnRpYm9keSBUZXN0IChJZ0cgQW50aWJvZHkgVGl0ZXIpIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDYxJwp2YWx1ZXNldCAiTXVtcHMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwMzInCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlBheWVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnCnZhbHVlc2V0ICJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIFZhY2NpbmUgQWRtaW5pc3RlcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDQ2Jwp2YWx1ZXNldCAiUG5ldW1vY29jY2FsIENvbmp1Z2F0ZSBWYWNjaW5lIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xMjIxJwp2YWx1ZXNldCAiUG9zaXRpdmUgRmluZGluZyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMjEuMTIuMTAxNicKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcywgSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjInCnZhbHVlc2V0ICJQcmV2ZW50aXZlIENhcmUsIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMCB0byAxNyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyNCcKdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiUm90YXZpcnVzIFZhY2NpbmUgKDMgZG9zZSBzY2hlZHVsZSkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk2LjEyLjEyMjMnCnZhbHVlc2V0ICJSdWJlbGxhIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBwcmVzZW5jZSkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjQnCnZhbHVlc2V0ICJSdWJlbGxhIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBUaXRlcikiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjMnCnZhbHVlc2V0ICJSdWJlbGxhIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDM3Jwp2YWx1ZXNldCAiU2V2ZXJlIENvbWJpbmVkIEltbXVub2RlZmljaWVuY3kiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTIwLjEyLjEwMDcnCnZhbHVlc2V0ICJWYXJpY2VsbGEgWm9zdGVyIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBQcmVzZW5jZSkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjcnCnZhbHVlc2V0ICJWYXJpY2VsbGEgWm9zdGVyIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBUaXRlcikiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjYnCnZhbHVlc2V0ICJWYXJpY2VsbGEgWm9zdGVyIFZhY2NpbmUgKFZaVikgQWRtaW5pc3RlcmVkIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDQwJwp2YWx1ZXNldCAiVmFyaWNlbGxhIFpvc3RlciBWYWNjaW5lIChWWlYpIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xMTcwJwp2YWx1ZXNldCAiVmFyaWNlbGxhIFpvc3RlciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTAuMTIuMTAzOScKCi8vIEJUUiAtPiBDb2RlcyBtdXN0IGNvbWUgYWZ0ZXIgdmFsdWUgc2V0cwpjb2RlICJCaXJ0aCBkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJBbmFwaHlsYXhpcyBkdWUgdG8gSGFlbW9waGlsdXMgaW5mbHVlbnphZSB0eXBlIGIgdmFjY2luZSAoZGlzb3JkZXIpIjogJzQzMzYyMTAwMDEyNDEwMScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0FuYXBoeWxheGlzIGR1ZSB0byBIYWVtb3BoaWx1cyBpbmZsdWVuemFlIHR5cGUgYiB2YWNjaW5lIChkaXNvcmRlciknCmNvZGUgIkFuYXBoeWxheGlzIGR1ZSB0byBIZXBhdGl0aXMgQiB2YWNjaW5lIChkaXNvcmRlcikiOiAnNDMzNjIxMDAwMTI0MTAxJ2Zyb20gIlNOT01FRENUIiBkaXNwbGF5ICdBbmFwaHlsYXhpcyBkdWUgdG8gSGVwYXRpdGlzIEIgdmFjY2luZSAoZGlzb3JkZXIpJwpjb2RlICJBbmFwaHlsYXhpcyBkdWUgdG8gcm90YXZpcnVzIHZhY2NpbmUgKGRpc29yZGVyKSI6ICc0MjgzMzEwMDAxMjQxMDMnIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdBbmFwaHlsYXhpcyBkdWUgdG8gcm90YXZpcnVzIHZhY2NpbmUgKGRpc29yZGVyKScKY29kZSAiRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSI6ICc0MjgzNzEwMDAxMjQxMDAnIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdEaXNjaGFyZ2UgdG8gaGVhbHRoY2FyZSBmYWNpbGl0eSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpJwpjb2RlICJEaXNjaGFyZ2UgdG8gaG9tZSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIjogJzQyODM2MTAwMDEyNDEwNycgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0Rpc2NoYXJnZSB0byBob21lIGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSknCmNvZGUgIkluZmx1ZW56YSB2aXJ1cyB2YWNjaW5lIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKSI6ICc0MjAxMTMwMDQnIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdJbmZsdWVuemEgdmlydXMgdmFjY2luZSBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlciknCmNvZGUgIk5lb215Y2luIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKSI6ICcyOTI5MjcwMDcnIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdOZW9teWNpbiBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlciknCmNvZGUgIlBuZXVtb2NvY2NhbCB2YWNjaW5lIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKSI6ICcyOTMxMTYwMDInIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdQbmV1bW9jb2NjYWwgdmFjY2luZSBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlciknCmNvZGUgIlBvbGlvbXllbGl0aXMgdmFjY2luZSBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlcikiOiAnMjkzMTE3MDA2JyBmcm9tICJTTk9NRURDVCIgZGlzcGxheSAnUG9saW9teWVsaXRpcyB2YWNjaW5lIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKScKY29kZSAiUG9seW15eGluIEIgYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIjogJzI5Mjk5MjAwNicgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ1BvbHlteXhpbiBCIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKScKY29kZSAiUm90YXZpcnVzIHZhY2NpbmUsIGh1bWFuLCBhdHRlbnVhdGVkIChSVjEpLCAyIGRvc2Ugc2NoZWR1bGUsIGxpdmUsIGZvciBvcmFsIHVzZSI6ICc5MDY4MScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ1JvdGF2aXJ1cyB2YWNjaW5lLCBodW1hbiwgYXR0ZW51YXRlZCAoUlYxKSwgMiBkb3NlIHNjaGVkdWxlLCBsaXZlLCBmb3Igb3JhbCB1c2UnCmNvZGUgIlJvdGF2aXJ1cyB2YWNjaW5lLCBwZW50YXZhbGVudCAoUlY1KSwgMyBkb3NlIHNjaGVkdWxlLCBsaXZlLCBmb3Igb3JhbCB1c2UiOiAnOTA2ODAnIGZyb20gIkNQVCIgZGlzcGxheSAnUm90YXZpcnVzIHZhY2NpbmUsIHBlbnRhdmFsZW50IChSVjUpLCAzIGRvc2Ugc2NoZWR1bGUsIGxpdmUsIGZvciBvcmFsIHVzZScKY29kZSAiUm90YXZpcnVzLCBsaXZlLCBtb25vdmFsZW50IHZhY2NpbmUiOiAnMTE5JyBmcm9tICJDVlgiIGRpc3BsYXkgJ1JvdGF2aXJ1cywgbGl2ZSwgbW9ub3ZhbGVudCB2YWNjaW5lJwpjb2RlICJTdHJlcHRvbXljaW4gYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIjogJzI5MjkyNTAwNCcgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ1N0cmVwdG9teWNpbiBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlciknCgovKgpUaGlzIGxpYnJhcnkgaGFzIGFuIGV4cGxpY2l0IHBhcmFtZXRlciB3aGljaCBpcyB0aGUgbWVhc3VyZW1lbnQgeWVhci4KV2hpbGUgdGhlIGFjdHVhbCBwYXJhbWV0ZXIgdHlwZSBhY2NlcHRzIGFsbCBpbnRlcnZhbHMsIHRoaXMgbGlicmFyeQpleHBlY3RzIGl0IHdpbGwgb25seSBiZSBnaXZlbiBhcmd1bWVudHMgY29ycmVzcG9uZGluZyBleGFjdGx5IHRvIG9uZSB3aG9sZQpjYWxlbmRhciB5ZWFyLCBhbmQgaXQgd2lsbCBub3QgYmVoYXZlIHByb3Blcmx5IG90aGVyd2lzZTsgMjAxNyBmb3IgZXhhbXBsZToKSW50ZXJ2YWxbRGF0ZVRpbWUoMjAxNywxLDEsMCwwLDAsMCksIERhdGVUaW1lKDIwMTgsMSwxLDAsMCwwLDApKQoqLwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgovKgpUaGlzIGxpYnJhcnkgZXZhbHVhdGVzIHdpdGggcmVzcGVjdCB0byBleGFjdGx5IDEgY2FuZGlkYXRlIHBhdGllbnQgYXQgYSB0aW1lLAp0aGF0IHBhdGllbnQgYmVpbmcgZ2l2ZW4gYnkgdGhlIHNwZWNpYWwgY29udGV4dCBwYXJhbWV0ZXIgUGF0aWVudC4KKi8KCmNvbnRleHQgUGF0aWVudAoKCmRlZmluZSAiU0RFIEV0aG5pY2l0eSI6CiAgU0RFLiJTREUgRXRobmljaXR5IgoKZGVmaW5lICJTREUgUGF5ZXIiOgogICBTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgogICBTREUuIlNERSBTZXgiCgovKgpJbml0aWFsIFBvcHVsYXRpb24KKi8KCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKCQlHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCAgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPj0gMQoJCQkJYW5kIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIik9IDIKCQlhbmQgZXhpc3RzICggIlF1YWxpZnlpbmcgRW5jb3VudGVyIiApCgkJYW5kIChub3QgSG9zcGljZS4iSGFzIEhvc3BpY2UiKCJNZWFzdXJlbWVudCBQZXJpb2QiKSkKCmRlZmluZSAiUXVhbGlmeWluZyBFbmNvdW50ZXIiOgoJKCBbIkVuY291bnRlciI6ICJPZmZpY2UgVmlzaXQiXQoJCXVuaW9uIFsiRW5jb3VudGVyIjogIkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyJdCgkJdW5pb24gWyJFbmNvdW50ZXIiOiAiUHJldmVudGl2ZSBDYXJlLCBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciXQoJCXVuaW9uIFsiRW5jb3VudGVyIjogIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcywgSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciXSApIFZhbGlkRW5jb3VudGVyCgkJd2hlcmUgVmFsaWRFbmNvdW50ZXIuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCQlhbmQgVmFsaWRFbmNvdW50ZXIucGVyaW9kIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CgkiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJOdW1lcmF0b3IiOgoKCSggZXhpc3RzICggIkZvdXIgRFRhUCBWYWNjaW5hdGlvbnMiICkKCQkJb3IgZXhpc3RzICggIkRUYVAgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIiApCgkpCgkJYW5kICggZXhpc3RzICggIlRocmVlIFBvbGlvIFZhY2NpbmF0aW9ucyIgKQoJCQkJb3IgZXhpc3RzICggIlBvbGlvIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyIgKQoJCSkKCQlhbmQgKCBleGlzdHMgKCAiT25lIE1NUiBWYWNjaW5hdGlvbnMiICkKCQkJCW9yIGV4aXN0cyAoICJNTVIgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIiApCgkJCQlvciAoIGV4aXN0cyAoICJNZWFzbGVzIEluZGljYXRvcnMiICkKCQkJCQkJYW5kIGV4aXN0cyAoICJNdW1wcyBJbmRpY2F0b3JzIiApCgkJCQkJCWFuZCBleGlzdHMgKCAiUnViZWxsYSBJbmRpY2F0b3JzIiApCgkJCQkpCgkJKQoJCWFuZCAoIGV4aXN0cyAoICJUaHJlZSBIaWIgVmFjY2luYXRpb25zIiApCgkJCQlvciBleGlzdHMgKCAiSGliIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyIgKQoJCSkKCQlhbmQgKCBleGlzdHMgKCAiVGhyZWUgSGVwYXRpdGlzIEIgVmFjY2luYXRpb25zIiApCgkJCQlvciBleGlzdHMgKCAiSGVwYXRpdGlzIEIgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIiApCgkJKQoJCWFuZCAoIGV4aXN0cyAoICJPbmUgQ2hpY2tlbiBQb3ggVmFjY2luYXRpb24iICkKCQkJCW9yIGV4aXN0cyAoICJWYXJpY2VsbGEgWm9zdGVyIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyIgKQoJCSkKCQlhbmQgKCBleGlzdHMgKCAiRm91ciBQbmV1bW9jb2NjYWwgQ29uanVnYXRlIFZhY2NpbmF0aW9ucyIgKQoJCQkJb3IgZXhpc3RzICggIlBuZXVtb2NvY2NhbCBDb25qdWdhdGUgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIiApCgkJKQoJCWFuZCAoIGV4aXN0cyAoICJPbmUgSGVwYXRpdGlzIEEgVmFjY2luYXRpb25zIiApCgkJCQlvciBleGlzdHMgKCAiSGVwYXRpdGlzIEEgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIiApCgkJKQoJCWFuZCAoIGV4aXN0cyAoICJSb3RhdmlydXMgMiBEb3NlIFZhY2NpbmF0aW9ucyIgKQoJCQkJb3IgZXhpc3RzICggIlJvdGF2aXJ1cyBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiICkKCQkJCW9yIGV4aXN0cyAoICJSb3RhdmlydXMgMiBvciAzIERvc2UgVmFjY2luYXRpb25zIiApCgkJCQlvciBleGlzdHMgKCAiUm90YXZpcnVzIDMgRG9zZSBWYWNjaW5hdGlvbnMiICkKCQkpCgkJYW5kICggZXhpc3RzICggIlR3byBJbmZsdWVuemEgVmFjY2luYXRpb25zIiApCgkJCQlvciBleGlzdHMgKCAiSW5mbHVlbnphIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyIgIk51bWVyYXRvciBDb21wbGlhbnQgSW5mbHVlbnphIENvbmRpdGlvbnMiICkKCQkpCgovKiBIb3cgZG8gd2UgZW5hY3QgdGhlIEhvc3BpY2UgTGlicmFyeQovLyBCVFIgLT4gQWRkIGFuIGluY2x1ZGUgZm9yIEhvc3BpY2VfRkhJUiwgd2UndmUgYWxyZWFkeSB0cmFuc2xhdGVkIHRoYXQgdG8gRkhJUiwgdGhlbiB5b3UgY2FuIGp1c3QgcmVmZXJlbmNlIGl0CiovCiBkZWZpbmUgIkZvdXIgRFRhUCBWYWNjaW5hdGlvbnMiOgoJZnJvbQoJCSJEVGFQIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgRFRhUFZhY2NpbmF0aW9uMSwKCQkiRFRhUCBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIERUYVBWYWNjaW5hdGlvbjIsCgkJIkRUYVAgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBEVGFQVmFjY2luYXRpb24zLAoJCSJEVGFQIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgRFRhUFZhY2NpbmF0aW9uNAoJCXdoZXJlIERUYVBWYWNjaW5hdGlvbjIuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBEVGFQVmFjY2luYXRpb24xLmRhdGUKCQkJYW5kIERUYVBWYWNjaW5hdGlvbjMuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBEVGFQVmFjY2luYXRpb24yLmRhdGUKCQkJYW5kIERUYVBWYWNjaW5hdGlvbjQuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBEVGFQVmFjY2luYXRpb24zLmRhdGUKCQlyZXR1cm4gRFRhUFZhY2NpbmF0aW9uMQoKZGVmaW5lICJEVGFQIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyI6CglbIkltbXVuaXphdGlvbiIgOiAiRFRhUCBWYWNjaW5lIl0gRFRhUAoJCXdoZXJlIERUYVAuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJYW5kICggR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBEVGFQLmRhdGUpID49IDQyICkKCQkJYW5kICgKICAgICAgICBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIERUYVAuZGF0ZSkKICAgICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBEVGFQLmRhdGUpCiAgICAgICkKCmRlZmluZSAiRFRhUCBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiOgoJKAogICAgWyJDb25kaXRpb24iOiAiQW5hcGh5bGFjdGljIFJlYWN0aW9uIHRvIERUYVAgVmFjY2luZSJdCgkJICB1bmlvbiBbIkNvbmRpdGlvbiI6ICJFbmNlcGhhbG9wYXRoeSBkdWUgdG8gQ2hpbGRob29kIFZhY2NpbmF0aW9uIl0KICApIERUYVBDb25kaXRpb25zCgkJICB3aGVyZSBEVGFQQ29uZGl0aW9ucy52ZXJpZmljYXRpb25TdGF0dXMgPSAnY29uZmlybWVkJwoJCQkJYW5kICgKICAgICAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgRFRhUENvbmRpdGlvbnMub25zZXQuInN0YXJ0IikKICAgICAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIERUYVBDb25kaXRpb25zLm9uc2V0LiJzdGFydCIpCiAgICAgICAgKQoKZGVmaW5lICJUaHJlZSBQb2xpbyBWYWNjaW5hdGlvbnMiOgoJZnJvbQogICAgIlBvbGlvIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUG9saW9WYWNjaW5hdGlvbjEsCgkJIlBvbGlvIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUG9saW9WYWNjaW5hdGlvbjIsCgkJIlBvbGlvIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUG9saW9WYWNjaW5hdGlvbjMKCQl3aGVyZSBQb2xpb1ZhY2NpbmF0aW9uMi5kYXRlIDEgZGF5IG9yIG1vcmUgYWZ0ZXIgZGF5IG9mIFBvbGlvVmFjY2luYXRpb24xLmRhdGUKCQkJYW5kIFBvbGlvVmFjY2luYXRpb24zLmRhdGUgMSBkYXkgb3IgbW9yZSBhZnRlciBkYXkgb2YgUG9saW9WYWNjaW5hdGlvbjIuZGF0ZQoJCXJldHVybiBQb2xpb1ZhY2NpbmF0aW9uMQoKIGRlZmluZSAiUG9saW8gSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIjoKCVsiSW1tdW5pemF0aW9uIjogIkluYWN0aXZhdGVkIFBvbGlvIFZhY2NpbmUgKElQVikiXSBQb2xpb1ZhY2NpbmF0aW9uCgkJd2hlcmUgUG9saW9WYWNjaW5hdGlvbi5zdGF0dXMgfiAnY29tcGxldGVkJwoJCWFuZCAoR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBQb2xpb1ZhY2NpbmF0aW9uLmRhdGUpID49IDQyICkKCQlhbmQgKAogICAgICBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIFBvbGlvVmFjY2luYXRpb24uZGF0ZSkKICAgICAgICA8PSBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKFBhdGllbnQuYmlydGhEYXRlICsgMiB5ZWFycywgUG9saW9WYWNjaW5hdGlvbi5kYXRlKQogICAgKQoKZGVmaW5lICJQb2xpbyBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiOgoJKCBbIkNvbmRpdGlvbiI6ICJQb2xpb215ZWxpdGlzIHZhY2NpbmUgYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIl0KCQl1bmlvbiBbIkNvbmRpdGlvbiI6ICJTdHJlcHRvbXljaW4gYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIl0KCQl1bmlvbiBbIkNvbmRpdGlvbiI6ICJQb2x5bXl4aW4gQiBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlcikiXQoJCXVuaW9uIFsiQ29uZGl0aW9uIjogIk5lb215Y2luIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKSJdICkgUG9saW9Db25kaXRpb25zCgkJCXdoZXJlIFBvbGlvQ29uZGl0aW9ucy52ZXJpZmljYXRpb25TdGF0dXMgfiAnY29uZmlybWVkJwoJCQkJYW5kICgKICAgICAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgUG9saW9Db25kaXRpb25zLm9uc2V0LiJzdGFydCIpCiAgICAgICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBQb2xpb0NvbmRpdGlvbnMub25zZXQuInN0YXJ0IikKICAgICAgICApCgpkZWZpbmUgIk9uZSBNTVIgVmFjY2luYXRpb25zIjoKCVsiSW1tdW5pemF0aW9uIjogIk1lYXNsZXMsIE11bXBzIGFuZCBSdWJlbGxhIChNTVIpIFZhY2NpbmUiXSBNTVJWYWNjaW5hdGlvbgoJCXdoZXJlIE1NUlZhY2NpbmF0aW9uLnN0YXR1cyB+ICdjb21wbGV0ZWQnCgkJYW5kICgKICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBNTVJWYWNjaW5hdGlvbi5kYXRlKQogICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBNTVJWYWNjaW5hdGlvbi5kYXRlKQogICAgKQoKZGVmaW5lICJNTVIgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIjoKCSgKICAgIFsiQ29uZGl0aW9uIjogIkRpc29yZGVycyBvZiB0aGUgSW1tdW5lIFN5c3RlbSJdCiAgCQl1bmlvbiBbIkNvbmRpdGlvbiI6ICJISVYiXQogIAkJdW5pb24gWyJDb25kaXRpb24iOiAiTWFsaWduYW50IE5lb3BsYXNtIG9mIEx5bXBoYXRpYyBhbmQgSGVtYXRvcG9pZXRpYyBUaXNzdWUiXQogIAkJdW5pb24gWyJDb25kaXRpb24iOiAiTmVvbXljaW4gYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIl0KICApIE1NUkNvbmRpdGlvbnMKCQkJd2hlcmUgTU1SQ29uZGl0aW9ucy52ZXJpZmljYXRpb25TdGF0dXMgfiAnY29uZmlybWVkJwoJCQkJYW5kICgKICAgICAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgTU1SQ29uZGl0aW9ucy5vbnNldC4ic3RhcnQiKQogICAgICAgICAgICA8PSBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKFBhdGllbnQuYmlydGhEYXRlICsgMiB5ZWFycywgTU1SQ29uZGl0aW9ucy5vbnNldC4ic3RhcnQiKQogICAgICAgICkKCmRlZmluZSAiTWVhc2xlcyBJbmRpY2F0b3JzIjoKCSgKICAgICgKICAgICAgWyJPYnNlcnZhdGlvbiI6ICJNZWFzbGVzIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBUaXRlcikiXSBNZWFzbGVzVGl0ZXIKICAgICAgCXdoZXJlIE1lYXNsZXNUaXRlci5zdGF0dXMgaW4geydmaW5hbCcsICdhbWVuZGVkJ30KICAgICAgCWFuZCBNZWFzbGVzVGl0ZXIudmFsdWUgPj0gMS4xMAogICAgKQoJCXVuaW9uICgKICAgICAgWyJPYnNlcnZhdGlvbiI6ICJNZWFzbGVzIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBwcmVzZW5jZSkiXSBNZWFzbGVzSWdHUHJlc2VuY2UKICAJCQl3aGVyZSBNZWFzbGVzSWdHUHJlc2VuY2Uuc3RhdHVzIGluIHsnZmluYWwnLCAnYW1lbmRlZCd9CiAgCQkJYW5kIE1lYXNsZXNJZ0dQcmVzZW5jZS5pbnRlcnByZXRhdGlvbiBpbiAiUG9zaXRpdmUgRmluZGluZyIKCQkpCgkJdW5pb24gKAogICAgICBbIkNvbmRpdGlvbiI6ICJNZWFzbGVzIl0gTWVhc2xlc0RpYWdub3NpcwogIAkJCXdoZXJlIE1lYXNsZXNEaWFnbm9zaXMudmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKICAJCQlyZXR1cm4gIk9ic2VydmF0aW9uIiB7IGVmZmVjdGl2ZTogTWVhc2xlc0RpYWdub3Npcy5vbnNldCB9CgkJKQogICkgTWVhc2xlcwoJCQl3aGVyZSBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIE1lYXNsZXMuZWZmZWN0aXZlLiJzdGFydCIpCiAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIE1lYXNsZXMuZWZmZWN0aXZlLiJzdGFydCIpCgpkZWZpbmUgIk11bXBzIEluZGljYXRvcnMiOgoJKAogICAgKAogICAgICBbIk9ic2VydmF0aW9uIjogIk11bXBzIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBUaXRlcikiXSBNdW1wc1RpdGVyCiAgICAgIAl3aGVyZSBNdW1wc1RpdGVyLnN0YXR1cyBpbiB7J2ZpbmFsJywgJ2FtZW5kZWQnfQogICAgICAJYW5kIE11bXBzVGl0ZXIudmFsdWUgPj0gMS4xMAogICAgKQoJCXVuaW9uICgKICAgICAgWyJPYnNlcnZhdGlvbiI6ICJNdW1wcyBBbnRpYm9keSBUZXN0IChJZ0cgQW50aWJvZHkgcHJlc2VuY2UpIl0gTXVtcHNJZ0dQcmVzZW5jZQogIAkJCXdoZXJlIE11bXBzSWdHUHJlc2VuY2Uuc3RhdHVzIGluIHsnZmluYWwnLCAnYW1lbmRlZCd9CiAgCQkJYW5kIE11bXBzSWdHUHJlc2VuY2UuaW50ZXJwcmV0YXRpb24gaW4gIlBvc2l0aXZlIEZpbmRpbmciCgkJKQoJCXVuaW9uICgKICAgICAgWyJDb25kaXRpb24iOiAiTXVtcHMiXSBNdW1wc0RpYWdub3NpcwogIAkJCXdoZXJlIE11bXBzRGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cyB+ICdjb25maXJtZWQnCiAgCQkJcmV0dXJuICJPYnNlcnZhdGlvbiIgeyBlZmZlY3RpdmU6IE11bXBzRGlhZ25vc2lzLm9uc2V0IH0KCQkpCiAgKSBNZWFzbGVzCgkJCXdoZXJlIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgTWVhc2xlcy5lZmZlY3RpdmUuInN0YXJ0IikKICAgICAgICA8PSBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKFBhdGllbnQuYmlydGhEYXRlICsgMiB5ZWFycywgTWVhc2xlcy5lZmZlY3RpdmUuInN0YXJ0IikKCmRlZmluZSAiUnViZWxsYSBJbmRpY2F0b3JzIjoKCSgKICAgICgKICAgICAgWyJPYnNlcnZhdGlvbiI6ICJSdWJlbGxhIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBUaXRlcikiXSBSdWJlbGxhVGl0ZXIKICAgICAgCXdoZXJlIFJ1YmVsbGFUaXRlci5zdGF0dXMgaW4geydmaW5hbCcsICdhbWVuZGVkJ30KICAgICAgCWFuZCBSdWJlbGxhVGl0ZXIudmFsdWUgPj0gMS4xMAogICAgKQoJCXVuaW9uICgKICAgICAgWyJPYnNlcnZhdGlvbiI6ICJSdWJlbGxhIEFudGlib2R5IFRlc3QgKElnRyBBbnRpYm9keSBwcmVzZW5jZSkiXSBSdWJlbGxhSWdHUHJlc2VuY2UKICAJCQl3aGVyZSBSdWJlbGxhSWdHUHJlc2VuY2Uuc3RhdHVzIGluIHsnZmluYWwnLCAnYW1lbmRlZCd9CiAgCQkJYW5kIFJ1YmVsbGFJZ0dQcmVzZW5jZS5pbnRlcnByZXRhdGlvbiBpbiAiUG9zaXRpdmUgRmluZGluZyIKCQkpCgkJdW5pb24gKAogICAgICBbIkNvbmRpdGlvbiI6ICJSdWJlbGxhIl0gUnViZWxsYURpYWdub3NpcwogIAkJCXdoZXJlIFJ1YmVsbGFEaWFnbm9zaXMudmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKICAJCQlyZXR1cm4gIk9ic2VydmF0aW9uIiB7IGVmZmVjdGl2ZTogUnViZWxsYURpYWdub3Npcy5vbnNldCB9CgkJKQogICkgUnViZWxsYQoJCQl3aGVyZSBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIFJ1YmVsbGEuZWZmZWN0aXZlLiJzdGFydCIpCiAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIFJ1YmVsbGEuZWZmZWN0aXZlLiJzdGFydCIpCgpkZWZpbmUgIlRocmVlIEhpYiBWYWNjaW5hdGlvbnMiOgoJZnJvbQoJCSJIaWIgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBIaUJWYWNjaW5hdGlvbjEsCgkJIkhpYiBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIEhpQlZhY2NpbmF0aW9uMiwKCQkiSGliIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgSGlCVmFjY2luYXRpb24zCgkJd2hlcmUgSGlCVmFjY2luYXRpb24yLmRhdGUgMSBkYXkgb3IgbW9yZSBhZnRlciBkYXkgb2YgSGlCVmFjY2luYXRpb24xLmRhdGUKCQkJYW5kIEhpQlZhY2NpbmF0aW9uMy5kYXRlIDEgZGF5IG9yIG1vcmUgYWZ0ZXIgZGF5IG9mIEhpQlZhY2NpbmF0aW9uMi5kYXRlCgkJcmV0dXJuIEhpQlZhY2NpbmF0aW9uMQoKZGVmaW5lICJIaWIgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIjoKCVsiSW1tdW5pemF0aW9uIjogIkhhZW1vcGhpbHVzIEluZmx1ZW56YWUgVHlwZSBCIChIaUIpIFZhY2NpbmUiXSBIaWJWYWNjaW5hdGlvbgoJCXdoZXJlIEhpYlZhY2NpbmF0aW9uLnN0YXR1cyB+ICdjb21wbGV0ZWQnCgkJYW5kICggR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBIaWJWYWNjaW5hdGlvbi5kYXRlKSA+PSA0MiApCgkJYW5kICgKICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBIaWJWYWNjaW5hdGlvbi5kYXRlKQogICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBIaWJWYWNjaW5hdGlvbi5kYXRlKQogICAgKQoKZGVmaW5lICJIaWIgTnVtZXJhdG9yIEluY2x1c2lvbiBDb25kaXRpb25zIjoKCVsiQ29uZGl0aW9uIjogIkFuYXBoeWxheGlzIGR1ZSB0byBIYWVtb3BoaWx1cyBpbmZsdWVuemFlIHR5cGUgYiB2YWNjaW5lIChkaXNvcmRlcikiXSBIaWJSZWFjdGlvbgoJCXdoZXJlIEhpYlJlYWN0aW9uLnZlcmlmaWNhdGlvblN0YXR1cyB+ICdjb25maXJtZWQnCgkJCWFuZCAoCiAgICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBIaWJSZWFjdGlvbi5vbnNldC4ic3RhcnQiKQogICAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIEhpYlJlYWN0aW9uLm9uc2V0LiJzdGFydCIpCiAgICAgICkKCmRlZmluZSAiVGhyZWUgSGVwYXRpdGlzIEIgVmFjY2luYXRpb25zIjoKCWZyb20KCQkiSGVwYXRpdGlzIEIgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBIZXBhdGl0aXNCVmFjY2luYXRpb24xLAoJCSJIZXBhdGl0aXMgQiBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIEhlcGF0aXRpc0JWYWNjaW5hdGlvbjIsCgkJIkhlcGF0aXRpcyBCIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgSGVwYXRpdGlzQlZhY2NpbmF0aW9uMwoJCXdoZXJlIEhlcGF0aXRpc0JWYWNjaW5hdGlvbjIuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBIZXBhdGl0aXNCVmFjY2luYXRpb24xLmRhdGUKCQkJYW5kIEhlcGF0aXRpc0JWYWNjaW5hdGlvbjMuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBIZXBhdGl0aXNCVmFjY2luYXRpb24yLmRhdGUKCQlyZXR1cm4gSGVwYXRpdGlzQlZhY2NpbmF0aW9uMQoKZGVmaW5lICJIZXBhdGl0aXMgQiBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiOgoJWyJJbW11bml6YXRpb24iOiAiSGVwYXRpdGlzIEIgVmFjY2luZSJdIEhlcGF0aXRpc0JWYWNjaW5hdGlvbgoJCXdoZXJlIEhlcGF0aXRpc0JWYWNjaW5hdGlvbi5zdGF0dXMgPSAnY29tcGxldGVkJwoJCWFuZCAoCiAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgSGVwYXRpdGlzQlZhY2NpbmF0aW9uLmRhdGUpCiAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIEhlcGF0aXRpc0JWYWNjaW5hdGlvbi5kYXRlKQogICAgKQoKZGVmaW5lICJIZXBhdGl0aXMgQiBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiOgoJKAogICAgKAogICAgICBbIk9ic2VydmF0aW9uIjogIkFudGkgSGVwYXRpdGlzIEIgVmlydXMgU3VyZmFjZSBBYiJdIEhlcGF0aXRpc0JBbnRpZ2VuVGVzdAogICAgICAJd2hlcmUgSGVwYXRpdGlzQkFudGlnZW5UZXN0LnN0YXR1cyBpbiB7J2ZpbmFsJywgJ2FtZW5kZWQnfQogICAgICAJYW5kIEhlcGF0aXRpc0JBbnRpZ2VuVGVzdC5pbnRlcnByZXRhdGlvbiBpbiAiUG9zaXRpdmUgRmluZGluZyIKICAgICkKCQl1bmlvbiAoCiAgICAgIFsiQ29uZGl0aW9uIjogIkFuYXBoeWxheGlzIGR1ZSB0byBIZXBhdGl0aXMgQiB2YWNjaW5lIChkaXNvcmRlcikiXSBIZXBhdGl0aXNCUmVhY3Rpb24KCQkJCXdoZXJlIEhlcGF0aXRpc0JSZWFjdGlvbi52ZXJpZmljYXRpb25TdGF0dXMgfiAnY29uZmlybWVkJwoJCQkJcmV0dXJuICJPYnNlcnZhdGlvbiIgeyBlZmZlY3RpdmU6ICBIZXBhdGl0aXNCUmVhY3Rpb24ub25zZXQgfQoJCSkKCQl1bmlvbiAoCiAgICAgIFsiQ29uZGl0aW9uIjogIkFuYXBoeWxhY3RpYyBSZWFjdGlvbiB0byBDb21tb24gQmFrZXIncyBZZWFzdCJdIFllYXN0UmVhY3Rpb24KCQkJCXdoZXJlIFllYXN0UmVhY3Rpb24udmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKCQkJCXJldHVybiAiT2JzZXJ2YXRpb24iIHsgZWZmZWN0aXZlOiAgWWVhc3RSZWFjdGlvbi5vbnNldCB9CgkJKQoJCXVuaW9uICgKICAgICAgWyJDb25kaXRpb24iOiAiSGVwYXRpdGlzIEIiXSBIZXBhdGl0aXNCRGlhZ25vc2lzCgkJCQl3aGVyZSBIZXBhdGl0aXNCRGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCgkJCQlyZXR1cm4gIk9ic2VydmF0aW9uIiB7IGVmZmVjdGl2ZTogIEhlcGF0aXRpc0JEaWFnbm9zaXMub25zZXQgfQoJCSkKICApIEhlcEJDb25kaXRpb25zCgkJCXdoZXJlICgKICAgICAgICBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIEhlcEJDb25kaXRpb25zLmVmZmVjdGl2ZS4ic3RhcnQiKQogICAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIEhlcEJDb25kaXRpb25zLmVmZmVjdGl2ZS4ic3RhcnQiKQogICAgICApCgpkZWZpbmUgIk9uZSBDaGlja2VuIFBveCBWYWNjaW5hdGlvbiI6CglbIkltbXVuaXphdGlvbiI6ICJWYXJpY2VsbGEgWm9zdGVyIFZhY2NpbmUgKFZaVikiXSBDaGlja2VuUG94VmFjY2luYXRpb24KCQl3aGVyZSBDaGlja2VuUG94VmFjY2luYXRpb24uc3RhdHVzIH4gJ2NvbXBsZXRlZCcKCQlhbmQgKAogICAgICBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIENoaWNrZW5Qb3hWYWNjaW5hdGlvbi5kYXRlKQogICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBDaGlja2VuUG94VmFjY2luYXRpb24uZGF0ZSkKICAgICkKCmRlZmluZSAiVmFyaWNlbGxhIFpvc3RlciBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiOgoJKAogICAgKAogICAgICBbIk9ic2VydmF0aW9uIjogIlZhcmljZWxsYSBab3N0ZXIgQW50aWJvZHkgVGVzdCAoSWdHIEFudGlib2R5IFRpdGVyKSJdIENoaWNrZW5Qb3hUaXRlcgogICAgICAgIHdoZXJlIENoaWNrZW5Qb3hUaXRlci5zdGF0dXMgaW4geydmaW5hbCcgLCAnYW1lbmRlZCd9CiAgICAgICAgICBhbmQgQ2hpY2tlblBveFRpdGVyLnZhbHVlID49IDEuMTAKICAgICkKCQl1bmlvbiAoCiAgICAgIFsiT2JzZXJ2YXRpb24iOiAiVmFyaWNlbGxhIFpvc3RlciBBbnRpYm9keSBUZXN0IChJZ0cgQW50aWJvZHkgUHJlc2VuY2UpIl0gQ2hpY2tlblBveElnR1ByZXNlbmNlCgkJCQl3aGVyZSBDaGlja2VuUG94SWdHUHJlc2VuY2Uuc3RhdHVzIGluIHsnZmluYWwnICwgJ2FtZW5kZWQnfQoJCQkJYW5kIENoaWNrZW5Qb3hJZ0dQcmVzZW5jZS5pbnRlcnByZXRhdGlvbiBpbiAiUG9zaXRpdmUgRmluZGluZyIKCQkpCgkJdW5pb24gKAogICAgICBbIkNvbmRpdGlvbiI6ICJEaXNvcmRlcnMgb2YgdGhlIEltbXVuZSBTeXN0ZW0iXSBJbW11bmVEaXNvcmRlcgoJCQkJd2hlcmUgSW1tdW5lRGlzb3JkZXIudmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKCQkJCXJldHVybiAiT2JzZXJ2YXRpb24iIHsgZWZmZWN0aXZlOiBJbW11bmVEaXNvcmRlci5vbnNldCB9CgkJKQoJCXVuaW9uICgKICAgICAgWyJDb25kaXRpb24iOiAiSElWIl0gSElWCgkJCQl3aGVyZSBISVYudmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKCQkJCXJldHVybiAiT2JzZXJ2YXRpb24iIHsgZWZmZWN0aXZlOiBISVYub25zZXQgfQoJCSkKCQl1bmlvbiAoCiAgICAgIFsiQ29uZGl0aW9uIjogIk1hbGlnbmFudCBOZW9wbGFzbSBvZiBMeW1waGF0aWMgYW5kIEhlbWF0b3BvaWV0aWMgVGlzc3VlIl0gTHltcGhhdGljTWFsaWduYW50TmVvcGxhc20KCQkJCXdoZXJlIEx5bXBoYXRpY01hbGlnbmFudE5lb3BsYXNtLnZlcmlmaWNhdGlvblN0YXR1cyB+ICdjb25maXJtZWQnCgkJCQlyZXR1cm4gIk9ic2VydmF0aW9uIiB7IGVmZmVjdGl2ZTogTHltcGhhdGljTWFsaWduYW50TmVvcGxhc20ub25zZXQgfQoJCSkKCQl1bmlvbiAoCiAgICAgIFsiQ29uZGl0aW9uIjogIk5lb215Y2luIGFkdmVyc2UgcmVhY3Rpb24gKGRpc29yZGVyKSJdIE5lb215Y2luUmVhY3Rpb24KCQkJCXdoZXJlIE5lb215Y2luUmVhY3Rpb24udmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKCQkJCXJldHVybiAiT2JzZXJ2YXRpb24iIHsgZWZmZWN0aXZlOiBOZW9teWNpblJlYWN0aW9uLm9uc2V0IH0KCQkpCgkJdW5pb24gKAogICAgICBbIkNvbmRpdGlvbiI6ICJWYXJpY2VsbGEgWm9zdGVyIl0gVmFyaWNlbGxhWm9zdGVyCgkJCQl3aGVyZSBWYXJpY2VsbGFab3N0ZXIudmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKCQkJCXJldHVybiAiT2JzZXJ2YXRpb24iIHsgZWZmZWN0aXZlOiBWYXJpY2VsbGFab3N0ZXIub25zZXQgfQoJCSkKICApIFZhcmljZWxsYVpvc3RlckNvbmRpdGlvbnMKCQkJd2hlcmUgKAogICAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgVmFyaWNlbGxhWm9zdGVyQ29uZGl0aW9ucy5lZmZlY3RpdmUuInN0YXJ0IikKICAgICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBWYXJpY2VsbGFab3N0ZXJDb25kaXRpb25zLmVmZmVjdGl2ZS4ic3RhcnQiKQogICAgICApCgpkZWZpbmUgIkZvdXIgUG5ldW1vY29jY2FsIENvbmp1Z2F0ZSBWYWNjaW5hdGlvbnMiOgoJZnJvbQoJCSJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUG5ldW1vY29jY2FsVmFjY2luYXRpb24xLAoJCSJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUG5ldW1vY29jY2FsVmFjY2luYXRpb24yLAoJCSJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUG5ldW1vY29jY2FsVmFjY2luYXRpb24zLAoJCSJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUG5ldW1vY29jY2FsVmFjY2luYXRpb240CiAgCQl3aGVyZSBQbmV1bW9jb2NjYWxWYWNjaW5hdGlvbjIuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBQbmV1bW9jb2NjYWxWYWNjaW5hdGlvbjEuZGF0ZQogIAkJCWFuZCBQbmV1bW9jb2NjYWxWYWNjaW5hdGlvbjMuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBQbmV1bW9jb2NjYWxWYWNjaW5hdGlvbjIuZGF0ZQogIAkJCWFuZCBQbmV1bW9jb2NjYWxWYWNjaW5hdGlvbjQuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBQbmV1bW9jb2NjYWxWYWNjaW5hdGlvbjMuZGF0ZQogIAkJcmV0dXJuIFBuZXVtb2NvY2NhbFZhY2NpbmF0aW9uMQoKZGVmaW5lICJQbmV1bW9jb2NjYWwgQ29uanVnYXRlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyI6CiAgWyJJbW11bml6YXRpb24iOiAiUG5ldW1vY29jY2FsIENvbmp1Z2F0ZSBWYWNjaW5lIl0gUG5ldW1vY29jY2FsVmFjY2luYXRpb24KICAgIHdoZXJlIFBuZXVtb2NvY2NhbFZhY2NpbmF0aW9uLnN0YXR1cyB+ICdjb21wbGV0ZWQnCiAgICBhbmQgKCBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIFBuZXVtb2NvY2NhbFZhY2NpbmF0aW9uLmRhdGUpID49IDQyICkKICAgIGFuZCAoCiAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgUG5ldW1vY29jY2FsVmFjY2luYXRpb24uZGF0ZSkKICAgICAgICA8PSBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKFBhdGllbnQuYmlydGhEYXRlICsgMiB5ZWFycywgUG5ldW1vY29jY2FsVmFjY2luYXRpb24uZGF0ZSkKICAgICkKCmRlZmluZSAiUG5ldW1vY29jY2FsIENvbmp1Z2F0ZSBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiOgoJWyJDb25kaXRpb24iOiAiUG5ldW1vY29jY2FsIHZhY2NpbmUgYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIl0gUG5ldW1vY29jY2FsUmVhY3Rpb24KCQl3aGVyZSBQbmV1bW9jb2NjYWxSZWFjdGlvbi52ZXJpZmljYXRpb25TdGF0dXMgfiAnY29uZmlybWVkJwoJCQlhbmQgKAogICAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgUG5ldW1vY29jY2FsUmVhY3Rpb24ub25zZXQuInN0YXJ0IikKICAgICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBQbmV1bW9jb2NjYWxSZWFjdGlvbi5vbnNldC4ic3RhcnQiKQogICAgICApCgpkZWZpbmUgIk9uZSBIZXBhdGl0aXMgQSBWYWNjaW5hdGlvbnMiOgoJWyJJbW11bml6YXRpb24iOiAiSGVwYXRpdGlzIEEgVmFjY2luZSJdIEhlcGF0aXRpc0FWYWNjaW5hdGlvbgoJCXdoZXJlIEhlcGF0aXRpc0FWYWNjaW5hdGlvbi5zdGF0dXMgfiAnY29tcGxldGVkJwoJCWFuZCAoCiAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgSGVwYXRpdGlzQVZhY2NpbmF0aW9uLmRhdGUpCiAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIEhlcGF0aXRpc0FWYWNjaW5hdGlvbi5kYXRlKQogICAgKQoKZGVmaW5lICJIZXBhdGl0aXMgQSBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiOgoJKAogICAgKAogICAgICBbIk9ic2VydmF0aW9uIjogIkFudGkgSGVwYXRpdGlzIEEgSWdHIEFudGlnZW4gVGVzdCJdIEhlcGF0aXRpc0FBbnRpZ2VuVGVzdAogICAgICAgIHdoZXJlIEhlcGF0aXRpc0FBbnRpZ2VuVGVzdC5zdGF0dXMgaW4geydmaW5hbCcgLCAnYW1lbmRlZCd9CiAgICAgICAgCWFuZCBIZXBhdGl0aXNBQW50aWdlblRlc3QuaW50ZXJwcmV0YXRpb24gaW4gIlBvc2l0aXZlIEZpbmRpbmciCiAgICApCgkJdW5pb24gKAogICAgICBbIkNvbmRpdGlvbiI6ICJBbmFwaHlsYWN0aWMgUmVhY3Rpb24gdG8gSGVwYXRpdGlzIEEgVmFjY2luZSJdIEhlcGF0aXRpc0FSZWFjdGlvbgoJCQkJd2hlcmUgSGVwYXRpdGlzQVJlYWN0aW9uLnZlcmlmaWNhdGlvblN0YXR1cyB+ICdjb25maXJtZWQnCgkJCQlyZXR1cm4gIk9ic2VydmF0aW9uIiB7IGVmZmVjdGl2ZTogSGVwYXRpdGlzQVJlYWN0aW9uLm9uc2V0IH0KCQkpCgkJdW5pb24gKAogICAgICBbIkNvbmRpdGlvbiI6ICJIZXBhdGl0aXMgQSJdIEhlcGF0aXRpc0FEaWFnbm9zaXMKCQkJCXdoZXJlIEhlcGF0aXRpc0FEaWFnbm9zaXMudmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKCQkJCXJldHVybiAiT2JzZXJ2YXRpb24iIHsgZWZmZWN0aXZlOiBIZXBhdGl0aXNBRGlhZ25vc2lzLm9uc2V0IH0KCQkpCiAgKSBIZXBhdGl0aXNBQ29uZGl0aW9ucwoJCQl3aGVyZSAoCiAgICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBIZXBhdGl0aXNBQ29uZGl0aW9ucy5lZmZlY3RpdmUuInN0YXJ0IikKICAgICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBIZXBhdGl0aXNBQ29uZGl0aW9ucy5lZmZlY3RpdmUuInN0YXJ0IikKICAgICAgKQoKZGVmaW5lICJSb3RhdmlydXMgMiBEb3NlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyI6CiAgWyJJbW11bml6YXRpb24iOiAiUm90YXZpcnVzLCBsaXZlLCBtb25vdmFsZW50IHZhY2NpbmUiXSBUd29Eb3NlUm90YXZpcnVzCiAgCXdoZXJlIFR3b0Rvc2VSb3RhdmlydXMuc3RhdHVzIH4gJ2NvbXBsZXRlZCcKICAJYW5kICggR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBUd29Eb3NlUm90YXZpcnVzLmRhdGUpID49IDQyICkKICAJYW5kICgKICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBUd29Eb3NlUm90YXZpcnVzLmRhdGUpCiAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIFR3b0Rvc2VSb3RhdmlydXMuZGF0ZSkKICAgICkKCmRlZmluZSAiUm90YXZpcnVzIDMgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiOgogIFsiSW1tdW5pemF0aW9uIjogIlJvdGF2aXJ1cyBWYWNjaW5lICgzIGRvc2Ugc2NoZWR1bGUpIl0gVGhyZWVEb3NlUm90YXZpcnVzCiAgCXdoZXJlIFRocmVlRG9zZVJvdGF2aXJ1cy5zdGF0dXMgfiAnY29tcGxldGVkJwogIAlhbmQgKCBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIFRocmVlRG9zZVJvdGF2aXJ1cy5kYXRlKSA+PSA0MiApCiAgCWFuZCAoCiAgICAgIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgVGhyZWVEb3NlUm90YXZpcnVzLmRhdGUpCiAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIFRocmVlRG9zZVJvdGF2aXJ1cy5kYXRlKQogICAgKQoKZGVmaW5lICJSb3RhdmlydXMgMiBvciAzIERvc2UgVmFjY2luYXRpb25zIjoKICAiUm90YXZpcnVzIDIgRG9zZSBWYWNjaW5hdGlvbiBGb2xsb3dlZCBieSBUd28gUm90YXZpcnVzIDMgRG9zZSBWYWNjaW5hdGlvbnMiCiAgCXVuaW9uICJSb3RhdmlydXMgMyBEb3NlIFZhY2NpbmF0aW9uIEZvbGxvd2VkIGJ5IEEgUm90YXZpcnVzIDIgRG9zZSBWYWNjaW5hdGlvbiBhbmQgQSBSb3RhdmlydXMgMyBEb3NlIFZhY2NpbmF0aW9uIgogIAl1bmlvbiAiUm90YXZpcnVzIDMgRG9zZSBWYWNjaW5hdGlvbnMgRm9sbG93ZWQgYnkgT25lIFJvdGF2aXJ1cyAyIERvc2UgVmFjY2luYXRpb24iCgpkZWZpbmUgIlJvdGF2aXJ1cyAyIERvc2UgVmFjY2luYXRpb24gRm9sbG93ZWQgYnkgVHdvIFJvdGF2aXJ1cyAzIERvc2UgVmFjY2luYXRpb25zIjoKCWZyb20KCQkiUm90YXZpcnVzIDIgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIFJvdGF2aXJ1czIzM1ZhY2NpbmF0aW9uMSwKCQkiUm90YXZpcnVzIDMgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIFJvdGF2aXJ1czIzM1ZhY2NpbmF0aW9uMiwKCQkiUm90YXZpcnVzIDMgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIFJvdGF2aXJ1czIzM1ZhY2NpbmF0aW9uMwoJCXdoZXJlIFJvdGF2aXJ1czIzM1ZhY2NpbmF0aW9uMi5kYXRlIDEgZGF5IG9yIG1vcmUgYWZ0ZXIgZGF5IG9mIFJvdGF2aXJ1czIzM1ZhY2NpbmF0aW9uMS5kYXRlCgkJCWFuZCBSb3RhdmlydXMyMzNWYWNjaW5hdGlvbjMuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBSb3RhdmlydXMyMzNWYWNjaW5hdGlvbjIuZGF0ZQoJCXJldHVybiBSb3RhdmlydXMyMzNWYWNjaW5hdGlvbjEKCmRlZmluZSAiUm90YXZpcnVzIDIgRG9zZSBWYWNjaW5hdGlvbnMiOgoJZnJvbQoJCSJSb3RhdmlydXMgMiBEb3NlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUm90YXZpcnVzMlZhY2NpbmF0aW9uMSwKCQkiUm90YXZpcnVzIDIgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIFJvdGF2aXJ1czJWYWNjaW5hdGlvbjIKCQl3aGVyZSBSb3RhdmlydXMyVmFjY2luYXRpb24yLmRhdGUgMSBkYXkgb3IgbW9yZSBhZnRlciBkYXkgb2YgUm90YXZpcnVzMlZhY2NpbmF0aW9uMS5kYXRlCgkJcmV0dXJuIFJvdGF2aXJ1czJWYWNjaW5hdGlvbjEKCmRlZmluZSAiUm90YXZpcnVzIDMgRG9zZSBWYWNjaW5hdGlvbiBGb2xsb3dlZCBieSBBIFJvdGF2aXJ1cyAyIERvc2UgVmFjY2luYXRpb24gYW5kIEEgUm90YXZpcnVzIDMgRG9zZSBWYWNjaW5hdGlvbiI6Cglmcm9tCgkJIlJvdGF2aXJ1cyAzIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBSb3RhdmlydXMzMjNWYWNjaW5hdGlvbjEsCgkJIlJvdGF2aXJ1cyAyIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBSb3RhdmlydXMzMjNWYWNjaW5hdGlvbjIsCgkJIlJvdGF2aXJ1cyAzIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBSb3RhdmlydXMzMjNWYWNjaW5hdGlvbjMKCQl3aGVyZSBSb3RhdmlydXMzMjNWYWNjaW5hdGlvbjIuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBSb3RhdmlydXMzMjNWYWNjaW5hdGlvbjEuZGF0ZQoJCQlhbmQgUm90YXZpcnVzMzIzVmFjY2luYXRpb24zLmRhdGUgMSBkYXkgb3IgbW9yZSBhZnRlciBkYXkgb2YgUm90YXZpcnVzMzIzVmFjY2luYXRpb24yLmRhdGUKCQlyZXR1cm4gUm90YXZpcnVzMzIzVmFjY2luYXRpb24xCgpkZWZpbmUgIlJvdGF2aXJ1cyAzIERvc2UgVmFjY2luYXRpb25zIjoKCWZyb20KCQkiUm90YXZpcnVzIDMgRG9zZSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiIFJvdGF2aXJ1czNWYWNjaW5hdGlvbjEsCgkJIlJvdGF2aXJ1cyAzIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBSb3RhdmlydXMzVmFjY2luYXRpb24yLAoJCSJSb3RhdmlydXMgMyBEb3NlIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgUm90YXZpcnVzM1ZhY2NpbmF0aW9uMwoJCXdoZXJlIFJvdGF2aXJ1czNWYWNjaW5hdGlvbjIuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBSb3RhdmlydXMzVmFjY2luYXRpb24xLmRhdGUKCQkJYW5kIFJvdGF2aXJ1czNWYWNjaW5hdGlvbjMuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBSb3RhdmlydXMzVmFjY2luYXRpb24yLmRhdGUKCQlyZXR1cm4gUm90YXZpcnVzM1ZhY2NpbmF0aW9uMQoKZGVmaW5lICJSb3RhdmlydXMgMyBEb3NlIFZhY2NpbmF0aW9ucyBGb2xsb3dlZCBieSBPbmUgUm90YXZpcnVzIDIgRG9zZSBWYWNjaW5hdGlvbiI6Cglmcm9tCgkJIlJvdGF2aXJ1cyAzIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBSb3RhdmlydXMzMzJWYWNjaW5hdGlvbjEsCgkJIlJvdGF2aXJ1cyAzIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBSb3RhdmlydXMzMzJWYWNjaW5hdGlvbjIsCgkJIlJvdGF2aXJ1cyAyIERvc2UgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBSb3RhdmlydXMzMzJWYWNjaW5hdGlvbjMKCQl3aGVyZSBSb3RhdmlydXMzMzJWYWNjaW5hdGlvbjIuZGF0ZSAxIGRheSBvciBtb3JlIGFmdGVyIGRheSBvZiBSb3RhdmlydXMzMzJWYWNjaW5hdGlvbjEuZGF0ZQoJCQlhbmQgUm90YXZpcnVzMzMyVmFjY2luYXRpb24zLmRhdGUgMSBkYXkgb3IgbW9yZSBhZnRlciBkYXkgb2YgUm90YXZpcnVzMzMyVmFjY2luYXRpb24yLmRhdGUKCQlyZXR1cm4gUm90YXZpcnVzMzMyVmFjY2luYXRpb24xCgpkZWZpbmUgIlJvdGF2aXJ1cyBOdW1lcmF0b3IgSW5jbHVzaW9uIENvbmRpdGlvbnMiOgoJKAogICAgWyJDb25kaXRpb24iOiAiQW5hcGh5bGF4aXMgZHVlIHRvIHJvdGF2aXJ1cyB2YWNjaW5lIChkaXNvcmRlcikiXQoJCQl1bmlvbiBbIkNvbmRpdGlvbiI6ICJTZXZlcmUgQ29tYmluZWQgSW1tdW5vZGVmaWNpZW5jeSJdCgkJCXVuaW9uIFsiQ29uZGl0aW9uIjogIkludHVzc3VzY2VwdGlvbiJdCiAgKSBSb3RhdmlydXNDb25kaXRpb25zCgkJCXdoZXJlIFJvdGF2aXJ1c0NvbmRpdGlvbnMudmVyaWZpY2F0aW9uU3RhdHVzIH4gJ2NvbmZpcm1lZCcKCQkJCWFuZCAoCiAgICAgICAgICBHbG9iYWwuIkNhbGVuZGFyQWdlSW5EYXlzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksICBSb3RhdmlydXNDb25kaXRpb25zLm9uc2V0LiJzdGFydCIpCiAgICAgICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCAgUm90YXZpcnVzQ29uZGl0aW9ucy5vbnNldC4ic3RhcnQiKQogICAgICAgICkKCiBkZWZpbmUgIlR3byBJbmZsdWVuemEgVmFjY2luYXRpb25zIjoKCWZyb20KCQkiSW5mbHVlbnphIEltbXVuaXphdGlvbnMgb3IgUHJvY2VkdXJlcyIgRmx1VmFjY2luYXRpb24xLAoJCSJJbmZsdWVuemEgSW1tdW5pemF0aW9ucyBvciBQcm9jZWR1cmVzIiBGbHVWYWNjaW5hdGlvbjIKICAJCXdoZXJlIEZsdVZhY2NpbmF0aW9uMi5kYXRlIDEgZGF5IG9yIG1vcmUgYWZ0ZXIgZGF5IG9mIEZsdVZhY2NpbmF0aW9uMS5kYXRlCiAgCQlyZXR1cm4gRmx1VmFjY2luYXRpb24xCgpkZWZpbmUgIkluZmx1ZW56YSBJbW11bml6YXRpb25zIG9yIFByb2NlZHVyZXMiOgogIFsiSW1tdW5pemF0aW9uIjogIkluZmx1ZW56YSBWYWNjaW5lIl0gSW5mbHVlbnphVmFjY2luYXRpb24KICAJd2hlcmUgSW5mbHVlbnphVmFjY2luYXRpb24uc3RhdHVzIH4gJ2NvbXBsZXRlZCcKICAJCWFuZCAoIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgSW5mbHVlbnphVmFjY2luYXRpb24uZGF0ZSkgPj0gMTgwICkKICAJCWFuZCAoCiAgICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBJbmZsdWVuemFWYWNjaW5hdGlvbi5kYXRlKQogICAgICAgICAgPD0gR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihQYXRpZW50LmJpcnRoRGF0ZSArIDIgeWVhcnMsIEluZmx1ZW56YVZhY2NpbmF0aW9uLmRhdGUpCiAgICAgICkKCmRlZmluZSAiSW5mbHVlbnphIE51bWVyYXRvciBJbmNsdXNpb24gQ29uZGl0aW9ucyI6CgkoCiAgICBbIkNvbmRpdGlvbiI6ICJJbmZsdWVuemEgdmlydXMgdmFjY2luZSBhZHZlcnNlIHJlYWN0aW9uIChkaXNvcmRlcikiXQogIAkJdW5pb24gWyJDb25kaXRpb24iOiAiTWFsaWduYW50IE5lb3BsYXNtIG9mIEx5bXBoYXRpYyBhbmQgSGVtYXRvcG9pZXRpYyBUaXNzdWUiXQogIAkJdW5pb24gWyJDb25kaXRpb24iOiAiTmVvbXljaW4gYWR2ZXJzZSByZWFjdGlvbiAoZGlzb3JkZXIpIl0KICAJCXVuaW9uIFsiQ29uZGl0aW9uIjogIkhJViJdCiAgCQl1bmlvbiBbIkNvbmRpdGlvbiI6ICJEaXNvcmRlcnMgb2YgdGhlIEltbXVuZSBTeXN0ZW0iXQogICkgSW5mbHVlbnphQ29uZGl0aW9ucwoJCQl3aGVyZSBJbmZsdWVuemFDb25kaXRpb25zLnZlcmlmaWNhdGlvblN0YXR1cyB+ICdjb25maXJtZWQnCgkJCQlhbmQgKAogICAgICAgICAgR2xvYmFsLiJDYWxlbmRhckFnZUluRGF5c0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBJbmZsdWVuemFDb25kaXRpb25zLm9uc2V0LiJzdGFydCIpCiAgICAgICAgICAgIDw9IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJbkRheXNBdCIoUGF0aWVudC5iaXJ0aERhdGUgKyAyIHllYXJzLCBJbmZsdWVuemFDb25kaXRpb25zLm9uc2V0LiJzdGFydCIpCiAgICAgICAgKQo=" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-EXM124_FHIR3-7.2.000.json b/fhir3/input/resources/library/library-EXM124_FHIR3-7.2.000.json index 061aa59c..6ad4b3f9 100644 --- a/fhir3/input/resources/library/library-EXM124_FHIR3-7.2.000.json +++ b/fhir3/input/resources/library/library-EXM124_FHIR3-7.2.000.json @@ -3,97 +3,56 @@ "id": "library-EXM124-FHIR3-7.2.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM124-FHIR3-7.2.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">7.2.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"5\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-AdultOutpatientEncounters-FHIR3-1.1.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-Hospice-FHIR3-1.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1017</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1059</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1014</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM124_FHIR3 version '7.2.000'\n\n/*\nBased on CMS124v7 - Cervical Cancer Screening\n*/\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude AdultOutpatientEncounters_FHIR3 version '1.1.000' called AdultOutpatientEncounters\ninclude Hospice_FHIR3 version '1.0.000' called Hospice\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "SNOMEDCT:2017-09": 'http://snomed.info/sct/731000124108' version 'http://snomed.info/sct/731000124108/version/201709'\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Female": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.560.100.2'\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\nvalueset "Hysterectomy with No Residual Cervix": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1014'\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "Pap Test": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1017'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "HPV Test": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1059'\n\ncode "Congenital absence of cervix (disorder)": '37687000' from "SNOMEDCT:2017-09" display 'Congenital absence of cervix (disorder)'\n\nparameter "Measurement Period" Interval<DateTime>\n default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n SDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n SDE."SDE Sex"\n\ndefine "Numerator":\n\texists "Pap Test Within 3 Years"\n\t\tor exists "Pap Test With HPV Within 5 Years"\n\ndefine "Denominator":\n\t"Initial Population"\n\ndefine "Pap Test with Results":\n\t[Observation: "Pap Test"] PapTest\n\t\twhere PapTest.value is not null\n\t\t\tand PapTest.status in { 'final', 'amended', 'corrected', 'preliminary' }\n\ndefine "Pap Test Within 3 Years":\n\t"Pap Test with Results" PapTest\n\t\twhere Global."Normalize Interval"(PapTest.effective) ends 3 years or less before end of "Measurement Period"\n\ndefine "PapTest Within 5 Years":\n\t( "Pap Test with Results" PapTestOver30YearsOld\n\t\t\twhere Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of Global."Normalize Interval"(PapTestOver30YearsOld.effective))>= 30\n\t\t\t\tand Global."Normalize Interval"(PapTestOver30YearsOld.effective) ends 5 years or less before end of "Measurement Period"\n\t)\n\ndefine "Pap Test With HPV Within 5 Years":\n\t"PapTest Within 5 Years" PapTestOver30YearsOld\n\t\twith [Observation: "HPV Test"] HPVTest\n\t\t\tsuch that HPVTest.value is not null\n and Global."Normalize Interval"(HPVTest.effective) starts within 1 day of start of Global."Normalize Interval"(PapTestOver30YearsOld.effective)\n\t\t\t\tand HPVTest.status in { 'final', 'amended', 'corrected', 'preliminary' }\n\ndefine "Denominator Exclusion":\n\tHospice."Has Hospice"("Measurement Period")\n\t\tor exists "Surgical Absence of Cervix"\n\t\tor exists "Absence of Cervix"\n\ndefine "Absence of Cervix":\n\t[Condition : "Congenital absence of cervix (disorder)"] NoCervixBirth\n\t\twhere Global."Normalize Onset"(NoCervixBirth.onset) starts before end of "Measurement Period"\n\t\t\tand NoCervixBirth.clinicalStatus = 'active'\n\ndefine "Surgical Absence of Cervix":\n\t[Procedure: "Hysterectomy with No Residual Cervix"] NoCervixHysterectomy\n\t\twhere Global."Normalize Interval"(NoCervixHysterectomy.performed) ends before end "Measurement Period"\n\t\t\tand NoCervixHysterectomy.status = 'completed'\n\ndefine "Initial Population":\n\tPatient.gender = 'female'\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period") in Interval[23, 64]\n\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM124-FHIR3-7.2.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">7.2.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"5\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-AdultOutpatientEncounters-FHIR3-1.1.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-Hospice-FHIR3-1.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1017</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1059</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1014</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM124_FHIR3 version '7.2.000'\n\n/*\nBased on CMS124v7 - Cervical Cancer Screening\n*/\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude AdultOutpatientEncounters_FHIR3 version '1.1.000' called AdultOutpatientEncounters\ninclude Hospice_FHIR3 version '1.0.000' called Hospice\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "SNOMEDCT:2017-09": 'http://snomed.info/sct/731000124108' version 'http://snomed.info/sct/731000124108/version/201709'\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Female": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.560.100.2'\nvalueset "Home Healthcare Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016'\nvalueset "Hysterectomy with No Residual Cervix": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1014'\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "Pap Test": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1017'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "HPV Test": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1059'\n\ncode "Congenital absence of cervix (disorder)": '37687000' from "SNOMEDCT:2017-09" display 'Congenital absence of cervix (disorder)'\n\nparameter "Measurement Period" Interval<DateTime>\n default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n SDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n SDE."SDE Sex"\n\ndefine "Numerator":\n\texists "Pap Test Within 3 Years"\n\t\tor exists "Pap Test With HPV Within 5 Years"\n\ndefine "Denominator":\n\t"Initial Population"\n\ndefine "Pap Test with Results":\n\t[Observation: "Pap Test"] PapTest\n\t\twhere PapTest.value is not null\n\t\t\tand PapTest.status in { 'final', 'amended', 'corrected', 'preliminary' }\n\ndefine "Pap Test Within 3 Years":\n\t"Pap Test with Results" PapTest\n\t\twhere Global."Normalize Interval"(PapTest.effective) ends 3 years or less before end of "Measurement Period"\n\ndefine "PapTest Within 5 Years":\n\t( "Pap Test with Results" PapTestOver30YearsOld\n\t\t\twhere Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of Global."Normalize Interval"(PapTestOver30YearsOld.effective))>= 30\n\t\t\t\tand Global."Normalize Interval"(PapTestOver30YearsOld.effective) ends 5 years or less before end of "Measurement Period"\n\t)\n\ndefine "Pap Test With HPV Within 5 Years":\n\t"PapTest Within 5 Years" PapTestOver30YearsOld\n\t\twith [Observation: "HPV Test"] HPVTest\n\t\t\tsuch that HPVTest.value is not null\n and Global."Normalize Interval"(HPVTest.effective) starts within 1 day of start of Global."Normalize Interval"(PapTestOver30YearsOld.effective)\n\t\t\t\tand HPVTest.status in { 'final', 'amended', 'corrected', 'preliminary' }\n\ndefine "Denominator Exclusion":\n\tHospice."Has Hospice"("Measurement Period")\n\t\tor exists "Surgical Absence of Cervix"\n\t\tor exists "Absence of Cervix"\n\ndefine "Absence of Cervix":\n\t[Condition : "Congenital absence of cervix (disorder)"] NoCervixBirth\n\t\twhere Global."Normalize Onset"(NoCervixBirth.onset) starts before end of "Measurement Period"\n\t\t\tand NoCervixBirth.clinicalStatus = 'active'\n\ndefine "Surgical Absence of Cervix":\n\t[Procedure: "Hysterectomy with No Residual Cervix"] NoCervixHysterectomy\n\t\twhere Global."Normalize Interval"(NoCervixHysterectomy.performed) ends before end "Measurement Period"\n\t\t\tand NoCervixHysterectomy.status = 'completed'\n\ndefine "Initial Population":\n\tPatient.gender = 'female'\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period") in Interval[23, 64]\n\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "7.2.000", "name": "EXM124_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-Hospice-FHIR3-1.0.000" + "dataRequirement": [ { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1017" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1059" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1014" } - } - ], - "dataRequirement": [ - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1017" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1059" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1014" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code" - } - ] - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI5MSIgc3RhcnRDaGFyPSIyIiBlbmRMaW5lPSI5MSIgZW5kQ2hhcj0iNTYiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iRVhNMTI0X0ZISVIzIiB2ZXJzaW9uPSI3LjIuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iR2xvYmFsIiBwYXRoPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIHZlcnNpb249IjIuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzIiBwYXRoPSJBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIiB2ZXJzaW9uPSIxLjEuMDAwIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iSG9zcGljZSIgcGF0aD0iSG9zcGljZV9GSElSMyIgdmVyc2lvbj0iMS4wLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTREUiIHBhdGg9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8cGFyYW1ldGVycz4NCiAgICAgIDxkZWYgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxkZWZhdWx0IGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICAgICA8eWVhciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIwMTkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgPC9kZWZhdWx0Pg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJTTk9NRURDVDoyMDE3LTA5IiBpZD0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgiIHZlcnNpb249Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4L3ZlcnNpb24vMjAxNzA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRmVtYWxlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTYwLjEwMC4yIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDE2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ikh5c3RlcmVjdG9teSB3aXRoIE5vIFJlc2lkdWFsIENlcnZpeCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDE0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik9mZmljZSBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDAxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlBhcCBUZXN0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA4LjEyLjEwMTciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyNSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMtSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDIzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkhQViBUZXN0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTEwLjEyLjEwNTkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJDb25nZW5pdGFsIGFic2VuY2Ugb2YgY2Vydml4IChkaXNvcmRlcikiIGlkPSIzNzY4NzAwMCIgZGlzcGxheT0iQ29uZ2VuaXRhbCBhYnNlbmNlIG9mIGNlcnZpeCAoZGlzb3JkZXIpIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlNOT01FRENUOjIwMTctMDkiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBFdGhuaWNpdHkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIEV0aG5pY2l0eSIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgUGF5ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIFBheWVyIiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBSYWNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBSYWNlIiBsaWJyYXJ5TmFtZT0iU0RFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBTZXgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iU0RFIFNleCIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQYXAgVGVzdCB3aXRoIFJlc3VsdHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBhcFRlc3QiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXAgVGVzdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOb3QiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IlBhcFRlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJQYXBUZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5hbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhbWVuZGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvcnJlY3RlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJwcmVsaW1pbmFyeSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUGFwIFRlc3QgV2l0aGluIDMgWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBhcFRlc3QiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUGFwIFRlc3Qgd2l0aCBSZXN1bHRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEludGVydmFsIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iUGFwVGVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIzIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlBhcFRlc3QgV2l0aGluIDUgWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBhcFRlc3RPdmVyMzBZZWFyc09sZCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJQYXAgVGVzdCB3aXRoIFJlc3VsdHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IlBhcFRlc3RPdmVyMzBZZWFyc09sZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjMwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEludGVydmFsIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iUGFwVGVzdE92ZXIzMFllYXJzT2xkIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjUiIHVuaXQ9InllYXJzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUGFwIFRlc3QgV2l0aCBIUFYgV2l0aGluIDUgWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBhcFRlc3RPdmVyMzBZZWFyc09sZCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJQYXBUZXN0IFdpdGhpbiA1IFllYXJzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJIUFZUZXN0IiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkhQViBUZXN0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiBzY29wZT0iSFBWVGVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkhQVlRlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IlBhcFRlc3RPdmVyMzBZZWFyc09sZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iZGF5IiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEludGVydmFsIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iUGFwVGVzdE92ZXIzMFllYXJzT2xkIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJIUFZUZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5hbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhbWVuZGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvcnJlY3RlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJwcmVsaW1pbmFyeSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOdW1lcmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUGFwIFRlc3QgV2l0aGluIDMgWWVhcnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlBhcCBUZXN0IFdpdGggSFBWIFdpdGhpbiA1IFllYXJzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJnZW5kZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmVtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjY0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJRdWFsaWZ5aW5nIEVuY291bnRlcnMiIGxpYnJhcnlOYW1lPSJBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlN1cmdpY2FsIEFic2VuY2Ugb2YgQ2Vydml4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb0NlcnZpeEh5c3RlcmVjdG9teSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIeXN0ZXJlY3RvbXkgd2l0aCBObyBSZXNpZHVhbCBDZXJ2aXgiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQmVmb3JlIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEludGVydmFsIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iTm9DZXJ2aXhIeXN0ZXJlY3RvbXkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iTm9DZXJ2aXhIeXN0ZXJlY3RvbXkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQWJzZW5jZSBvZiBDZXJ2aXgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik5vQ2Vydml4QmlydGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDb25nZW5pdGFsIGFic2VuY2Ugb2YgY2Vydml4IChkaXNvcmRlcikiIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQmVmb3JlIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgT25zZXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJvbnNldCIgc2NvcGU9Ik5vQ2Vydml4QmlydGgiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJOb0NlcnZpeEJpcnRoIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2x1c2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkhhcyBIb3NwaWNlIiBsaWJyYXJ5TmFtZT0iSG9zcGljZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJTdXJnaWNhbCBBYnNlbmNlIG9mIENlcnZpeCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQWJzZW5jZSBvZiBDZXJ2aXgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE0xMjRfRkhJUjMgdmVyc2lvbiAnNy4yLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEyNHY3IC0gQ2VydmljYWwgQ2FuY2VyIFNjcmVlbmluZwoqLwoKLyoKVGhpcyBleGFtcGxlIGlzIGEgd29yayBpbiBwcm9ncmVzcyBhbmQgc2hvdWxkIG5vdCBiZSBjb25zaWRlcmVkIGEgZmluYWwgc3BlY2lmaWNhdGlvbgpvciByZWNvbW1lbmRhdGlvbiBmb3IgZ3VpZGFuY2UuIFRoaXMgZXhhbXBsZSB3aWxsIGhlbHAgZ3VpZGUgYW5kIGRpcmVjdCB0aGUgcHJvY2VzcwpvZiBmaW5kaW5nIGNvbnZlbnRpb25zIGFuZCB1c2FnZSBwYXR0ZXJucyB0aGF0IG1lZXQgdGhlIG5lZWRzIG9mIHRoZSB2YXJpb3VzIHN0YWtlaG9sZGVycwppbiB0aGUgbWVhc3VyZSBkZXZlbG9wbWVudCBjb21tdW5pdHkuCiovCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcgY2FsbGVkIEdsb2JhbAppbmNsdWRlIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMgdmVyc2lvbiAnMS4xLjAwMCcgY2FsbGVkIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMKaW5jbHVkZSBIb3NwaWNlX0ZISVIzIHZlcnNpb24gJzEuMC4wMDAnIGNhbGxlZCBIb3NwaWNlCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKY29kZXN5c3RlbSAiU05PTUVEQ1Q6MjAxNy0wOSI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcgdmVyc2lvbiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDknCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiRmVtYWxlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjU2MC4xMDAuMicKdmFsdWVzZXQgIkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxNicKdmFsdWVzZXQgIkh5c3RlcmVjdG9teSB3aXRoIE5vIFJlc2lkdWFsIENlcnZpeCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTAxNCcKdmFsdWVzZXQgIk9mZmljZSBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwMScKdmFsdWVzZXQgIlBhcCBUZXN0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOC4xMi4xMDE3Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjUnCnZhbHVlc2V0ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMtSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyMycKdmFsdWVzZXQgIkhQViBUZXN0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDU5JwoKY29kZSAiQ29uZ2VuaXRhbCBhYnNlbmNlIG9mIGNlcnZpeCAoZGlzb3JkZXIpIjogJzM3Njg3MDAwJyBmcm9tICJTTk9NRURDVDoyMDE3LTA5IiBkaXNwbGF5ICdDb25nZW5pdGFsIGFic2VuY2Ugb2YgY2Vydml4IChkaXNvcmRlciknCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgICBkZWZhdWx0IEludGVydmFsW0AyMDE5LTAxLTAxVDAwOjAwOjAwLjAsIEAyMDIwLTAxLTAxVDAwOjAwOjAwLjApCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiU0RFIEV0aG5pY2l0eSI6CiAgU0RFLiJTREUgRXRobmljaXR5IgoKZGVmaW5lICJTREUgUGF5ZXIiOgogIFNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CiAgU0RFLiJTREUgUmFjZSIKCmRlZmluZSAiU0RFIFNleCI6CiAgU0RFLiJTREUgU2V4IgoKZGVmaW5lICJOdW1lcmF0b3IiOgoJZXhpc3RzICJQYXAgVGVzdCBXaXRoaW4gMyBZZWFycyIKCQlvciBleGlzdHMgIlBhcCBUZXN0IFdpdGggSFBWIFdpdGhpbiA1IFllYXJzIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CgkiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJQYXAgVGVzdCB3aXRoIFJlc3VsdHMiOgoJW09ic2VydmF0aW9uOiAiUGFwIFRlc3QiXSBQYXBUZXN0CgkJd2hlcmUgUGFwVGVzdC52YWx1ZSBpcyBub3QgbnVsbAoJCQlhbmQgUGFwVGVzdC5zdGF0dXMgaW4geyAnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnLCAncHJlbGltaW5hcnknIH0KCmRlZmluZSAiUGFwIFRlc3QgV2l0aGluIDMgWWVhcnMiOgoJIlBhcCBUZXN0IHdpdGggUmVzdWx0cyIgUGFwVGVzdAoJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihQYXBUZXN0LmVmZmVjdGl2ZSkgZW5kcyAzIHllYXJzIG9yIGxlc3MgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJQYXBUZXN0IFdpdGhpbiA1IFllYXJzIjoKCSggIlBhcCBUZXN0IHdpdGggUmVzdWx0cyIgUGFwVGVzdE92ZXIzMFllYXJzT2xkCgkJCXdoZXJlIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihQYXBUZXN0T3ZlcjMwWWVhcnNPbGQuZWZmZWN0aXZlKSk+PSAzMAoJCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihQYXBUZXN0T3ZlcjMwWWVhcnNPbGQuZWZmZWN0aXZlKSBlbmRzIDUgeWVhcnMgb3IgbGVzcyBiZWZvcmUgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgkpCgpkZWZpbmUgIlBhcCBUZXN0IFdpdGggSFBWIFdpdGhpbiA1IFllYXJzIjoKCSJQYXBUZXN0IFdpdGhpbiA1IFllYXJzIiBQYXBUZXN0T3ZlcjMwWWVhcnNPbGQKCQl3aXRoIFtPYnNlcnZhdGlvbjogIkhQViBUZXN0Il0gSFBWVGVzdAoJCQlzdWNoIHRoYXQgSFBWVGVzdC52YWx1ZSBpcyBub3QgbnVsbAogICAgICAgIGFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoSFBWVGVzdC5lZmZlY3RpdmUpIHN0YXJ0cyB3aXRoaW4gMSBkYXkgb2Ygc3RhcnQgb2YgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKFBhcFRlc3RPdmVyMzBZZWFyc09sZC5lZmZlY3RpdmUpCgkJCQlhbmQgSFBWVGVzdC5zdGF0dXMgaW4geyAnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnLCAncHJlbGltaW5hcnknIH0KCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9uIjoKCUhvc3BpY2UuIkhhcyBIb3NwaWNlIigiTWVhc3VyZW1lbnQgUGVyaW9kIikKCQlvciBleGlzdHMgIlN1cmdpY2FsIEFic2VuY2Ugb2YgQ2Vydml4IgoJCW9yIGV4aXN0cyAiQWJzZW5jZSBvZiBDZXJ2aXgiCgpkZWZpbmUgIkFic2VuY2Ugb2YgQ2Vydml4IjoKCVtDb25kaXRpb24gOiAiQ29uZ2VuaXRhbCBhYnNlbmNlIG9mIGNlcnZpeCAoZGlzb3JkZXIpIl0gTm9DZXJ2aXhCaXJ0aAoJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIE9uc2V0IihOb0NlcnZpeEJpcnRoLm9uc2V0KSBzdGFydHMgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQlhbmQgTm9DZXJ2aXhCaXJ0aC5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnCgpkZWZpbmUgIlN1cmdpY2FsIEFic2VuY2Ugb2YgQ2Vydml4IjoKCVtQcm9jZWR1cmU6ICJIeXN0ZXJlY3RvbXkgd2l0aCBObyBSZXNpZHVhbCBDZXJ2aXgiXSBOb0NlcnZpeEh5c3RlcmVjdG9teQoJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihOb0NlcnZpeEh5c3RlcmVjdG9teS5wZXJmb3JtZWQpIGVuZHMgYmVmb3JlIGVuZCAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQlhbmQgTm9DZXJ2aXhIeXN0ZXJlY3RvbXkuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKCVBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScKCQlhbmQgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpIGluIEludGVydmFsWzIzLCA2NF0KCQlhbmQgZXhpc3RzIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMuIlF1YWxpZnlpbmcgRW5jb3VudGVycyIoIk1lYXN1cmVtZW50IFBlcmlvZCIpCg==" - } - ] + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code" + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE0xMjRfRkhJUjMgdmVyc2lvbiAnNy4yLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEyNHY3IC0gQ2VydmljYWwgQ2FuY2VyIFNjcmVlbmluZwoqLwoKLyoKVGhpcyBleGFtcGxlIGlzIGEgd29yayBpbiBwcm9ncmVzcyBhbmQgc2hvdWxkIG5vdCBiZSBjb25zaWRlcmVkIGEgZmluYWwgc3BlY2lmaWNhdGlvbgpvciByZWNvbW1lbmRhdGlvbiBmb3IgZ3VpZGFuY2UuIFRoaXMgZXhhbXBsZSB3aWxsIGhlbHAgZ3VpZGUgYW5kIGRpcmVjdCB0aGUgcHJvY2VzcwpvZiBmaW5kaW5nIGNvbnZlbnRpb25zIGFuZCB1c2FnZSBwYXR0ZXJucyB0aGF0IG1lZXQgdGhlIG5lZWRzIG9mIHRoZSB2YXJpb3VzIHN0YWtlaG9sZGVycwppbiB0aGUgbWVhc3VyZSBkZXZlbG9wbWVudCBjb21tdW5pdHkuCiovCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcgY2FsbGVkIEdsb2JhbAppbmNsdWRlIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMgdmVyc2lvbiAnMS4xLjAwMCcgY2FsbGVkIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMKaW5jbHVkZSBIb3NwaWNlX0ZISVIzIHZlcnNpb24gJzEuMC4wMDAnIGNhbGxlZCBIb3NwaWNlCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKY29kZXN5c3RlbSAiU05PTUVEQ1Q6MjAxNy0wOSI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcgdmVyc2lvbiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDknCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiRmVtYWxlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjU2MC4xMDAuMicKdmFsdWVzZXQgIkhvbWUgSGVhbHRoY2FyZSBTZXJ2aWNlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxNicKdmFsdWVzZXQgIkh5c3RlcmVjdG9teSB3aXRoIE5vIFJlc2lkdWFsIENlcnZpeCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTAxNCcKdmFsdWVzZXQgIk9mZmljZSBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwMScKdmFsdWVzZXQgIlBhcCBUZXN0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOC4xMi4xMDE3Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjUnCnZhbHVlc2V0ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMtSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyMycKdmFsdWVzZXQgIkhQViBUZXN0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMC4xMi4xMDU5JwoKY29kZSAiQ29uZ2VuaXRhbCBhYnNlbmNlIG9mIGNlcnZpeCAoZGlzb3JkZXIpIjogJzM3Njg3MDAwJyBmcm9tICJTTk9NRURDVDoyMDE3LTA5IiBkaXNwbGF5ICdDb25nZW5pdGFsIGFic2VuY2Ugb2YgY2Vydml4IChkaXNvcmRlciknCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgICBkZWZhdWx0IEludGVydmFsW0AyMDE5LTAxLTAxVDAwOjAwOjAwLjAsIEAyMDIwLTAxLTAxVDAwOjAwOjAwLjApCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiU0RFIEV0aG5pY2l0eSI6CiAgU0RFLiJTREUgRXRobmljaXR5IgoKZGVmaW5lICJTREUgUGF5ZXIiOgogIFNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CiAgU0RFLiJTREUgUmFjZSIKCmRlZmluZSAiU0RFIFNleCI6CiAgU0RFLiJTREUgU2V4IgoKZGVmaW5lICJOdW1lcmF0b3IiOgoJZXhpc3RzICJQYXAgVGVzdCBXaXRoaW4gMyBZZWFycyIKCQlvciBleGlzdHMgIlBhcCBUZXN0IFdpdGggSFBWIFdpdGhpbiA1IFllYXJzIgoKZGVmaW5lICJEZW5vbWluYXRvciI6CgkiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJQYXAgVGVzdCB3aXRoIFJlc3VsdHMiOgoJW09ic2VydmF0aW9uOiAiUGFwIFRlc3QiXSBQYXBUZXN0CgkJd2hlcmUgUGFwVGVzdC52YWx1ZSBpcyBub3QgbnVsbAoJCQlhbmQgUGFwVGVzdC5zdGF0dXMgaW4geyAnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnLCAncHJlbGltaW5hcnknIH0KCmRlZmluZSAiUGFwIFRlc3QgV2l0aGluIDMgWWVhcnMiOgoJIlBhcCBUZXN0IHdpdGggUmVzdWx0cyIgUGFwVGVzdAoJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihQYXBUZXN0LmVmZmVjdGl2ZSkgZW5kcyAzIHllYXJzIG9yIGxlc3MgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJQYXBUZXN0IFdpdGhpbiA1IFllYXJzIjoKCSggIlBhcCBUZXN0IHdpdGggUmVzdWx0cyIgUGFwVGVzdE92ZXIzMFllYXJzT2xkCgkJCXdoZXJlIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihQYXBUZXN0T3ZlcjMwWWVhcnNPbGQuZWZmZWN0aXZlKSk+PSAzMAoJCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihQYXBUZXN0T3ZlcjMwWWVhcnNPbGQuZWZmZWN0aXZlKSBlbmRzIDUgeWVhcnMgb3IgbGVzcyBiZWZvcmUgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgkpCgpkZWZpbmUgIlBhcCBUZXN0IFdpdGggSFBWIFdpdGhpbiA1IFllYXJzIjoKCSJQYXBUZXN0IFdpdGhpbiA1IFllYXJzIiBQYXBUZXN0T3ZlcjMwWWVhcnNPbGQKCQl3aXRoIFtPYnNlcnZhdGlvbjogIkhQViBUZXN0Il0gSFBWVGVzdAoJCQlzdWNoIHRoYXQgSFBWVGVzdC52YWx1ZSBpcyBub3QgbnVsbAogICAgICAgIGFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoSFBWVGVzdC5lZmZlY3RpdmUpIHN0YXJ0cyB3aXRoaW4gMSBkYXkgb2Ygc3RhcnQgb2YgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKFBhcFRlc3RPdmVyMzBZZWFyc09sZC5lZmZlY3RpdmUpCgkJCQlhbmQgSFBWVGVzdC5zdGF0dXMgaW4geyAnZmluYWwnLCAnYW1lbmRlZCcsICdjb3JyZWN0ZWQnLCAncHJlbGltaW5hcnknIH0KCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9uIjoKCUhvc3BpY2UuIkhhcyBIb3NwaWNlIigiTWVhc3VyZW1lbnQgUGVyaW9kIikKCQlvciBleGlzdHMgIlN1cmdpY2FsIEFic2VuY2Ugb2YgQ2Vydml4IgoJCW9yIGV4aXN0cyAiQWJzZW5jZSBvZiBDZXJ2aXgiCgpkZWZpbmUgIkFic2VuY2Ugb2YgQ2Vydml4IjoKCVtDb25kaXRpb24gOiAiQ29uZ2VuaXRhbCBhYnNlbmNlIG9mIGNlcnZpeCAoZGlzb3JkZXIpIl0gTm9DZXJ2aXhCaXJ0aAoJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIE9uc2V0IihOb0NlcnZpeEJpcnRoLm9uc2V0KSBzdGFydHMgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQlhbmQgTm9DZXJ2aXhCaXJ0aC5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnCgpkZWZpbmUgIlN1cmdpY2FsIEFic2VuY2Ugb2YgQ2Vydml4IjoKCVtQcm9jZWR1cmU6ICJIeXN0ZXJlY3RvbXkgd2l0aCBObyBSZXNpZHVhbCBDZXJ2aXgiXSBOb0NlcnZpeEh5c3RlcmVjdG9teQoJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihOb0NlcnZpeEh5c3RlcmVjdG9teS5wZXJmb3JtZWQpIGVuZHMgYmVmb3JlIGVuZCAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQlhbmQgTm9DZXJ2aXhIeXN0ZXJlY3RvbXkuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKCVBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScKCQlhbmQgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpIGluIEludGVydmFsWzIzLCA2NF0KCQlhbmQgZXhpc3RzIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMuIlF1YWxpZnlpbmcgRW5jb3VudGVycyIoIk1lYXN1cmVtZW50IFBlcmlvZCIpCg==" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-EXM125_FHIR3-7.2.000.json b/fhir3/input/resources/library/library-EXM125_FHIR3-7.2.000.json index cbe74ffa..d7095e2a 100644 --- a/fhir3/input/resources/library/library-EXM125_FHIR3-7.2.000.json +++ b/fhir3/input/resources/library/library-EXM125_FHIR3-7.2.000.json @@ -3,134 +3,91 @@ "id": "library-EXM125-FHIR3-7.2.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM125-FHIR3-7.2.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">7.2.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"5\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-AdultOutpatientEncounters-FHIR3-1.1.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-Hospice-FHIR3-1.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"8\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1020</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1070</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1069</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1068</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1005</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DiagnosticReport</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1018</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM125_FHIR3 version '7.2.000'\n\n/*\nBased on CMS125v7 - Breast Cancer Screening\n*/\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude AdultOutpatientEncounters_FHIR3 version '1.1.000' called AdultOutpatientEncounters\ninclude Hospice_FHIR3 version '1.0.000' called Hospice\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Bilateral Mastectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1005'\nvalueset "Female": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.560.100.2'\nvalueset "Mammography": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1018'\nvalueset "Unilateral Mastectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1020'\nvalueset "History of bilateral mastectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1068'\nvalueset "Status Post Left Mastectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1069'\nvalueset "Status Post Right Mastectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1070'\nvalueset "Left": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.122.12.1036'\nvalueset "Right": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.122.12.1035'\nvalueset "Unilateral Mastectomy, Unspecified Laterality": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071'\n\nparameter "Measurement Period" Interval<DateTime>\n default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n SDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n SDE."SDE Sex"\n\ndefine "Denominator":\n\t\t"Initial Population"\n\ndefine "Unilateral Mastectomy Procedure":\n\t\t[Procedure: "Unilateral Mastectomy"] UnilateralMastectomyProcedure\n\t\t\t\twhere Global."Normalize Interval"(UnilateralMastectomyProcedure.performed) ends before day of end of "Measurement Period"\n\t\t\t\t\t\tand UnilateralMastectomyProcedure.status = 'completed'\n\ndefine "Right Mastectomy":\n\t\t(\n\t\t\t\t( [Condition: "Status Post Right Mastectomy"] C where C.clinicalStatus = 'active' )\n\t\t\t\tunion (\n\t\t\t\t\t\t[Condition: "Unilateral Mastectomy, Unspecified Laterality"] UnilateralMastectomyDiagnosis\n\t\t\t\t\t\t\t\twhere UnilateralMastectomyDiagnosis.bodySite in "Right"\n\t\t\t\t\t\t\t\t\t\tand UnilateralMastectomyDiagnosis.clinicalStatus = 'active'\n\t\t\t\t)\n\t\t) RightMastectomy\n\t\t\t\twhere Global."Normalize Onset"(RightMastectomy.onset) starts before day of end of "Measurement Period"\n\ndefine "Left Mastectomy":\n\t\t(\n\t\t ( [Condition: "Status Post Left Mastectomy"] C where C.clinicalStatus = 'active' )\n\t\t\t\tunion (\n\t\t\t\t\t\t[Condition: "Unilateral Mastectomy, Unspecified Laterality"] UnilateralMastectomyDiagnosis\n\t\t\t\t\t\t\t\twhere UnilateralMastectomyDiagnosis.bodySite in "Left"\n\t\t\t\t\t\t\t\t\t\tand UnilateralMastectomyDiagnosis.clinicalStatus = 'active'\n\t\t\t\t)\n\t\t) LeftMastectomy\n\t\t\t\twhere Global."Normalize Onset"(LeftMastectomy.onset) starts before day of end of "Measurement Period"\n\ndefine "History Bilateral Mastectomy":\n\t\t[Condition: "History of bilateral mastectomy"] BilateralMastectomyHistory\n\t\t\t\twhere Global."Normalize Onset"(BilateralMastectomyHistory.onset) starts before day of end of "Measurement Period"\n\t\t\t\t\t\tand BilateralMastectomyHistory.clinicalStatus = 'active'\n\ndefine "Bilateral Mastectomy Procedure":\n\t\t[Procedure: "Bilateral Mastectomy"] BilateralMastectomyPerformed\n\t\t\t\twhere Global."Normalize Interval"(BilateralMastectomyPerformed.performed) ends before day of end of "Measurement Period"\n\t\t\t\t\t\tand BilateralMastectomyPerformed.status = 'completed'\n\ndefine "Numerator":\n\t\texists (\n\t\t\t\t[DiagnosticReport: "Mammography"] Mammogram\n\t\t\t\t\t\twhere ( Global."Normalize Interval"(Mammogram.effective) ends 27 months or less before day of end of "Measurement Period" )\n\t\t\t\t\t\t\t\tand Mammogram.status in { 'final', 'amended', 'corrected', 'appended' }\n\t\t)\n\ndefine "Denominator Exclusion":\n\t\tHospice."Has Hospice"("Measurement Period")\n\t\t\t\tor ( Count("Unilateral Mastectomy Procedure") = 2 )\n\t\t\t\tor ( exists "Right Mastectomy" and exists "Left Mastectomy" )\n\t\t\t\tor exists "History Bilateral Mastectomy"\n\t\t\t\tor exists "Bilateral Mastectomy Procedure"\n\ndefine "Initial Population":\n\t\tPatient.gender = 'female'\n\t\t\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period") in Interval[51, 74]\n\t\t\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM125-FHIR3-7.2.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">7.2.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"5\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-AdultOutpatientEncounters-FHIR3-1.1.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-Hospice-FHIR3-1.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"8\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1020</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1070</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1069</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1068</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1005</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>DiagnosticReport</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1018</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM125_FHIR3 version '7.2.000'\n\n/*\nBased on CMS125v7 - Breast Cancer Screening\n*/\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude AdultOutpatientEncounters_FHIR3 version '1.1.000' called AdultOutpatientEncounters\ninclude Hospice_FHIR3 version '1.0.000' called Hospice\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Bilateral Mastectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1005'\nvalueset "Female": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.560.100.2'\nvalueset "Mammography": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1018'\nvalueset "Unilateral Mastectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1020'\nvalueset "History of bilateral mastectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1068'\nvalueset "Status Post Left Mastectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1069'\nvalueset "Status Post Right Mastectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1070'\nvalueset "Left": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.122.12.1036'\nvalueset "Right": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.122.12.1035'\nvalueset "Unilateral Mastectomy, Unspecified Laterality": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071'\n\nparameter "Measurement Period" Interval<DateTime>\n default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n SDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n SDE."SDE Sex"\n\ndefine "Denominator":\n\t\t"Initial Population"\n\ndefine "Unilateral Mastectomy Procedure":\n\t\t[Procedure: "Unilateral Mastectomy"] UnilateralMastectomyProcedure\n\t\t\t\twhere Global."Normalize Interval"(UnilateralMastectomyProcedure.performed) ends before day of end of "Measurement Period"\n\t\t\t\t\t\tand UnilateralMastectomyProcedure.status = 'completed'\n\ndefine "Right Mastectomy":\n\t\t(\n\t\t\t\t( [Condition: "Status Post Right Mastectomy"] C where C.clinicalStatus = 'active' )\n\t\t\t\tunion (\n\t\t\t\t\t\t[Condition: "Unilateral Mastectomy, Unspecified Laterality"] UnilateralMastectomyDiagnosis\n\t\t\t\t\t\t\t\twhere UnilateralMastectomyDiagnosis.bodySite in "Right"\n\t\t\t\t\t\t\t\t\t\tand UnilateralMastectomyDiagnosis.clinicalStatus = 'active'\n\t\t\t\t)\n\t\t) RightMastectomy\n\t\t\t\twhere Global."Normalize Onset"(RightMastectomy.onset) starts before day of end of "Measurement Period"\n\ndefine "Left Mastectomy":\n\t\t(\n\t\t ( [Condition: "Status Post Left Mastectomy"] C where C.clinicalStatus = 'active' )\n\t\t\t\tunion (\n\t\t\t\t\t\t[Condition: "Unilateral Mastectomy, Unspecified Laterality"] UnilateralMastectomyDiagnosis\n\t\t\t\t\t\t\t\twhere UnilateralMastectomyDiagnosis.bodySite in "Left"\n\t\t\t\t\t\t\t\t\t\tand UnilateralMastectomyDiagnosis.clinicalStatus = 'active'\n\t\t\t\t)\n\t\t) LeftMastectomy\n\t\t\t\twhere Global."Normalize Onset"(LeftMastectomy.onset) starts before day of end of "Measurement Period"\n\ndefine "History Bilateral Mastectomy":\n\t\t[Condition: "History of bilateral mastectomy"] BilateralMastectomyHistory\n\t\t\t\twhere Global."Normalize Onset"(BilateralMastectomyHistory.onset) starts before day of end of "Measurement Period"\n\t\t\t\t\t\tand BilateralMastectomyHistory.clinicalStatus = 'active'\n\ndefine "Bilateral Mastectomy Procedure":\n\t\t[Procedure: "Bilateral Mastectomy"] BilateralMastectomyPerformed\n\t\t\t\twhere Global."Normalize Interval"(BilateralMastectomyPerformed.performed) ends before day of end of "Measurement Period"\n\t\t\t\t\t\tand BilateralMastectomyPerformed.status = 'completed'\n\ndefine "Numerator":\n\t\texists (\n\t\t\t\t[DiagnosticReport: "Mammography"] Mammogram\n\t\t\t\t\t\twhere ( Global."Normalize Interval"(Mammogram.effective) ends 27 months or less before day of end of "Measurement Period" )\n\t\t\t\t\t\t\t\tand Mammogram.status in { 'final', 'amended', 'corrected', 'appended' }\n\t\t)\n\ndefine "Denominator Exclusion":\n\t\tHospice."Has Hospice"("Measurement Period")\n\t\t\t\tor ( Count("Unilateral Mastectomy Procedure") = 2 )\n\t\t\t\tor ( exists "Right Mastectomy" and exists "Left Mastectomy" )\n\t\t\t\tor exists "History Bilateral Mastectomy"\n\t\t\t\tor exists "Bilateral Mastectomy Procedure"\n\ndefine "Initial Population":\n\t\tPatient.gender = 'female'\n\t\t\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period") in Interval[51, 74]\n\t\t\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "7.2.000", "name": "EXM125_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + "dataRequirement": [ { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1020" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1070" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-Hospice-FHIR3-1.0.000" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1069" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071" } - } - ], - "dataRequirement": [ - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1020" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1070" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1069" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1071" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1068" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1005" - } - ] - }, - { - "type": "DiagnosticReport", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1018" - } - ] - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTEyNV9GSElSMyIgdmVyc2lvbj0iNy4yLjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9Ikdsb2JhbCIgcGF0aD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iQWR1bHRPdXRwYXRpZW50RW5jb3VudGVycyIgcGF0aD0iQWR1bHRPdXRwYXRpZW50RW5jb3VudGVyc19GSElSMyIgdmVyc2lvbj0iMS4xLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9Ikhvc3BpY2UiIHBhdGg9Ikhvc3BpY2VfRkhJUjMiIHZlcnNpb249IjEuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU0RFIiBwYXRoPSJTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMiIHZlcnNpb249IjEuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHBhcmFtZXRlcnM+DQogICAgICA8ZGVmIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZGVmYXVsdCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDE5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICAgICA8eWVhciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIwMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZGVmYXVsdD4NCiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L3BhcmFtZXRlclR5cGVTcGVjaWZpZXI+DQogICAgICA8L2RlZj4NCiAgIDwvcGFyYW1ldGVycz4NCiAgIDx2YWx1ZVNldHM+DQogICAgICA8ZGVmIG5hbWU9Ik9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFdGhuaWNpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUGF5ZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkJpbGF0ZXJhbCBNYXN0ZWN0b215IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwMDUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRmVtYWxlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTYwLjEwMC4yIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik1hbW1vZ3JhcGh5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA4LjEyLjEwMTgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iVW5pbGF0ZXJhbCBNYXN0ZWN0b215IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwMjAiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSGlzdG9yeSBvZiBiaWxhdGVyYWwgbWFzdGVjdG9teSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDY4IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlN0YXR1cyBQb3N0IExlZnQgTWFzdGVjdG9teSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDY5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlN0YXR1cyBQb3N0IFJpZ2h0IE1hc3RlY3RvbXkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTA3MCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMZWZ0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTIyLjEyLjEwMzYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUmlnaHQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMjIuMTIuMTAzNSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJVbmlsYXRlcmFsIE1hc3RlY3RvbXksIFVuc3BlY2lmaWVkIExhdGVyYWxpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTA3MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC92YWx1ZVNldHM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgRXRobmljaXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBFdGhuaWNpdHkiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFBheWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBQYXllciIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgUmFjZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgUmFjZSIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgU2V4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBTZXgiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI1MSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNzQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlF1YWxpZnlpbmcgRW5jb3VudGVycyIgbGlicmFyeU5hbWU9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZW5vbWluYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbml0aWFsIFBvcHVsYXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVW5pbGF0ZXJhbCBNYXN0ZWN0b215IFByb2NlZHVyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVW5pbGF0ZXJhbE1hc3RlY3RvbXlQcm9jZWR1cmUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iVW5pbGF0ZXJhbCBNYXN0ZWN0b215IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJVbmlsYXRlcmFsTWFzdGVjdG9teVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJVbmlsYXRlcmFsTWFzdGVjdG9teVByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJSaWdodCBNYXN0ZWN0b215IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJSaWdodE1hc3RlY3RvbXkiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlN0YXR1cyBQb3N0IFJpZ2h0IE1hc3RlY3RvbXkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjbGluaWNhbFN0YXR1cyIgc2NvcGU9IkMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iVW5pbGF0ZXJhbE1hc3RlY3RvbXlEaWFnbm9zaXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iVW5pbGF0ZXJhbCBNYXN0ZWN0b215LCBVbnNwZWNpZmllZCBMYXRlcmFsaXR5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFueUluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImJvZHlTaXRlIiBzY29wZT0iVW5pbGF0ZXJhbE1hc3RlY3RvbXlEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IlJpZ2h0Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNsaW5pY2FsU3RhdHVzIiBzY29wZT0iVW5pbGF0ZXJhbE1hc3RlY3RvbXlEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkJlZm9yZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJSaWdodE1hc3RlY3RvbXkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTGVmdCBNYXN0ZWN0b215IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJMZWZ0TWFzdGVjdG9teSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iU3RhdHVzIFBvc3QgTGVmdCBNYXN0ZWN0b215IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlVuaWxhdGVyYWwgTWFzdGVjdG9teSwgVW5zcGVjaWZpZWQgTGF0ZXJhbGl0eSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJib2R5U2l0ZSIgc2NvcGU9IlVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBkaXN0aW5jdD0iZmFsc2UiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJMZWZ0Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNsaW5pY2FsU3RhdHVzIiBzY29wZT0iVW5pbGF0ZXJhbE1hc3RlY3RvbXlEaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkJlZm9yZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJMZWZ0TWFzdGVjdG9teSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIaXN0b3J5IEJpbGF0ZXJhbCBNYXN0ZWN0b215IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJCaWxhdGVyYWxNYXN0ZWN0b215SGlzdG9yeSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIaXN0b3J5IG9mIGJpbGF0ZXJhbCBtYXN0ZWN0b215IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiBzY29wZT0iQmlsYXRlcmFsTWFzdGVjdG9teUhpc3RvcnkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJCaWxhdGVyYWxNYXN0ZWN0b215SGlzdG9yeSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYWN0aXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJCaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkJpbGF0ZXJhbE1hc3RlY3RvbXlQZXJmb3JtZWQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQmlsYXRlcmFsIE1hc3RlY3RvbXkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkJlZm9yZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkJpbGF0ZXJhbE1hc3RlY3RvbXlQZXJmb3JtZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iQmlsYXRlcmFsTWFzdGVjdG9teVBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOdW1lcmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTWFtbW9ncmFtIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkRpYWdub3N0aWNSZXBvcnQiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJNYW1tb2dyYXBoeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJNYW1tb2dyYW0iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMjciIHVuaXQ9Im1vbnRocyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9Ik1hbW1vZ3JhbSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluYWwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYW1lbmRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb3JyZWN0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYXBwZW5kZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2x1c2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSGFzIEhvc3BpY2UiIGxpYnJhcnlOYW1lPSJIb3NwaWNlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvdW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVW5pbGF0ZXJhbCBNYXN0ZWN0b215IFByb2NlZHVyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJSaWdodCBNYXN0ZWN0b215IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZWZ0IE1hc3RlY3RvbXkiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikhpc3RvcnkgQmlsYXRlcmFsIE1hc3RlY3RvbXkiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpbGF0ZXJhbCBNYXN0ZWN0b215IFByb2NlZHVyZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE0xMjVfRkhJUjMgdmVyc2lvbiAnNy4yLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEyNXY3IC0gQnJlYXN0IENhbmNlciBTY3JlZW5pbmcKKi8KCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIHZlcnNpb24gJzEuMS4wMDAnIGNhbGxlZCBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzCmluY2x1ZGUgSG9zcGljZV9GSElSMyB2ZXJzaW9uICcxLjAuMDAwJyBjYWxsZWQgSG9zcGljZQppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIlBheWVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnCnZhbHVlc2V0ICJCaWxhdGVyYWwgTWFzdGVjdG9teSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTAwNScKdmFsdWVzZXQgIkZlbWFsZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41NjAuMTAwLjInCnZhbHVlc2V0ICJNYW1tb2dyYXBoeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAxOCcKdmFsdWVzZXQgIlVuaWxhdGVyYWwgTWFzdGVjdG9teSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTAyMCcKdmFsdWVzZXQgIkhpc3Rvcnkgb2YgYmlsYXRlcmFsIG1hc3RlY3RvbXkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjgnCnZhbHVlc2V0ICJTdGF0dXMgUG9zdCBMZWZ0IE1hc3RlY3RvbXkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjknCnZhbHVlc2V0ICJTdGF0dXMgUG9zdCBSaWdodCBNYXN0ZWN0b215IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDcwJwp2YWx1ZXNldCAiTGVmdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMjIuMTIuMTAzNicKdmFsdWVzZXQgIlJpZ2h0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEyMi4xMi4xMDM1Jwp2YWx1ZXNldCAiVW5pbGF0ZXJhbCBNYXN0ZWN0b215LCBVbnNwZWNpZmllZCBMYXRlcmFsaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDcxJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgogICAgZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKICBTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgogIFNERS4iU0RFIFNleCIKCmRlZmluZSAiRGVub21pbmF0b3IiOgoJCSJJbml0aWFsIFBvcHVsYXRpb24iCgpkZWZpbmUgIlVuaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiOgoJCVtQcm9jZWR1cmU6ICJVbmlsYXRlcmFsIE1hc3RlY3RvbXkiXSBVbmlsYXRlcmFsTWFzdGVjdG9teVByb2NlZHVyZQoJCQkJd2hlcmUgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKFVuaWxhdGVyYWxNYXN0ZWN0b215UHJvY2VkdXJlLnBlcmZvcm1lZCkgZW5kcyBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCQlhbmQgVW5pbGF0ZXJhbE1hc3RlY3RvbXlQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCmRlZmluZSAiUmlnaHQgTWFzdGVjdG9teSI6CgkJKAoJCQkJKCBbQ29uZGl0aW9uOiAiU3RhdHVzIFBvc3QgUmlnaHQgTWFzdGVjdG9teSJdIEMgd2hlcmUgQy5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnICkKCQkJCXVuaW9uICgKCQkJCQkJW0NvbmRpdGlvbjogIlVuaWxhdGVyYWwgTWFzdGVjdG9teSwgVW5zcGVjaWZpZWQgTGF0ZXJhbGl0eSJdIFVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzCgkJCQkJCQkJd2hlcmUgVW5pbGF0ZXJhbE1hc3RlY3RvbXlEaWFnbm9zaXMuYm9keVNpdGUgaW4gIlJpZ2h0IgoJCQkJCQkJCQkJYW5kIFVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKCQkJCSkKCQkpIFJpZ2h0TWFzdGVjdG9teQoJCQkJd2hlcmUgR2xvYmFsLiJOb3JtYWxpemUgT25zZXQiKFJpZ2h0TWFzdGVjdG9teS5vbnNldCkgc3RhcnRzIGJlZm9yZSBkYXkgb2YgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkxlZnQgTWFzdGVjdG9teSI6CgkJKAoJCSAgICAoIFtDb25kaXRpb246ICJTdGF0dXMgUG9zdCBMZWZ0IE1hc3RlY3RvbXkiXSBDIHdoZXJlIEMuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJyApCgkJCQl1bmlvbiAoCgkJCQkJCVtDb25kaXRpb246ICJVbmlsYXRlcmFsIE1hc3RlY3RvbXksIFVuc3BlY2lmaWVkIExhdGVyYWxpdHkiXSBVbmlsYXRlcmFsTWFzdGVjdG9teURpYWdub3NpcwoJCQkJCQkJCXdoZXJlIFVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzLmJvZHlTaXRlIGluICJMZWZ0IgoJCQkJCQkJCQkJYW5kIFVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKCQkJCSkKCQkpIExlZnRNYXN0ZWN0b215CgkJCQl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoTGVmdE1hc3RlY3RvbXkub25zZXQpIHN0YXJ0cyBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJIaXN0b3J5IEJpbGF0ZXJhbCBNYXN0ZWN0b215IjoKCQlbQ29uZGl0aW9uOiAiSGlzdG9yeSBvZiBiaWxhdGVyYWwgbWFzdGVjdG9teSJdIEJpbGF0ZXJhbE1hc3RlY3RvbXlIaXN0b3J5CgkJCQl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoQmlsYXRlcmFsTWFzdGVjdG9teUhpc3Rvcnkub25zZXQpIHN0YXJ0cyBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCQlhbmQgQmlsYXRlcmFsTWFzdGVjdG9teUhpc3RvcnkuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJwoKZGVmaW5lICJCaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiOgoJCVtQcm9jZWR1cmU6ICJCaWxhdGVyYWwgTWFzdGVjdG9teSJdIEJpbGF0ZXJhbE1hc3RlY3RvbXlQZXJmb3JtZWQKCQkJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihCaWxhdGVyYWxNYXN0ZWN0b215UGVyZm9ybWVkLnBlcmZvcm1lZCkgZW5kcyBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCQlhbmQgQmlsYXRlcmFsTWFzdGVjdG9teVBlcmZvcm1lZC5zdGF0dXMgPSAnY29tcGxldGVkJwoKZGVmaW5lICJOdW1lcmF0b3IiOgoJCWV4aXN0cyAoCgkJCQlbRGlhZ25vc3RpY1JlcG9ydDogIk1hbW1vZ3JhcGh5Il0gTWFtbW9ncmFtCgkJCQkJCXdoZXJlICggR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKE1hbW1vZ3JhbS5lZmZlY3RpdmUpIGVuZHMgMjcgbW9udGhzIG9yIGxlc3MgYmVmb3JlIGRheSBvZiBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIgKQoJCQkJCQkJCWFuZCBNYW1tb2dyYW0uc3RhdHVzIGluIHsgJ2ZpbmFsJywgJ2FtZW5kZWQnLCAnY29ycmVjdGVkJywgJ2FwcGVuZGVkJyB9CgkJKQoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgoJCUhvc3BpY2UuIkhhcyBIb3NwaWNlIigiTWVhc3VyZW1lbnQgUGVyaW9kIikKCQkJCW9yICggQ291bnQoIlVuaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiKSA9IDIgKQoJCQkJb3IgKCBleGlzdHMgIlJpZ2h0IE1hc3RlY3RvbXkiIGFuZCBleGlzdHMgIkxlZnQgTWFzdGVjdG9teSIgKQoJCQkJb3IgZXhpc3RzICJIaXN0b3J5IEJpbGF0ZXJhbCBNYXN0ZWN0b215IgoJCQkJb3IgZXhpc3RzICJCaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CgkJUGF0aWVudC5nZW5kZXIgPSAnZmVtYWxlJwoJCQkJYW5kIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSBpbiBJbnRlcnZhbFs1MSwgNzRdCgkJCQlhbmQgZXhpc3RzIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMuIlF1YWxpZnlpbmcgRW5jb3VudGVycyIoIk1lYXN1cmVtZW50IFBlcmlvZCIpCg==" - } - ] + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1068" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1005" + } + } ] + }, { + "type": "DiagnosticReport", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1018" + } + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE0xMjVfRkhJUjMgdmVyc2lvbiAnNy4yLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEyNXY3IC0gQnJlYXN0IENhbmNlciBTY3JlZW5pbmcKKi8KCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIHZlcnNpb24gJzEuMS4wMDAnIGNhbGxlZCBBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzCmluY2x1ZGUgSG9zcGljZV9GSElSMyB2ZXJzaW9uICcxLjAuMDAwJyBjYWxsZWQgSG9zcGljZQppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIlBheWVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnCnZhbHVlc2V0ICJCaWxhdGVyYWwgTWFzdGVjdG9teSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTAwNScKdmFsdWVzZXQgIkZlbWFsZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41NjAuMTAwLjInCnZhbHVlc2V0ICJNYW1tb2dyYXBoeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAxOCcKdmFsdWVzZXQgIlVuaWxhdGVyYWwgTWFzdGVjdG9teSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xOTguMTIuMTAyMCcKdmFsdWVzZXQgIkhpc3Rvcnkgb2YgYmlsYXRlcmFsIG1hc3RlY3RvbXkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjgnCnZhbHVlc2V0ICJTdGF0dXMgUG9zdCBMZWZ0IE1hc3RlY3RvbXkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwNjknCnZhbHVlc2V0ICJTdGF0dXMgUG9zdCBSaWdodCBNYXN0ZWN0b215IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDcwJwp2YWx1ZXNldCAiTGVmdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMjIuMTIuMTAzNicKdmFsdWVzZXQgIlJpZ2h0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEyMi4xMi4xMDM1Jwp2YWx1ZXNldCAiVW5pbGF0ZXJhbCBNYXN0ZWN0b215LCBVbnNwZWNpZmllZCBMYXRlcmFsaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDcxJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgogICAgZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKICBTREUuIlNERSBQYXllciIKCmRlZmluZSAiU0RFIFJhY2UiOgogIFNERS4iU0RFIFJhY2UiCgpkZWZpbmUgIlNERSBTZXgiOgogIFNERS4iU0RFIFNleCIKCmRlZmluZSAiRGVub21pbmF0b3IiOgoJCSJJbml0aWFsIFBvcHVsYXRpb24iCgpkZWZpbmUgIlVuaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiOgoJCVtQcm9jZWR1cmU6ICJVbmlsYXRlcmFsIE1hc3RlY3RvbXkiXSBVbmlsYXRlcmFsTWFzdGVjdG9teVByb2NlZHVyZQoJCQkJd2hlcmUgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKFVuaWxhdGVyYWxNYXN0ZWN0b215UHJvY2VkdXJlLnBlcmZvcm1lZCkgZW5kcyBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCQlhbmQgVW5pbGF0ZXJhbE1hc3RlY3RvbXlQcm9jZWR1cmUuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCmRlZmluZSAiUmlnaHQgTWFzdGVjdG9teSI6CgkJKAoJCQkJKCBbQ29uZGl0aW9uOiAiU3RhdHVzIFBvc3QgUmlnaHQgTWFzdGVjdG9teSJdIEMgd2hlcmUgQy5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnICkKCQkJCXVuaW9uICgKCQkJCQkJW0NvbmRpdGlvbjogIlVuaWxhdGVyYWwgTWFzdGVjdG9teSwgVW5zcGVjaWZpZWQgTGF0ZXJhbGl0eSJdIFVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzCgkJCQkJCQkJd2hlcmUgVW5pbGF0ZXJhbE1hc3RlY3RvbXlEaWFnbm9zaXMuYm9keVNpdGUgaW4gIlJpZ2h0IgoJCQkJCQkJCQkJYW5kIFVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKCQkJCSkKCQkpIFJpZ2h0TWFzdGVjdG9teQoJCQkJd2hlcmUgR2xvYmFsLiJOb3JtYWxpemUgT25zZXQiKFJpZ2h0TWFzdGVjdG9teS5vbnNldCkgc3RhcnRzIGJlZm9yZSBkYXkgb2YgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkxlZnQgTWFzdGVjdG9teSI6CgkJKAoJCSAgICAoIFtDb25kaXRpb246ICJTdGF0dXMgUG9zdCBMZWZ0IE1hc3RlY3RvbXkiXSBDIHdoZXJlIEMuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJyApCgkJCQl1bmlvbiAoCgkJCQkJCVtDb25kaXRpb246ICJVbmlsYXRlcmFsIE1hc3RlY3RvbXksIFVuc3BlY2lmaWVkIExhdGVyYWxpdHkiXSBVbmlsYXRlcmFsTWFzdGVjdG9teURpYWdub3NpcwoJCQkJCQkJCXdoZXJlIFVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzLmJvZHlTaXRlIGluICJMZWZ0IgoJCQkJCQkJCQkJYW5kIFVuaWxhdGVyYWxNYXN0ZWN0b215RGlhZ25vc2lzLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKCQkJCSkKCQkpIExlZnRNYXN0ZWN0b215CgkJCQl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoTGVmdE1hc3RlY3RvbXkub25zZXQpIHN0YXJ0cyBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJIaXN0b3J5IEJpbGF0ZXJhbCBNYXN0ZWN0b215IjoKCQlbQ29uZGl0aW9uOiAiSGlzdG9yeSBvZiBiaWxhdGVyYWwgbWFzdGVjdG9teSJdIEJpbGF0ZXJhbE1hc3RlY3RvbXlIaXN0b3J5CgkJCQl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoQmlsYXRlcmFsTWFzdGVjdG9teUhpc3Rvcnkub25zZXQpIHN0YXJ0cyBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCQlhbmQgQmlsYXRlcmFsTWFzdGVjdG9teUhpc3RvcnkuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJwoKZGVmaW5lICJCaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiOgoJCVtQcm9jZWR1cmU6ICJCaWxhdGVyYWwgTWFzdGVjdG9teSJdIEJpbGF0ZXJhbE1hc3RlY3RvbXlQZXJmb3JtZWQKCQkJCXdoZXJlIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihCaWxhdGVyYWxNYXN0ZWN0b215UGVyZm9ybWVkLnBlcmZvcm1lZCkgZW5kcyBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCQlhbmQgQmlsYXRlcmFsTWFzdGVjdG9teVBlcmZvcm1lZC5zdGF0dXMgPSAnY29tcGxldGVkJwoKZGVmaW5lICJOdW1lcmF0b3IiOgoJCWV4aXN0cyAoCgkJCQlbRGlhZ25vc3RpY1JlcG9ydDogIk1hbW1vZ3JhcGh5Il0gTWFtbW9ncmFtCgkJCQkJCXdoZXJlICggR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKE1hbW1vZ3JhbS5lZmZlY3RpdmUpIGVuZHMgMjcgbW9udGhzIG9yIGxlc3MgYmVmb3JlIGRheSBvZiBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIgKQoJCQkJCQkJCWFuZCBNYW1tb2dyYW0uc3RhdHVzIGluIHsgJ2ZpbmFsJywgJ2FtZW5kZWQnLCAnY29ycmVjdGVkJywgJ2FwcGVuZGVkJyB9CgkJKQoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgoJCUhvc3BpY2UuIkhhcyBIb3NwaWNlIigiTWVhc3VyZW1lbnQgUGVyaW9kIikKCQkJCW9yICggQ291bnQoIlVuaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiKSA9IDIgKQoJCQkJb3IgKCBleGlzdHMgIlJpZ2h0IE1hc3RlY3RvbXkiIGFuZCBleGlzdHMgIkxlZnQgTWFzdGVjdG9teSIgKQoJCQkJb3IgZXhpc3RzICJIaXN0b3J5IEJpbGF0ZXJhbCBNYXN0ZWN0b215IgoJCQkJb3IgZXhpc3RzICJCaWxhdGVyYWwgTWFzdGVjdG9teSBQcm9jZWR1cmUiCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CgkJUGF0aWVudC5nZW5kZXIgPSAnZmVtYWxlJwoJCQkJYW5kIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSBpbiBJbnRlcnZhbFs1MSwgNzRdCgkJCQlhbmQgZXhpc3RzIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMuIlF1YWxpZnlpbmcgRW5jb3VudGVycyIoIk1lYXN1cmVtZW50IFBlcmlvZCIpCg==" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-EXM130_FHIR3-7.2.000.json b/fhir3/input/resources/library/library-EXM130_FHIR3-7.2.000.json index 7e7fb471..2669cdde 100644 --- a/fhir3/input/resources/library/library-EXM130_FHIR3-7.2.000.json +++ b/fhir3/input/resources/library/library-EXM130_FHIR3-7.2.000.json @@ -3,125 +3,83 @@ "id": "library-EXM130-FHIR3-7.2.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM130-FHIR3-7.2.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">7.2.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"5\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-AdultOutpatientEncounters-FHIR3-1.1.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-Hospice-FHIR3-1.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"7\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM130_FHIR3 version '7.2.000'\n\n/*\nBased on CMS130v7 - Colorectal Cancer Screening\n*/\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude AdultOutpatientEncounters_FHIR3 version '1.1.000' called AdultOutpatientEncounters\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude Hospice_FHIR3 version '1.0.000' called Hospice\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Colonoscopy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020'\nvalueset "Fecal Occult Blood Test (FOBT)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011'\nvalueset "Flexible Sigmoidoscopy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010'\nvalueset "Malignant Neoplasm of Colon": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001'\nvalueset "Total Colectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019'\nvalueset "FIT DNA": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039'\nvalueset "CT Colonography": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038'\n\nparameter "Measurement Period" Interval<DateTime>\n default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n SDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n SDE."SDE Sex"\n\ndefine "Denominator":\n\ttrue\n\ndefine "Flexible Sigmoidoscopy Performed":\n\t[Procedure: "Flexible Sigmoidoscopy"] FlexibleSigmoidoscopy\n\t\twhere FlexibleSigmoidoscopy.status = 'completed'\n\t\t\tand Global."Normalize Interval"(FlexibleSigmoidoscopy.performed) ends 5 years or less on or before end of "Measurement Period"\n\ndefine "CT Colonography Performed":\n\t[Procedure: "CT Colonography"] Colonography\n\t\twhere Colonography.status = 'completed'\n\t\t\tand Global."Normalize Interval"(Colonography.performed) ends 5 years or less on or before end of "Measurement Period"\n\ndefine "Total Colectomy Performed":\n\t[Procedure: "Total Colectomy"] Colectomy\n\t\twhere Colectomy.status = 'completed'\n\t\t\tand Global."Normalize Interval"(Colectomy.performed) starts on or before end of "Measurement Period"\n\ndefine "Malignant Neoplasm Ever":\n\t[Condition: "Malignant Neoplasm of Colon"] ColorectalCancer\n\t\twhere Global."Normalize Onset"(ColorectalCancer.onset) starts on or before end of "Measurement Period"\n\ndefine "Fecal Occult Blood Test Performed":\n\t[Observation: "Fecal Occult Blood Test (FOBT)"] FecalOccultResult\n\t\twhere FecalOccultResult.status in { 'final', 'amended', 'corrected', 'preliminary' }\n\t\t\tand FecalOccultResult.value is not null\n\t\t\tand Global."Normalize Interval"(FecalOccultResult.effective) during day of "Measurement Period"\n\t\t\t// and FecalOccultResult.FHIR.provenance.recorded during "Measurement Period"\n\ndefine "Fecal Immunochemical Test DNA":\n\t[Observation: "FIT DNA"] FitDNA\n\t\twhere FitDNA.status in { 'final', 'amended', 'corrected', 'preliminary' }\n\t\t\tand FitDNA.value is not null\n\t\t\tand Global."Normalize Interval"(FitDNA.effective) occurs 3 years or less on or before day of end of "Measurement Period"\n\t\t\t// and FitDNA.FHIR.provenance.recorded occurs 3 years or less on or before end of "Measurement Period"\n\ndefine "Colonoscopy Performed":\n\t[Procedure: "Colonoscopy"] Colonoscopy\n\t\twhere Colonoscopy.status = 'completed'\n\t\t \tand Global."Normalize Interval"(Colonoscopy.performed) ends 10 years or less on or before end of "Measurement Period"\n\ndefine "Numerator":\n\texists "Colonoscopy Performed"\n\t\tor exists "Fecal Occult Blood Test Performed"\n\t\tor exists "Flexible Sigmoidoscopy Performed"\n\t\tor exists "Fecal Immunochemical Test DNA"\n\t\tor exists "CT Colonography Performed"\n\ndefine "Denominator Exclusion":\n\tHospice."Has Hospice"("Measurement Period")\n\t\tor exists "Malignant Neoplasm Ever"\n\t\tor exists "Total Colectomy Performed"\n\ndefine "Initial Population":\n\tGlobal."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period") in Interval[50, 75]\n\t\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM130-FHIR3-7.2.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">7.2.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"5\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-AdultOutpatientEncounters-FHIR3-1.1.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-Hospice-FHIR3-1.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"7\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM130_FHIR3 version '7.2.000'\n\n/*\nBased on CMS130v7 - Colorectal Cancer Screening\n*/\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude AdultOutpatientEncounters_FHIR3 version '1.1.000' called AdultOutpatientEncounters\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude Hospice_FHIR3 version '1.0.000' called Hospice\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Colonoscopy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020'\nvalueset "Fecal Occult Blood Test (FOBT)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011'\nvalueset "Flexible Sigmoidoscopy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010'\nvalueset "Malignant Neoplasm of Colon": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001'\nvalueset "Total Colectomy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019'\nvalueset "FIT DNA": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039'\nvalueset "CT Colonography": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038'\n\nparameter "Measurement Period" Interval<DateTime>\n default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n SDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n SDE."SDE Sex"\n\ndefine "Denominator":\n\ttrue\n\ndefine "Flexible Sigmoidoscopy Performed":\n\t[Procedure: "Flexible Sigmoidoscopy"] FlexibleSigmoidoscopy\n\t\twhere FlexibleSigmoidoscopy.status = 'completed'\n\t\t\tand Global."Normalize Interval"(FlexibleSigmoidoscopy.performed) ends 5 years or less on or before end of "Measurement Period"\n\ndefine "CT Colonography Performed":\n\t[Procedure: "CT Colonography"] Colonography\n\t\twhere Colonography.status = 'completed'\n\t\t\tand Global."Normalize Interval"(Colonography.performed) ends 5 years or less on or before end of "Measurement Period"\n\ndefine "Total Colectomy Performed":\n\t[Procedure: "Total Colectomy"] Colectomy\n\t\twhere Colectomy.status = 'completed'\n\t\t\tand Global."Normalize Interval"(Colectomy.performed) starts on or before end of "Measurement Period"\n\ndefine "Malignant Neoplasm Ever":\n\t[Condition: "Malignant Neoplasm of Colon"] ColorectalCancer\n\t\twhere Global."Normalize Onset"(ColorectalCancer.onset) starts on or before end of "Measurement Period"\n\ndefine "Fecal Occult Blood Test Performed":\n\t[Observation: "Fecal Occult Blood Test (FOBT)"] FecalOccultResult\n\t\twhere FecalOccultResult.status in { 'final', 'amended', 'corrected', 'preliminary' }\n\t\t\tand FecalOccultResult.value is not null\n\t\t\tand Global."Normalize Interval"(FecalOccultResult.effective) during day of "Measurement Period"\n\t\t\t// and FecalOccultResult.FHIR.provenance.recorded during "Measurement Period"\n\ndefine "Fecal Immunochemical Test DNA":\n\t[Observation: "FIT DNA"] FitDNA\n\t\twhere FitDNA.status in { 'final', 'amended', 'corrected', 'preliminary' }\n\t\t\tand FitDNA.value is not null\n\t\t\tand Global."Normalize Interval"(FitDNA.effective) occurs 3 years or less on or before day of end of "Measurement Period"\n\t\t\t// and FitDNA.FHIR.provenance.recorded occurs 3 years or less on or before end of "Measurement Period"\n\ndefine "Colonoscopy Performed":\n\t[Procedure: "Colonoscopy"] Colonoscopy\n\t\twhere Colonoscopy.status = 'completed'\n\t\t \tand Global."Normalize Interval"(Colonoscopy.performed) ends 10 years or less on or before end of "Measurement Period"\n\ndefine "Numerator":\n\texists "Colonoscopy Performed"\n\t\tor exists "Fecal Occult Blood Test Performed"\n\t\tor exists "Flexible Sigmoidoscopy Performed"\n\t\tor exists "Fecal Immunochemical Test DNA"\n\t\tor exists "CT Colonography Performed"\n\ndefine "Denominator Exclusion":\n\tHospice."Has Hospice"("Measurement Period")\n\t\tor exists "Malignant Neoplasm Ever"\n\t\tor exists "Total Colectomy Performed"\n\ndefine "Initial Population":\n\tGlobal."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period") in Interval[50, 75]\n\t\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "7.2.000", "name": "EXM130_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" + "dataRequirement": [ { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-Hospice-FHIR3-1.0.000" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011" } - } - ], - "dataRequirement": [ - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020" - } - ] - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTEzMF9GSElSMyIgdmVyc2lvbj0iNy4yLjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMiIHBhdGg9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMiIHZlcnNpb249IjEuMS4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9Ikhvc3BpY2UiIHBhdGg9Ikhvc3BpY2VfRkhJUjMiIHZlcnNpb249IjEuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU0RFIiBwYXRoPSJTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMiIHZlcnNpb249IjEuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHBhcmFtZXRlcnM+DQogICAgICA8ZGVmIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZGVmYXVsdCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDE5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICAgICA8eWVhciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIwMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZGVmYXVsdD4NCiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L3BhcmFtZXRlclR5cGVTcGVjaWZpZXI+DQogICAgICA8L2RlZj4NCiAgIDwvcGFyYW1ldGVycz4NCiAgIDx2YWx1ZVNldHM+DQogICAgICA8ZGVmIG5hbWU9Ik9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFdGhuaWNpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUGF5ZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkNvbG9ub3Njb3B5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA4LjEyLjEwMjAiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRmVjYWwgT2NjdWx0IEJsb29kIFRlc3QgKEZPQlQpIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwMTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRmxleGlibGUgU2lnbW9pZG9zY29weSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDEwIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik1hbGlnbmFudCBOZW9wbGFzbSBvZiBDb2xvbiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOC4xMi4xMDAxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlRvdGFsIENvbGVjdG9teSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDE5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkZJVCBETkEiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAzOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJDVCBDb2xvbm9ncmFwaHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAzOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC92YWx1ZVNldHM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgRXRobmljaXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBFdGhuaWNpdHkiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFBheWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBQYXllciIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgUmFjZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgUmFjZSIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgU2V4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBTZXgiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJ0cnVlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkZsZXhpYmxlIFNpZ21vaWRvc2NvcHkgUGVyZm9ybWVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJGbGV4aWJsZVNpZ21vaWRvc2NvcHkiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRmxleGlibGUgU2lnbW9pZG9zY29weSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRmxleGlibGVTaWdtb2lkb3Njb3B5IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJGbGV4aWJsZVNpZ21vaWRvc2NvcHkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSI1IiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNUIENvbG9ub2dyYXBoeSBQZXJmb3JtZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkNvbG9ub2dyYXBoeSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJDVCBDb2xvbm9ncmFwaHkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkNvbG9ub2dyYXBoeSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEludGVydmFsIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iQ29sb25vZ3JhcGh5IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iNSIgdW5pdD0ieWVhcnMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb3RhbCBDb2xlY3RvbXkgUGVyZm9ybWVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb2xlY3RvbXkiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iVG90YWwgQ29sZWN0b215IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJDb2xlY3RvbXkiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTYW1lT3JCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkNvbGVjdG9teSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJNYWxpZ25hbnQgTmVvcGxhc20gRXZlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQ29sb3JlY3RhbENhbmNlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJNYWxpZ25hbnQgTmVvcGxhc20gb2YgQ29sb24iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IlNhbWVPckJlZm9yZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ib25zZXQiIHNjb3BlPSJDb2xvcmVjdGFsQ2FuY2VyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkZlY2FsIE9jY3VsdCBCbG9vZCBUZXN0IFBlcmZvcm1lZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRmVjYWxPY2N1bHRSZXN1bHQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJGZWNhbCBPY2N1bHQgQmxvb2QgVGVzdCAoRk9CVCkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRmVjYWxPY2N1bHRSZXN1bHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFtZW5kZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29ycmVjdGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InByZWxpbWluYXJ5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiBzY29wZT0iRmVjYWxPY2N1bHRSZXN1bHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJJbmNsdWRlZEluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkZlY2FsT2NjdWx0UmVzdWx0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJGZWNhbCBJbW11bm9jaGVtaWNhbCBUZXN0IEROQSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRml0RE5BIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRklUIEROQSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJGaXRETkEiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFtZW5kZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29ycmVjdGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InByZWxpbWluYXJ5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiBzY29wZT0iRml0RE5BIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJGaXRETkEiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIzIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNvbG9ub3Njb3B5IFBlcmZvcm1lZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQ29sb25vc2NvcHkiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29sb25vc2NvcHkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkNvbG9ub3Njb3B5IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJDb2xvbm9zY29weSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEwIiB1bml0PSJ5ZWFycyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik51bWVyYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDb2xvbm9zY29weSBQZXJmb3JtZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkZlY2FsIE9jY3VsdCBCbG9vZCBUZXN0IFBlcmZvcm1lZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRmxleGlibGUgU2lnbW9pZG9zY29weSBQZXJmb3JtZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkZlY2FsIEltbXVub2NoZW1pY2FsIFRlc3QgRE5BIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDVCBDb2xvbm9ncmFwaHkgUGVyZm9ybWVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2x1c2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkhhcyBIb3NwaWNlIiBsaWJyYXJ5TmFtZT0iSG9zcGljZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNYWxpZ25hbnQgTmVvcGxhc20gRXZlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG90YWwgQ29sZWN0b215IFBlcmZvcm1lZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbml0aWFsIFBvcHVsYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI1MCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxoaWdoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNzUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlF1YWxpZnlpbmcgRW5jb3VudGVycyIgbGlicmFyeU5hbWU9IkFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE0xMzBfRkhJUjMgdmVyc2lvbiAnNy4yLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEzMHY3IC0gQ29sb3JlY3RhbCBDYW5jZXIgU2NyZWVuaW5nCiovCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMgdmVyc2lvbiAnMS4xLjAwMCcgY2FsbGVkIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMKaW5jbHVkZSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcgY2FsbGVkIEdsb2JhbAppbmNsdWRlIEhvc3BpY2VfRkhJUjMgdmVyc2lvbiAnMS4wLjAwMCcgY2FsbGVkIEhvc3BpY2UKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIHZlcnNpb24gJzEuMC4wJyBjYWxsZWQgU0RFCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiQ29sb25vc2NvcHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA4LjEyLjEwMjAnCnZhbHVlc2V0ICJGZWNhbCBPY2N1bHQgQmxvb2QgVGVzdCAoRk9CVCkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwMTEnCnZhbHVlc2V0ICJGbGV4aWJsZSBTaWdtb2lkb3Njb3B5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDEwJwp2YWx1ZXNldCAiTWFsaWduYW50IE5lb3BsYXNtIG9mIENvbG9uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOC4xMi4xMDAxJwp2YWx1ZXNldCAiVG90YWwgQ29sZWN0b215IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDE5Jwp2YWx1ZXNldCAiRklUIEROQSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAzOScKdmFsdWVzZXQgIkNUIENvbG9ub2dyYXBoeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAzOCcKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KICAgIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCkKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CiAgU0RFLiJTREUgUGF5ZXIiCgpkZWZpbmUgIlNERSBSYWNlIjoKICBTREUuIlNERSBSYWNlIgoKZGVmaW5lICJTREUgU2V4IjoKICBTREUuIlNERSBTZXgiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKCXRydWUKCmRlZmluZSAiRmxleGlibGUgU2lnbW9pZG9zY29weSBQZXJmb3JtZWQiOgoJW1Byb2NlZHVyZTogIkZsZXhpYmxlIFNpZ21vaWRvc2NvcHkiXSBGbGV4aWJsZVNpZ21vaWRvc2NvcHkKCQl3aGVyZSBGbGV4aWJsZVNpZ21vaWRvc2NvcHkuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihGbGV4aWJsZVNpZ21vaWRvc2NvcHkucGVyZm9ybWVkKSBlbmRzIDUgeWVhcnMgb3IgbGVzcyBvbiBvciBiZWZvcmUgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkNUIENvbG9ub2dyYXBoeSBQZXJmb3JtZWQiOgoJW1Byb2NlZHVyZTogIkNUIENvbG9ub2dyYXBoeSJdIENvbG9ub2dyYXBoeQoJCXdoZXJlIENvbG9ub2dyYXBoeS5zdGF0dXMgPSAnY29tcGxldGVkJwoJCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKENvbG9ub2dyYXBoeS5wZXJmb3JtZWQpIGVuZHMgNSB5ZWFycyBvciBsZXNzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiVG90YWwgQ29sZWN0b215IFBlcmZvcm1lZCI6CglbUHJvY2VkdXJlOiAiVG90YWwgQ29sZWN0b215Il0gQ29sZWN0b215CgkJd2hlcmUgQ29sZWN0b215LnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29sZWN0b215LnBlcmZvcm1lZCkgc3RhcnRzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiTWFsaWduYW50IE5lb3BsYXNtIEV2ZXIiOgoJW0NvbmRpdGlvbjogIk1hbGlnbmFudCBOZW9wbGFzbSBvZiBDb2xvbiJdIENvbG9yZWN0YWxDYW5jZXIKCQl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoQ29sb3JlY3RhbENhbmNlci5vbnNldCkgc3RhcnRzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiRmVjYWwgT2NjdWx0IEJsb29kIFRlc3QgUGVyZm9ybWVkIjoKCVtPYnNlcnZhdGlvbjogIkZlY2FsIE9jY3VsdCBCbG9vZCBUZXN0IChGT0JUKSJdIEZlY2FsT2NjdWx0UmVzdWx0CgkJd2hlcmUgRmVjYWxPY2N1bHRSZXN1bHQuc3RhdHVzIGluIHsgJ2ZpbmFsJywgJ2FtZW5kZWQnLCAnY29ycmVjdGVkJywgJ3ByZWxpbWluYXJ5JyB9CgkJCWFuZCBGZWNhbE9jY3VsdFJlc3VsdC52YWx1ZSBpcyBub3QgbnVsbAoJCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEZlY2FsT2NjdWx0UmVzdWx0LmVmZmVjdGl2ZSkgZHVyaW5nIGRheSBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkvLyBhbmQgRmVjYWxPY2N1bHRSZXN1bHQuRkhJUi5wcm92ZW5hbmNlLnJlY29yZGVkIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJGZWNhbCBJbW11bm9jaGVtaWNhbCBUZXN0IEROQSI6CglbT2JzZXJ2YXRpb246ICJGSVQgRE5BIl0gRml0RE5BCgkJd2hlcmUgRml0RE5BLnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcsICdwcmVsaW1pbmFyeScgfQoJCQlhbmQgRml0RE5BLnZhbHVlIGlzIG5vdCBudWxsCgkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoRml0RE5BLmVmZmVjdGl2ZSkgb2NjdXJzIDMgeWVhcnMgb3IgbGVzcyBvbiBvciBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkvLyBhbmQgRml0RE5BLkZISVIucHJvdmVuYW5jZS5yZWNvcmRlZCBvY2N1cnMgMyB5ZWFycyBvciBsZXNzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiQ29sb25vc2NvcHkgUGVyZm9ybWVkIjoKCVtQcm9jZWR1cmU6ICJDb2xvbm9zY29weSJdIENvbG9ub3Njb3B5CgkJd2hlcmUgQ29sb25vc2NvcHkuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkgCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29sb25vc2NvcHkucGVyZm9ybWVkKSBlbmRzIDEwIHllYXJzIG9yIGxlc3Mgb24gb3IgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJOdW1lcmF0b3IiOgoJZXhpc3RzICJDb2xvbm9zY29weSBQZXJmb3JtZWQiCgkJb3IgZXhpc3RzICJGZWNhbCBPY2N1bHQgQmxvb2QgVGVzdCBQZXJmb3JtZWQiCgkJb3IgZXhpc3RzICJGbGV4aWJsZSBTaWdtb2lkb3Njb3B5IFBlcmZvcm1lZCIKCQlvciBleGlzdHMgIkZlY2FsIEltbXVub2NoZW1pY2FsIFRlc3QgRE5BIgoJCW9yIGV4aXN0cyAiQ1QgQ29sb25vZ3JhcGh5IFBlcmZvcm1lZCIKCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9uIjoKCUhvc3BpY2UuIkhhcyBIb3NwaWNlIigiTWVhc3VyZW1lbnQgUGVyaW9kIikKCQlvciBleGlzdHMgIk1hbGlnbmFudCBOZW9wbGFzbSBFdmVyIgoJCW9yIGV4aXN0cyAiVG90YWwgQ29sZWN0b215IFBlcmZvcm1lZCIKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKCUdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSBpbiBJbnRlcnZhbFs1MCwgNzVdCgkJCWFuZCBleGlzdHMgQWR1bHRPdXRwYXRpZW50RW5jb3VudGVycy4iUXVhbGlmeWluZyBFbmNvdW50ZXJzIigiTWVhc3VyZW1lbnQgUGVyaW9kIikK" - } - ] + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020" + } + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE0xMzBfRkhJUjMgdmVyc2lvbiAnNy4yLjAwMCcKCi8qCkJhc2VkIG9uIENNUzEzMHY3IC0gQ29sb3JlY3RhbCBDYW5jZXIgU2NyZWVuaW5nCiovCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnNfRkhJUjMgdmVyc2lvbiAnMS4xLjAwMCcgY2FsbGVkIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMKaW5jbHVkZSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcgY2FsbGVkIEdsb2JhbAppbmNsdWRlIEhvc3BpY2VfRkhJUjMgdmVyc2lvbiAnMS4wLjAwMCcgY2FsbGVkIEhvc3BpY2UKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIHZlcnNpb24gJzEuMC4wJyBjYWxsZWQgU0RFCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiQ29sb25vc2NvcHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA4LjEyLjEwMjAnCnZhbHVlc2V0ICJGZWNhbCBPY2N1bHQgQmxvb2QgVGVzdCAoRk9CVCkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTk4LjEyLjEwMTEnCnZhbHVlc2V0ICJGbGV4aWJsZSBTaWdtb2lkb3Njb3B5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDEwJwp2YWx1ZXNldCAiTWFsaWduYW50IE5lb3BsYXNtIG9mIENvbG9uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOC4xMi4xMDAxJwp2YWx1ZXNldCAiVG90YWwgQ29sZWN0b215IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5OC4xMi4xMDE5Jwp2YWx1ZXNldCAiRklUIEROQSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAzOScKdmFsdWVzZXQgIkNUIENvbG9ub2dyYXBoeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDguMTIuMTAzOCcKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KICAgIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMTktMDEtMDFUMDA6MDA6MDAuMCwgQDIwMjAtMDEtMDFUMDA6MDA6MDAuMCkKCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CiAgU0RFLiJTREUgUGF5ZXIiCgpkZWZpbmUgIlNERSBSYWNlIjoKICBTREUuIlNERSBSYWNlIgoKZGVmaW5lICJTREUgU2V4IjoKICBTREUuIlNERSBTZXgiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKCXRydWUKCmRlZmluZSAiRmxleGlibGUgU2lnbW9pZG9zY29weSBQZXJmb3JtZWQiOgoJW1Byb2NlZHVyZTogIkZsZXhpYmxlIFNpZ21vaWRvc2NvcHkiXSBGbGV4aWJsZVNpZ21vaWRvc2NvcHkKCQl3aGVyZSBGbGV4aWJsZVNpZ21vaWRvc2NvcHkuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkJYW5kIEdsb2JhbC4iTm9ybWFsaXplIEludGVydmFsIihGbGV4aWJsZVNpZ21vaWRvc2NvcHkucGVyZm9ybWVkKSBlbmRzIDUgeWVhcnMgb3IgbGVzcyBvbiBvciBiZWZvcmUgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkNUIENvbG9ub2dyYXBoeSBQZXJmb3JtZWQiOgoJW1Byb2NlZHVyZTogIkNUIENvbG9ub2dyYXBoeSJdIENvbG9ub2dyYXBoeQoJCXdoZXJlIENvbG9ub2dyYXBoeS5zdGF0dXMgPSAnY29tcGxldGVkJwoJCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKENvbG9ub2dyYXBoeS5wZXJmb3JtZWQpIGVuZHMgNSB5ZWFycyBvciBsZXNzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiVG90YWwgQ29sZWN0b215IFBlcmZvcm1lZCI6CglbUHJvY2VkdXJlOiAiVG90YWwgQ29sZWN0b215Il0gQ29sZWN0b215CgkJd2hlcmUgQ29sZWN0b215LnN0YXR1cyA9ICdjb21wbGV0ZWQnCgkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29sZWN0b215LnBlcmZvcm1lZCkgc3RhcnRzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiTWFsaWduYW50IE5lb3BsYXNtIEV2ZXIiOgoJW0NvbmRpdGlvbjogIk1hbGlnbmFudCBOZW9wbGFzbSBvZiBDb2xvbiJdIENvbG9yZWN0YWxDYW5jZXIKCQl3aGVyZSBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoQ29sb3JlY3RhbENhbmNlci5vbnNldCkgc3RhcnRzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiRmVjYWwgT2NjdWx0IEJsb29kIFRlc3QgUGVyZm9ybWVkIjoKCVtPYnNlcnZhdGlvbjogIkZlY2FsIE9jY3VsdCBCbG9vZCBUZXN0IChGT0JUKSJdIEZlY2FsT2NjdWx0UmVzdWx0CgkJd2hlcmUgRmVjYWxPY2N1bHRSZXN1bHQuc3RhdHVzIGluIHsgJ2ZpbmFsJywgJ2FtZW5kZWQnLCAnY29ycmVjdGVkJywgJ3ByZWxpbWluYXJ5JyB9CgkJCWFuZCBGZWNhbE9jY3VsdFJlc3VsdC52YWx1ZSBpcyBub3QgbnVsbAoJCQlhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEZlY2FsT2NjdWx0UmVzdWx0LmVmZmVjdGl2ZSkgZHVyaW5nIGRheSBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkvLyBhbmQgRmVjYWxPY2N1bHRSZXN1bHQuRkhJUi5wcm92ZW5hbmNlLnJlY29yZGVkIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJGZWNhbCBJbW11bm9jaGVtaWNhbCBUZXN0IEROQSI6CglbT2JzZXJ2YXRpb246ICJGSVQgRE5BIl0gRml0RE5BCgkJd2hlcmUgRml0RE5BLnN0YXR1cyBpbiB7ICdmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcsICdwcmVsaW1pbmFyeScgfQoJCQlhbmQgRml0RE5BLnZhbHVlIGlzIG5vdCBudWxsCgkJCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoRml0RE5BLmVmZmVjdGl2ZSkgb2NjdXJzIDMgeWVhcnMgb3IgbGVzcyBvbiBvciBiZWZvcmUgZGF5IG9mIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkvLyBhbmQgRml0RE5BLkZISVIucHJvdmVuYW5jZS5yZWNvcmRlZCBvY2N1cnMgMyB5ZWFycyBvciBsZXNzIG9uIG9yIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiQ29sb25vc2NvcHkgUGVyZm9ybWVkIjoKCVtQcm9jZWR1cmU6ICJDb2xvbm9zY29weSJdIENvbG9ub3Njb3B5CgkJd2hlcmUgQ29sb25vc2NvcHkuc3RhdHVzID0gJ2NvbXBsZXRlZCcKCQkgCWFuZCBHbG9iYWwuIk5vcm1hbGl6ZSBJbnRlcnZhbCIoQ29sb25vc2NvcHkucGVyZm9ybWVkKSBlbmRzIDEwIHllYXJzIG9yIGxlc3Mgb24gb3IgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJOdW1lcmF0b3IiOgoJZXhpc3RzICJDb2xvbm9zY29weSBQZXJmb3JtZWQiCgkJb3IgZXhpc3RzICJGZWNhbCBPY2N1bHQgQmxvb2QgVGVzdCBQZXJmb3JtZWQiCgkJb3IgZXhpc3RzICJGbGV4aWJsZSBTaWdtb2lkb3Njb3B5IFBlcmZvcm1lZCIKCQlvciBleGlzdHMgIkZlY2FsIEltbXVub2NoZW1pY2FsIFRlc3QgRE5BIgoJCW9yIGV4aXN0cyAiQ1QgQ29sb25vZ3JhcGh5IFBlcmZvcm1lZCIKCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9uIjoKCUhvc3BpY2UuIkhhcyBIb3NwaWNlIigiTWVhc3VyZW1lbnQgUGVyaW9kIikKCQlvciBleGlzdHMgIk1hbGlnbmFudCBOZW9wbGFzbSBFdmVyIgoJCW9yIGV4aXN0cyAiVG90YWwgQ29sZWN0b215IFBlcmZvcm1lZCIKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKCUdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSBpbiBJbnRlcnZhbFs1MCwgNzVdCgkJCWFuZCBleGlzdHMgQWR1bHRPdXRwYXRpZW50RW5jb3VudGVycy4iUXVhbGlmeWluZyBFbmNvdW50ZXJzIigiTWVhc3VyZW1lbnQgUGVyaW9kIikK" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-EXM161_FHIR3-8.0.0.json b/fhir3/input/resources/library/library-EXM161_FHIR3-8.0.0.json index 0ccc828f..2ad31019 100644 --- a/fhir3/input/resources/library/library-EXM161_FHIR3-8.0.0.json +++ b/fhir3/input/resources/library/library-EXM161_FHIR3-8.0.0.json @@ -3,115 +3,215 @@ "id": "library-EXM161-FHIR3-8.0.0", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM161-FHIR3-8.0.0</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">8.0.0</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"2\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"8\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1492</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1496</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1141</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1031</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM161_FHIR3 version '8.0.0'\n/*CMS61 Adult MDD*/\n//All measures need a library//\n//Each measure needs to have a library specified//\n\nusing FHIR version '3.0.0'\n//include library MATGlobalCommonFunctions_FHIR version '4.0.000' called Global//\n//includes do not use the term 'library'//\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem SNOMEDCT: 'https://snomed.info/sct'\n\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Major Depressive Disorder-Active": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1491'\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Outpatient Consultation": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Psych Visit - Diagnostic Evaluation": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1492'\nvalueset "Psych Visit - Psychotherapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1496'\nvalueset "Psychoanalysis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1141'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Telehealth Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1031'\n\ncode "Suicide risk assessment (procedure)": '225337009' from "SNOMEDCT" display 'Suicide risk assessment (procedure)'\n\nparameter "Measurement Period" Interval<DateTime> default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "Denominator":\n"Initial Population"\n\ndefine "Initial Population":\n"New or Recurrent Major Depressive Disorder Encounter" NewOrRecurrentMDDEncounter\n\twhere Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")>= 17\n\ndefine "Major Depressive Disorder Encounter":\n( ["Encounter": "Psych Visit - Diagnostic Evaluation"]\n\tunion ["Encounter": "Emergency Department Visit"]\n\tunion ["Encounter": "Office Visit"]\n\tunion ["Encounter": "Outpatient Consultation"]\n\tunion ["Encounter": "Psych Visit - Psychotherapy"]\n\tunion ["Encounter": "Psychoanalysis"]\n\tunion ["Encounter": "Telehealth Services"] ) ValidEncounter\n\twhere ValidEncounter.status = 'finished'\n and Global.EncounterDiagnosis(ValidEncounter).code in "Major Depressive Disorder-Active"\n\ndefine "New or Recurrent Major Depressive Disorder Encounter":\n"Major Depressive Disorder Encounter" NewOrRecurrentMDDEncounter\n\twithout "Major Depressive Disorder Encounter" PriorMDDEpisodeEncounter\n\t\tsuch that PriorMDDEpisodeEncounter !~ NewOrRecurrentMDDEncounter\n\t\t\tand PriorMDDEpisodeEncounter.period ends 104 days or less before day of start of NewOrRecurrentMDDEncounter.period\n\twhere NewOrRecurrentMDDEncounter.period during "Measurement Period"\n\ndefine "Numerator":\n "New or Recurrent Major Depressive Disorder Encounter" NewOrRecurrentMDDEncounter\n \twith ["Procedure": "Suicide risk assessment (procedure)"] SuicideRiskAssessment\n\t \tsuch that SuicideRiskAssessment.performed during NewOrRecurrentMDDEncounter.period\n and SuicideRiskAssessment.status = 'completed'\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM161-FHIR3-8.0.0</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">8.0.0</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"2\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"8\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1492</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1496</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1141</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1031</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM161_FHIR3 version '8.0.0'\n/*CMS61 Adult MDD*/\n//All measures need a library//\n//Each measure needs to have a library specified//\n\nusing FHIR version '3.0.0'\n//include library MATGlobalCommonFunctions_FHIR version '4.0.000' called Global//\n//includes do not use the term 'library'//\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem SNOMEDCT: 'https://snomed.info/sct'\n\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Major Depressive Disorder-Active": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1491'\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Outpatient Consultation": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Psych Visit - Diagnostic Evaluation": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1492'\nvalueset "Psych Visit - Psychotherapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1496'\nvalueset "Psychoanalysis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1141'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Telehealth Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1031'\n\ncode "Suicide risk assessment (procedure)": '225337009' from "SNOMEDCT" display 'Suicide risk assessment (procedure)'\n\nparameter "Measurement Period" Interval<DateTime> default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "Denominator":\n"Initial Population"\n\ndefine "Initial Population":\n"New or Recurrent Major Depressive Disorder Encounter" NewOrRecurrentMDDEncounter\n\twhere Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")>= 17\n\ndefine "Major Depressive Disorder Encounter":\n( ["Encounter": "Psych Visit - Diagnostic Evaluation"]\n\tunion ["Encounter": "Emergency Department Visit"]\n\tunion ["Encounter": "Office Visit"]\n\tunion ["Encounter": "Outpatient Consultation"]\n\tunion ["Encounter": "Psych Visit - Psychotherapy"]\n\tunion ["Encounter": "Psychoanalysis"]\n\tunion ["Encounter": "Telehealth Services"] ) ValidEncounter\n\twhere ValidEncounter.status = 'finished'\n and Global.EncounterDiagnosis(ValidEncounter).code in "Major Depressive Disorder-Active"\n\ndefine "New or Recurrent Major Depressive Disorder Encounter":\n"Major Depressive Disorder Encounter" NewOrRecurrentMDDEncounter\n\twithout "Major Depressive Disorder Encounter" PriorMDDEpisodeEncounter\n\t\tsuch that PriorMDDEpisodeEncounter !~ NewOrRecurrentMDDEncounter\n\t\t\tand PriorMDDEpisodeEncounter.period ends 104 days or less before day of start of NewOrRecurrentMDDEncounter.period\n\twhere NewOrRecurrentMDDEncounter.period during "Measurement Period"\n\ndefine "Numerator":\n "New or Recurrent Major Depressive Disorder Encounter" NewOrRecurrentMDDEncounter\n \twith ["Procedure": "Suicide risk assessment (procedure)"] SuicideRiskAssessment\n\t \tsuch that SuicideRiskAssessment.performed during NewOrRecurrentMDDEncounter.period\n and SuicideRiskAssessment.status = 'completed'\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "8.0.0", "name": "EXM161_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/Library/FHIR-ModelInfo|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/MATGlobalCommonFunctions_FHIR3|4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/FHIRHelpers|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "https://snomed.info/sct" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1491" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1492" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1496" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1141" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1031" + } + } ], + "parameter": [ { + "name": "Measurement Period", + "use": "in", + "min": 0, + "max": "1", + "type": "Period" + }, { + "name": "Patient", + "use": "out", + "min": 0, + "max": "1", + "type": "Patient" + }, { + "name": "Major Depressive Disorder Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "New or Recurrent Major Depressive Disorder Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Initial Population", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Numerator", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1492" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010" } - } - ], - "dataRequirement": [ - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1492" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1496" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1141" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1031" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code" - } - ] - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI2MCIgc3RhcnRDaGFyPSI5IiBlbmRMaW5lPSI2MCIgZW5kQ2hhcj0iNjAiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iRVhNMTYxX0ZISVIzIiB2ZXJzaW9uPSI4LjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9Ikdsb2JhbCIgcGF0aD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSI0LjAuMDAwIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGRlZmF1bHQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAxOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICA8L2RlZmF1bHQ+DQogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPg0KICAgICAgPC9kZWY+DQogICA8L3BhcmFtZXRlcnM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IlNOT01FRENUIiBpZD0iaHR0cHM6Ly9zbm9tZWQuaW5mby9zY3QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDEwIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJNYWpvciBEZXByZXNzaXZlIERpc29yZGVyLUFjdGl2ZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjE0OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT2ZmaWNlIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJPdXRwYXRpZW50IENvbnN1bHRhdGlvbiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDA4IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlBheWVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQc3ljaCBWaXNpdCAtIERpYWdub3N0aWMgRXZhbHVhdGlvbiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjE0OTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUHN5Y2ggVmlzaXQgLSBQc3ljaG90aGVyYXB5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTQ5NiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQc3ljaG9hbmFseXNpcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjExNDEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJUZWxlaGVhbHRoIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMzEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJTdWljaWRlIHJpc2sgYXNzZXNzbWVudCAocHJvY2VkdXJlKSIgaWQ9IjIyNTMzNzAwOSIgZGlzcGxheT0iU3VpY2lkZSByaXNrIGFzc2Vzc21lbnQgKHByb2NlZHVyZSkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEQ1QiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik1ham9yIERlcHJlc3NpdmUgRGlzb3JkZXIgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWYWxpZEVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iUHN5Y2ggVmlzaXQgLSBEaWFnbm9zdGljIEV2YWx1YXRpb24iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ik9mZmljZSBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPdXRwYXRpZW50IENvbnN1bHRhdGlvbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iUHN5Y2ggVmlzaXQgLSBQc3ljaG90aGVyYXB5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlBzeWNob2FuYWx5c2lzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlRlbGVoZWFsdGggU2VydmljZXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IlZhbGlkRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iJHRoaXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRW5jb3VudGVyRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsaWRFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik5vdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IiR0aGlzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4gZGlzdGluY3Q9ImZhbHNlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iWCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iTWFqb3IgRGVwcmVzc2l2ZSBEaXNvcmRlci1BY3RpdmUiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTmV3IG9yIFJlY3VycmVudCBNYWpvciBEZXByZXNzaXZlIERpc29yZGVyIEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTWFqb3IgRGVwcmVzc2l2ZSBEaXNvcmRlciBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9IlByaW9yTURERXBpc29kZUVuY291bnRlciIgeHNpOnR5cGU9IldpdGhvdXQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTWFqb3IgRGVwcmVzc2l2ZSBEaXNvcmRlciBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTm90Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlByaW9yTURERXBpc29kZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOZXdPclJlY3VycmVudE1EREVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iUHJpb3JNRERFcGlzb2RlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEwNCIgdW5pdD0iZGF5cyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOZXdPclJlY3VycmVudE1EREVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkluY2x1ZGVkSW4iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTmV3IG9yIFJlY3VycmVudCBNYWpvciBEZXByZXNzaXZlIERpc29yZGVyIEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxNyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik51bWVyYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTmV3IG9yIFJlY3VycmVudCBNYWpvciBEZXByZXNzaXZlIERpc29yZGVyIEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iU3VpY2lkZVJpc2tBc3Nlc3NtZW50IiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlN1aWNpZGUgcmlzayBhc3Nlc3NtZW50IChwcm9jZWR1cmUpIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmNsdWRlZEluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJTdWljaWRlUmlza0Fzc2Vzc21lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJTdWljaWRlUmlza0Fzc2Vzc21lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE0xNjFfRkhJUjMgdmVyc2lvbiAnOC4wLjAnCi8qQ01TNjEgQWR1bHQgTUREKi8KLy9BbGwgbWVhc3VyZXMgbmVlZCBhIGxpYnJhcnkvLwovL0VhY2ggbWVhc3VyZSBuZWVkcyB0byBoYXZlIGEgbGlicmFyeSBzcGVjaWZpZWQvLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKLy9pbmNsdWRlIGxpYnJhcnkgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIgdmVyc2lvbiAnNC4wLjAwMCcgY2FsbGVkIEdsb2JhbC8vCi8vaW5jbHVkZXMgZG8gbm90IHVzZSB0aGUgdGVybSAnbGlicmFyeScvLwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSBTTk9NRURDVDogJ2h0dHBzOi8vc25vbWVkLmluZm8vc2N0JwoKdmFsdWVzZXQgIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDEwJwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIk1ham9yIERlcHJlc3NpdmUgRGlzb3JkZXItQWN0aXZlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjE0OTEnCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIk91dHBhdGllbnQgQ29uc3VsdGF0aW9uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDA4Jwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlBzeWNoIFZpc2l0IC0gRGlhZ25vc3RpYyBFdmFsdWF0aW9uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjE0OTInCnZhbHVlc2V0ICJQc3ljaCBWaXNpdCAtIFBzeWNob3RoZXJhcHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTQ5NicKdmFsdWVzZXQgIlBzeWNob2FuYWx5c2lzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjExNDEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIlRlbGVoZWFsdGggU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMzEnCgpjb2RlICJTdWljaWRlIHJpc2sgYXNzZXNzbWVudCAocHJvY2VkdXJlKSI6ICcyMjUzMzcwMDknIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdTdWljaWRlIHJpc2sgYXNzZXNzbWVudCAocHJvY2VkdXJlKScKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKIkluaXRpYWwgUG9wdWxhdGlvbiIKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKIk5ldyBvciBSZWN1cnJlbnQgTWFqb3IgRGVwcmVzc2l2ZSBEaXNvcmRlciBFbmNvdW50ZXIiIE5ld09yUmVjdXJyZW50TURERW5jb3VudGVyCgl3aGVyZSBHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIik+PSAxNwoKZGVmaW5lICJNYWpvciBEZXByZXNzaXZlIERpc29yZGVyIEVuY291bnRlciI6CiggWyJFbmNvdW50ZXIiOiAiUHN5Y2ggVmlzaXQgLSBEaWFnbm9zdGljIEV2YWx1YXRpb24iXQoJdW5pb24gWyJFbmNvdW50ZXIiOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXQoJdW5pb24gWyJFbmNvdW50ZXIiOiAiT2ZmaWNlIFZpc2l0Il0KCXVuaW9uIFsiRW5jb3VudGVyIjogIk91dHBhdGllbnQgQ29uc3VsdGF0aW9uIl0KCXVuaW9uIFsiRW5jb3VudGVyIjogIlBzeWNoIFZpc2l0IC0gUHN5Y2hvdGhlcmFweSJdCgl1bmlvbiBbIkVuY291bnRlciI6ICJQc3ljaG9hbmFseXNpcyJdCgl1bmlvbiBbIkVuY291bnRlciI6ICJUZWxlaGVhbHRoIFNlcnZpY2VzIl0gKSBWYWxpZEVuY291bnRlcgoJd2hlcmUgVmFsaWRFbmNvdW50ZXIuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgYW5kIEdsb2JhbC5FbmNvdW50ZXJEaWFnbm9zaXMoVmFsaWRFbmNvdW50ZXIpLmNvZGUgaW4gIk1ham9yIERlcHJlc3NpdmUgRGlzb3JkZXItQWN0aXZlIgoKZGVmaW5lICJOZXcgb3IgUmVjdXJyZW50IE1ham9yIERlcHJlc3NpdmUgRGlzb3JkZXIgRW5jb3VudGVyIjoKIk1ham9yIERlcHJlc3NpdmUgRGlzb3JkZXIgRW5jb3VudGVyIiBOZXdPclJlY3VycmVudE1EREVuY291bnRlcgoJd2l0aG91dCAiTWFqb3IgRGVwcmVzc2l2ZSBEaXNvcmRlciBFbmNvdW50ZXIiIFByaW9yTURERXBpc29kZUVuY291bnRlcgoJCXN1Y2ggdGhhdCBQcmlvck1EREVwaXNvZGVFbmNvdW50ZXIgIX4gTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXIKCQkJYW5kIFByaW9yTURERXBpc29kZUVuY291bnRlci5wZXJpb2QgZW5kcyAxMDQgZGF5cyBvciBsZXNzIGJlZm9yZSBkYXkgb2Ygc3RhcnQgb2YgTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXIucGVyaW9kCgl3aGVyZSBOZXdPclJlY3VycmVudE1EREVuY291bnRlci5wZXJpb2QgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIk51bWVyYXRvciI6CiAgIk5ldyBvciBSZWN1cnJlbnQgTWFqb3IgRGVwcmVzc2l2ZSBEaXNvcmRlciBFbmNvdW50ZXIiIE5ld09yUmVjdXJyZW50TURERW5jb3VudGVyCiAgCXdpdGggWyJQcm9jZWR1cmUiOiAiU3VpY2lkZSByaXNrIGFzc2Vzc21lbnQgKHByb2NlZHVyZSkiXSBTdWljaWRlUmlza0Fzc2Vzc21lbnQKCSAgCXN1Y2ggdGhhdCBTdWljaWRlUmlza0Fzc2Vzc21lbnQucGVyZm9ybWVkIGR1cmluZyBOZXdPclJlY3VycmVudE1EREVuY291bnRlci5wZXJpb2QKICAgICAgICBhbmQgU3VpY2lkZVJpc2tBc3Nlc3NtZW50LnN0YXR1cyA9ICdjb21wbGV0ZWQnCg==" - } - ] + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1496" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1141" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1031" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code" + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE0xNjFfRkhJUjMgdmVyc2lvbiAnOC4wLjAnCi8qQ01TNjEgQWR1bHQgTUREKi8KLy9BbGwgbWVhc3VyZXMgbmVlZCBhIGxpYnJhcnkvLwovL0VhY2ggbWVhc3VyZSBuZWVkcyB0byBoYXZlIGEgbGlicmFyeSBzcGVjaWZpZWQvLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKLy9pbmNsdWRlIGxpYnJhcnkgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIgdmVyc2lvbiAnNC4wLjAwMCcgY2FsbGVkIEdsb2JhbC8vCi8vaW5jbHVkZXMgZG8gbm90IHVzZSB0aGUgdGVybSAnbGlicmFyeScvLwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSBTTk9NRURDVDogJ2h0dHBzOi8vc25vbWVkLmluZm8vc2N0JwoKdmFsdWVzZXQgIkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDEwJwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIk1ham9yIERlcHJlc3NpdmUgRGlzb3JkZXItQWN0aXZlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjE0OTEnCnZhbHVlc2V0ICJPZmZpY2UgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEnCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIk91dHBhdGllbnQgQ29uc3VsdGF0aW9uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDA4Jwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlBzeWNoIFZpc2l0IC0gRGlhZ25vc3RpYyBFdmFsdWF0aW9uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjE0OTInCnZhbHVlc2V0ICJQc3ljaCBWaXNpdCAtIFBzeWNob3RoZXJhcHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTQ5NicKdmFsdWVzZXQgIlBzeWNob2FuYWx5c2lzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjExNDEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIlRlbGVoZWFsdGggU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMzEnCgpjb2RlICJTdWljaWRlIHJpc2sgYXNzZXNzbWVudCAocHJvY2VkdXJlKSI6ICcyMjUzMzcwMDknIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdTdWljaWRlIHJpc2sgYXNzZXNzbWVudCAocHJvY2VkdXJlKScKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKIkluaXRpYWwgUG9wdWxhdGlvbiIKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKIk5ldyBvciBSZWN1cnJlbnQgTWFqb3IgRGVwcmVzc2l2ZSBEaXNvcmRlciBFbmNvdW50ZXIiIE5ld09yUmVjdXJyZW50TURERW5jb3VudGVyCgl3aGVyZSBHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIik+PSAxNwoKZGVmaW5lICJNYWpvciBEZXByZXNzaXZlIERpc29yZGVyIEVuY291bnRlciI6CiggWyJFbmNvdW50ZXIiOiAiUHN5Y2ggVmlzaXQgLSBEaWFnbm9zdGljIEV2YWx1YXRpb24iXQoJdW5pb24gWyJFbmNvdW50ZXIiOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXQoJdW5pb24gWyJFbmNvdW50ZXIiOiAiT2ZmaWNlIFZpc2l0Il0KCXVuaW9uIFsiRW5jb3VudGVyIjogIk91dHBhdGllbnQgQ29uc3VsdGF0aW9uIl0KCXVuaW9uIFsiRW5jb3VudGVyIjogIlBzeWNoIFZpc2l0IC0gUHN5Y2hvdGhlcmFweSJdCgl1bmlvbiBbIkVuY291bnRlciI6ICJQc3ljaG9hbmFseXNpcyJdCgl1bmlvbiBbIkVuY291bnRlciI6ICJUZWxlaGVhbHRoIFNlcnZpY2VzIl0gKSBWYWxpZEVuY291bnRlcgoJd2hlcmUgVmFsaWRFbmNvdW50ZXIuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgYW5kIEdsb2JhbC5FbmNvdW50ZXJEaWFnbm9zaXMoVmFsaWRFbmNvdW50ZXIpLmNvZGUgaW4gIk1ham9yIERlcHJlc3NpdmUgRGlzb3JkZXItQWN0aXZlIgoKZGVmaW5lICJOZXcgb3IgUmVjdXJyZW50IE1ham9yIERlcHJlc3NpdmUgRGlzb3JkZXIgRW5jb3VudGVyIjoKIk1ham9yIERlcHJlc3NpdmUgRGlzb3JkZXIgRW5jb3VudGVyIiBOZXdPclJlY3VycmVudE1EREVuY291bnRlcgoJd2l0aG91dCAiTWFqb3IgRGVwcmVzc2l2ZSBEaXNvcmRlciBFbmNvdW50ZXIiIFByaW9yTURERXBpc29kZUVuY291bnRlcgoJCXN1Y2ggdGhhdCBQcmlvck1EREVwaXNvZGVFbmNvdW50ZXIgIX4gTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXIKCQkJYW5kIFByaW9yTURERXBpc29kZUVuY291bnRlci5wZXJpb2QgZW5kcyAxMDQgZGF5cyBvciBsZXNzIGJlZm9yZSBkYXkgb2Ygc3RhcnQgb2YgTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXIucGVyaW9kCgl3aGVyZSBOZXdPclJlY3VycmVudE1EREVuY291bnRlci5wZXJpb2QgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIk51bWVyYXRvciI6CiAgIk5ldyBvciBSZWN1cnJlbnQgTWFqb3IgRGVwcmVzc2l2ZSBEaXNvcmRlciBFbmNvdW50ZXIiIE5ld09yUmVjdXJyZW50TURERW5jb3VudGVyCiAgCXdpdGggWyJQcm9jZWR1cmUiOiAiU3VpY2lkZSByaXNrIGFzc2Vzc21lbnQgKHByb2NlZHVyZSkiXSBTdWljaWRlUmlza0Fzc2Vzc21lbnQKCSAgCXN1Y2ggdGhhdCBTdWljaWRlUmlza0Fzc2Vzc21lbnQucGVyZm9ybWVkIGR1cmluZyBOZXdPclJlY3VycmVudE1EREVuY291bnRlci5wZXJpb2QKICAgICAgICBhbmQgU3VpY2lkZVJpc2tBc3Nlc3NtZW50LnN0YXR1cyA9ICdjb21wbGV0ZWQnCg==" + }, { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjMiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbGlicmFyeUlkPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIGxpYnJhcnlWZXJzaW9uPSI0LjAuMDAwIiBzdGFydExpbmU9IjIyMyIgc3RhcnRDaGFyPSIxOSIgZW5kTGluZT0iMjIzIiBlbmRDaGFyPSI1MyIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gbGlicmFyeUlkPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIGxpYnJhcnlWZXJzaW9uPSI0LjAuMDAwIiBzdGFydExpbmU9IjIyOSIgc3RhcnRDaGFyPSIyMSIgZW5kTGluZT0iMjI5IiBlbmRDaGFyPSI5MCIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTE2MV9GSElSMyIgdmVyc2lvbj0iOC4wLjAiLz4KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4KICAgPHVzaW5ncz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4KICAgICAgPGRlZiBsb2NhbElkPSIxIiBsb2NhdG9yPSI2OjEtNjoyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMSI+CiAgICAgICAgICAgICAgIDxhOnM+dXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMiIgbG9jYXRvcj0iOToxLTk6NzAiIGxvY2FsSWRlbnRpZmllcj0iR2xvYmFsIiBwYXRoPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIHZlcnNpb249IjQuMC4wMDAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPk1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjAwMCcgY2FsbGVkIEdsb2JhbDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzIiBsb2NhdG9yPSIxMDoxLTEwOjU0IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8cGFyYW1ldGVycz4KICAgICAgPGRlZiBsb2NhbElkPSIyNCIgbG9jYXRvcj0iMjk6MS0yOToxMTQiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI0Ij4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgJnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGVmYXVsdCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkiPkludGVydmFsW0AyMDE5LTAxLTAxVDAwOjAwOjAwLjAsIEAyMDIwLTAxLTAxVDAwOjAwOjAwLjApPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZGVmYXVsdCBsb2NhbElkPSIyMSIgbG9jYXRvcj0iMjk6NTktMjk6MTE0IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjE5IiBsb2NhdG9yPSIyOTo2OC0yOTo4OSIgeHNpOnR5cGU9IkRhdGVUaW1lIj4KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDE5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIyMCIgbG9jYXRvcj0iMjk6OTItMjk6MTEzIiB4c2k6dHlwZT0iRGF0ZVRpbWUiPgogICAgICAgICAgICAgICA8eWVhciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIwMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICA8L2RlZmF1bHQ+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIzIiBsb2NhdG9yPSIyOTozMi0yOTo0OSIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGUgbG9jYWxJZD0iMjIiIGxvY2F0b3I9IjI5OjQxLTI5OjQ4IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvZGVTeXN0ZW1zPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQiIGxvY2F0b3I9IjEyOjEtMTI6NDYiIG5hbWU9IlNOT01FRENUIiBpZD0iaHR0cHM6Ly9zbm9tZWQuaW5mby9zY3QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtIFNOT01FRENUOiAnaHR0cHM6Ly9zbm9tZWQuaW5mby9zY3QnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2NvZGVTeXN0ZW1zPgogICA8dmFsdWVTZXRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUiIGxvY2F0b3I9IjE0OjEtMTQ6MTE4IiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDEwIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNSI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7RW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxMCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNiIgbG9jYXRvcj0iMTU6MS0xNTo4NyIgbmFtZT0iRXRobmljaXR5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM3IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNiI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7RXRobmljaXR5JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3IiBsb2NhdG9yPSIxNjoxLTE2OjExNCIgbmFtZT0iTWFqb3IgRGVwcmVzc2l2ZSBEaXNvcmRlci1BY3RpdmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4xNDkxIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNyI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7TWFqb3IgRGVwcmVzc2l2ZSBEaXNvcmRlci1BY3RpdmUmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4xNDkxJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4IiBsb2NhdG9yPSIxNzoxLTE3OjEwNCIgbmFtZT0iT2ZmaWNlIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtPZmZpY2UgVmlzaXQmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOSIgbG9jYXRvcj0iMTg6MS0xODo5NyIgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O09OQyBBZG1pbmlzdHJhdGl2ZSBTZXgmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwIiBsb2NhdG9yPSIxOToxLTE5OjExNSIgbmFtZT0iT3V0cGF0aWVudCBDb25zdWx0YXRpb24iIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtPdXRwYXRpZW50IENvbnN1bHRhdGlvbiZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDA4JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMSIgbG9jYXRvcj0iMjA6MS0yMDo4NCIgbmFtZT0iUGF5ZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTEiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1BheWVyJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTIiIGxvY2F0b3I9IjIxOjEtMjE6MTE3IiBuYW1lPSJQc3ljaCBWaXNpdCAtIERpYWdub3N0aWMgRXZhbHVhdGlvbiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjE0OTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMiI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7UHN5Y2ggVmlzaXQgLSBEaWFnbm9zdGljIEV2YWx1YXRpb24mcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4xNDkyJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMyIgbG9jYXRvcj0iMjI6MS0yMjoxMDkiIG5hbWU9IlBzeWNoIFZpc2l0IC0gUHN5Y2hvdGhlcmFweSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjE0OTYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMyI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7UHN5Y2ggVmlzaXQgLSBQc3ljaG90aGVyYXB5JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTQ5Nic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQiIGxvY2F0b3I9IjIzOjEtMjM6OTYiIG5hbWU9IlBzeWNob2FuYWx5c2lzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMTE0MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE0Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtQc3ljaG9hbmFseXNpcyZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjExNDEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE1IiBsb2NhdG9yPSIyNDoxLTI0OjgyIiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTUiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1JhY2UmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzYnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE2IiBsb2NhdG9yPSIyNToxLTI1OjExMSIgbmFtZT0iVGVsZWhlYWx0aCBTZXJ2aWNlcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDMxIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTYiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1RlbGVoZWFsdGggU2VydmljZXMmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAzMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdmFsdWVTZXRzPgogICA8Y29kZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTgiIGxvY2F0b3I9IjI3OjEtMjc6MTE3IiBuYW1lPSJTdWljaWRlIHJpc2sgYXNzZXNzbWVudCAocHJvY2VkdXJlKSIgaWQ9IjIyNTMzNzAwOSIgZGlzcGxheT0iU3VpY2lkZSByaXNrIGFzc2Vzc21lbnQgKHByb2NlZHVyZSkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxOCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtTdWljaWRlIHJpc2sgYXNzZXNzbWVudCAocHJvY2VkdXJlKSZxdW90OzogJzIyNTMzNzAwOScgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U05PTUVEQ1QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ1N1aWNpZGUgcmlzayBhc3Nlc3NtZW50IChwcm9jZWR1cmUpJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIxNyIgbG9jYXRvcj0iMjc6NjItMjc6NzEiIG5hbWU9IlNOT01FRENUIi8+CiAgICAgIDwvZGVmPgogICA8L2NvZGVzPgogICA8Y29udGV4dHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzE6MS0zMToxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhdG9yPSIzMToxLTMxOjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMToxLTMxOjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MSIgbG9jYXRvcj0iNDA6MS00OTo5MiIgbmFtZT0iTWFqb3IgRGVwcmVzc2l2ZSBEaXNvcmRlciBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1MSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O01ham9yIERlcHJlc3NpdmUgRGlzb3JkZXIgRW5jb3VudGVyJnF1b3Q7Ogo8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7RW5jb3VudGVyJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQc3ljaCBWaXNpdCAtIERpYWdub3N0aWMgRXZhbHVhdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJdW5pb24gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtFbmNvdW50ZXImcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0VtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJdW5pb24gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtFbmNvdW50ZXImcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O09mZmljZSBWaXNpdCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCXVuaW9uIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7RW5jb3VudGVyJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtPdXRwYXRpZW50IENvbnN1bHRhdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCXVuaW9uIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7RW5jb3VudGVyJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQc3ljaCBWaXNpdCAtIFBzeWNob3RoZXJhcHkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Cgl1bmlvbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O0VuY291bnRlciZxdW90OzogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UHN5Y2hvYW5hbHlzaXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Cgl1bmlvbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O0VuY291bnRlciZxdW90OzogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7VGVsZWhlYWx0aCBTZXJ2aWNlcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gVmFsaWRFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5WYWxpZEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXR1czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidmaW5pc2hlZCc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HbG9iYWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXJEaWFnbm9zaXMoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlZhbGlkRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNYWpvciBEZXByZXNzaXZlIERpc29yZGVyLUFjdGl2ZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUwIiBsb2NhdG9yPSI0MToxLTQ5OjkyIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM4IiBsb2NhdG9yPSI0MToxLTQ3OjYwIiBhbGlhcz0iVmFsaWRFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNyIgbG9jYXRvcj0iNDE6MS00Nzo0NSIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzUiIGxvY2F0b3I9IjQxOjMtNDY6MzgiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxIiBsb2NhdG9yPSI0MTozLTQ0OjQ3IiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNyIgbG9jYXRvcj0iNDE6My00Mjo1MCIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjUiIGxvY2F0b3I9IjQxOjMtNDE6NTQiIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSI0MToxNy00MTo1MyIgbmFtZT0iUHN5Y2ggVmlzaXQgLSBEaWFnbm9zdGljIEV2YWx1YXRpb24iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2IiBsb2NhdG9yPSI0Mjo4LTQyOjUwIiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iNDI6MjItNDI6NDkiIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4IiBsb2NhdG9yPSI0Mzo4LTQzOjM2IiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iNDM6MjItNDM6MzUiIG5hbWU9Ik9mZmljZSBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAiIGxvY2F0b3I9IjQ0OjgtNDQ6NDciIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSI0NDoyMi00NDo0NiIgbmFtZT0iT3V0cGF0aWVudCBDb25zdWx0YXRpb24iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMiIgbG9jYXRvcj0iNDU6OC00NTo1MSIgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjQ1OjIyLTQ1OjUwIiBuYW1lPSJQc3ljaCBWaXNpdCAtIFBzeWNob3RoZXJhcHkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0IiBsb2NhdG9yPSI0Njo4LTQ2OjM4IiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iNDY6MjItNDY6MzciIG5hbWU9IlBzeWNob2FuYWx5c2lzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzYiIGxvY2F0b3I9IjQ3OjgtNDc6NDMiIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSI0NzoyMi00Nzo0MiIgbmFtZT0iVGVsZWhlYWx0aCBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjQ5IiBsb2NhdG9yPSI0ODoyLTQ5OjkyIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDIiIGxvY2F0b3I9IjQ4OjgtNDg6NDEiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQwIiBsb2NhdG9yPSI0ODo4LTQ4OjI4IiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJWYWxpZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDEiIGxvY2F0b3I9IjQ4OjMyLTQ4OjQxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDgiIGxvY2F0b3I9IjQ5OjktNDk6OTIiIHhzaTp0eXBlPSJBbnlJblZhbHVlU2V0Ij4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NiIgbG9jYXRvcj0iNDk6OS00OTo1NCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iJHRoaXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NSIgbG9jYXRvcj0iNDk6OS00OTo0OSIgbmFtZT0iRW5jb3VudGVyRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NCIgbG9jYXRvcj0iNDk6MzUtNDk6NDgiIG5hbWU9IlZhbGlkRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGRpc3RpbmN0PSJmYWxzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjQ3IiBsb2NhdG9yPSI0OTo1OS00OTo5MiIgbmFtZT0iTWFqb3IgRGVwcmVzc2l2ZSBEaXNvcmRlci1BY3RpdmUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzMiIGxvY2F0b3I9IjUxOjEtNTY6NjgiIG5hbWU9Ik5ldyBvciBSZWN1cnJlbnQgTWFqb3IgRGVwcmVzc2l2ZSBEaXNvcmRlciBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O05ldyBvciBSZWN1cnJlbnQgTWFqb3IgRGVwcmVzc2l2ZSBEaXNvcmRlciBFbmNvdW50ZXImcXVvdDs6CjwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcyIj4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01ham9yIERlcHJlc3NpdmUgRGlzb3JkZXIgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndpdGhvdXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNYWpvciBEZXByZXNzaXZlIERpc29yZGVyIEVuY291bnRlciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IFByaW9yTURERXBpc29kZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQlzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UHJpb3JNRERFcGlzb2RlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiAhfiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQlhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UHJpb3JNRERFcGlzb2RlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVuZHMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjEwNCBkYXlzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBvciBsZXNzIGJlZm9yZSBkYXkgb2Y8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk5ld09yUmVjdXJyZW50TURERW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+Cgk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcxIj4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjcyIiBsb2NhdG9yPSI1MjoxLTU2OjY4IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjUzIiBsb2NhdG9yPSI1MjoxLTUyOjY0IiBhbGlhcz0iTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MiIgbG9jYXRvcj0iNTI6MS01MjozNyIgbmFtZT0iTWFqb3IgRGVwcmVzc2l2ZSBEaXNvcmRlciBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjY3IiBsb2NhdG9yPSI1MzoyLTU1OjExNyIgYWxpYXM9IlByaW9yTURERXBpc29kZUVuY291bnRlciIgeHNpOnR5cGU9IldpdGhvdXQiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NCIgbG9jYXRvcj0iNTM6MTAtNTM6NDYiIG5hbWU9Ik1ham9yIERlcHJlc3NpdmUgRGlzb3JkZXIgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8c3VjaFRoYXQgbG9jYWxJZD0iNjYiIGxvY2F0b3I9IjU0OjEzLTU1OjExNyIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU4IiBsb2NhdG9yPSI1NDoxMy01NDo2NiIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjU0OjEzLTU0OjY2IiB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU2IiBsb2NhdG9yPSI1NDoxMy01NDozNiIgbmFtZT0iUHJpb3JNRERFcGlzb2RlRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTciIGxvY2F0b3I9IjU0OjQxLTU0OjY2IiBuYW1lPSJOZXdPclJlY3VycmVudE1EREVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2NSIgbG9jYXRvcj0iNTU6OC01NToxMTciIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI1NTo0NS01NTo2MCIgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjU1OjQwLTU1OjQzIiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MCIgbG9jYXRvcj0iNTU6OC01NTozOCIgcGF0aD0icGVyaW9kIiBzY29wZT0iUHJpb3JNRERFcGlzb2RlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjU1OjQ1LTU1OjYwIiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2F0b3I9IjU1Ojc2LTU1OjExNyIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjMiIGxvY2F0b3I9IjU1Ojc2LTU1OjExNyIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MiIgbG9jYXRvcj0iNTU6ODUtNTU6MTE3IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOZXdPclJlY3VycmVudE1EREVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2NCIgbG9jYXRvcj0iNTU6NDUtNTU6NTIiIHZhbHVlPSIxMDQiIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iNjMiIGxvY2F0b3I9IjU1Ojc2LTU1OjExNyIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MiIgbG9jYXRvcj0iNTU6ODUtNTU6MTE3IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOZXdPclJlY3VycmVudE1EREVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNTU6NDUtNTU6NjAiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI1NTo0NS01NTo2MCIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYzIiBsb2NhdG9yPSI1NTo3Ni01NToxMTciIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjIiIGxvY2F0b3I9IjU1Ojg1LTU1OjExNyIgcGF0aD0icGVyaW9kIiBzY29wZT0iTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI3MSIgbG9jYXRvcj0iNTY6Mi01Njo2OCIgeHNpOnR5cGU9IkluY2x1ZGVkSW4iPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY5IiBsb2NhdG9yPSI1Njo4LTU2OjQwIiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOZXdPclJlY3VycmVudE1EREVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzAiIGxvY2F0b3I9IjU2OjQ5LTU2OjY4IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4NyIgbG9jYXRvcj0iMzY6MS0zODoxMTEiIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7SW5pdGlhbCBQb3B1bGF0aW9uJnF1b3Q7Ogo8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOZXcgb3IgUmVjdXJyZW50IE1ham9yIERlcHJlc3NpdmUgRGlzb3JkZXIgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkdsb2JhbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0NhbGVuZGFyQWdlSW5ZZWFyc0F0JnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YmlydGhEYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NCI+Pj0gMTc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODYiIGxvY2F0b3I9IjM3OjEtMzg6MTExIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijc1IiBsb2NhdG9yPSIzNzoxLTM3OjgxIiBhbGlhcz0iTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3NCIgbG9jYXRvcj0iMzc6MS0zNzo1NCIgbmFtZT0iTmV3IG9yIFJlY3VycmVudCBNYWpvciBEZXByZXNzaXZlIERpc29yZGVyIEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI4NSIgbG9jYXRvcj0iMzg6Mi0zODoxMTEiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjgzIiBsb2NhdG9yPSIzODo4LTM4OjEwNiIgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODAiIGxvY2F0b3I9IjM4OjM4LTM4Ojc0IiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzkiIGxvY2F0b3I9IjM4OjU3LTM4OjczIiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzgiIGxvY2F0b3I9IjM4OjU3LTM4OjYzIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MiIgbG9jYXRvcj0iMzg6NzctMzg6MTA1IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MSIgbG9jYXRvcj0iMzg6ODYtMzg6MTA1IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijg0IiBsb2NhdG9yPSIzODoxMTAtMzg6MTExIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE3IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijg5IiBsb2NhdG9yPSIzMzoxLTM0OjIwIiBuYW1lPSJEZW5vbWluYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RGVub21pbmF0b3ImcXVvdDs6CjwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJbml0aWFsIFBvcHVsYXRpb24mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg4IiBsb2NhdG9yPSIzNDoxLTM0OjIwIiBuYW1lPSJJbml0aWFsIFBvcHVsYXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwNiIgbG9jYXRvcj0iNTg6MS02Mjo1NCIgbmFtZT0iTnVtZXJhdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTA2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7TnVtZXJhdG9yJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOZXcgb3IgUmVjdXJyZW50IE1ham9yIERlcHJlc3NpdmUgRGlzb3JkZXIgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogIAk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndpdGggPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O1Byb2NlZHVyZSZxdW90OzogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U3VpY2lkZSByaXNrIGFzc2Vzc21lbnQgKHByb2NlZHVyZSkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IFN1aWNpZGVSaXNrQXNzZXNzbWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCSAgCXN1Y2ggdGhhdCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlN1aWNpZGVSaXNrQXNzZXNzbWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmZvcm1lZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTgiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5OZXdPclJlY3VycmVudE1EREVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlN1aWNpZGVSaXNrQXNzZXNzbWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2NvbXBsZXRlZCc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDUiIGxvY2F0b3I9IjU5OjMtNjI6NTQiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTEiIGxvY2F0b3I9IjU5OjMtNTk6ODMiIGFsaWFzPSJOZXdPclJlY3VycmVudE1EREVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjkwIiBsb2NhdG9yPSI1OTozLTU5OjU2IiBuYW1lPSJOZXcgb3IgUmVjdXJyZW50IE1ham9yIERlcHJlc3NpdmUgRGlzb3JkZXIgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSIxMDQiIGxvY2F0b3I9IjYwOjQtNjI6NTQiIGFsaWFzPSJTdWljaWRlUmlza0Fzc2Vzc21lbnQiIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTIiIGxvY2F0b3I9IjYwOjktNjA6NjAiIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0ifiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2MDoyMy02MDo1OSIgbmFtZT0iU3VpY2lkZSByaXNrIGFzc2Vzc21lbnQgKHByb2NlZHVyZSkiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjEwMyIgbG9jYXRvcj0iNjE6MTUtNjI6NTQiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5OCIgbG9jYXRvcj0iNjE6MTUtNjE6ODYiIHhzaTp0eXBlPSJJbmNsdWRlZEluIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5NSIgbG9jYXRvcj0iNjE6MTUtNjE6NDUiIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IlN1aWNpZGVSaXNrQXNzZXNzbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk3IiBsb2NhdG9yPSI2MTo1NC02MTo4NiIgcGF0aD0icGVyaW9kIiBzY29wZT0iTmV3T3JSZWN1cnJlbnRNRERFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTAyIiBsb2NhdG9yPSI2MjoxMy02Mjo1NCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTAwIiBsb2NhdG9yPSI2MjoxMy02Mjo0MCIgcGF0aD0ic3RhdHVzIiBzY29wZT0iU3VpY2lkZVJpc2tBc3Nlc3NtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDEiIGxvY2F0b3I9IjYyOjQ0LTYyOjU0IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICA8L3N0YXRlbWVudHM+CjwvbGlicmFyeT4K" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-EXM165_FHIR3-8.5.000.json b/fhir3/input/resources/library/library-EXM165_FHIR3-8.5.000.json index 143dbf1d..33a4b9c0 100644 --- a/fhir3/input/resources/library/library-EXM165_FHIR3-8.5.000.json +++ b/fhir3/input/resources/library/library-EXM165_FHIR3-8.5.000.json @@ -3,164 +3,116 @@ "id": "library-EXM165-FHIR3-8.5.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM165-FHIR3-8.5.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">8.5.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-AdultOutpatientEncounters-FHIR3-1.1.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-AdvancedIllnessandFrailtyExclusion-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"13\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.104.12.1011</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.378</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.353</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1029</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1002</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1014</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1011</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1012</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1013</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM165_FHIR3 version '8.5.000'\n\n/*\nControlling High Blood Pressure (CBP)\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0'\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Common\ninclude AdultOutpatientEncounters_FHIR3 version '1.1.000' called AdultOutpatientEncounters\ninclude AdvancedIllnessandFrailtyExclusion_FHIR3 version '4.0.000' called FrailtyLTI\n//include NCQACommon_FHIR version '3.10.000' called Common\n//include Participation_FHIR version '1.0.0'\n\ncodesystem "LOINC": 'http://loinc.org'\n\nvalueset "Chronic Kidney Disease, Stage 5": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1002'\nvalueset "Dialysis Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1013'\nvalueset "ED": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1085'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "End Stage Renal Disease": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.353'\nvalueset "ESRD Monthly Outpatient Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1014'\nvalueset "Essential Hypertension": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.104.12.1011'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Kidney Transplant": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1012'\nvalueset "Kidney Transplant Recipient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1029'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Pregnancy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.378'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Vascular Access for Dialysis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1011'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\ncode "Blood pressure": '85354-9' from "LOINC" display 'blood pressure'\ncode "Diastolic blood pressure": '8462-4' from "LOINC" display 'Diastolic blood pressure'\ncode "Systolic blood pressure": '8480-6' from "LOINC" display 'Systolic blood pressure'\n\nparameter "Measurement Period" Interval<DateTime> default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\n//define "SDE Ethnicity":\n//\t["Patient Characteristic Ethnicity": "Ethnicity"]\n\n//define "SDE Payer":\n//\t["Patient Characteristic Payer": "Payer"]\n\n//define "SDE Race":\n//\t["Patient Characteristic Race": "Race"]\n\n//define "SDE Sex":\n//\t["Patient Characteristic Sex": "ONC Administrative Sex"]\n\ndefine "Has Diastolic Blood Pressure Less Than 90":\n\t"Lowest Diastolic Reading on Most Recent Blood Pressure Day".value < 90\n\ndefine "Has Systolic Blood Pressure Less Than 140":\n\t"Lowest Systolic Reading on Most Recent Blood Pressure Day".value < 140\n\ndefine "Lowest Diastolic Reading on Most Recent Blood Pressure Day":\n\tFirst(\n "Qualifying Diastolic Blood Pressure Reading" DBPReading\n\t\t where DBPReading.effective same day as "Most Recent Blood Pressure Day"\n return singleton from (\n DBPReading.component C\n where C.code ~ "Diastolic blood pressure"\n return C.value as Quantity\n )\n\t\t\tsort ascending\n\t)\n\ndefine "Lowest Systolic Reading on Most Recent Blood Pressure Day":\n\tFirst(\n "Qualifying Systolic Blood Pressure Reading" SBPReading\n\t\t where SBPReading.effective same day as "Most Recent Blood Pressure Day"\n return singleton from (\n SBPReading.component C\n where C.code ~ "Systolic blood pressure"\n return C.value as Quantity\n )\n sort ascending\n\t)\n\ndefine "Blood Pressure Days":\n\t( ( "Qualifying Diastolic Blood Pressure Reading" DBPExam\n\t\t\t\treturn date from DBPExam.effective\n\t\t)\n\t\t\t//intersect ( "Qualifying Systolic Blood Pressure Reading" SBPExam\n\t\t\tintersect ( "Qualifying Systolic Blood Pressure Reading" SBPExam\n\t\t\t\t\treturn date from SBPExam.effective\n\t\t\t)\n\t)\n\ndefine "Most Recent Blood Pressure Day":\n\tMax("Blood Pressure Days")\n\n\tdefine "Qualifying Diastolic Blood Pressure Reading Test":\n\t\t["Observation": "Blood pressure"] BloodPressure\n\t\t where BloodPressure.status in {'final', 'amended'}\n\t // and BloodPressure.effective during "Measurement Period"\n\t // TODO: Turn this into a value set\n\t\t //and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS' })\n\t and exists (\n\t BloodPressure.component DiastolicBP\n\t where FHIRHelpers.ToConcept(DiastolicBP.code) ~ "Diastolic blood pressure"\n\t and DiastolicBP.value.unit = 'mm[Hg]'\n\t )\n\ndefine "Qualifying Diastolic Blood Pressure Reading":\n\t["Observation": "Blood pressure"] BloodPressure\n\t where BloodPressure.status in {'final', 'amended'}\n and BloodPressure.effective as dateTime during "Measurement Period"\n // TODO: Turn this into a value set\n\t //and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS' })\n and exists (\n BloodPressure.component DiastolicBP\n where FHIRHelpers.ToConcept(DiastolicBP.code) ~ "Diastolic blood pressure"\n and DiastolicBP.value.unit = 'mm[Hg]'\n )\n//Note: Once we can specify that the FHIR BP Profile must be used, then status, code, and unit will not be required\n\ndefine "Qualifying Systolic Blood Pressure Reading":\n\t["Observation": "Blood pressure"] BloodPressure\n\t where BloodPressure.status in {'final', 'amended'}\n and BloodPressure.effective as dateTime during "Measurement Period"\n // TODO: Turn this into a value set\n\t //and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS'})\n and exists (\n BloodPressure.component SystolicBP\n where FHIRHelpers.ToConcept(SystolicBP.code) ~ "Systolic blood pressure"\n and SystolicBP.value.unit = 'mm[Hg]'\n )\n//Note: Once we can specify that the FHIR BP Profile must be used, then status, code, and unit will not be required\n\ndefine "Numerator":\n\t"Has Diastolic Blood Pressure Less Than 90"\n\t\tand "Has Systolic Blood Pressure Less Than 140"\n\ndefine "Observations":\n\t[Observation]\n\ndefine "Initial Population":\n\tCommon.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period") between 18 and 85\n\t\tand exists "Essential Hypertension Diagnosis"\n\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")\n\ndefine "Pregnancy Or Renal Diagnosis Exclusions":\n\t( ["Condition": "Pregnancy"]\n\t\tunion ["Condition": "End Stage Renal Disease"]\n\t\tunion ["Condition": "Kidney Transplant Recipient"]\n\t\tunion ["Condition": "Chronic Kidney Disease, Stage 5"] ) PregnancyESRDDiagnosis\n where PregnancyESRDDiagnosis.verificationStatus = 'confirmed'\n and PregnancyESRDDiagnosis.assertedDate before end of "Measurement Period"\n\ndefine "Denominator":\n\t"Initial Population"\n\ndefine "End Stage Renal Disease Encounter":\n\t["Encounter": "ESRD Monthly Outpatient Services"] ESRDEncounter\n\t\twhere ESRDEncounter.status.value in { 'planned', 'arrived', 'triaged', 'in-progress', 'onleave', 'finished' }\n\t\t and ESRDEncounter.period starts before end of "Measurement Period"\n\ndefine "End Stage Renal Disease Procedures":\n\t( ["Procedure": "Vascular Access for Dialysis"]\n\t\tunion ["Procedure": "Kidney Transplant"]\n\t\tunion ["Procedure": "Dialysis Services"] ) ESRDProcedure\n\t\twhere ESRDProcedure.status = 'completed'\n and ESRDProcedure.performed starts before end of "Measurement Period"\n\ndefine "Essential Hypertension Diagnosis":\n\t["Condition": "Essential Hypertension"] Hypertension\n where Hypertension.verificationStatus = 'confirmed'\n and (Hypertension.assertedDate 6 months or less on or after start of "Measurement Period"\n or Hypertension.assertedDate before end of "Measurement Period"\n )\n\ndefine "Denominator Exclusion":\n\tfalse;\n\n/*\n// TODO: Translate exclusions\ndefine "Denominator Exclusion":\n\tHospice."Has Hospice"\n\t\tor exists "Pregnancy Or Renal Diagnosis Exclusions"\n\t\tor ( exists "End Stage Renal Disease Procedures"\n\t\t\t\tor exists "End Stage Renal Disease Encounter"\n\t\t)\n\t\tor ( exists ["Patient Characteristic Birthdate": "Birth date"] BirthDate\n\t\t where exists (Common.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period")>= 65)\n\t\t \t\t\t\t\t\t\t\t\tand FrailtyLTI."Has Spent More Than 90 Days in Long Term Care")\n\t\t\t\t\t\t\t\tor FrailtyLTI."Advanced Illness and Frailty Exclusion Including Over Age 80"\n*/\n\n// TODO: Move to Common Functions && fix local execution serialization for functions\n//define function GetEncounter(reference Reference): true\n//"GetId"(uri String): returns the last String of a Split by / List therefor cannot use in\n//singleton from ( [Encounter: id = Common.GetId(reference.reference)] )\n\t//singleton from ([Encounter] Encounter where Encounter.id.value = Common."GetId"(reference.reference))\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM165-FHIR3-8.5.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">8.5.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-AdultOutpatientEncounters-FHIR3-1.1.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-AdvancedIllnessandFrailtyExclusion-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"13\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.104.12.1011</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.378</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.353</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1029</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1002</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1014</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1011</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1012</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1013</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM165_FHIR3 version '8.5.000'\n\n/*\nControlling High Blood Pressure (CBP)\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0'\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Common\ninclude AdultOutpatientEncounters_FHIR3 version '1.1.000' called AdultOutpatientEncounters\ninclude AdvancedIllnessandFrailtyExclusion_FHIR3 version '4.0.000' called FrailtyLTI\n//include NCQACommon_FHIR version '3.10.000' called Common\n//include Participation_FHIR version '1.0.0'\n\ncodesystem "LOINC": 'http://loinc.org'\n\nvalueset "Chronic Kidney Disease, Stage 5": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1002'\nvalueset "Dialysis Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1013'\nvalueset "ED": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1085'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "End Stage Renal Disease": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.353'\nvalueset "ESRD Monthly Outpatient Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1014'\nvalueset "Essential Hypertension": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.104.12.1011'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Kidney Transplant": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1012'\nvalueset "Kidney Transplant Recipient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1029'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Pregnancy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.378'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Vascular Access for Dialysis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1011'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\ncode "Blood pressure": '85354-9' from "LOINC" display 'blood pressure'\ncode "Diastolic blood pressure": '8462-4' from "LOINC" display 'Diastolic blood pressure'\ncode "Systolic blood pressure": '8480-6' from "LOINC" display 'Systolic blood pressure'\n\nparameter "Measurement Period" Interval<DateTime> default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\n//define "SDE Ethnicity":\n//\t["Patient Characteristic Ethnicity": "Ethnicity"]\n\n//define "SDE Payer":\n//\t["Patient Characteristic Payer": "Payer"]\n\n//define "SDE Race":\n//\t["Patient Characteristic Race": "Race"]\n\n//define "SDE Sex":\n//\t["Patient Characteristic Sex": "ONC Administrative Sex"]\n\ndefine "Has Diastolic Blood Pressure Less Than 90":\n\t"Lowest Diastolic Reading on Most Recent Blood Pressure Day".value < 90\n\ndefine "Has Systolic Blood Pressure Less Than 140":\n\t"Lowest Systolic Reading on Most Recent Blood Pressure Day".value < 140\n\ndefine "Lowest Diastolic Reading on Most Recent Blood Pressure Day":\n\tFirst(\n "Qualifying Diastolic Blood Pressure Reading" DBPReading\n\t\t where DBPReading.effective same day as "Most Recent Blood Pressure Day"\n return singleton from (\n DBPReading.component C\n where C.code ~ "Diastolic blood pressure"\n return C.value as Quantity\n )\n\t\t\tsort ascending\n\t)\n\ndefine "Lowest Systolic Reading on Most Recent Blood Pressure Day":\n\tFirst(\n "Qualifying Systolic Blood Pressure Reading" SBPReading\n\t\t where SBPReading.effective same day as "Most Recent Blood Pressure Day"\n return singleton from (\n SBPReading.component C\n where C.code ~ "Systolic blood pressure"\n return C.value as Quantity\n )\n sort ascending\n\t)\n\ndefine "Blood Pressure Days":\n\t( ( "Qualifying Diastolic Blood Pressure Reading" DBPExam\n\t\t\t\treturn date from DBPExam.effective\n\t\t)\n\t\t\t//intersect ( "Qualifying Systolic Blood Pressure Reading" SBPExam\n\t\t\tintersect ( "Qualifying Systolic Blood Pressure Reading" SBPExam\n\t\t\t\t\treturn date from SBPExam.effective\n\t\t\t)\n\t)\n\ndefine "Most Recent Blood Pressure Day":\n\tMax("Blood Pressure Days")\n\n\tdefine "Qualifying Diastolic Blood Pressure Reading Test":\n\t\t["Observation": "Blood pressure"] BloodPressure\n\t\t where BloodPressure.status in {'final', 'amended'}\n\t // and BloodPressure.effective during "Measurement Period"\n\t // TODO: Turn this into a value set\n\t\t //and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS' })\n\t and exists (\n\t BloodPressure.component DiastolicBP\n\t where FHIRHelpers.ToConcept(DiastolicBP.code) ~ "Diastolic blood pressure"\n\t and DiastolicBP.value.unit = 'mm[Hg]'\n\t )\n\ndefine "Qualifying Diastolic Blood Pressure Reading":\n\t["Observation": "Blood pressure"] BloodPressure\n\t where BloodPressure.status in {'final', 'amended'}\n and BloodPressure.effective as dateTime during "Measurement Period"\n // TODO: Turn this into a value set\n\t //and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS' })\n and exists (\n BloodPressure.component DiastolicBP\n where FHIRHelpers.ToConcept(DiastolicBP.code) ~ "Diastolic blood pressure"\n and DiastolicBP.value.unit = 'mm[Hg]'\n )\n//Note: Once we can specify that the FHIR BP Profile must be used, then status, code, and unit will not be required\n\ndefine "Qualifying Systolic Blood Pressure Reading":\n\t["Observation": "Blood pressure"] BloodPressure\n\t where BloodPressure.status in {'final', 'amended'}\n and BloodPressure.effective as dateTime during "Measurement Period"\n // TODO: Turn this into a value set\n\t //and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS'})\n and exists (\n BloodPressure.component SystolicBP\n where FHIRHelpers.ToConcept(SystolicBP.code) ~ "Systolic blood pressure"\n and SystolicBP.value.unit = 'mm[Hg]'\n )\n//Note: Once we can specify that the FHIR BP Profile must be used, then status, code, and unit will not be required\n\ndefine "Numerator":\n\t"Has Diastolic Blood Pressure Less Than 90"\n\t\tand "Has Systolic Blood Pressure Less Than 140"\n\ndefine "Observations":\n\t[Observation]\n\ndefine "Initial Population":\n\tCommon.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period") between 18 and 85\n\t\tand exists "Essential Hypertension Diagnosis"\n\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")\n\ndefine "Pregnancy Or Renal Diagnosis Exclusions":\n\t( ["Condition": "Pregnancy"]\n\t\tunion ["Condition": "End Stage Renal Disease"]\n\t\tunion ["Condition": "Kidney Transplant Recipient"]\n\t\tunion ["Condition": "Chronic Kidney Disease, Stage 5"] ) PregnancyESRDDiagnosis\n where PregnancyESRDDiagnosis.verificationStatus = 'confirmed'\n and PregnancyESRDDiagnosis.assertedDate before end of "Measurement Period"\n\ndefine "Denominator":\n\t"Initial Population"\n\ndefine "End Stage Renal Disease Encounter":\n\t["Encounter": "ESRD Monthly Outpatient Services"] ESRDEncounter\n\t\twhere ESRDEncounter.status.value in { 'planned', 'arrived', 'triaged', 'in-progress', 'onleave', 'finished' }\n\t\t and ESRDEncounter.period starts before end of "Measurement Period"\n\ndefine "End Stage Renal Disease Procedures":\n\t( ["Procedure": "Vascular Access for Dialysis"]\n\t\tunion ["Procedure": "Kidney Transplant"]\n\t\tunion ["Procedure": "Dialysis Services"] ) ESRDProcedure\n\t\twhere ESRDProcedure.status = 'completed'\n and ESRDProcedure.performed starts before end of "Measurement Period"\n\ndefine "Essential Hypertension Diagnosis":\n\t["Condition": "Essential Hypertension"] Hypertension\n where Hypertension.verificationStatus = 'confirmed'\n and (Hypertension.assertedDate 6 months or less on or after start of "Measurement Period"\n or Hypertension.assertedDate before end of "Measurement Period"\n )\n\ndefine "Denominator Exclusion":\n\tfalse;\n\n/*\n// TODO: Translate exclusions\ndefine "Denominator Exclusion":\n\tHospice."Has Hospice"\n\t\tor exists "Pregnancy Or Renal Diagnosis Exclusions"\n\t\tor ( exists "End Stage Renal Disease Procedures"\n\t\t\t\tor exists "End Stage Renal Disease Encounter"\n\t\t)\n\t\tor ( exists ["Patient Characteristic Birthdate": "Birth date"] BirthDate\n\t\t where exists (Common.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period")>= 65)\n\t\t \t\t\t\t\t\t\t\t\tand FrailtyLTI."Has Spent More Than 90 Days in Long Term Care")\n\t\t\t\t\t\t\t\tor FrailtyLTI."Advanced Illness and Frailty Exclusion Including Over Age 80"\n*/\n\n// TODO: Move to Common Functions && fix local execution serialization for functions\n//define function GetEncounter(reference Reference): true\n//"GetId"(uri String): returns the last String of a Split by / List therefor cannot use in\n//singleton from ( [Encounter: id = Common.GetId(reference.reference)] )\n\t//singleton from ([Encounter] Encounter where Encounter.id.value = Common."GetId"(reference.reference))\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "8.5.000", "name": "EXM165_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" + "dataRequirement": [ { + "type": "Observation", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code" + } ] + }, { + "type": "Observation" + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.104.12.1011" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.378" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.353" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-AdvancedIllnessandFrailtyExclusion-FHIR3-4.0.000" + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1029" } - } - ], - "dataRequirement": [ - { - "type": "Observation", - "codeFilter": [ - { - "path": "code" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code" - } - ] - }, - { - "type": "Observation" - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.104.12.1011" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.378" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.353" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1029" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1002" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1014" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1011" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1012" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1013" - } - ] - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIxMTEiIHN0YXJ0Q2hhcj0iMiIgZW5kTGluZT0iMTExIiBlbmRDaGFyPSIzNCIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMTI0IiBzdGFydENoYXI9IjIiIGVuZExpbmU9IjEyNCIgZW5kQ2hhcj0iMzQiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9Ijk5IiBzdGFydENoYXI9IjMiIGVuZExpbmU9Ijk5IiBlbmRDaGFyPSIzNSIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4NCiAgIDxpZGVudGlmaWVyIGlkPSJFWE0xNjVfRkhJUjMiIHZlcnNpb249IjguNS4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iQ29tbW9uIiBwYXRoPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIHZlcnNpb249IjIuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzIiBwYXRoPSJBZHVsdE91dHBhdGllbnRFbmNvdW50ZXJzX0ZISVIzIiB2ZXJzaW9uPSIxLjEuMDAwIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRnJhaWx0eUxUSSIgcGF0aD0iQWR2YW5jZWRJbGxuZXNzYW5kRnJhaWx0eUV4Y2x1c2lvbl9GSElSMyIgdmVyc2lvbj0iNC4wLjAwMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGRlZmF1bHQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAxOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICA8L2RlZmF1bHQ+DQogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPg0KICAgICAgPC9kZWY+DQogICA8L3BhcmFtZXRlcnM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IkxPSU5DIiBpZD0iaHR0cDovL2xvaW5jLm9yZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC9jb2RlU3lzdGVtcz4NCiAgIDx2YWx1ZVNldHM+DQogICAgICA8ZGVmIG5hbWU9IkNocm9uaWMgS2lkbmV5IERpc2Vhc2UsIFN0YWdlIDUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4xMDAyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpYWx5c2lzIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA5LjEyLjEwMTMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRUQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTA4NSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkVuZCBTdGFnZSBSZW5hbCBEaXNlYXNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMzUzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkVTUkQgTW9udGhseSBPdXRwYXRpZW50IFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA5LjEyLjEwMTQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRXNzZW50aWFsIEh5cGVydGVuc2lvbiIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwNC4xMi4xMDExIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJLaWRuZXkgVHJhbnNwbGFudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOS4xMi4xMDEyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IktpZG5leSBUcmFuc3BsYW50IFJlY2lwaWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOS4xMi4xMDI5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUGF5ZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlByZWduYW5jeSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjM3OCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlZhc2N1bGFyIEFjY2VzcyBmb3IgRGlhbHlzaXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDkuMTIuMTAxMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC92YWx1ZVNldHM+DQogICA8Y29kZXM+DQogICAgICA8ZGVmIG5hbWU9IkJpcnRoIGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmxvb2QgcHJlc3N1cmUiIGlkPSI4NTM1NC05IiBkaXNwbGF5PSJibG9vZCBwcmVzc3VyZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZSIgaWQ9Ijg0NjItNCIgZGlzcGxheT0iRGlhc3RvbGljIGJsb29kIHByZXNzdXJlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU3lzdG9saWMgYmxvb2QgcHJlc3N1cmUiIGlkPSI4NDgwLTYiIGRpc3BsYXk9IlN5c3RvbGljIGJsb29kIHByZXNzdXJlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJRdWFsaWZ5aW5nIERpYXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJCbG9vZFByZXNzdXJlIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCbG9vZCBwcmVzc3VyZSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJCbG9vZFByZXNzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5hbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhbWVuZGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJCbG9vZFByZXNzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJEaWFzdG9saWNCUCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb21wb25lbnQiIHNjb3BlPSJCbG9vZFByZXNzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiBzY29wZT0iRGlhc3RvbGljQlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvQ29uY2VwdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJEaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUiIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVuaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZhbHVlIiBzY29wZT0iRGlhc3RvbGljQlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im1tW0hnXSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlF1YWxpZnlpbmcgU3lzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQmxvb2RQcmVzc3VyZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmxvb2QgcHJlc3N1cmUiIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iQmxvb2RQcmVzc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluYWwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYW1lbmRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iQmxvb2RQcmVzc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iU3lzdG9saWNCUCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb21wb25lbnQiIHNjb3BlPSJCbG9vZFByZXNzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiBzY29wZT0iU3lzdG9saWNCUCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlN5c3RvbGljIGJsb29kIHByZXNzdXJlIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1bml0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgc2NvcGU9IlN5c3RvbGljQlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im1tW0hnXSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkJsb29kIFByZXNzdXJlIERheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkludGVyc2VjdCI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iREJQRXhhbSI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nIERpYXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkRhdGVGcm9tIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkRCUEV4YW0iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iU0JQRXhhbSI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nIFN5c3RvbGljIEJsb29kIFByZXNzdXJlIFJlYWRpbmciIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRGF0ZUZyb20iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iU0JQRXhhbSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJNb3N0IFJlY2VudCBCbG9vZCBQcmVzc3VyZSBEYXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9Ik1heCI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9IkJsb29kIFByZXNzdXJlIERheXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTG93ZXN0IERpYXN0b2xpYyBSZWFkaW5nIG9uIE1vc3QgUmVjZW50IEJsb29kIFByZXNzdXJlIERheSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iREJQUmVhZGluZyI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nIERpYXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJTYW1lQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iREJQUmVhZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNb3N0IFJlY2VudCBCbG9vZCBQcmVzc3VyZSBEYXkiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvbXBvbmVudCIgc2NvcGU9IkRCUFJlYWRpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkRpYXN0b2xpYyBibG9vZCBwcmVzc3VyZSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICA8c29ydD4NCiAgICAgICAgICAgICAgICAgIDxieSBkaXJlY3Rpb249ImFzY2VuZGluZyIgeHNpOnR5cGU9IkJ5RGlyZWN0aW9uIi8+DQogICAgICAgICAgICAgICA8L3NvcnQ+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIYXMgRGlhc3RvbGljIEJsb29kIFByZXNzdXJlIExlc3MgVGhhbiA5MCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iTGVzcyI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RlY2ltYWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJMb3dlc3QgRGlhc3RvbGljIFJlYWRpbmcgb24gTW9zdCBSZWNlbnQgQmxvb2QgUHJlc3N1cmUgRGF5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGVjaW1hbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjkwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikxvd2VzdCBTeXN0b2xpYyBSZWFkaW5nIG9uIE1vc3QgUmVjZW50IEJsb29kIFByZXNzdXJlIERheSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iU0JQUmVhZGluZyI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJRdWFsaWZ5aW5nIFN5c3RvbGljIEJsb29kIFByZXNzdXJlIFJlYWRpbmciIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDx3aGVyZSBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IlNhbWVBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJTQlBSZWFkaW5nIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1vc3QgUmVjZW50IEJsb29kIFByZXNzdXJlIERheSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29tcG9uZW50IiBzY29wZT0iU0JQUmVhZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1aXZhbGVudCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGUiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0NvbmNlcHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iU3lzdG9saWMgYmxvb2QgcHJlc3N1cmUiIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlF1YW50aXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2NlbmRpbmciIHhzaTp0eXBlPSJCeURpcmVjdGlvbiIvPg0KICAgICAgICAgICAgICAgPC9zb3J0Pg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSGFzIFN5c3RvbGljIEJsb29kIFByZXNzdXJlIExlc3MgVGhhbiAxNDAiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9Ikxlc3MiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EZWNpbWFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iTG93ZXN0IFN5c3RvbGljIFJlYWRpbmcgb24gTW9zdCBSZWNlbnQgQmxvb2QgUHJlc3N1cmUgRGF5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGVjaW1hbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE0MCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJRdWFsaWZ5aW5nIERpYXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIFRlc3QiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkJsb29kUHJlc3N1cmUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6T2JzZXJ2YXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJsb29kIHByZXNzdXJlIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJCbG9vZFByZXNzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5hbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhbWVuZGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRGlhc3RvbGljQlAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iY29tcG9uZW50IiBzY29wZT0iQmxvb2RQcmVzc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgc2NvcGU9IkRpYXN0b2xpY0JQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0NvbmNlcHQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGlhc3RvbGljIGJsb29kIHByZXNzdXJlIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1bml0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkRpYXN0b2xpY0JQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtbVtIZ10iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOdW1lcmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIYXMgRGlhc3RvbGljIEJsb29kIFByZXNzdXJlIExlc3MgVGhhbiA5MCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkhhcyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBMZXNzIFRoYW4gMTQwIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik9ic2VydmF0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRXNzZW50aWFsIEh5cGVydGVuc2lvbiBEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikh5cGVydGVuc2lvbiI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFc3NlbnRpYWwgSHlwZXJ0ZW5zaW9uIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2ZXJpZmljYXRpb25TdGF0dXMiIHNjb3BlPSJIeXBlcnRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbmZpcm1lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXNzZXJ0ZWREYXRlIiBzY29wZT0iSHlwZXJ0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSI2IiB1bml0PSJtb250aHMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkJlZm9yZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhc3NlcnRlZERhdGUiIHNjb3BlPSJIeXBlcnRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9IkNvbW1vbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTgiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9Ijg1IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFc3NlbnRpYWwgSHlwZXJ0ZW5zaW9uIERpYWdub3NpcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iUXVhbGlmeWluZyBFbmNvdW50ZXJzIiBsaWJyYXJ5TmFtZT0iQWR1bHRPdXRwYXRpZW50RW5jb3VudGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlByZWduYW5jeSBPciBSZW5hbCBEaWFnbm9zaXMgRXhjbHVzaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUHJlZ25hbmN5RVNSRERpYWdub3NpcyI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZWduYW5jeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iS2lkbmV5IFRyYW5zcGxhbnQgUmVjaXBpZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkNocm9uaWMgS2lkbmV5IERpc2Vhc2UsIFN0YWdlIDUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IlByZWduYW5jeUVTUkREaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbmZpcm1lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXNzZXJ0ZWREYXRlIiBzY29wZT0iUHJlZ25hbmN5RVNSRERpYWdub3NpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZW5vbWluYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbml0aWFsIFBvcHVsYXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRW5kIFN0YWdlIFJlbmFsIERpc2Vhc2UgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFU1JERW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVTUkQgTW9udGhseSBPdXRwYXRpZW50IFNlcnZpY2VzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFU1JERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMaXN0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJwbGFubmVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFycml2ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0idHJpYWdlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJpbi1wcm9ncmVzcyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvbmxlYXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkJlZm9yZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRVNSREVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSBQcm9jZWR1cmVzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFU1JEUHJvY2VkdXJlIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iVmFzY3VsYXIgQWNjZXNzIGZvciBEaWFseXNpcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJLaWRuZXkgVHJhbnNwbGFudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJEaWFseXNpcyBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRVNSRFByb2NlZHVyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkJlZm9yZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkVTUkRQcm9jZWR1cmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IgRXhjbHVzaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0iZmFsc2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE0xNjVfRkhJUjMgdmVyc2lvbiAnOC41LjAwMCcKCi8qCkNvbnRyb2xsaW5nIEhpZ2ggQmxvb2QgUHJlc3N1cmUgKENCUCkKKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgQ29tbW9uCmluY2x1ZGUgQWR1bHRPdXRwYXRpZW50RW5jb3VudGVyc19GSElSMyB2ZXJzaW9uICcxLjEuMDAwJyBjYWxsZWQgQWR1bHRPdXRwYXRpZW50RW5jb3VudGVycwppbmNsdWRlIEFkdmFuY2VkSWxsbmVzc2FuZEZyYWlsdHlFeGNsdXNpb25fRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcgY2FsbGVkIEZyYWlsdHlMVEkKLy9pbmNsdWRlIE5DUUFDb21tb25fRkhJUiB2ZXJzaW9uICczLjEwLjAwMCcgY2FsbGVkIENvbW1vbgovL2luY2x1ZGUgUGFydGljaXBhdGlvbl9GSElSIHZlcnNpb24gJzEuMC4wJwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKCnZhbHVlc2V0ICJDaHJvbmljIEtpZG5leSBEaXNlYXNlLCBTdGFnZSA1IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjEwMDInCnZhbHVlc2V0ICJEaWFseXNpcyBTZXJ2aWNlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDkuMTIuMTAxMycKdmFsdWVzZXQgIkVEIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDg1Jwp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4zNTMnCnZhbHVlc2V0ICJFU1JEIE1vbnRobHkgT3V0cGF0aWVudCBTZXJ2aWNlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDkuMTIuMTAxNCcKdmFsdWVzZXQgIkVzc2VudGlhbCBIeXBlcnRlbnNpb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA0LjEyLjEwMTEnCnZhbHVlc2V0ICJFdGhuaWNpdHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM3Jwp2YWx1ZXNldCAiS2lkbmV5IFRyYW5zcGxhbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA5LjEyLjEwMTInCnZhbHVlc2V0ICJLaWRuZXkgVHJhbnNwbGFudCBSZWNpcGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA5LjEyLjEwMjknCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlBheWVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnCnZhbHVlc2V0ICJQcmVnbmFuY3kiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMzc4Jwp2YWx1ZXNldCAiUmFjZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzYnCnZhbHVlc2V0ICJWYXNjdWxhciBBY2Nlc3MgZm9yIERpYWx5c2lzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOS4xMi4xMDExJwoKY29kZSAiQmlydGggZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiQmxvb2QgcHJlc3N1cmUiOiAnODUzNTQtOScgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ2Jsb29kIHByZXNzdXJlJwpjb2RlICJEaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUiOiAnODQ2Mi00JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnRGlhc3RvbGljIGJsb29kIHByZXNzdXJlJwpjb2RlICJTeXN0b2xpYyBibG9vZCBwcmVzc3VyZSI6ICc4NDgwLTYnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdTeXN0b2xpYyBibG9vZCBwcmVzc3VyZScKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgovL2RlZmluZSAiU0RFIEV0aG5pY2l0eSI6Ci8vCVsiUGF0aWVudCBDaGFyYWN0ZXJpc3RpYyBFdGhuaWNpdHkiOiAiRXRobmljaXR5Il0KCi8vZGVmaW5lICJTREUgUGF5ZXIiOgovLwlbIlBhdGllbnQgQ2hhcmFjdGVyaXN0aWMgUGF5ZXIiOiAiUGF5ZXIiXQoKLy9kZWZpbmUgIlNERSBSYWNlIjoKLy8JWyJQYXRpZW50IENoYXJhY3RlcmlzdGljIFJhY2UiOiAiUmFjZSJdCgovL2RlZmluZSAiU0RFIFNleCI6Ci8vCVsiUGF0aWVudCBDaGFyYWN0ZXJpc3RpYyBTZXgiOiAiT05DIEFkbWluaXN0cmF0aXZlIFNleCJdCgpkZWZpbmUgIkhhcyBEaWFzdG9saWMgQmxvb2QgUHJlc3N1cmUgTGVzcyBUaGFuIDkwIjoKCSJMb3dlc3QgRGlhc3RvbGljIFJlYWRpbmcgb24gTW9zdCBSZWNlbnQgQmxvb2QgUHJlc3N1cmUgRGF5Ii52YWx1ZSA8IDkwCgpkZWZpbmUgIkhhcyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBMZXNzIFRoYW4gMTQwIjoKCSJMb3dlc3QgU3lzdG9saWMgUmVhZGluZyBvbiBNb3N0IFJlY2VudCBCbG9vZCBQcmVzc3VyZSBEYXkiLnZhbHVlIDwgMTQwCgpkZWZpbmUgIkxvd2VzdCBEaWFzdG9saWMgUmVhZGluZyBvbiBNb3N0IFJlY2VudCBCbG9vZCBQcmVzc3VyZSBEYXkiOgoJRmlyc3QoCiAgICAiUXVhbGlmeWluZyBEaWFzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyIgREJQUmVhZGluZwoJCSAgd2hlcmUgREJQUmVhZGluZy5lZmZlY3RpdmUgc2FtZSBkYXkgYXMgIk1vc3QgUmVjZW50IEJsb29kIFByZXNzdXJlIERheSIKICAgICAgcmV0dXJuIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBEQlBSZWFkaW5nLmNvbXBvbmVudCBDCiAgICAgICAgICB3aGVyZSBDLmNvZGUgfiAiRGlhc3RvbGljIGJsb29kIHByZXNzdXJlIgogICAgICAgICAgcmV0dXJuIEMudmFsdWUgYXMgUXVhbnRpdHkKICAgICAgKQoJCQlzb3J0IGFzY2VuZGluZwoJKQoKZGVmaW5lICJMb3dlc3QgU3lzdG9saWMgUmVhZGluZyBvbiBNb3N0IFJlY2VudCBCbG9vZCBQcmVzc3VyZSBEYXkiOgoJRmlyc3QoCiAgICAiUXVhbGlmeWluZyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIiBTQlBSZWFkaW5nCgkJICB3aGVyZSBTQlBSZWFkaW5nLmVmZmVjdGl2ZSBzYW1lIGRheSBhcyAiTW9zdCBSZWNlbnQgQmxvb2QgUHJlc3N1cmUgRGF5IgogICAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKAogICAgICAgIFNCUFJlYWRpbmcuY29tcG9uZW50IEMKICAgICAgICAgIHdoZXJlIEMuY29kZSB+ICJTeXN0b2xpYyBibG9vZCBwcmVzc3VyZSIKICAgICAgICAgIHJldHVybiBDLnZhbHVlIGFzIFF1YW50aXR5CiAgICAgICkKICAgICAgc29ydCBhc2NlbmRpbmcKCSkKCmRlZmluZSAiQmxvb2QgUHJlc3N1cmUgRGF5cyI6CgkoICggIlF1YWxpZnlpbmcgRGlhc3RvbGljIEJsb29kIFByZXNzdXJlIFJlYWRpbmciIERCUEV4YW0KCQkJCXJldHVybiBkYXRlIGZyb20gREJQRXhhbS5lZmZlY3RpdmUKCQkpCgkJCS8vaW50ZXJzZWN0ICggIlF1YWxpZnlpbmcgU3lzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyIgU0JQRXhhbQoJCQlpbnRlcnNlY3QgKCAiUXVhbGlmeWluZyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIiBTQlBFeGFtCgkJCQkJcmV0dXJuIGRhdGUgZnJvbSBTQlBFeGFtLmVmZmVjdGl2ZQoJCQkpCgkpCgpkZWZpbmUgIk1vc3QgUmVjZW50IEJsb29kIFByZXNzdXJlIERheSI6CglNYXgoIkJsb29kIFByZXNzdXJlIERheXMiKQoKCWRlZmluZSAiUXVhbGlmeWluZyBEaWFzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyBUZXN0IjoKCQlbIk9ic2VydmF0aW9uIjogIkJsb29kIHByZXNzdXJlIl0gQmxvb2RQcmVzc3VyZQoJCSAgd2hlcmUgQmxvb2RQcmVzc3VyZS5zdGF0dXMgaW4geydmaW5hbCcsICdhbWVuZGVkJ30KCSAgICAgLy8gYW5kIEJsb29kUHJlc3N1cmUuZWZmZWN0aXZlIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJICAgICAgLy8gVE9ETzogVHVybiB0aGlzIGludG8gYSB2YWx1ZSBzZXQKCQkgICAgLy9hbmQgbm90IChHZXRFbmNvdW50ZXIoQmxvb2RQcmVzc3VyZS4iY29udGV4dCIpLmNsYXNzLmNvZGUgaW4geyAnRU1FUicsICdJTVAnLCAnQUNVVEUnLCAnTk9OQUMnLCAnUFJFTkMnLCAnU1MnIH0pCgkgICAgICBhbmQgZXhpc3RzICgKCSAgICAgICAgQmxvb2RQcmVzc3VyZS5jb21wb25lbnQgRGlhc3RvbGljQlAKCSAgICAgICAgICB3aGVyZSBGSElSSGVscGVycy5Ub0NvbmNlcHQoRGlhc3RvbGljQlAuY29kZSkgfiAiRGlhc3RvbGljIGJsb29kIHByZXNzdXJlIgoJICAgICAgICAgICAgYW5kIERpYXN0b2xpY0JQLnZhbHVlLnVuaXQgPSAnbW1bSGddJwoJICAgICAgKQoKZGVmaW5lICJRdWFsaWZ5aW5nIERpYXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIjoKCVsiT2JzZXJ2YXRpb24iOiAiQmxvb2QgcHJlc3N1cmUiXSBCbG9vZFByZXNzdXJlCgkgIHdoZXJlIEJsb29kUHJlc3N1cmUuc3RhdHVzIGluIHsnZmluYWwnLCAnYW1lbmRlZCd9CiAgICAgIGFuZCBCbG9vZFByZXNzdXJlLmVmZmVjdGl2ZSBhcyBkYXRlVGltZSBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgLy8gVE9ETzogVHVybiB0aGlzIGludG8gYSB2YWx1ZSBzZXQKCSAgICAvL2FuZCBub3QgKEdldEVuY291bnRlcihCbG9vZFByZXNzdXJlLiJjb250ZXh0IikuY2xhc3MuY29kZSBpbiB7ICdFTUVSJywgJ0lNUCcsICdBQ1VURScsICdOT05BQycsICdQUkVOQycsICdTUycgfSkKICAgICAgYW5kIGV4aXN0cyAoCiAgICAgICAgQmxvb2RQcmVzc3VyZS5jb21wb25lbnQgRGlhc3RvbGljQlAKICAgICAgICAgIHdoZXJlIEZISVJIZWxwZXJzLlRvQ29uY2VwdChEaWFzdG9saWNCUC5jb2RlKSB+ICJEaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUiCiAgICAgICAgICAgIGFuZCBEaWFzdG9saWNCUC52YWx1ZS51bml0ID0gJ21tW0hnXScKICAgICAgKQovL05vdGU6IE9uY2Ugd2UgY2FuIHNwZWNpZnkgdGhhdCB0aGUgRkhJUiBCUCBQcm9maWxlIG11c3QgYmUgdXNlZCwgdGhlbiBzdGF0dXMsIGNvZGUsIGFuZCB1bml0IHdpbGwgbm90IGJlIHJlcXVpcmVkCgpkZWZpbmUgIlF1YWxpZnlpbmcgU3lzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyI6CglbIk9ic2VydmF0aW9uIjogIkJsb29kIHByZXNzdXJlIl0gQmxvb2RQcmVzc3VyZQoJICB3aGVyZSBCbG9vZFByZXNzdXJlLnN0YXR1cyBpbiB7J2ZpbmFsJywgJ2FtZW5kZWQnfQogICAgICBhbmQgQmxvb2RQcmVzc3VyZS5lZmZlY3RpdmUgYXMgZGF0ZVRpbWUgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCiAgICAgIC8vIFRPRE86IFR1cm4gdGhpcyBpbnRvIGEgdmFsdWUgc2V0CgkgICAgLy9hbmQgbm90IChHZXRFbmNvdW50ZXIoQmxvb2RQcmVzc3VyZS4iY29udGV4dCIpLmNsYXNzLmNvZGUgaW4geyAnRU1FUicsICdJTVAnLCAnQUNVVEUnLCAnTk9OQUMnLCAnUFJFTkMnLCAnU1MnfSkKICAgICAgYW5kIGV4aXN0cyAoCiAgICAgICAgQmxvb2RQcmVzc3VyZS5jb21wb25lbnQgU3lzdG9saWNCUAogICAgICAgICAgd2hlcmUgRkhJUkhlbHBlcnMuVG9Db25jZXB0KFN5c3RvbGljQlAuY29kZSkgfiAiU3lzdG9saWMgYmxvb2QgcHJlc3N1cmUiCiAgICAgICAgICAgIGFuZCBTeXN0b2xpY0JQLnZhbHVlLnVuaXQgPSAnbW1bSGddJwogICAgICApCi8vTm90ZTogT25jZSB3ZSBjYW4gc3BlY2lmeSB0aGF0IHRoZSBGSElSIEJQIFByb2ZpbGUgbXVzdCBiZSB1c2VkLCB0aGVuIHN0YXR1cywgY29kZSwgYW5kIHVuaXQgd2lsbCBub3QgYmUgcmVxdWlyZWQKCmRlZmluZSAiTnVtZXJhdG9yIjoKCSJIYXMgRGlhc3RvbGljIEJsb29kIFByZXNzdXJlIExlc3MgVGhhbiA5MCIKCQlhbmQgIkhhcyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBMZXNzIFRoYW4gMTQwIgoKZGVmaW5lICJPYnNlcnZhdGlvbnMiOgoJW09ic2VydmF0aW9uXQoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgoJQ29tbW9uLkNhbGVuZGFyQWdlSW5ZZWFyc0F0KEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgYmV0d2VlbiAxOCBhbmQgODUKCQlhbmQgZXhpc3RzICJFc3NlbnRpYWwgSHlwZXJ0ZW5zaW9uIERpYWdub3NpcyIKCQlhbmQgZXhpc3RzIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMuIlF1YWxpZnlpbmcgRW5jb3VudGVycyIoIk1lYXN1cmVtZW50IFBlcmlvZCIpCgpkZWZpbmUgIlByZWduYW5jeSBPciBSZW5hbCBEaWFnbm9zaXMgRXhjbHVzaW9ucyI6CgkoIFsiQ29uZGl0aW9uIjogIlByZWduYW5jeSJdCgkJdW5pb24gWyJDb25kaXRpb24iOiAiRW5kIFN0YWdlIFJlbmFsIERpc2Vhc2UiXQoJCXVuaW9uIFsiQ29uZGl0aW9uIjogIktpZG5leSBUcmFuc3BsYW50IFJlY2lwaWVudCJdCgkJdW5pb24gWyJDb25kaXRpb24iOiAiQ2hyb25pYyBLaWRuZXkgRGlzZWFzZSwgU3RhZ2UgNSJdICkgUHJlZ25hbmN5RVNSRERpYWdub3NpcwogICAgICB3aGVyZSBQcmVnbmFuY3lFU1JERGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCiAgICAgICAgYW5kIFByZWduYW5jeUVTUkREaWFnbm9zaXMuYXNzZXJ0ZWREYXRlIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiRGVub21pbmF0b3IiOgoJIkluaXRpYWwgUG9wdWxhdGlvbiIKCmRlZmluZSAiRW5kIFN0YWdlIFJlbmFsIERpc2Vhc2UgRW5jb3VudGVyIjoKCVsiRW5jb3VudGVyIjogIkVTUkQgTW9udGhseSBPdXRwYXRpZW50IFNlcnZpY2VzIl0gRVNSREVuY291bnRlcgoJCXdoZXJlIEVTUkRFbmNvdW50ZXIuc3RhdHVzLnZhbHVlIGluIHsgJ3BsYW5uZWQnLCAnYXJyaXZlZCcsICd0cmlhZ2VkJywgJ2luLXByb2dyZXNzJywgJ29ubGVhdmUnLCAnZmluaXNoZWQnIH0KCQkgIGFuZCBFU1JERW5jb3VudGVyLnBlcmlvZCBzdGFydHMgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSBQcm9jZWR1cmVzIjoKCSggWyJQcm9jZWR1cmUiOiAiVmFzY3VsYXIgQWNjZXNzIGZvciBEaWFseXNpcyJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiS2lkbmV5IFRyYW5zcGxhbnQiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIkRpYWx5c2lzIFNlcnZpY2VzIl0gKSBFU1JEUHJvY2VkdXJlCgkJd2hlcmUgRVNSRFByb2NlZHVyZS5zdGF0dXMgPSAnY29tcGxldGVkJwogICAgICBhbmQgRVNSRFByb2NlZHVyZS5wZXJmb3JtZWQgc3RhcnRzIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiRXNzZW50aWFsIEh5cGVydGVuc2lvbiBEaWFnbm9zaXMiOgoJWyJDb25kaXRpb24iOiAiRXNzZW50aWFsIEh5cGVydGVuc2lvbiJdIEh5cGVydGVuc2lvbgogICAgd2hlcmUgSHlwZXJ0ZW5zaW9uLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCiAgICAgYW5kIChIeXBlcnRlbnNpb24uYXNzZXJ0ZWREYXRlIDYgbW9udGhzIG9yIGxlc3Mgb24gb3IgYWZ0ZXIgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgb3IgSHlwZXJ0ZW5zaW9uLmFzc2VydGVkRGF0ZSBiZWZvcmUgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCiAgICApCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2x1c2lvbiI6CglmYWxzZTsKCi8qCi8vIFRPRE86IFRyYW5zbGF0ZSBleGNsdXNpb25zCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9uIjoKCUhvc3BpY2UuIkhhcyBIb3NwaWNlIgoJCW9yIGV4aXN0cyAiUHJlZ25hbmN5IE9yIFJlbmFsIERpYWdub3NpcyBFeGNsdXNpb25zIgoJCW9yICggZXhpc3RzICJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSBQcm9jZWR1cmVzIgoJCQkJb3IgZXhpc3RzICJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSBFbmNvdW50ZXIiCgkJKQoJCW9yICggZXhpc3RzIFsiUGF0aWVudCBDaGFyYWN0ZXJpc3RpYyBCaXJ0aGRhdGUiOiAiQmlydGggZGF0ZSJdIEJpcnRoRGF0ZQoJCSAgICB3aGVyZSBleGlzdHMgKENvbW1vbi5DYWxlbmRhckFnZUluWWVhcnNBdChGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPj0gNjUpCgkJICAgIAkJCQkJCQkJCWFuZCBGcmFpbHR5TFRJLiJIYXMgU3BlbnQgTW9yZSBUaGFuIDkwIERheXMgaW4gTG9uZyBUZXJtIENhcmUiKQoJCQkJCQkJCW9yIEZyYWlsdHlMVEkuIkFkdmFuY2VkIElsbG5lc3MgYW5kIEZyYWlsdHkgRXhjbHVzaW9uIEluY2x1ZGluZyBPdmVyIEFnZSA4MCIKKi8KCi8vIFRPRE86IE1vdmUgdG8gQ29tbW9uIEZ1bmN0aW9ucyAmJiBmaXggbG9jYWwgZXhlY3V0aW9uIHNlcmlhbGl6YXRpb24gZm9yIGZ1bmN0aW9ucwovL2RlZmluZSBmdW5jdGlvbiBHZXRFbmNvdW50ZXIocmVmZXJlbmNlIFJlZmVyZW5jZSk6IHRydWUKLy8iR2V0SWQiKHVyaSBTdHJpbmcpOiByZXR1cm5zIHRoZSBsYXN0IFN0cmluZyBvZiBhIFNwbGl0IGJ5IC8gTGlzdCB0aGVyZWZvciBjYW5ub3QgdXNlIGluCi8vc2luZ2xldG9uIGZyb20gKCBbRW5jb3VudGVyOiBpZCA9IENvbW1vbi5HZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKV0gKQoJLy9zaW5nbGV0b24gZnJvbSAoW0VuY291bnRlcl0gRW5jb3VudGVyIHdoZXJlIEVuY291bnRlci5pZC52YWx1ZSA9IENvbW1vbi4iR2V0SWQiKHJlZmVyZW5jZS5yZWZlcmVuY2UpKQo=" - } - ] + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1002" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1014" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1011" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1012" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1013" + } + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE0xNjVfRkhJUjMgdmVyc2lvbiAnOC41LjAwMCcKCi8qCkNvbnRyb2xsaW5nIEhpZ2ggQmxvb2QgUHJlc3N1cmUgKENCUCkKKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgQ29tbW9uCmluY2x1ZGUgQWR1bHRPdXRwYXRpZW50RW5jb3VudGVyc19GSElSMyB2ZXJzaW9uICcxLjEuMDAwJyBjYWxsZWQgQWR1bHRPdXRwYXRpZW50RW5jb3VudGVycwppbmNsdWRlIEFkdmFuY2VkSWxsbmVzc2FuZEZyYWlsdHlFeGNsdXNpb25fRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcgY2FsbGVkIEZyYWlsdHlMVEkKLy9pbmNsdWRlIE5DUUFDb21tb25fRkhJUiB2ZXJzaW9uICczLjEwLjAwMCcgY2FsbGVkIENvbW1vbgovL2luY2x1ZGUgUGFydGljaXBhdGlvbl9GSElSIHZlcnNpb24gJzEuMC4wJwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKCnZhbHVlc2V0ICJDaHJvbmljIEtpZG5leSBEaXNlYXNlLCBTdGFnZSA1IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjUyNi4zLjEwMDInCnZhbHVlc2V0ICJEaWFseXNpcyBTZXJ2aWNlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDkuMTIuMTAxMycKdmFsdWVzZXQgIkVEIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDg1Jwp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4zNTMnCnZhbHVlc2V0ICJFU1JEIE1vbnRobHkgT3V0cGF0aWVudCBTZXJ2aWNlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDkuMTIuMTAxNCcKdmFsdWVzZXQgIkVzc2VudGlhbCBIeXBlcnRlbnNpb24iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA0LjEyLjEwMTEnCnZhbHVlc2V0ICJFdGhuaWNpdHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM3Jwp2YWx1ZXNldCAiS2lkbmV5IFRyYW5zcGxhbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA5LjEyLjEwMTInCnZhbHVlc2V0ICJLaWRuZXkgVHJhbnNwbGFudCBSZWNpcGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTA5LjEyLjEwMjknCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlBheWVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnCnZhbHVlc2V0ICJQcmVnbmFuY3kiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNTI2LjMuMzc4Jwp2YWx1ZXNldCAiUmFjZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzYnCnZhbHVlc2V0ICJWYXNjdWxhciBBY2Nlc3MgZm9yIERpYWx5c2lzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwOS4xMi4xMDExJwoKY29kZSAiQmlydGggZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiQmxvb2QgcHJlc3N1cmUiOiAnODUzNTQtOScgZnJvbSAiTE9JTkMiIGRpc3BsYXkgJ2Jsb29kIHByZXNzdXJlJwpjb2RlICJEaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUiOiAnODQ2Mi00JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnRGlhc3RvbGljIGJsb29kIHByZXNzdXJlJwpjb2RlICJTeXN0b2xpYyBibG9vZCBwcmVzc3VyZSI6ICc4NDgwLTYnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdTeXN0b2xpYyBibG9vZCBwcmVzc3VyZScKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgovL2RlZmluZSAiU0RFIEV0aG5pY2l0eSI6Ci8vCVsiUGF0aWVudCBDaGFyYWN0ZXJpc3RpYyBFdGhuaWNpdHkiOiAiRXRobmljaXR5Il0KCi8vZGVmaW5lICJTREUgUGF5ZXIiOgovLwlbIlBhdGllbnQgQ2hhcmFjdGVyaXN0aWMgUGF5ZXIiOiAiUGF5ZXIiXQoKLy9kZWZpbmUgIlNERSBSYWNlIjoKLy8JWyJQYXRpZW50IENoYXJhY3RlcmlzdGljIFJhY2UiOiAiUmFjZSJdCgovL2RlZmluZSAiU0RFIFNleCI6Ci8vCVsiUGF0aWVudCBDaGFyYWN0ZXJpc3RpYyBTZXgiOiAiT05DIEFkbWluaXN0cmF0aXZlIFNleCJdCgpkZWZpbmUgIkhhcyBEaWFzdG9saWMgQmxvb2QgUHJlc3N1cmUgTGVzcyBUaGFuIDkwIjoKCSJMb3dlc3QgRGlhc3RvbGljIFJlYWRpbmcgb24gTW9zdCBSZWNlbnQgQmxvb2QgUHJlc3N1cmUgRGF5Ii52YWx1ZSA8IDkwCgpkZWZpbmUgIkhhcyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBMZXNzIFRoYW4gMTQwIjoKCSJMb3dlc3QgU3lzdG9saWMgUmVhZGluZyBvbiBNb3N0IFJlY2VudCBCbG9vZCBQcmVzc3VyZSBEYXkiLnZhbHVlIDwgMTQwCgpkZWZpbmUgIkxvd2VzdCBEaWFzdG9saWMgUmVhZGluZyBvbiBNb3N0IFJlY2VudCBCbG9vZCBQcmVzc3VyZSBEYXkiOgoJRmlyc3QoCiAgICAiUXVhbGlmeWluZyBEaWFzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyIgREJQUmVhZGluZwoJCSAgd2hlcmUgREJQUmVhZGluZy5lZmZlY3RpdmUgc2FtZSBkYXkgYXMgIk1vc3QgUmVjZW50IEJsb29kIFByZXNzdXJlIERheSIKICAgICAgcmV0dXJuIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBEQlBSZWFkaW5nLmNvbXBvbmVudCBDCiAgICAgICAgICB3aGVyZSBDLmNvZGUgfiAiRGlhc3RvbGljIGJsb29kIHByZXNzdXJlIgogICAgICAgICAgcmV0dXJuIEMudmFsdWUgYXMgUXVhbnRpdHkKICAgICAgKQoJCQlzb3J0IGFzY2VuZGluZwoJKQoKZGVmaW5lICJMb3dlc3QgU3lzdG9saWMgUmVhZGluZyBvbiBNb3N0IFJlY2VudCBCbG9vZCBQcmVzc3VyZSBEYXkiOgoJRmlyc3QoCiAgICAiUXVhbGlmeWluZyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIiBTQlBSZWFkaW5nCgkJICB3aGVyZSBTQlBSZWFkaW5nLmVmZmVjdGl2ZSBzYW1lIGRheSBhcyAiTW9zdCBSZWNlbnQgQmxvb2QgUHJlc3N1cmUgRGF5IgogICAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKAogICAgICAgIFNCUFJlYWRpbmcuY29tcG9uZW50IEMKICAgICAgICAgIHdoZXJlIEMuY29kZSB+ICJTeXN0b2xpYyBibG9vZCBwcmVzc3VyZSIKICAgICAgICAgIHJldHVybiBDLnZhbHVlIGFzIFF1YW50aXR5CiAgICAgICkKICAgICAgc29ydCBhc2NlbmRpbmcKCSkKCmRlZmluZSAiQmxvb2QgUHJlc3N1cmUgRGF5cyI6CgkoICggIlF1YWxpZnlpbmcgRGlhc3RvbGljIEJsb29kIFByZXNzdXJlIFJlYWRpbmciIERCUEV4YW0KCQkJCXJldHVybiBkYXRlIGZyb20gREJQRXhhbS5lZmZlY3RpdmUKCQkpCgkJCS8vaW50ZXJzZWN0ICggIlF1YWxpZnlpbmcgU3lzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyIgU0JQRXhhbQoJCQlpbnRlcnNlY3QgKCAiUXVhbGlmeWluZyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIiBTQlBFeGFtCgkJCQkJcmV0dXJuIGRhdGUgZnJvbSBTQlBFeGFtLmVmZmVjdGl2ZQoJCQkpCgkpCgpkZWZpbmUgIk1vc3QgUmVjZW50IEJsb29kIFByZXNzdXJlIERheSI6CglNYXgoIkJsb29kIFByZXNzdXJlIERheXMiKQoKCWRlZmluZSAiUXVhbGlmeWluZyBEaWFzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyBUZXN0IjoKCQlbIk9ic2VydmF0aW9uIjogIkJsb29kIHByZXNzdXJlIl0gQmxvb2RQcmVzc3VyZQoJCSAgd2hlcmUgQmxvb2RQcmVzc3VyZS5zdGF0dXMgaW4geydmaW5hbCcsICdhbWVuZGVkJ30KCSAgICAgLy8gYW5kIEJsb29kUHJlc3N1cmUuZWZmZWN0aXZlIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJICAgICAgLy8gVE9ETzogVHVybiB0aGlzIGludG8gYSB2YWx1ZSBzZXQKCQkgICAgLy9hbmQgbm90IChHZXRFbmNvdW50ZXIoQmxvb2RQcmVzc3VyZS4iY29udGV4dCIpLmNsYXNzLmNvZGUgaW4geyAnRU1FUicsICdJTVAnLCAnQUNVVEUnLCAnTk9OQUMnLCAnUFJFTkMnLCAnU1MnIH0pCgkgICAgICBhbmQgZXhpc3RzICgKCSAgICAgICAgQmxvb2RQcmVzc3VyZS5jb21wb25lbnQgRGlhc3RvbGljQlAKCSAgICAgICAgICB3aGVyZSBGSElSSGVscGVycy5Ub0NvbmNlcHQoRGlhc3RvbGljQlAuY29kZSkgfiAiRGlhc3RvbGljIGJsb29kIHByZXNzdXJlIgoJICAgICAgICAgICAgYW5kIERpYXN0b2xpY0JQLnZhbHVlLnVuaXQgPSAnbW1bSGddJwoJICAgICAgKQoKZGVmaW5lICJRdWFsaWZ5aW5nIERpYXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBSZWFkaW5nIjoKCVsiT2JzZXJ2YXRpb24iOiAiQmxvb2QgcHJlc3N1cmUiXSBCbG9vZFByZXNzdXJlCgkgIHdoZXJlIEJsb29kUHJlc3N1cmUuc3RhdHVzIGluIHsnZmluYWwnLCAnYW1lbmRlZCd9CiAgICAgIGFuZCBCbG9vZFByZXNzdXJlLmVmZmVjdGl2ZSBhcyBkYXRlVGltZSBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgLy8gVE9ETzogVHVybiB0aGlzIGludG8gYSB2YWx1ZSBzZXQKCSAgICAvL2FuZCBub3QgKEdldEVuY291bnRlcihCbG9vZFByZXNzdXJlLiJjb250ZXh0IikuY2xhc3MuY29kZSBpbiB7ICdFTUVSJywgJ0lNUCcsICdBQ1VURScsICdOT05BQycsICdQUkVOQycsICdTUycgfSkKICAgICAgYW5kIGV4aXN0cyAoCiAgICAgICAgQmxvb2RQcmVzc3VyZS5jb21wb25lbnQgRGlhc3RvbGljQlAKICAgICAgICAgIHdoZXJlIEZISVJIZWxwZXJzLlRvQ29uY2VwdChEaWFzdG9saWNCUC5jb2RlKSB+ICJEaWFzdG9saWMgYmxvb2QgcHJlc3N1cmUiCiAgICAgICAgICAgIGFuZCBEaWFzdG9saWNCUC52YWx1ZS51bml0ID0gJ21tW0hnXScKICAgICAgKQovL05vdGU6IE9uY2Ugd2UgY2FuIHNwZWNpZnkgdGhhdCB0aGUgRkhJUiBCUCBQcm9maWxlIG11c3QgYmUgdXNlZCwgdGhlbiBzdGF0dXMsIGNvZGUsIGFuZCB1bml0IHdpbGwgbm90IGJlIHJlcXVpcmVkCgpkZWZpbmUgIlF1YWxpZnlpbmcgU3lzdG9saWMgQmxvb2QgUHJlc3N1cmUgUmVhZGluZyI6CglbIk9ic2VydmF0aW9uIjogIkJsb29kIHByZXNzdXJlIl0gQmxvb2RQcmVzc3VyZQoJICB3aGVyZSBCbG9vZFByZXNzdXJlLnN0YXR1cyBpbiB7J2ZpbmFsJywgJ2FtZW5kZWQnfQogICAgICBhbmQgQmxvb2RQcmVzc3VyZS5lZmZlY3RpdmUgYXMgZGF0ZVRpbWUgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCiAgICAgIC8vIFRPRE86IFR1cm4gdGhpcyBpbnRvIGEgdmFsdWUgc2V0CgkgICAgLy9hbmQgbm90IChHZXRFbmNvdW50ZXIoQmxvb2RQcmVzc3VyZS4iY29udGV4dCIpLmNsYXNzLmNvZGUgaW4geyAnRU1FUicsICdJTVAnLCAnQUNVVEUnLCAnTk9OQUMnLCAnUFJFTkMnLCAnU1MnfSkKICAgICAgYW5kIGV4aXN0cyAoCiAgICAgICAgQmxvb2RQcmVzc3VyZS5jb21wb25lbnQgU3lzdG9saWNCUAogICAgICAgICAgd2hlcmUgRkhJUkhlbHBlcnMuVG9Db25jZXB0KFN5c3RvbGljQlAuY29kZSkgfiAiU3lzdG9saWMgYmxvb2QgcHJlc3N1cmUiCiAgICAgICAgICAgIGFuZCBTeXN0b2xpY0JQLnZhbHVlLnVuaXQgPSAnbW1bSGddJwogICAgICApCi8vTm90ZTogT25jZSB3ZSBjYW4gc3BlY2lmeSB0aGF0IHRoZSBGSElSIEJQIFByb2ZpbGUgbXVzdCBiZSB1c2VkLCB0aGVuIHN0YXR1cywgY29kZSwgYW5kIHVuaXQgd2lsbCBub3QgYmUgcmVxdWlyZWQKCmRlZmluZSAiTnVtZXJhdG9yIjoKCSJIYXMgRGlhc3RvbGljIEJsb29kIFByZXNzdXJlIExlc3MgVGhhbiA5MCIKCQlhbmQgIkhhcyBTeXN0b2xpYyBCbG9vZCBQcmVzc3VyZSBMZXNzIFRoYW4gMTQwIgoKZGVmaW5lICJPYnNlcnZhdGlvbnMiOgoJW09ic2VydmF0aW9uXQoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgoJQ29tbW9uLkNhbGVuZGFyQWdlSW5ZZWFyc0F0KEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgYmV0d2VlbiAxOCBhbmQgODUKCQlhbmQgZXhpc3RzICJFc3NlbnRpYWwgSHlwZXJ0ZW5zaW9uIERpYWdub3NpcyIKCQlhbmQgZXhpc3RzIEFkdWx0T3V0cGF0aWVudEVuY291bnRlcnMuIlF1YWxpZnlpbmcgRW5jb3VudGVycyIoIk1lYXN1cmVtZW50IFBlcmlvZCIpCgpkZWZpbmUgIlByZWduYW5jeSBPciBSZW5hbCBEaWFnbm9zaXMgRXhjbHVzaW9ucyI6CgkoIFsiQ29uZGl0aW9uIjogIlByZWduYW5jeSJdCgkJdW5pb24gWyJDb25kaXRpb24iOiAiRW5kIFN0YWdlIFJlbmFsIERpc2Vhc2UiXQoJCXVuaW9uIFsiQ29uZGl0aW9uIjogIktpZG5leSBUcmFuc3BsYW50IFJlY2lwaWVudCJdCgkJdW5pb24gWyJDb25kaXRpb24iOiAiQ2hyb25pYyBLaWRuZXkgRGlzZWFzZSwgU3RhZ2UgNSJdICkgUHJlZ25hbmN5RVNSRERpYWdub3NpcwogICAgICB3aGVyZSBQcmVnbmFuY3lFU1JERGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCiAgICAgICAgYW5kIFByZWduYW5jeUVTUkREaWFnbm9zaXMuYXNzZXJ0ZWREYXRlIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiRGVub21pbmF0b3IiOgoJIkluaXRpYWwgUG9wdWxhdGlvbiIKCmRlZmluZSAiRW5kIFN0YWdlIFJlbmFsIERpc2Vhc2UgRW5jb3VudGVyIjoKCVsiRW5jb3VudGVyIjogIkVTUkQgTW9udGhseSBPdXRwYXRpZW50IFNlcnZpY2VzIl0gRVNSREVuY291bnRlcgoJCXdoZXJlIEVTUkRFbmNvdW50ZXIuc3RhdHVzLnZhbHVlIGluIHsgJ3BsYW5uZWQnLCAnYXJyaXZlZCcsICd0cmlhZ2VkJywgJ2luLXByb2dyZXNzJywgJ29ubGVhdmUnLCAnZmluaXNoZWQnIH0KCQkgIGFuZCBFU1JERW5jb3VudGVyLnBlcmlvZCBzdGFydHMgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSBQcm9jZWR1cmVzIjoKCSggWyJQcm9jZWR1cmUiOiAiVmFzY3VsYXIgQWNjZXNzIGZvciBEaWFseXNpcyJdCgkJdW5pb24gWyJQcm9jZWR1cmUiOiAiS2lkbmV5IFRyYW5zcGxhbnQiXQoJCXVuaW9uIFsiUHJvY2VkdXJlIjogIkRpYWx5c2lzIFNlcnZpY2VzIl0gKSBFU1JEUHJvY2VkdXJlCgkJd2hlcmUgRVNSRFByb2NlZHVyZS5zdGF0dXMgPSAnY29tcGxldGVkJwogICAgICBhbmQgRVNSRFByb2NlZHVyZS5wZXJmb3JtZWQgc3RhcnRzIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSAiRXNzZW50aWFsIEh5cGVydGVuc2lvbiBEaWFnbm9zaXMiOgoJWyJDb25kaXRpb24iOiAiRXNzZW50aWFsIEh5cGVydGVuc2lvbiJdIEh5cGVydGVuc2lvbgogICAgd2hlcmUgSHlwZXJ0ZW5zaW9uLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCiAgICAgYW5kIChIeXBlcnRlbnNpb24uYXNzZXJ0ZWREYXRlIDYgbW9udGhzIG9yIGxlc3Mgb24gb3IgYWZ0ZXIgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgb3IgSHlwZXJ0ZW5zaW9uLmFzc2VydGVkRGF0ZSBiZWZvcmUgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCiAgICApCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2x1c2lvbiI6CglmYWxzZTsKCi8qCi8vIFRPRE86IFRyYW5zbGF0ZSBleGNsdXNpb25zCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9uIjoKCUhvc3BpY2UuIkhhcyBIb3NwaWNlIgoJCW9yIGV4aXN0cyAiUHJlZ25hbmN5IE9yIFJlbmFsIERpYWdub3NpcyBFeGNsdXNpb25zIgoJCW9yICggZXhpc3RzICJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSBQcm9jZWR1cmVzIgoJCQkJb3IgZXhpc3RzICJFbmQgU3RhZ2UgUmVuYWwgRGlzZWFzZSBFbmNvdW50ZXIiCgkJKQoJCW9yICggZXhpc3RzIFsiUGF0aWVudCBDaGFyYWN0ZXJpc3RpYyBCaXJ0aGRhdGUiOiAiQmlydGggZGF0ZSJdIEJpcnRoRGF0ZQoJCSAgICB3aGVyZSBleGlzdHMgKENvbW1vbi5DYWxlbmRhckFnZUluWWVhcnNBdChGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPj0gNjUpCgkJICAgIAkJCQkJCQkJCWFuZCBGcmFpbHR5TFRJLiJIYXMgU3BlbnQgTW9yZSBUaGFuIDkwIERheXMgaW4gTG9uZyBUZXJtIENhcmUiKQoJCQkJCQkJCW9yIEZyYWlsdHlMVEkuIkFkdmFuY2VkIElsbG5lc3MgYW5kIEZyYWlsdHkgRXhjbHVzaW9uIEluY2x1ZGluZyBPdmVyIEFnZSA4MCIKKi8KCi8vIFRPRE86IE1vdmUgdG8gQ29tbW9uIEZ1bmN0aW9ucyAmJiBmaXggbG9jYWwgZXhlY3V0aW9uIHNlcmlhbGl6YXRpb24gZm9yIGZ1bmN0aW9ucwovL2RlZmluZSBmdW5jdGlvbiBHZXRFbmNvdW50ZXIocmVmZXJlbmNlIFJlZmVyZW5jZSk6IHRydWUKLy8iR2V0SWQiKHVyaSBTdHJpbmcpOiByZXR1cm5zIHRoZSBsYXN0IFN0cmluZyBvZiBhIFNwbGl0IGJ5IC8gTGlzdCB0aGVyZWZvciBjYW5ub3QgdXNlIGluCi8vc2luZ2xldG9uIGZyb20gKCBbRW5jb3VudGVyOiBpZCA9IENvbW1vbi5HZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKV0gKQoJLy9zaW5nbGV0b24gZnJvbSAoW0VuY291bnRlcl0gRW5jb3VudGVyIHdoZXJlIEVuY291bnRlci5pZC52YWx1ZSA9IENvbW1vbi4iR2V0SWQiKHJlZmVyZW5jZS5yZWZlcmVuY2UpKQo=" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-EXM349_FHIR3-2.9.000.json b/fhir3/input/resources/library/library-EXM349_FHIR3-2.9.000.json index 1fff1705..e44d3de3 100644 --- a/fhir3/input/resources/library/library-EXM349_FHIR3-2.9.000.json +++ b/fhir3/input/resources/library/library-EXM349_FHIR3-2.9.000.json @@ -3,121 +3,88 @@ "id": "library-EXM349-FHIR3-2.9.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM349-FHIR3-2.9.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">2.9.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"3\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"8\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM349_FHIR3 version '2.9.000'\n\n/*\nBased on CMS349v2 - HIV Screening\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "LOINC": 'http://loinc.org'\n\nvalueset "Conditions Due To Human Immunodeficiency Virus (HIV)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50'\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services, Initial Office Visit, 0 to 17": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "Preventive Care, Established Office Visit, 0 to 17": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\n\ncode "HIV 1 and 2 tests - Meaningful Use set": '75622-1' from "LOINC" display 'HIV 1 and 2 tests - Meaningful Use set'\n\nparameter "Measurement Period" Interval<DateTime> default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n\t SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n\tSDE."SDE Payer"\n\ndefine "SDE Race":\n\tSDE."SDE Race"\n\ndefine "SDE Sex":\n\tSDE."SDE Sex"\n\ndefine "Qualifying Encounters":\n\t( [Encounter: "Preventive Care Services, Initial Office Visit, 0 to 17"]\n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"]\n\t\tunion [Encounter: "Preventive Care, Established Office Visit, 0 to 17"]\n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"]\n\t\tunion [Encounter: "Office Visit"] ) ValidEncounter\n\t\twhere ValidEncounter.status = 'finished'\n\t\tand ValidEncounter.period during "Measurement Period"\n\ndefine "Denominator":\n\t"Initial Population"\n\ndefine "Denominator Exclusion":\n\texists ( [Condition: code in "Conditions Due To Human Immunodeficiency Virus (HIV)"] HIVConditions\n\t\t\twhere HIVConditions.clinicalStatus = 'active'\n\t\t\tand HIVConditions.verificationStatus = 'confirmed'\n\t\t\tand (HIVConditions.onset as dateTime) before start of "Measurement Period"\n\t)\n\ndefine "Numerator":\n\texists ( "HIV Test Performed" )\n\ndefine "HIV Test Performed":\n\t( [Observation: "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)"]\n\t\tunion [Observation: "HIV 1 and 2 tests - Meaningful Use set"] ) HIVTest\n\t\twhere (\n\t\t\t\t( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)>= 15\n\t\t\t \t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)>= 15)\n\t\t\t\t\tand ( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)< 66 )\n\t\t\t\t\t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)< 66)\n\n\t\t\tand HIVTest.status in {'final', 'amended', 'corrected', 'preliminary'}\n\t\t\tand (\n\t\t\t\tHIVTest.effective starts before end of "Measurement Period"\n\t\t\t\t\tor HIVTest.effective as dateTime before end of "Measurement Period"\n\t\t\t)\n\ndefine "Initial Population":\n Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")>= 15\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")< 66\n\t\tand exists "Qualifying Encounters"\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM349-FHIR3-2.9.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">2.9.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"3\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"8\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Observation</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM349_FHIR3 version '2.9.000'\n\n/*\nBased on CMS349v2 - HIV Screening\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "LOINC": 'http://loinc.org'\n\nvalueset "Conditions Due To Human Immunodeficiency Virus (HIV)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50'\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Preventive Care Services - Established Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'\nvalueset "Preventive Care Services, Initial Office Visit, 0 to 17": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022'\nvalueset "Preventive Care Services-Initial Office Visit, 18 and Up": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'\nvalueset "Preventive Care, Established Office Visit, 0 to 17": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\n\ncode "HIV 1 and 2 tests - Meaningful Use set": '75622-1' from "LOINC" display 'HIV 1 and 2 tests - Meaningful Use set'\n\nparameter "Measurement Period" Interval<DateTime> default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n\t SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n\tSDE."SDE Payer"\n\ndefine "SDE Race":\n\tSDE."SDE Race"\n\ndefine "SDE Sex":\n\tSDE."SDE Sex"\n\ndefine "Qualifying Encounters":\n\t( [Encounter: "Preventive Care Services, Initial Office Visit, 0 to 17"]\n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"]\n\t\tunion [Encounter: "Preventive Care, Established Office Visit, 0 to 17"]\n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"]\n\t\tunion [Encounter: "Office Visit"] ) ValidEncounter\n\t\twhere ValidEncounter.status = 'finished'\n\t\tand ValidEncounter.period during "Measurement Period"\n\ndefine "Denominator":\n\t"Initial Population"\n\ndefine "Denominator Exclusion":\n\texists ( [Condition: code in "Conditions Due To Human Immunodeficiency Virus (HIV)"] HIVConditions\n\t\t\twhere HIVConditions.clinicalStatus = 'active'\n\t\t\tand HIVConditions.verificationStatus = 'confirmed'\n\t\t\tand (HIVConditions.onset as dateTime) before start of "Measurement Period"\n\t)\n\ndefine "Numerator":\n\texists ( "HIV Test Performed" )\n\ndefine "HIV Test Performed":\n\t( [Observation: "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)"]\n\t\tunion [Observation: "HIV 1 and 2 tests - Meaningful Use set"] ) HIVTest\n\t\twhere (\n\t\t\t\t( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)>= 15\n\t\t\t \t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)>= 15)\n\t\t\t\t\tand ( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)< 66 )\n\t\t\t\t\t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)< 66)\n\n\t\t\tand HIVTest.status in {'final', 'amended', 'corrected', 'preliminary'}\n\t\t\tand (\n\t\t\t\tHIVTest.effective starts before end of "Measurement Period"\n\t\t\t\t\tor HIVTest.effective as dateTime before end of "Measurement Period"\n\t\t\t)\n\ndefine "Initial Population":\n Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")>= 15\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")< 66\n\t\tand exists "Qualifying Encounters"\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "2.9.000", "name": "EXM349_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024" } - } - ], - "dataRequirement": [ - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50" - } - ] - }, - { - "type": "Observation", - "codeFilter": [ - { - "path": "code" - } - ] - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI2OSIgc3RhcnRDaGFyPSI5IiBlbmRMaW5lPSI2OSIgZW5kQ2hhcj0iNjMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iRVhNMzQ5X0ZISVIzIiB2ZXJzaW9uPSIyLjkuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iR2xvYmFsIiBwYXRoPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIHZlcnNpb249IjIuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU0RFIiBwYXRoPSJTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMiIHZlcnNpb249IjEuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHBhcmFtZXRlcnM+DQogICAgICA8ZGVmIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZGVmYXVsdCBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDE5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICAgICA8eWVhciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIwMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZGVmYXVsdD4NCiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L3BhcmFtZXRlclR5cGVTcGVjaWZpZXI+DQogICAgICA8L2RlZj4NCiAgIDwvcGFyYW1ldGVycz4NCiAgIDxjb2RlU3lzdGVtcz4NCiAgICAgIDxkZWYgbmFtZT0iTE9JTkMiIGlkPSJodHRwOi8vbG9pbmMub3JnIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iQ29uZGl0aW9ucyBEdWUgVG8gSHVtYW4gSW1tdW5vZGVmaWNpZW5jeSBWaXJ1cyAoSElWKSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA1Ni41NCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFdGhuaWNpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSHVtYW4gSW1tdW5vZGVmaWNpZW5jeSBWaXJ1cyAoSElWKSBMYWJvcmF0b3J5IFRlc3QgQ29kZXMgKEFiIGFuZCBBZykiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEwNTYuNTAiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT2ZmaWNlIFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMDEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyNSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMsIEluaXRpYWwgT2ZmaWNlIFZpc2l0LCAwIHRvIDE3IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLUluaXRpYWwgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyMyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQcmV2ZW50aXZlIENhcmUsIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMCB0byAxNyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI0IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlJhY2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJISVYgMSBhbmQgMiB0ZXN0cyAtIE1lYW5pbmdmdWwgVXNlIHNldCIgaWQ9Ijc1NjIyLTEiIGRpc3BsYXk9IkhJViAxIGFuZCAyIHRlc3RzIC0gTWVhbmluZ2Z1bCBVc2Ugc2V0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgRXRobmljaXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBFdGhuaWNpdHkiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFBheWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBQYXllciIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgUmFjZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJTREUgUmFjZSIgbGlicmFyeU5hbWU9IlNERSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTREUgU2V4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlNERSBTZXgiIGxpYnJhcnlOYW1lPSJTREUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iUXVhbGlmeWluZyBFbmNvdW50ZXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWYWxpZEVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMsIEluaXRpYWwgT2ZmaWNlIFZpc2l0LCAwIHRvIDE3IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQcmV2ZW50aXZlIENhcmUsIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMCB0byAxNyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMgLSBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPZmZpY2UgVmlzaXQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IlZhbGlkRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmNsdWRlZEluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlZhbGlkRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbml0aWFsIFBvcHVsYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxNSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjY2IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJRdWFsaWZ5aW5nIEVuY291bnRlcnMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2x1c2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRXhpc3RzIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJISVZDb25kaXRpb25zIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkNvbmRpdGlvbnMgRHVlIFRvIEh1bWFuIEltbXVub2RlZmljaWVuY3kgVmlydXMgKEhJVikiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJISVZDb25kaXRpb25zIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZlcmlmaWNhdGlvblN0YXR1cyIgc2NvcGU9IkhJVkNvbmRpdGlvbnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbmZpcm1lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiBzY29wZT0iSElWQ29uZGl0aW9ucyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSElWIFRlc3QgUGVyZm9ybWVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJISVZUZXN0Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpPYnNlcnZhdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9Ikh1bWFuIEltbXVub2RlZmljaWVuY3kgVmlydXMgKEhJVikgTGFib3JhdG9yeSBUZXN0IENvZGVzIChBYiBhbmQgQWcpIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJISVYgMSBhbmQgMiB0ZXN0cyAtIE1lYW5pbmdmdWwgVXNlIHNldCIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkhJVlRlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE1IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9IkhJVlRlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxNSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0iSElWVGVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNjYiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGVzcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJISVZUZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iNjYiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkhJVlRlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFtZW5kZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29ycmVjdGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9InByZWxpbWluYXJ5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJCZWZvcmUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJISVZUZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQmVmb3JlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJlZmZlY3RpdmUiIHNjb3BlPSJISVZUZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTnVtZXJhdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSElWIFRlc3QgUGVyZm9ybWVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE0zNDlfRkhJUjMgdmVyc2lvbiAnMi45LjAwMCcKCi8qCkJhc2VkIG9uIENNUzM0OXYyIC0gSElWIFNjcmVlbmluZwoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIHZlcnNpb24gJzEuMC4wJyBjYWxsZWQgU0RFCgpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwoKdmFsdWVzZXQgIkNvbmRpdGlvbnMgRHVlIFRvIEh1bWFuIEltbXVub2RlZmljaWVuY3kgVmlydXMgKEhJVikiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDU2LjU0Jwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkh1bWFuIEltbXVub2RlZmljaWVuY3kgVmlydXMgKEhJVikgTGFib3JhdG9yeSBUZXN0IENvZGVzIChBYiBhbmQgQWcpIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA1Ni41MCcKdmFsdWVzZXQgIk9mZmljZSBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwMScKdmFsdWVzZXQgIk9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xJwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLCBJbml0aWFsIE9mZmljZSBWaXNpdCwgMCB0byAxNyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyMicKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDIzJwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlLCBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjQnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKCmNvZGUgIkhJViAxIGFuZCAyIHRlc3RzIC0gTWVhbmluZ2Z1bCBVc2Ugc2V0IjogJzc1NjIyLTEnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdISVYgMSBhbmQgMiB0ZXN0cyAtIE1lYW5pbmdmdWwgVXNlIHNldCcKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgoJIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKCVNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CglTREUuIlNERSBSYWNlIgoKZGVmaW5lICJTREUgU2V4IjoKCVNERS4iU0RFIFNleCIKCmRlZmluZSAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIjoKCSggW0VuY291bnRlcjogIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcywgSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMtSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCJdCgkJdW5pb24gW0VuY291bnRlcjogIlByZXZlbnRpdmUgQ2FyZSwgRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAwIHRvIDE3Il0KCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJPZmZpY2UgVmlzaXQiXSApIFZhbGlkRW5jb3VudGVyCgkJd2hlcmUgVmFsaWRFbmNvdW50ZXIuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCWFuZCBWYWxpZEVuY291bnRlci5wZXJpb2QgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKCSJJbml0aWFsIFBvcHVsYXRpb24iCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2x1c2lvbiI6CglleGlzdHMgKCBbQ29uZGl0aW9uOiBjb2RlIGluICJDb25kaXRpb25zIER1ZSBUbyBIdW1hbiBJbW11bm9kZWZpY2llbmN5IFZpcnVzIChISVYpIl0gSElWQ29uZGl0aW9ucwoJCQl3aGVyZSBISVZDb25kaXRpb25zLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKCQkJYW5kIEhJVkNvbmRpdGlvbnMudmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKCQkJYW5kIChISVZDb25kaXRpb25zLm9uc2V0IGFzIGRhdGVUaW1lKSBiZWZvcmUgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCSkKCmRlZmluZSAiTnVtZXJhdG9yIjoKCWV4aXN0cyAoICJISVYgVGVzdCBQZXJmb3JtZWQiICkKCmRlZmluZSAiSElWIFRlc3QgUGVyZm9ybWVkIjoKCSggW09ic2VydmF0aW9uOiAiSHVtYW4gSW1tdW5vZGVmaWNpZW5jeSBWaXJ1cyAoSElWKSBMYWJvcmF0b3J5IFRlc3QgQ29kZXMgKEFiIGFuZCBBZykiXQoJCXVuaW9uIFtPYnNlcnZhdGlvbjogIkhJViAxIGFuZCAyIHRlc3RzIC0gTWVhbmluZ2Z1bCBVc2Ugc2V0Il0gKSBISVZUZXN0CgkJd2hlcmUgKAoJCQkJKCBHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBISVZUZXN0LmVmZmVjdGl2ZSBhcyBkYXRlVGltZSk+PSAxNQoJCQkgCQlvciBHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBzdGFydCBvZiBISVZUZXN0LmVmZmVjdGl2ZSk+PSAxNSkKCQkJCQlhbmQgICggR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgSElWVGVzdC5lZmZlY3RpdmUgYXMgZGF0ZVRpbWUpPCA2NiApCgkJCQkJCW9yIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mIEhJVlRlc3QuZWZmZWN0aXZlKTwgNjYpCgoJCQlhbmQgSElWVGVzdC5zdGF0dXMgaW4geydmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcsICdwcmVsaW1pbmFyeSd9CgkJCWFuZCAoCgkJCQlISVZUZXN0LmVmZmVjdGl2ZSBzdGFydHMgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCW9yIEhJVlRlc3QuZWZmZWN0aXZlIGFzIGRhdGVUaW1lIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCQkJKQoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgogR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPj0gMTUKCQlhbmQgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPCA2NgoJCWFuZCBleGlzdHMgIlF1YWxpZnlpbmcgRW5jb3VudGVycyIK" - } - ] + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50" + } + } ] + }, { + "type": "Observation", + "codeFilter": [ { + "path": "code" + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE0zNDlfRkhJUjMgdmVyc2lvbiAnMi45LjAwMCcKCi8qCkJhc2VkIG9uIENNUzM0OXYyIC0gSElWIFNjcmVlbmluZwoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzIuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIHZlcnNpb24gJzEuMC4wJyBjYWxsZWQgU0RFCgpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwoKdmFsdWVzZXQgIkNvbmRpdGlvbnMgRHVlIFRvIEh1bWFuIEltbXVub2RlZmljaWVuY3kgVmlydXMgKEhJVikiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDU2LjU0Jwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkh1bWFuIEltbXVub2RlZmljaWVuY3kgVmlydXMgKEhJVikgTGFib3JhdG9yeSBUZXN0IENvZGVzIChBYiBhbmQgQWcpIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTA1Ni41MCcKdmFsdWVzZXQgIk9mZmljZSBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwMScKdmFsdWVzZXQgIk9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xJwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcyAtIEVzdGFibGlzaGVkIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDI1Jwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzLCBJbml0aWFsIE9mZmljZSBWaXNpdCwgMCB0byAxNyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAyMicKdmFsdWVzZXQgIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcy1Jbml0aWFsIE9mZmljZSBWaXNpdCwgMTggYW5kIFVwIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDIzJwp2YWx1ZXNldCAiUHJldmVudGl2ZSBDYXJlLCBFc3RhYmxpc2hlZCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwMjQnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKCmNvZGUgIkhJViAxIGFuZCAyIHRlc3RzIC0gTWVhbmluZ2Z1bCBVc2Ugc2V0IjogJzc1NjIyLTEnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdISVYgMSBhbmQgMiB0ZXN0cyAtIE1lYW5pbmdmdWwgVXNlIHNldCcKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4gZGVmYXVsdCBJbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKQoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgoJIFNERS4iU0RFIEV0aG5pY2l0eSIKCmRlZmluZSAiU0RFIFBheWVyIjoKCVNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CglTREUuIlNERSBSYWNlIgoKZGVmaW5lICJTREUgU2V4IjoKCVNERS4iU0RFIFNleCIKCmRlZmluZSAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIjoKCSggW0VuY291bnRlcjogIlByZXZlbnRpdmUgQ2FyZSBTZXJ2aWNlcywgSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDAgdG8gMTciXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJQcmV2ZW50aXZlIENhcmUgU2VydmljZXMtSW5pdGlhbCBPZmZpY2UgVmlzaXQsIDE4IGFuZCBVcCJdCgkJdW5pb24gW0VuY291bnRlcjogIlByZXZlbnRpdmUgQ2FyZSwgRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAwIHRvIDE3Il0KCQl1bmlvbiBbRW5jb3VudGVyOiAiUHJldmVudGl2ZSBDYXJlIFNlcnZpY2VzIC0gRXN0YWJsaXNoZWQgT2ZmaWNlIFZpc2l0LCAxOCBhbmQgVXAiXQoJCXVuaW9uIFtFbmNvdW50ZXI6ICJPZmZpY2UgVmlzaXQiXSApIFZhbGlkRW5jb3VudGVyCgkJd2hlcmUgVmFsaWRFbmNvdW50ZXIuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCWFuZCBWYWxpZEVuY291bnRlci5wZXJpb2QgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKCSJJbml0aWFsIFBvcHVsYXRpb24iCgpkZWZpbmUgIkRlbm9taW5hdG9yIEV4Y2x1c2lvbiI6CglleGlzdHMgKCBbQ29uZGl0aW9uOiBjb2RlIGluICJDb25kaXRpb25zIER1ZSBUbyBIdW1hbiBJbW11bm9kZWZpY2llbmN5IFZpcnVzIChISVYpIl0gSElWQ29uZGl0aW9ucwoJCQl3aGVyZSBISVZDb25kaXRpb25zLmNsaW5pY2FsU3RhdHVzID0gJ2FjdGl2ZScKCQkJYW5kIEhJVkNvbmRpdGlvbnMudmVyaWZpY2F0aW9uU3RhdHVzID0gJ2NvbmZpcm1lZCcKCQkJYW5kIChISVZDb25kaXRpb25zLm9uc2V0IGFzIGRhdGVUaW1lKSBiZWZvcmUgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCSkKCmRlZmluZSAiTnVtZXJhdG9yIjoKCWV4aXN0cyAoICJISVYgVGVzdCBQZXJmb3JtZWQiICkKCmRlZmluZSAiSElWIFRlc3QgUGVyZm9ybWVkIjoKCSggW09ic2VydmF0aW9uOiAiSHVtYW4gSW1tdW5vZGVmaWNpZW5jeSBWaXJ1cyAoSElWKSBMYWJvcmF0b3J5IFRlc3QgQ29kZXMgKEFiIGFuZCBBZykiXQoJCXVuaW9uIFtPYnNlcnZhdGlvbjogIkhJViAxIGFuZCAyIHRlc3RzIC0gTWVhbmluZ2Z1bCBVc2Ugc2V0Il0gKSBISVZUZXN0CgkJd2hlcmUgKAoJCQkJKCBHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBISVZUZXN0LmVmZmVjdGl2ZSBhcyBkYXRlVGltZSk+PSAxNQoJCQkgCQlvciBHbG9iYWwuIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpLCBzdGFydCBvZiBISVZUZXN0LmVmZmVjdGl2ZSk+PSAxNSkKCQkJCQlhbmQgICggR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgSElWVGVzdC5lZmZlY3RpdmUgYXMgZGF0ZVRpbWUpPCA2NiApCgkJCQkJCW9yIEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSksIHN0YXJ0IG9mIEhJVlRlc3QuZWZmZWN0aXZlKTwgNjYpCgoJCQlhbmQgSElWVGVzdC5zdGF0dXMgaW4geydmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcsICdwcmVsaW1pbmFyeSd9CgkJCWFuZCAoCgkJCQlISVZUZXN0LmVmZmVjdGl2ZSBzdGFydHMgYmVmb3JlIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgoJCQkJCW9yIEhJVlRlc3QuZWZmZWN0aXZlIGFzIGRhdGVUaW1lIGJlZm9yZSBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKCQkJKQoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgogR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPj0gMTUKCQlhbmQgR2xvYmFsLiJDYWxlbmRhckFnZUluWWVhcnNBdCIoRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpPCA2NgoJCWFuZCBleGlzdHMgIlF1YWxpZnlpbmcgRW5jb3VudGVycyIK" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-EXM506_FHIR3-1.3.000.json b/fhir3/input/resources/library/library-EXM506_FHIR3-1.3.000.json index a7dfcc06..55c71d51 100644 --- a/fhir3/input/resources/library/library-EXM506_FHIR3-1.3.000.json +++ b/fhir3/input/resources/library/library-EXM506_FHIR3-1.3.000.json @@ -3,158 +3,295 @@ "id": "library-EXM506-FHIR3-1.3.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM506-FHIR3-1.3.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">1.3.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"3\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"12\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM506_FHIR3 version '1.3.000'\n\n/*\nBased on CMS506v1 - Safe Use of Opioids - Concurrent Prescribing\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.org'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\n\nvalueset "All Primary and Secondary Cancer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161'\nvalueset "Encounter ED and Observation Stay": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Palliative Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Schedule II and Schedule III Opioids": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2'\nvalueset "Schedule IV Benzodiazepines": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Order": 'order' from "RequestIntent" display 'Order'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Hospital Based Encounter with Age Greater than or Equal to 18":\n\t["Encounter": "Encounter Inpatient"] EncounterInpatient //Need to name this//\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t and Global."LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n and Global.CalendarAgeInYearsAt(ToDateTime(Patient.birthDate), start of FHIRHelpers.ToInterval(EncounterInpatient.period)) >= 18\n\ndefine "ED or Observation Based Encounter with Age Greater than or Equal to 18":\n["Encounter": "Encounter ED and Observation Stay"] EDorObservationEncounter\n\twhere EDorObservationEncounter.status = 'finished'\n and EDorObservationEncounter.period ends during "Measurement Period"\n and Global.CalendarAgeInYearsAt(ToDateTime(Patient.birthDate), start of FHIRHelpers.ToInterval(EDorObservationEncounter.period)) >= 18\n\ndefine "Hospital Based Encounters for Adults":\n"Inpatient Hospital Based Encounter with Age Greater than or Equal to 18"\n\tunion "ED or Observation Based Encounter with Age Greater than or Equal to 18"\n\n/* define "Encounter Discharges with Opioids or Benzodiazepines":\n\t"Hospital Based Encounters for Adults" HospitalBasedEncounters\n\t\twith [MedicationRequest: medication in "Schedule II and Schedule III Opioids"] OpioidsDischarge\n such that OpioidsDischarge.authoredOn during HospitalBasedEncounters.period\n and OpioidsDischarge.intent = 'order'\n\t\t\t\t\tunion ("Hospital Based Encounters for Adults" HospitalBasedEncounters\n with [MedicationRequest: medication in "Schedule IV Benzodiazepines"] BenzodiazepineDischarge\n such that BenzodiazepineDischarge.authoredOn during HospitalBasedEncounters.period\n and BenzodiazepineDischarge.intent = 'order') */\n\ndefine "Encounter Discharges with Opioids or Benzodiazepines":\n\tfrom "Hospital Based Encounters for Adults" HospitalBasedEncounters,\n\t\t[MedicationRequest: medication in "Schedule II and Schedule III Opioids"] OpioidsDischarge,\n\t\t[MedicationRequest: medication in "Schedule IV Benzodiazepines"] BenzodiazepineDischarge\n\t\t\twhere OpioidsDischarge.authoredOn during HospitalBasedEncounters.period\n\t\t\t\tand OpioidsDischarge.intent = 'order'\n\t\t\t\tand BenzodiazepineDischarge.authoredOn during HospitalBasedEncounters.period\n\t and BenzodiazepineDischarge.intent = 'order'\n\t\t\treturn HospitalBasedEncounters\n\ndefine "Initial Population":\n"Encounter Discharges with Opioids or Benzodiazepines"\n\ndefine "Denominator":\n"Initial Population"\n\n/* define "Denominator Exclusions":\n\t"Hospital Based Encounters for Adults" HospitalBasedEncounter\n\twith [Condition: code in "All Primary and Secondary Cancer"]Cancer\n such that Cancer.clinicalStatus = 'active'\n and Cancer.verificationStatus = 'confirmed'\n and Cancer.onset overlaps HospitalBasedEncounter.period)\n union ((["ProcedureRequest": "Palliative Care"]\n\t\t\tunion ["ProcedureRequest": "Hospice Care"] ) PalliativeOrHospiceCareOrder\n\t\t\twhere PalliativeOrHospiceCareOrder.intent = 'order'\n and PalliativeOrHospiceCareOrder.authoredOn during HospitalBasedEncounter.period)\n union ("Hospital Based Encounters for Adults" HospitalBasedEncounter\n (["Procedure": "Palliative Care"]\n \tunion ["Procedure": "Hospice Care"] ) PalliativeOrHospiceCarePerformed\n \t\t\t\t\twhere PalliativeOrHospiceCarePerformed.period overlaps HospitalBasedEncounter.period) */\n\ndefine "Denominator Exclusions":\n\tfrom "Hospital Based Encounters for Adults" HospitalBasedEncounter,\n\t\t[Condition: code in "All Primary and Secondary Cancer"] Cancer,\n\t\t(\n\t\t\t["ProcedureRequest": "Palliative Care"]\n\t\t\t\tunion ["ProcedureRequest": "Hospice Care"]\n\t\t) PalliativeOrHospiceCareOrder,\n\t\t(\n\t\t\t["Procedure": "Palliative Care"] union ["Procedure": "Hospice Care"]\n\t\t) PalliativeOrHospiceCarePerformed\n\t\t\twhere Cancer.clinicalStatus = 'active'\n\t\t\t\tand Cancer.verificationStatus = 'confirmed'\n\t\t\t\tand Cancer.onset overlaps HospitalBasedEncounter.period\n\t\t\t\tand PalliativeOrHospiceCareOrder.intent = 'order'\n\t and PalliativeOrHospiceCareOrder.authoredOn during HospitalBasedEncounter.period\n\t\t\t\tand PalliativeOrHospiceCarePerformed.performed overlaps HospitalBasedEncounter.period\n\t\t\treturn HospitalBasedEncounter\n\n/* define "Encounter with Opiates and Benzodiazepines at Discharge":\n (("Hospital Based Encounters for Adults" HospitalBasedEncounter\n with ["MedicationRequest"]: OpioidsDischarge\n such that (OpioidsDischarge.medication in "Schedule II and Schedule III Opioids"\n where OpioidsDischarge.authoredOn during HospitalBasedEncounters.period\n and OpioidsDischarge.intent = 'order')\n with ["MedicationRequest"]: BenzodiazepineDischarge\n such that (BenzodiazepineDischarge.medication in "Schedule IV Benzodiazepines"\n where BenzodiazepineDischarge.authoredOn during HospitalBasedEncounters.period\n and BenzodiazepineDischarge.intent = 'order')) */\n\ndefine "Encounter with Opiates and Benzodiazepines at Discharge":\n\tfrom "Hospital Based Encounters for Adults" HospitalBasedEncounter,\n\t\t[MedicationRequest: "Schedule II and Schedule III Opioids"] OpioidsDischarge,\n\t\t[MedicationRequest: "Schedule IV Benzodiazepines"] BenzodiazepineDischarge\n\t\t\twhere OpioidsDischarge.authoredOn during HospitalBasedEncounter.period\n\t \tand OpioidsDischarge.intent = 'order'\n\t\t\t\tand BenzodiazepineDischarge.authoredOn during HospitalBasedEncounter.period\n and BenzodiazepineDischarge.intent = 'order'\n\t\t\treturn HospitalBasedEncounter\n\n/* define "Has Two or More Opioids at Discharge":\n "Hospital Based Encounters for Adults" HospitalBasedEncounter\n with Count(["MedicationRequest"]: Opioids\n such that Opioids.medication in "Schedule II and Schedule III Opioids"\n \twhere Opioids.authorDatetime during HospitalBasedEncounter.relevantPeriod\n \t)>= 2 */\n\ndefine "Has Two or More Opioids at Discharge":\n\t"Hospital Based Encounters for Adults" HospitalBasedEncounter\n\t\twhere Count(\n\t\t\t[MedicationRequest: "Schedule II and Schedule III Opioids"] Opioids\n\t\t\t\twhere Opioids.authoredOn during HospitalBasedEncounter.period\n\t\t) >= 2\n\ndefine "Numerator":\n\t"Has Two or More Opioids at Discharge"\n\t\tunion "Encounter with Opiates and Benzodiazepines at Discharge"\n\n/* define function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "Global.ToDate"(Value DateTime):\nDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "Global.CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n years between ToDate(BirthDateTime)and ToDate(AsOf) */\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM506-FHIR3-1.3.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">1.3.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"3\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"12\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM506_FHIR3 version '1.3.000'\n\n/*\nBased on CMS506v1 - Safe Use of Opioids - Concurrent Prescribing\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.org'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\n\nvalueset "All Primary and Secondary Cancer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161'\nvalueset "Encounter ED and Observation Stay": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Palliative Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Schedule II and Schedule III Opioids": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2'\nvalueset "Schedule IV Benzodiazepines": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Order": 'order' from "RequestIntent" display 'Order'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Hospital Based Encounter with Age Greater than or Equal to 18":\n\t["Encounter": "Encounter Inpatient"] EncounterInpatient //Need to name this//\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t and Global."LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n and Global.CalendarAgeInYearsAt(ToDateTime(Patient.birthDate), start of FHIRHelpers.ToInterval(EncounterInpatient.period)) >= 18\n\ndefine "ED or Observation Based Encounter with Age Greater than or Equal to 18":\n["Encounter": "Encounter ED and Observation Stay"] EDorObservationEncounter\n\twhere EDorObservationEncounter.status = 'finished'\n and EDorObservationEncounter.period ends during "Measurement Period"\n and Global.CalendarAgeInYearsAt(ToDateTime(Patient.birthDate), start of FHIRHelpers.ToInterval(EDorObservationEncounter.period)) >= 18\n\ndefine "Hospital Based Encounters for Adults":\n"Inpatient Hospital Based Encounter with Age Greater than or Equal to 18"\n\tunion "ED or Observation Based Encounter with Age Greater than or Equal to 18"\n\n/* define "Encounter Discharges with Opioids or Benzodiazepines":\n\t"Hospital Based Encounters for Adults" HospitalBasedEncounters\n\t\twith [MedicationRequest: medication in "Schedule II and Schedule III Opioids"] OpioidsDischarge\n such that OpioidsDischarge.authoredOn during HospitalBasedEncounters.period\n and OpioidsDischarge.intent = 'order'\n\t\t\t\t\tunion ("Hospital Based Encounters for Adults" HospitalBasedEncounters\n with [MedicationRequest: medication in "Schedule IV Benzodiazepines"] BenzodiazepineDischarge\n such that BenzodiazepineDischarge.authoredOn during HospitalBasedEncounters.period\n and BenzodiazepineDischarge.intent = 'order') */\n\ndefine "Encounter Discharges with Opioids or Benzodiazepines":\n\tfrom "Hospital Based Encounters for Adults" HospitalBasedEncounters,\n\t\t[MedicationRequest: medication in "Schedule II and Schedule III Opioids"] OpioidsDischarge,\n\t\t[MedicationRequest: medication in "Schedule IV Benzodiazepines"] BenzodiazepineDischarge\n\t\t\twhere OpioidsDischarge.authoredOn during HospitalBasedEncounters.period\n\t\t\t\tand OpioidsDischarge.intent = 'order'\n\t\t\t\tand BenzodiazepineDischarge.authoredOn during HospitalBasedEncounters.period\n\t and BenzodiazepineDischarge.intent = 'order'\n\t\t\treturn HospitalBasedEncounters\n\ndefine "Initial Population":\n"Encounter Discharges with Opioids or Benzodiazepines"\n\ndefine "Denominator":\n"Initial Population"\n\n/* define "Denominator Exclusions":\n\t"Hospital Based Encounters for Adults" HospitalBasedEncounter\n\twith [Condition: code in "All Primary and Secondary Cancer"]Cancer\n such that Cancer.clinicalStatus = 'active'\n and Cancer.verificationStatus = 'confirmed'\n and Cancer.onset overlaps HospitalBasedEncounter.period)\n union ((["ProcedureRequest": "Palliative Care"]\n\t\t\tunion ["ProcedureRequest": "Hospice Care"] ) PalliativeOrHospiceCareOrder\n\t\t\twhere PalliativeOrHospiceCareOrder.intent = 'order'\n and PalliativeOrHospiceCareOrder.authoredOn during HospitalBasedEncounter.period)\n union ("Hospital Based Encounters for Adults" HospitalBasedEncounter\n (["Procedure": "Palliative Care"]\n \tunion ["Procedure": "Hospice Care"] ) PalliativeOrHospiceCarePerformed\n \t\t\t\t\twhere PalliativeOrHospiceCarePerformed.period overlaps HospitalBasedEncounter.period) */\n\ndefine "Denominator Exclusions":\n\tfrom "Hospital Based Encounters for Adults" HospitalBasedEncounter,\n\t\t[Condition: code in "All Primary and Secondary Cancer"] Cancer,\n\t\t(\n\t\t\t["ProcedureRequest": "Palliative Care"]\n\t\t\t\tunion ["ProcedureRequest": "Hospice Care"]\n\t\t) PalliativeOrHospiceCareOrder,\n\t\t(\n\t\t\t["Procedure": "Palliative Care"] union ["Procedure": "Hospice Care"]\n\t\t) PalliativeOrHospiceCarePerformed\n\t\t\twhere Cancer.clinicalStatus = 'active'\n\t\t\t\tand Cancer.verificationStatus = 'confirmed'\n\t\t\t\tand Cancer.onset overlaps HospitalBasedEncounter.period\n\t\t\t\tand PalliativeOrHospiceCareOrder.intent = 'order'\n\t and PalliativeOrHospiceCareOrder.authoredOn during HospitalBasedEncounter.period\n\t\t\t\tand PalliativeOrHospiceCarePerformed.performed overlaps HospitalBasedEncounter.period\n\t\t\treturn HospitalBasedEncounter\n\n/* define "Encounter with Opiates and Benzodiazepines at Discharge":\n (("Hospital Based Encounters for Adults" HospitalBasedEncounter\n with ["MedicationRequest"]: OpioidsDischarge\n such that (OpioidsDischarge.medication in "Schedule II and Schedule III Opioids"\n where OpioidsDischarge.authoredOn during HospitalBasedEncounters.period\n and OpioidsDischarge.intent = 'order')\n with ["MedicationRequest"]: BenzodiazepineDischarge\n such that (BenzodiazepineDischarge.medication in "Schedule IV Benzodiazepines"\n where BenzodiazepineDischarge.authoredOn during HospitalBasedEncounters.period\n and BenzodiazepineDischarge.intent = 'order')) */\n\ndefine "Encounter with Opiates and Benzodiazepines at Discharge":\n\tfrom "Hospital Based Encounters for Adults" HospitalBasedEncounter,\n\t\t[MedicationRequest: "Schedule II and Schedule III Opioids"] OpioidsDischarge,\n\t\t[MedicationRequest: "Schedule IV Benzodiazepines"] BenzodiazepineDischarge\n\t\t\twhere OpioidsDischarge.authoredOn during HospitalBasedEncounter.period\n\t \tand OpioidsDischarge.intent = 'order'\n\t\t\t\tand BenzodiazepineDischarge.authoredOn during HospitalBasedEncounter.period\n and BenzodiazepineDischarge.intent = 'order'\n\t\t\treturn HospitalBasedEncounter\n\n/* define "Has Two or More Opioids at Discharge":\n "Hospital Based Encounters for Adults" HospitalBasedEncounter\n with Count(["MedicationRequest"]: Opioids\n such that Opioids.medication in "Schedule II and Schedule III Opioids"\n \twhere Opioids.authorDatetime during HospitalBasedEncounter.relevantPeriod\n \t)>= 2 */\n\ndefine "Has Two or More Opioids at Discharge":\n\t"Hospital Based Encounters for Adults" HospitalBasedEncounter\n\t\twhere Count(\n\t\t\t[MedicationRequest: "Schedule II and Schedule III Opioids"] Opioids\n\t\t\t\twhere Opioids.authoredOn during HospitalBasedEncounter.period\n\t\t) >= 2\n\ndefine "Numerator":\n\t"Has Two or More Opioids at Discharge"\n\t\tunion "Encounter with Opiates and Benzodiazepines at Discharge"\n\n/* define function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "Global.ToDate"(Value DateTime):\nDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "Global.CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n years between ToDate(BirthDateTime)and ToDate(AsOf) */\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "1.3.000", "name": "EXM506_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/Library/FHIR-ModelInfo|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/MATGlobalCommonFunctions_FHIR3|4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/FHIRHelpers|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/SupplementalDataElements_FHIR3|1.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/diagnosis-role" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://loinc.org" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://snomed.org" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/request-intent" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1" + } + } ], + "parameter": [ { + "name": "Measurement Period", + "use": "in", + "min": 0, + "max": "1", + "type": "Period" + }, { + "name": "Patient", + "use": "out", + "min": 0, + "max": "1", + "type": "Patient" + }, { + "name": "Inpatient Hospital Based Encounter with Age Greater than or Equal to 18", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "ED or Observation Based Encounter with Age Greater than or Equal to 18", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Hospital Based Encounters for Adults", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Encounter Discharges with Opioids or Benzodiazepines", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Initial Population", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Denominator Exclusions", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Encounter with Opiates and Benzodiazepines at Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Has Two or More Opioids at Discharge", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Numerator", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2" } - } - ], - "dataRequirement": [ - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" - } - ] - }, - { - "type": "MedicationRequest", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2" - } - ] - }, - { - "type": "MedicationRequest", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161" - } - ] - }, - { - "type": "ProcedureRequest", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162" - } - ] - }, - { - "type": "ProcedureRequest", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20" - } - ] - }, - { - "type": "MedicationRequest", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2" - } - ] - }, - { - "type": "MedicationRequest", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1" - } - ] - }, - { - "type": "MedicationRequest", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2" - } - ] - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTUwNl9GSElSMyIgdmVyc2lvbj0iMS4zLjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9Ikdsb2JhbCIgcGF0aD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSI0LjAuMDAwIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlNERSIgcGF0aD0iU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIiB2ZXJzaW9uPSIxLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJEaWFnbm9zaXMgUm9sZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iTE9JTkMiIGlkPSJodHRwOi8vbG9pbmMub3JnIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlNOT01FRENUIiBpZD0iaHR0cDovL3Nub21lZC5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUmVxdWVzdEludGVudCIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIEVEIGFuZCBPYnNlcnZhdGlvbiBTdGF5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaWNlIENhcmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4zMTU3LjEwMDQuMjAiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYWxsaWF0aXZlIENhcmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTYyIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlBheWVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEyNS4yIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEyNS4xIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iQmlydGhkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik9yZGVyIiBpZD0ib3JkZXIiIGRpc3BsYXk9Ik9yZGVyIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJlcXVlc3RJbnRlbnQiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IklucGF0aWVudCBIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJJbnBhdGllbnQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTGVuZ3RoSW5EYXlzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTgiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVEIG9yIE9ic2VydmF0aW9uIEJhc2VkIEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkVEb3JPYnNlcnZhdGlvbkVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbmNvdW50ZXIgRUQgYW5kIE9ic2VydmF0aW9uIFN0YXkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRURvck9ic2VydmF0aW9uRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEb3JPYnNlcnZhdGlvbkVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEb3JPYnNlcnZhdGlvbkVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE4IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IklucGF0aWVudCBIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRUQgb3IgT2JzZXJ2YXRpb24gQmFzZWQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgRGlzY2hhcmdlcyB3aXRoIE9waW9pZHMgb3IgQmVuem9kaWF6ZXBpbmVzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJIb3NwaXRhbEJhc2VkRW5jb3VudGVycyI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik9waW9pZHNEaXNjaGFyZ2UiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJCZW56b2RpYXplcGluZURpc2NoYXJnZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik9waW9pZHNEaXNjaGFyZ2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSG9zcGl0YWxCYXNlZEVuY291bnRlcnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpbnRlbnQiIHNjb3BlPSJPcGlvaWRzRGlzY2hhcmdlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvcmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSG9zcGl0YWxCYXNlZEVuY291bnRlcnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpbnRlbnQiIHNjb3BlPSJCZW56b2RpYXplcGluZURpc2NoYXJnZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9Ikhvc3BpdGFsQmFzZWRFbmNvdW50ZXJzIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFbmNvdW50ZXIgRGlzY2hhcmdlcyB3aXRoIE9waW9pZHMgb3IgQmVuem9kaWF6ZXBpbmVzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlbm9taW5hdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZW5vbWluYXRvciBFeGNsdXNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJIb3NwaXRhbEJhc2VkRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9Ikhvc3BpdGFsIEJhc2VkIEVuY291bnRlcnMgZm9yIEFkdWx0cyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQ2FuY2VyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkFsbCBQcmltYXJ5IGFuZCBTZWNvbmRhcnkgQ2FuY2VyIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlBhbGxpYXRpdmUgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSG9zcGljZSBDYXJlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVQZXJmb3JtZWQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlBhbGxpYXRpdmUgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIb3NwaWNlIENhcmUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJDYW5jZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmVyaWZpY2F0aW9uU3RhdHVzIiBzY29wZT0iQ2FuY2VyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb25maXJtZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3ZlcmxhcHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiBzY29wZT0iQ2FuY2VyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9Ikhvc3BpdGFsQmFzZWRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJpbnRlbnQiIHNjb3BlPSJQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvcmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJIb3NwaXRhbEJhc2VkRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPdmVybGFwcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVQZXJmb3JtZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSG9zcGl0YWxCYXNlZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9Ikhvc3BpdGFsQmFzZWRFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIHdpdGggT3BpYXRlcyBhbmQgQmVuem9kaWF6ZXBpbmVzIGF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGl0YWxCYXNlZEVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik9waW9pZHNEaXNjaGFyZ2UiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJCZW56b2RpYXplcGluZURpc2NoYXJnZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik9waW9pZHNEaXNjaGFyZ2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiBzY29wZT0iSG9zcGl0YWxCYXNlZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9Ik9waW9pZHNEaXNjaGFyZ2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJCZW56b2RpYXplcGluZURpc2NoYXJnZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJIb3NwaXRhbEJhc2VkRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaW50ZW50IiBzY29wZT0iQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbEJhc2VkRW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkhhcyBUd28gb3IgTW9yZSBPcGlvaWRzIGF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGl0YWxCYXNlZEVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvdW50Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ik9waW9pZHMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJPcGlvaWRzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9Ikhvc3BpdGFsQmFzZWRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOdW1lcmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkhhcyBUd28gb3IgTW9yZSBPcGlvaWRzIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciB3aXRoIE9waWF0ZXMgYW5kIEJlbnpvZGlhemVwaW5lcyBhdCBEaXNjaGFyZ2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE01MDZfRkhJUjMgdmVyc2lvbiAnMS4zLjAwMCcKCi8qCkJhc2VkIG9uIENNUzUwNnYxIC0gU2FmZSBVc2Ugb2YgT3Bpb2lkcyAtIENvbmN1cnJlbnQgUHJlc2NyaWJpbmcKKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKY29kZXN5c3RlbSAiRGlhZ25vc2lzIFJvbGUiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZScKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5vcmcnCmNvZGVzeXN0ZW0gIlJlcXVlc3RJbnRlbnQiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCcKCnZhbHVlc2V0ICJBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciI6ICAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE2MScKdmFsdWVzZXQgIkVuY291bnRlciBFRCBhbmQgT2JzZXJ2YXRpb24gU3RheSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFdGhuaWNpdHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM3Jwp2YWx1ZXNldCAiSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjMxNTcuMTAwNC4yMCcKdmFsdWVzZXQgIk9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xJwp2YWx1ZXNldCAiUGFsbGlhdGl2ZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNjInCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiUmFjZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzYnCnZhbHVlc2V0ICJTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMiOiAgJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEyNS4yJwp2YWx1ZXNldCAiU2NoZWR1bGUgSVYgQmVuem9kaWF6ZXBpbmVzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEyNS4xJwoKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJPcmRlciI6ICdvcmRlcicgZnJvbSAiUmVxdWVzdEludGVudCIgZGlzcGxheSAnT3JkZXInCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+Cgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiSW5wYXRpZW50IEhvc3BpdGFsIEJhc2VkIEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiOgoJWyJFbmNvdW50ZXIiOiAiRW5jb3VudGVyIElucGF0aWVudCJdIEVuY291bnRlcklucGF0aWVudCAvL05lZWQgdG8gbmFtZSB0aGlzLy8KCQl3aGVyZSBFbmNvdW50ZXJJbnBhdGllbnQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCSAgYW5kIEdsb2JhbC4iTGVuZ3RoSW5EYXlzIihFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kKSA8PSAxMjAKCQkJYW5kIEVuY291bnRlcklucGF0aWVudC5wZXJpb2QgZW5kcyBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgYW5kIEdsb2JhbC5DYWxlbmRhckFnZUluWWVhcnNBdChUb0RhdGVUaW1lKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kKSkgPj0gMTgKCmRlZmluZSAiRUQgb3IgT2JzZXJ2YXRpb24gQmFzZWQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCI6ClsiRW5jb3VudGVyIjogIkVuY291bnRlciBFRCBhbmQgT2JzZXJ2YXRpb24gU3RheSJdIEVEb3JPYnNlcnZhdGlvbkVuY291bnRlcgoJd2hlcmUgRURvck9ic2VydmF0aW9uRW5jb3VudGVyLnN0YXR1cyA9ICdmaW5pc2hlZCcKICAgYW5kIEVEb3JPYnNlcnZhdGlvbkVuY291bnRlci5wZXJpb2QgZW5kcyBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgYW5kIEdsb2JhbC5DYWxlbmRhckFnZUluWWVhcnNBdChUb0RhdGVUaW1lKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRG9yT2JzZXJ2YXRpb25FbmNvdW50ZXIucGVyaW9kKSkgPj0gMTgKCmRlZmluZSAiSG9zcGl0YWwgQmFzZWQgRW5jb3VudGVycyBmb3IgQWR1bHRzIjoKIklucGF0aWVudCBIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IgoJdW5pb24gIkVEIG9yIE9ic2VydmF0aW9uIEJhc2VkIEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiCgovKiBkZWZpbmUgIkVuY291bnRlciBEaXNjaGFyZ2VzIHdpdGggT3Bpb2lkcyBvciBCZW56b2RpYXplcGluZXMiOgoJIkhvc3BpdGFsIEJhc2VkIEVuY291bnRlcnMgZm9yIEFkdWx0cyIgSG9zcGl0YWxCYXNlZEVuY291bnRlcnMKCQl3aXRoIFtNZWRpY2F0aW9uUmVxdWVzdDogbWVkaWNhdGlvbiBpbiAiU2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzIl0gT3Bpb2lkc0Rpc2NoYXJnZQogICAgc3VjaCB0aGF0IE9waW9pZHNEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSG9zcGl0YWxCYXNlZEVuY291bnRlcnMucGVyaW9kCiAgICAgICAgICBhbmQgT3Bpb2lkc0Rpc2NoYXJnZS5pbnRlbnQgPSAnb3JkZXInCgkJCQkJdW5pb24gKCJIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMiIEhvc3BpdGFsQmFzZWRFbmNvdW50ZXJzCiAgICB3aXRoIFtNZWRpY2F0aW9uUmVxdWVzdDogbWVkaWNhdGlvbiBpbiAiU2NoZWR1bGUgSVYgQmVuem9kaWF6ZXBpbmVzIl0gQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UKICAgIHN1Y2ggdGhhdCBCZW56b2RpYXplcGluZURpc2NoYXJnZS5hdXRob3JlZE9uIGR1cmluZyBIb3NwaXRhbEJhc2VkRW5jb3VudGVycy5wZXJpb2QKICAgICAgICAgICBhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuaW50ZW50ID0gJ29yZGVyJykgKi8KCmRlZmluZSAiRW5jb3VudGVyIERpc2NoYXJnZXMgd2l0aCBPcGlvaWRzIG9yIEJlbnpvZGlhemVwaW5lcyI6Cglmcm9tICJIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMiIEhvc3BpdGFsQmFzZWRFbmNvdW50ZXJzLAoJCVtNZWRpY2F0aW9uUmVxdWVzdDogbWVkaWNhdGlvbiBpbiAiU2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzIl0gT3Bpb2lkc0Rpc2NoYXJnZSwKCQlbTWVkaWNhdGlvblJlcXVlc3Q6IG1lZGljYXRpb24gaW4gIlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyJdIEJlbnpvZGlhemVwaW5lRGlzY2hhcmdlCgkJCXdoZXJlIE9waW9pZHNEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSG9zcGl0YWxCYXNlZEVuY291bnRlcnMucGVyaW9kCgkJCQlhbmQgT3Bpb2lkc0Rpc2NoYXJnZS5pbnRlbnQgPSAnb3JkZXInCgkJCQlhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSG9zcGl0YWxCYXNlZEVuY291bnRlcnMucGVyaW9kCgkgICAgICBhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuaW50ZW50ID0gJ29yZGVyJwoJCQlyZXR1cm4gSG9zcGl0YWxCYXNlZEVuY291bnRlcnMKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKIkVuY291bnRlciBEaXNjaGFyZ2VzIHdpdGggT3Bpb2lkcyBvciBCZW56b2RpYXplcGluZXMiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKIkluaXRpYWwgUG9wdWxhdGlvbiIKCi8qIGRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6CgkiSG9zcGl0YWwgQmFzZWQgRW5jb3VudGVycyBmb3IgQWR1bHRzIiBIb3NwaXRhbEJhc2VkRW5jb3VudGVyCgl3aXRoIFtDb25kaXRpb246IGNvZGUgaW4gIkFsbCBQcmltYXJ5IGFuZCBTZWNvbmRhcnkgQ2FuY2VyIl1DYW5jZXIKICAgICAgIHN1Y2ggdGhhdCBDYW5jZXIuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJwogICAgICAgYW5kIENhbmNlci52ZXJpZmljYXRpb25TdGF0dXMgPSAnY29uZmlybWVkJwogICAgICAgYW5kIENhbmNlci5vbnNldCBvdmVybGFwcyBIb3NwaXRhbEJhc2VkRW5jb3VudGVyLnBlcmlvZCkKICAgICB1bmlvbiAoKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJQYWxsaWF0aXZlIENhcmUiXQoJCQl1bmlvbiBbIlByb2NlZHVyZVJlcXVlc3QiOiAiSG9zcGljZSBDYXJlIl0gKSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyCgkJCXdoZXJlIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlT3JkZXIuaW50ZW50ID0gJ29yZGVyJwogICAgICBhbmQgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlci5hdXRob3JlZE9uIGR1cmluZyBIb3NwaXRhbEJhc2VkRW5jb3VudGVyLnBlcmlvZCkKICAgIHVuaW9uICgiSG9zcGl0YWwgQmFzZWQgRW5jb3VudGVycyBmb3IgQWR1bHRzIiBIb3NwaXRhbEJhc2VkRW5jb3VudGVyCiAgICAoWyJQcm9jZWR1cmUiOiAiUGFsbGlhdGl2ZSBDYXJlIl0KICAgIAl1bmlvbiBbIlByb2NlZHVyZSI6ICJIb3NwaWNlIENhcmUiXSApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlUGVyZm9ybWVkCiAgICAJCQkJCXdoZXJlIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlUGVyZm9ybWVkLnBlcmlvZCBvdmVybGFwcyBIb3NwaXRhbEJhc2VkRW5jb3VudGVyLnBlcmlvZCkgKi8KCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6Cglmcm9tICJIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMiIEhvc3BpdGFsQmFzZWRFbmNvdW50ZXIsCgkJW0NvbmRpdGlvbjogY29kZSBpbiAiQWxsIFByaW1hcnkgYW5kIFNlY29uZGFyeSBDYW5jZXIiXSBDYW5jZXIsCgkJKAoJCQlbIlByb2NlZHVyZVJlcXVlc3QiOiAiUGFsbGlhdGl2ZSBDYXJlIl0KCQkJCXVuaW9uIFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJIb3NwaWNlIENhcmUiXQoJCSkgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlciwKCQkoCgkJCVsiUHJvY2VkdXJlIjogIlBhbGxpYXRpdmUgQ2FyZSJdIHVuaW9uIFsiUHJvY2VkdXJlIjogIkhvc3BpY2UgQ2FyZSJdCgkJKSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZVBlcmZvcm1lZAoJCQl3aGVyZSBDYW5jZXIuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJwoJCQkJYW5kIENhbmNlci52ZXJpZmljYXRpb25TdGF0dXMgPSAnY29uZmlybWVkJwoJCQkJYW5kIENhbmNlci5vbnNldCBvdmVybGFwcyBIb3NwaXRhbEJhc2VkRW5jb3VudGVyLnBlcmlvZAoJCQkJYW5kIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlT3JkZXIuaW50ZW50ID0gJ29yZGVyJwoJICAgICAgYW5kIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlT3JkZXIuYXV0aG9yZWRPbiBkdXJpbmcgSG9zcGl0YWxCYXNlZEVuY291bnRlci5wZXJpb2QKCQkJCWFuZCBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZVBlcmZvcm1lZC5wZXJmb3JtZWQgb3ZlcmxhcHMgSG9zcGl0YWxCYXNlZEVuY291bnRlci5wZXJpb2QKCQkJcmV0dXJuIEhvc3BpdGFsQmFzZWRFbmNvdW50ZXIKCi8qIGRlZmluZSAiRW5jb3VudGVyIHdpdGggT3BpYXRlcyBhbmQgQmVuem9kaWF6ZXBpbmVzIGF0IERpc2NoYXJnZSI6CiAoKCJIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMiIEhvc3BpdGFsQmFzZWRFbmNvdW50ZXIKICAgd2l0aCBbIk1lZGljYXRpb25SZXF1ZXN0Il06IE9waW9pZHNEaXNjaGFyZ2UKICAgc3VjaCB0aGF0IChPcGlvaWRzRGlzY2hhcmdlLm1lZGljYXRpb24gaW4gIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyIKICAgd2hlcmUgT3Bpb2lkc0Rpc2NoYXJnZS5hdXRob3JlZE9uIGR1cmluZyBIb3NwaXRhbEJhc2VkRW5jb3VudGVycy5wZXJpb2QKICAgYW5kIE9waW9pZHNEaXNjaGFyZ2UuaW50ZW50ID0gJ29yZGVyJykKICAgICB3aXRoIFsiTWVkaWNhdGlvblJlcXVlc3QiXTogQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UKICAgICAgc3VjaCB0aGF0IChCZW56b2RpYXplcGluZURpc2NoYXJnZS5tZWRpY2F0aW9uIGluICJTY2hlZHVsZSBJViBCZW56b2RpYXplcGluZXMiCiAgICAgICB3aGVyZSBCZW56b2RpYXplcGluZURpc2NoYXJnZS5hdXRob3JlZE9uIGR1cmluZyBIb3NwaXRhbEJhc2VkRW5jb3VudGVycy5wZXJpb2QKICAgICAgICBhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuaW50ZW50ID0gJ29yZGVyJykpICovCgpkZWZpbmUgIkVuY291bnRlciB3aXRoIE9waWF0ZXMgYW5kIEJlbnpvZGlhemVwaW5lcyBhdCBEaXNjaGFyZ2UiOgoJZnJvbSAiSG9zcGl0YWwgQmFzZWQgRW5jb3VudGVycyBmb3IgQWR1bHRzIiBIb3NwaXRhbEJhc2VkRW5jb3VudGVyLAoJCVtNZWRpY2F0aW9uUmVxdWVzdDogIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZHNEaXNjaGFyZ2UsCgkJW01lZGljYXRpb25SZXF1ZXN0OiAiU2NoZWR1bGUgSVYgQmVuem9kaWF6ZXBpbmVzIl0gQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UKCQkJd2hlcmUgT3Bpb2lkc0Rpc2NoYXJnZS5hdXRob3JlZE9uIGR1cmluZyBIb3NwaXRhbEJhc2VkRW5jb3VudGVyLnBlcmlvZAoJICAgIAlhbmQgT3Bpb2lkc0Rpc2NoYXJnZS5pbnRlbnQgPSAnb3JkZXInCgkJCQlhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSG9zcGl0YWxCYXNlZEVuY291bnRlci5wZXJpb2QKICAgICAgICBhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuaW50ZW50ID0gJ29yZGVyJwoJCQlyZXR1cm4gSG9zcGl0YWxCYXNlZEVuY291bnRlcgoKLyogZGVmaW5lICJIYXMgVHdvIG9yIE1vcmUgT3Bpb2lkcyBhdCBEaXNjaGFyZ2UiOgogICJIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMiIEhvc3BpdGFsQmFzZWRFbmNvdW50ZXIKICAgIHdpdGggQ291bnQoWyJNZWRpY2F0aW9uUmVxdWVzdCJdOiAgT3Bpb2lkcwogIHN1Y2ggdGhhdCBPcGlvaWRzLm1lZGljYXRpb24gaW4gIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyIKICAgIAl3aGVyZSBPcGlvaWRzLmF1dGhvckRhdGV0aW1lIGR1cmluZyBIb3NwaXRhbEJhc2VkRW5jb3VudGVyLnJlbGV2YW50UGVyaW9kCiAgICAJKT49IDIgKi8KCmRlZmluZSAiSGFzIFR3byBvciBNb3JlIE9waW9pZHMgYXQgRGlzY2hhcmdlIjoKCSJIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMiIEhvc3BpdGFsQmFzZWRFbmNvdW50ZXIKCQl3aGVyZSBDb3VudCgKCQkJW01lZGljYXRpb25SZXF1ZXN0OiAiU2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzIl0gT3Bpb2lkcwoJCQkJd2hlcmUgT3Bpb2lkcy5hdXRob3JlZE9uIGR1cmluZyBIb3NwaXRhbEJhc2VkRW5jb3VudGVyLnBlcmlvZAoJCSkgPj0gMgoKZGVmaW5lICJOdW1lcmF0b3IiOgoJIkhhcyBUd28gb3IgTW9yZSBPcGlvaWRzIGF0IERpc2NoYXJnZSIKCQl1bmlvbiAiRW5jb3VudGVyIHdpdGggT3BpYXRlcyBhbmQgQmVuem9kaWF6ZXBpbmVzIGF0IERpc2NoYXJnZSIKCi8qIGRlZmluZSBmdW5jdGlvbiAiTGVuZ3RoSW5EYXlzIihWYWx1ZSBJbnRlcnZhbDxEYXRlVGltZT4pOgoJZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgVmFsdWUgYW5kIGVuZCBvZiBWYWx1ZQoKZGVmaW5lIGZ1bmN0aW9uICJHbG9iYWwuVG9EYXRlIihWYWx1ZSBEYXRlVGltZSk6CkRhdGVUaW1lKHllYXIgZnJvbSBWYWx1ZSwgbW9udGggZnJvbSBWYWx1ZSwgZGF5IGZyb20gVmFsdWUsIDAsIDAsIDAsIDAsIHRpbWV6b25lIGZyb20gVmFsdWUpCgpkZWZpbmUgZnVuY3Rpb24gIkdsb2JhbC5DYWxlbmRhckFnZUluWWVhcnNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6CiAgICAgIHllYXJzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKSAqLwo=" - } - ] + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1" + } + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161" + } + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162" + } + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20" + } + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2" + } + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1" + } + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2" + } + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE01MDZfRkhJUjMgdmVyc2lvbiAnMS4zLjAwMCcKCi8qCkJhc2VkIG9uIENNUzUwNnYxIC0gU2FmZSBVc2Ugb2YgT3Bpb2lkcyAtIENvbmN1cnJlbnQgUHJlc2NyaWJpbmcKKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKY29kZXN5c3RlbSAiRGlhZ25vc2lzIFJvbGUiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZScKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5vcmcnCmNvZGVzeXN0ZW0gIlJlcXVlc3RJbnRlbnQiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCcKCnZhbHVlc2V0ICJBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciI6ICAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE2MScKdmFsdWVzZXQgIkVuY291bnRlciBFRCBhbmQgT2JzZXJ2YXRpb24gU3RheSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFdGhuaWNpdHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM3Jwp2YWx1ZXNldCAiSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjMxNTcuMTAwNC4yMCcKdmFsdWVzZXQgIk9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xJwp2YWx1ZXNldCAiUGFsbGlhdGl2ZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNjInCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwp2YWx1ZXNldCAiUmFjZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzYnCnZhbHVlc2V0ICJTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMiOiAgJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEyNS4yJwp2YWx1ZXNldCAiU2NoZWR1bGUgSVYgQmVuem9kaWF6ZXBpbmVzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEyNS4xJwoKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJPcmRlciI6ICdvcmRlcicgZnJvbSAiUmVxdWVzdEludGVudCIgZGlzcGxheSAnT3JkZXInCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+Cgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiSW5wYXRpZW50IEhvc3BpdGFsIEJhc2VkIEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiOgoJWyJFbmNvdW50ZXIiOiAiRW5jb3VudGVyIElucGF0aWVudCJdIEVuY291bnRlcklucGF0aWVudCAvL05lZWQgdG8gbmFtZSB0aGlzLy8KCQl3aGVyZSBFbmNvdW50ZXJJbnBhdGllbnQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCSAgYW5kIEdsb2JhbC4iTGVuZ3RoSW5EYXlzIihFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kKSA8PSAxMjAKCQkJYW5kIEVuY291bnRlcklucGF0aWVudC5wZXJpb2QgZW5kcyBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgYW5kIEdsb2JhbC5DYWxlbmRhckFnZUluWWVhcnNBdChUb0RhdGVUaW1lKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kKSkgPj0gMTgKCmRlZmluZSAiRUQgb3IgT2JzZXJ2YXRpb24gQmFzZWQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCI6ClsiRW5jb3VudGVyIjogIkVuY291bnRlciBFRCBhbmQgT2JzZXJ2YXRpb24gU3RheSJdIEVEb3JPYnNlcnZhdGlvbkVuY291bnRlcgoJd2hlcmUgRURvck9ic2VydmF0aW9uRW5jb3VudGVyLnN0YXR1cyA9ICdmaW5pc2hlZCcKICAgYW5kIEVEb3JPYnNlcnZhdGlvbkVuY291bnRlci5wZXJpb2QgZW5kcyBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgYW5kIEdsb2JhbC5DYWxlbmRhckFnZUluWWVhcnNBdChUb0RhdGVUaW1lKFBhdGllbnQuYmlydGhEYXRlKSwgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChFRG9yT2JzZXJ2YXRpb25FbmNvdW50ZXIucGVyaW9kKSkgPj0gMTgKCmRlZmluZSAiSG9zcGl0YWwgQmFzZWQgRW5jb3VudGVycyBmb3IgQWR1bHRzIjoKIklucGF0aWVudCBIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IgoJdW5pb24gIkVEIG9yIE9ic2VydmF0aW9uIEJhc2VkIEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiCgovKiBkZWZpbmUgIkVuY291bnRlciBEaXNjaGFyZ2VzIHdpdGggT3Bpb2lkcyBvciBCZW56b2RpYXplcGluZXMiOgoJIkhvc3BpdGFsIEJhc2VkIEVuY291bnRlcnMgZm9yIEFkdWx0cyIgSG9zcGl0YWxCYXNlZEVuY291bnRlcnMKCQl3aXRoIFtNZWRpY2F0aW9uUmVxdWVzdDogbWVkaWNhdGlvbiBpbiAiU2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzIl0gT3Bpb2lkc0Rpc2NoYXJnZQogICAgc3VjaCB0aGF0IE9waW9pZHNEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSG9zcGl0YWxCYXNlZEVuY291bnRlcnMucGVyaW9kCiAgICAgICAgICBhbmQgT3Bpb2lkc0Rpc2NoYXJnZS5pbnRlbnQgPSAnb3JkZXInCgkJCQkJdW5pb24gKCJIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMiIEhvc3BpdGFsQmFzZWRFbmNvdW50ZXJzCiAgICB3aXRoIFtNZWRpY2F0aW9uUmVxdWVzdDogbWVkaWNhdGlvbiBpbiAiU2NoZWR1bGUgSVYgQmVuem9kaWF6ZXBpbmVzIl0gQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UKICAgIHN1Y2ggdGhhdCBCZW56b2RpYXplcGluZURpc2NoYXJnZS5hdXRob3JlZE9uIGR1cmluZyBIb3NwaXRhbEJhc2VkRW5jb3VudGVycy5wZXJpb2QKICAgICAgICAgICBhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuaW50ZW50ID0gJ29yZGVyJykgKi8KCmRlZmluZSAiRW5jb3VudGVyIERpc2NoYXJnZXMgd2l0aCBPcGlvaWRzIG9yIEJlbnpvZGlhemVwaW5lcyI6Cglmcm9tICJIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMiIEhvc3BpdGFsQmFzZWRFbmNvdW50ZXJzLAoJCVtNZWRpY2F0aW9uUmVxdWVzdDogbWVkaWNhdGlvbiBpbiAiU2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzIl0gT3Bpb2lkc0Rpc2NoYXJnZSwKCQlbTWVkaWNhdGlvblJlcXVlc3Q6IG1lZGljYXRpb24gaW4gIlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyJdIEJlbnpvZGlhemVwaW5lRGlzY2hhcmdlCgkJCXdoZXJlIE9waW9pZHNEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSG9zcGl0YWxCYXNlZEVuY291bnRlcnMucGVyaW9kCgkJCQlhbmQgT3Bpb2lkc0Rpc2NoYXJnZS5pbnRlbnQgPSAnb3JkZXInCgkJCQlhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSG9zcGl0YWxCYXNlZEVuY291bnRlcnMucGVyaW9kCgkgICAgICBhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuaW50ZW50ID0gJ29yZGVyJwoJCQlyZXR1cm4gSG9zcGl0YWxCYXNlZEVuY291bnRlcnMKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKIkVuY291bnRlciBEaXNjaGFyZ2VzIHdpdGggT3Bpb2lkcyBvciBCZW56b2RpYXplcGluZXMiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKIkluaXRpYWwgUG9wdWxhdGlvbiIKCi8qIGRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6CgkiSG9zcGl0YWwgQmFzZWQgRW5jb3VudGVycyBmb3IgQWR1bHRzIiBIb3NwaXRhbEJhc2VkRW5jb3VudGVyCgl3aXRoIFtDb25kaXRpb246IGNvZGUgaW4gIkFsbCBQcmltYXJ5IGFuZCBTZWNvbmRhcnkgQ2FuY2VyIl1DYW5jZXIKICAgICAgIHN1Y2ggdGhhdCBDYW5jZXIuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJwogICAgICAgYW5kIENhbmNlci52ZXJpZmljYXRpb25TdGF0dXMgPSAnY29uZmlybWVkJwogICAgICAgYW5kIENhbmNlci5vbnNldCBvdmVybGFwcyBIb3NwaXRhbEJhc2VkRW5jb3VudGVyLnBlcmlvZCkKICAgICB1bmlvbiAoKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJQYWxsaWF0aXZlIENhcmUiXQoJCQl1bmlvbiBbIlByb2NlZHVyZVJlcXVlc3QiOiAiSG9zcGljZSBDYXJlIl0gKSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyCgkJCXdoZXJlIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlT3JkZXIuaW50ZW50ID0gJ29yZGVyJwogICAgICBhbmQgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlci5hdXRob3JlZE9uIGR1cmluZyBIb3NwaXRhbEJhc2VkRW5jb3VudGVyLnBlcmlvZCkKICAgIHVuaW9uICgiSG9zcGl0YWwgQmFzZWQgRW5jb3VudGVycyBmb3IgQWR1bHRzIiBIb3NwaXRhbEJhc2VkRW5jb3VudGVyCiAgICAoWyJQcm9jZWR1cmUiOiAiUGFsbGlhdGl2ZSBDYXJlIl0KICAgIAl1bmlvbiBbIlByb2NlZHVyZSI6ICJIb3NwaWNlIENhcmUiXSApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlUGVyZm9ybWVkCiAgICAJCQkJCXdoZXJlIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlUGVyZm9ybWVkLnBlcmlvZCBvdmVybGFwcyBIb3NwaXRhbEJhc2VkRW5jb3VudGVyLnBlcmlvZCkgKi8KCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6Cglmcm9tICJIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMiIEhvc3BpdGFsQmFzZWRFbmNvdW50ZXIsCgkJW0NvbmRpdGlvbjogY29kZSBpbiAiQWxsIFByaW1hcnkgYW5kIFNlY29uZGFyeSBDYW5jZXIiXSBDYW5jZXIsCgkJKAoJCQlbIlByb2NlZHVyZVJlcXVlc3QiOiAiUGFsbGlhdGl2ZSBDYXJlIl0KCQkJCXVuaW9uIFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJIb3NwaWNlIENhcmUiXQoJCSkgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlciwKCQkoCgkJCVsiUHJvY2VkdXJlIjogIlBhbGxpYXRpdmUgQ2FyZSJdIHVuaW9uIFsiUHJvY2VkdXJlIjogIkhvc3BpY2UgQ2FyZSJdCgkJKSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZVBlcmZvcm1lZAoJCQl3aGVyZSBDYW5jZXIuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJwoJCQkJYW5kIENhbmNlci52ZXJpZmljYXRpb25TdGF0dXMgPSAnY29uZmlybWVkJwoJCQkJYW5kIENhbmNlci5vbnNldCBvdmVybGFwcyBIb3NwaXRhbEJhc2VkRW5jb3VudGVyLnBlcmlvZAoJCQkJYW5kIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlT3JkZXIuaW50ZW50ID0gJ29yZGVyJwoJICAgICAgYW5kIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlT3JkZXIuYXV0aG9yZWRPbiBkdXJpbmcgSG9zcGl0YWxCYXNlZEVuY291bnRlci5wZXJpb2QKCQkJCWFuZCBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZVBlcmZvcm1lZC5wZXJmb3JtZWQgb3ZlcmxhcHMgSG9zcGl0YWxCYXNlZEVuY291bnRlci5wZXJpb2QKCQkJcmV0dXJuIEhvc3BpdGFsQmFzZWRFbmNvdW50ZXIKCi8qIGRlZmluZSAiRW5jb3VudGVyIHdpdGggT3BpYXRlcyBhbmQgQmVuem9kaWF6ZXBpbmVzIGF0IERpc2NoYXJnZSI6CiAoKCJIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMiIEhvc3BpdGFsQmFzZWRFbmNvdW50ZXIKICAgd2l0aCBbIk1lZGljYXRpb25SZXF1ZXN0Il06IE9waW9pZHNEaXNjaGFyZ2UKICAgc3VjaCB0aGF0IChPcGlvaWRzRGlzY2hhcmdlLm1lZGljYXRpb24gaW4gIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyIKICAgd2hlcmUgT3Bpb2lkc0Rpc2NoYXJnZS5hdXRob3JlZE9uIGR1cmluZyBIb3NwaXRhbEJhc2VkRW5jb3VudGVycy5wZXJpb2QKICAgYW5kIE9waW9pZHNEaXNjaGFyZ2UuaW50ZW50ID0gJ29yZGVyJykKICAgICB3aXRoIFsiTWVkaWNhdGlvblJlcXVlc3QiXTogQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UKICAgICAgc3VjaCB0aGF0IChCZW56b2RpYXplcGluZURpc2NoYXJnZS5tZWRpY2F0aW9uIGluICJTY2hlZHVsZSBJViBCZW56b2RpYXplcGluZXMiCiAgICAgICB3aGVyZSBCZW56b2RpYXplcGluZURpc2NoYXJnZS5hdXRob3JlZE9uIGR1cmluZyBIb3NwaXRhbEJhc2VkRW5jb3VudGVycy5wZXJpb2QKICAgICAgICBhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuaW50ZW50ID0gJ29yZGVyJykpICovCgpkZWZpbmUgIkVuY291bnRlciB3aXRoIE9waWF0ZXMgYW5kIEJlbnpvZGlhemVwaW5lcyBhdCBEaXNjaGFyZ2UiOgoJZnJvbSAiSG9zcGl0YWwgQmFzZWQgRW5jb3VudGVycyBmb3IgQWR1bHRzIiBIb3NwaXRhbEJhc2VkRW5jb3VudGVyLAoJCVtNZWRpY2F0aW9uUmVxdWVzdDogIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZHNEaXNjaGFyZ2UsCgkJW01lZGljYXRpb25SZXF1ZXN0OiAiU2NoZWR1bGUgSVYgQmVuem9kaWF6ZXBpbmVzIl0gQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UKCQkJd2hlcmUgT3Bpb2lkc0Rpc2NoYXJnZS5hdXRob3JlZE9uIGR1cmluZyBIb3NwaXRhbEJhc2VkRW5jb3VudGVyLnBlcmlvZAoJICAgIAlhbmQgT3Bpb2lkc0Rpc2NoYXJnZS5pbnRlbnQgPSAnb3JkZXInCgkJCQlhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSG9zcGl0YWxCYXNlZEVuY291bnRlci5wZXJpb2QKICAgICAgICBhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuaW50ZW50ID0gJ29yZGVyJwoJCQlyZXR1cm4gSG9zcGl0YWxCYXNlZEVuY291bnRlcgoKLyogZGVmaW5lICJIYXMgVHdvIG9yIE1vcmUgT3Bpb2lkcyBhdCBEaXNjaGFyZ2UiOgogICJIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMiIEhvc3BpdGFsQmFzZWRFbmNvdW50ZXIKICAgIHdpdGggQ291bnQoWyJNZWRpY2F0aW9uUmVxdWVzdCJdOiAgT3Bpb2lkcwogIHN1Y2ggdGhhdCBPcGlvaWRzLm1lZGljYXRpb24gaW4gIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyIKICAgIAl3aGVyZSBPcGlvaWRzLmF1dGhvckRhdGV0aW1lIGR1cmluZyBIb3NwaXRhbEJhc2VkRW5jb3VudGVyLnJlbGV2YW50UGVyaW9kCiAgICAJKT49IDIgKi8KCmRlZmluZSAiSGFzIFR3byBvciBNb3JlIE9waW9pZHMgYXQgRGlzY2hhcmdlIjoKCSJIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMiIEhvc3BpdGFsQmFzZWRFbmNvdW50ZXIKCQl3aGVyZSBDb3VudCgKCQkJW01lZGljYXRpb25SZXF1ZXN0OiAiU2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzIl0gT3Bpb2lkcwoJCQkJd2hlcmUgT3Bpb2lkcy5hdXRob3JlZE9uIGR1cmluZyBIb3NwaXRhbEJhc2VkRW5jb3VudGVyLnBlcmlvZAoJCSkgPj0gMgoKZGVmaW5lICJOdW1lcmF0b3IiOgoJIkhhcyBUd28gb3IgTW9yZSBPcGlvaWRzIGF0IERpc2NoYXJnZSIKCQl1bmlvbiAiRW5jb3VudGVyIHdpdGggT3BpYXRlcyBhbmQgQmVuem9kaWF6ZXBpbmVzIGF0IERpc2NoYXJnZSIKCi8qIGRlZmluZSBmdW5jdGlvbiAiTGVuZ3RoSW5EYXlzIihWYWx1ZSBJbnRlcnZhbDxEYXRlVGltZT4pOgoJZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgVmFsdWUgYW5kIGVuZCBvZiBWYWx1ZQoKZGVmaW5lIGZ1bmN0aW9uICJHbG9iYWwuVG9EYXRlIihWYWx1ZSBEYXRlVGltZSk6CkRhdGVUaW1lKHllYXIgZnJvbSBWYWx1ZSwgbW9udGggZnJvbSBWYWx1ZSwgZGF5IGZyb20gVmFsdWUsIDAsIDAsIDAsIDAsIHRpbWV6b25lb2Zmc2V0IGZyb20gVmFsdWUpCgpkZWZpbmUgZnVuY3Rpb24gIkdsb2JhbC5DYWxlbmRhckFnZUluWWVhcnNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6CiAgICAgIHllYXJzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKSAqLwo=" + }, { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjMiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTUwNl9GSElSMyIgdmVyc2lvbj0iMS4zLjAwMCIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9Ijc6MS03OjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxIj4KICAgICAgICAgICAgICAgPGE6cz51c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyIiBsb2NhdG9yPSI5OjEtOTo3MCIgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iNC4wLjAwMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+TUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMiIGxvY2F0b3I9IjEwOjEtMTA6NTQiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNCIgbG9jYXRvcj0iMTE6MS0xMTo2NSIgbG9jYWxJZGVudGlmaWVyPSJTREUiIHBhdGg9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvaW5jbHVkZXM+CiAgIDxwYXJhbWV0ZXJzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI2IiBsb2NhdG9yPSIzMzoxLTMzOjQ5IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNiI+CiAgICAgICAgICAgICAgIDxhOnM+cGFyYW1ldGVyICZxdW90O01lYXN1cmVtZW50IFBlcmlvZCZxdW90OyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWwmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI1IiBsb2NhdG9yPSIzMzozMi0zMzo0OSIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGUgbG9jYWxJZD0iMjQiIGxvY2F0b3I9IjMzOjQxLTMzOjQ4IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvZGVTeXN0ZW1zPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUiIGxvY2F0b3I9IjEzOjEtMTM6NjUiIG5hbWU9IkRpYWdub3NpcyBSb2xlIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7RGlhZ25vc2lzIFJvbGUmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2IiBsb2NhdG9yPSIxNDoxLTE0OjM4IiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O0xPSU5DJnF1b3Q7OiAnaHR0cDovL2xvaW5jLm9yZyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNyIgbG9jYXRvcj0iMTU6MS0xNTo0MiIgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLm9yZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjciPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7U05PTUVEQ1QmcXVvdDs6ICdodHRwOi8vc25vbWVkLm9yZyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOCIgbG9jYXRvcj0iMTY6MS0xNjo2NCIgbmFtZT0iUmVxdWVzdEludGVudCIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O1JlcXVlc3RJbnRlbnQmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3JlcXVlc3QtaW50ZW50JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9jb2RlU3lzdGVtcz4KICAgPHZhbHVlU2V0cz4KICAgICAgPGRlZiBsb2NhbElkPSI5IiBsb2NhdG9yPSIxODoxLTE4OjExNSIgbmFtZT0iQWxsIFByaW1hcnkgYW5kIFNlY29uZGFyeSBDYW5jZXIiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTYxIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOSI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7QWxsIFByaW1hcnkgYW5kIFNlY29uZGFyeSBDYW5jZXImcXVvdDs6ICAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE2MSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAiIGxvY2F0b3I9IjE5OjEtMTk6MTE4IiBuYW1lPSJFbmNvdW50ZXIgRUQgYW5kIE9ic2VydmF0aW9uIFN0YXkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0VuY291bnRlciBFRCBhbmQgT2JzZXJ2YXRpb24gU3RheSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTInPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExIiBsb2NhdG9yPSIyMDoxLTIwOjEwMCIgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtFbmNvdW50ZXIgSW5wYXRpZW50JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMiIgbG9jYXRvcj0iMjE6MS0yMTo4NyIgbmFtZT0iRXRobmljaXR5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM3IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTIiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0V0aG5pY2l0eSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTMiIGxvY2F0b3I9IjIyOjEtMjI6OTYiIG5hbWU9Ikhvc3BpY2UgQ2FyZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjMxNTcuMTAwNC4yMCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtIb3NwaWNlIENhcmUmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4zMTU3LjEwMDQuMjAnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE0IiBsb2NhdG9yPSIyMzoxLTIzOjk3IiBuYW1lPSJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O09OQyBBZG1pbmlzdHJhdGl2ZSBTZXgmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE1IiBsb2NhdG9yPSIyNDoxLTI0Ojk3IiBuYW1lPSJQYWxsaWF0aXZlIENhcmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTYyIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTUiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1BhbGxpYXRpdmUgQ2FyZSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNjInPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE2IiBsb2NhdG9yPSIyNToxLTI1Ojg0IiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNiI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7UGF5ZXImcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNyIgbG9jYXRvcj0iMjY6MS0yNjo4MiIgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE3Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtSYWNlJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxOCIgbG9jYXRvcj0iMjc6MS0yNzoxMTciIG5hbWU9IlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEyNS4yIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTgiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1NjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyZxdW90OzogICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTkiIGxvY2F0b3I9IjI4OjEtMjg6MTA3IiBuYW1lPSJTY2hlZHVsZSBJViBCZW56b2RpYXplcGluZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE5Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtTY2hlZHVsZSBJViBCZW56b2RpYXplcGluZXMmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdmFsdWVTZXRzPgogICA8Y29kZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjEiIGxvY2F0b3I9IjMwOjEtMzA6NjEiIG5hbWU9IkJpcnRoZGF0ZSIgaWQ9IjIxMTEyLTgiIGRpc3BsYXk9IkJpcnRoIGRhdGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMSI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtCaXJ0aGRhdGUmcXVvdDs6ICcyMTExMi04JyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIwIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtMT0lOQyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnQmlydGggZGF0ZSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMjAiIGxvY2F0b3I9IjMwOjM0LTMwOjQwIiBuYW1lPSJMT0lOQyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMyIgbG9jYXRvcj0iMzE6MS0zMTo1OCIgbmFtZT0iT3JkZXIiIGlkPSJvcmRlciIgZGlzcGxheT0iT3JkZXIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMyI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtPcmRlciZxdW90OzogJ29yZGVyJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIyIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtSZXF1ZXN0SW50ZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdPcmRlcic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMjIiIGxvY2F0b3I9IjMxOjI4LTMxOjQyIiBuYW1lPSJSZXF1ZXN0SW50ZW50Ii8+CiAgICAgIDwvZGVmPgogICA8L2NvZGVzPgogICA8Y29udGV4dHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzU6MS0zNToxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhdG9yPSIzNToxLTM1OjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNToxLTM1OjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1OSIgbG9jYXRvcj0iMzc6MS00MjoxMzQiIG5hbWU9IklucGF0aWVudCBIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtJbnBhdGllbnQgSG9zcGl0YWwgQmFzZWQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7RW5jb3VudGVyJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtFbmNvdW50ZXIgSW5wYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBFbmNvdW50ZXJJbnBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiAvL05lZWQgdG8gbmFtZSB0aGlzLy8KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVySW5wYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2ZpbmlzaGVkJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TGVuZ3RoSW5EYXlzJnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVySW5wYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNyI+ICZsdDs9IDEyMDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCWFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXJJbnBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzIj4gZW5kcyBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01lYXN1cmVtZW50IFBlcmlvZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q2FsZW5kYXJBZ2VJblllYXJzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZVRpbWUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YmlydGhEYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0ludGVydmFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVySW5wYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTUiPiA+PSAxODwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTgiIGxvY2F0b3I9IjM4OjItNDI6MTM0IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI4IiBsb2NhdG9yPSIzODoyLTM4OjU2IiBhbGlhcz0iRW5jb3VudGVySW5wYXRpZW50Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjciIGxvY2F0b3I9IjM4OjItMzg6MzciIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIzODoxNi0zODozNiIgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI1NyIgbG9jYXRvcj0iMzk6My00MjoxMzQiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NCIgbG9jYXRvcj0iMzk6OS00MTo2NSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM5IiBsb2NhdG9yPSIzOTo5LTQwOjYzIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzIiIGxvY2F0b3I9IjM5OjktMzk6NDYiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwIiBsb2NhdG9yPSIzOTo5LTM5OjMzIiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxIiBsb2NhdG9yPSIzOTozNy0zOTo0NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM4IiBsb2NhdG9yPSI0MDo5LTQwOjYzIiB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNiIgbG9jYXRvcj0iNDA6OS00MDo1NiIgbmFtZT0iTGVuZ3RoSW5EYXlzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1IiBsb2NhdG9yPSI0MDozMS00MDo1NSIgcGF0aD0icGVyaW9kIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3IiBsb2NhdG9yPSI0MDo2MS00MDo2MyIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MyIgbG9jYXRvcj0iNDE6OC00MTo2NSIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNDE6MzQtNDE6MzciIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQxIiBsb2NhdG9yPSI0MTo4LTQxOjMyIiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDIiIGxvY2F0b3I9IjQxOjQ2LTQxOjY1IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU2IiBsb2NhdG9yPSI0MjoxMS00MjoxMzQiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU0IiBsb2NhdG9yPSI0MjoxMS00MjoxMjgiIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0OCIgbG9jYXRvcj0iNDI6MzktNDI6NjciIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ3IiBsb2NhdG9yPSI0Mjo1MC00Mjo2NiIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ2IiBsb2NhdG9yPSI0Mjo1MC00Mjo1NiIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTMiIGxvY2F0b3I9IjQyOjcwLTQyOjEyNyIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTIiIGxvY2F0b3I9IjQyOjc5LTQyOjEyNyIgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MSIgbG9jYXRvcj0iNDI6MTAyLTQyOjEyNiIgcGF0aD0icGVyaW9kIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTUiIGxvY2F0b3I9IjQyOjEzMy00MjoxMzQiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTgiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4NSIgbG9jYXRvcj0iNDQ6MS00ODoxMzciIG5hbWU9IkVEIG9yIE9ic2VydmF0aW9uIEJhc2VkIEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4NSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0VEIG9yIE9ic2VydmF0aW9uIEJhc2VkIEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgmcXVvdDs6CjwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7RW5jb3VudGVyJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtFbmNvdW50ZXIgRUQgYW5kIE9ic2VydmF0aW9uIFN0YXkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEVEb3JPYnNlcnZhdGlvbkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+Cgk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FRG9yT2JzZXJ2YXRpb25FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nZmluaXNoZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVEb3JPYnNlcnZhdGlvbkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjkiPiBlbmRzIGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HbG9iYWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5DYWxlbmRhckFnZUluWWVhcnNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9EYXRlVGltZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5iaXJ0aERhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvSW50ZXJ2YWwoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FRG9yT2JzZXJ2YXRpb25FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MSI+ID49IDE4PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4NCIgbG9jYXRvcj0iNDU6MS00ODoxMzciIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjEiIGxvY2F0b3I9IjQ1OjEtNDU6NzUiIGFsaWFzPSJFRG9yT2JzZXJ2YXRpb25FbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2MCIgbG9jYXRvcj0iNDU6MS00NTo1MCIgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjQ1OjE1LTQ1OjQ5IiBuYW1lPSJFbmNvdW50ZXIgRUQgYW5kIE9ic2VydmF0aW9uIFN0YXkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iODMiIGxvY2F0b3I9IjQ2OjItNDg6MTM3IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzAiIGxvY2F0b3I9IjQ2OjgtNDc6NzEiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2NSIgbG9jYXRvcj0iNDY6OC00Njo1MSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjMiIGxvY2F0b3I9IjQ2OjgtNDY6MzgiIHBhdGg9InN0YXR1cyIgc2NvcGU9IkVEb3JPYnNlcnZhdGlvbkVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjQiIGxvY2F0b3I9IjQ2OjQyLTQ2OjUxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjkiIGxvY2F0b3I9IjQ3OjgtNDc6NzEiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjQ3OjQwLTQ3OjQzIiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2NyIgbG9jYXRvcj0iNDc6OC00NzozOCIgcGF0aD0icGVyaW9kIiBzY29wZT0iRURvck9ic2VydmF0aW9uRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY4IiBsb2NhdG9yPSI0Nzo1Mi00Nzo3MSIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MiIgbG9jYXRvcj0iNDg6OC00ODoxMzciIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjgwIiBsb2NhdG9yPSI0ODo4LTQ4OjEzMSIgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc0IiBsb2NhdG9yPSI0ODozNi00ODo2NCIgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzMiIGxvY2F0b3I9IjQ4OjQ3LTQ4OjYzIiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzIiIGxvY2F0b3I9IjQ4OjQ3LTQ4OjUzIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3OSIgbG9jYXRvcj0iNDg6NjctNDg6MTMwIiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3OCIgbG9jYXRvcj0iNDg6NzYtNDg6MTMwIiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc3IiBsb2NhdG9yPSI0ODo5OS00ODoxMjkiIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEb3JPYnNlcnZhdGlvbkVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjgxIiBsb2NhdG9yPSI0ODoxMzYtNDg6MTM3IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjE4IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODkiIGxvY2F0b3I9IjUwOjEtNTI6NzkiIG5hbWU9Ikhvc3BpdGFsIEJhc2VkIEVuY291bnRlcnMgZm9yIEFkdWx0cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7SG9zcGl0YWwgQmFzZWQgRW5jb3VudGVycyBmb3IgQWR1bHRzJnF1b3Q7Ogo8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4OCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lucGF0aWVudCBIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJdW5pb24gPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0VEIG9yIE9ic2VydmF0aW9uIEJhc2VkIEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4OCIgbG9jYXRvcj0iNTE6MS01Mjo3OSIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODYiIGxvY2F0b3I9IjUxOjEtNTE6NzMiIG5hbWU9IklucGF0aWVudCBIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4NyIgbG9jYXRvcj0iNTI6OC01Mjo3OSIgbmFtZT0iRUQgb3IgT2JzZXJ2YXRpb24gQmFzZWQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMjAiIGxvY2F0b3I9IjY0OjEtNzI6MzMiIG5hbWU9IkVuY291bnRlciBEaXNjaGFyZ2VzIHdpdGggT3Bpb2lkcyBvciBCZW56b2RpYXplcGluZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMjAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtFbmNvdW50ZXIgRGlzY2hhcmdlcyB3aXRoIE9waW9pZHMgb3IgQmVuem9kaWF6ZXBpbmVzJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTE5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5mcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SG9zcGl0YWwgQmFzZWQgRW5jb3VudGVycyBmb3IgQWR1bHRzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSG9zcGl0YWxCYXNlZEVuY291bnRlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LAoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltNZWRpY2F0aW9uUmVxdWVzdDogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bWVkaWNhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBPcGlvaWRzRGlzY2hhcmdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiwKCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bTWVkaWNhdGlvblJlcXVlc3Q6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm1lZGljYXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1NjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5PcGlvaWRzRGlzY2hhcmdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YXV0aG9yZWRPbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAwIj4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SG9zcGl0YWxCYXNlZEVuY291bnRlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJCWFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5PcGlvaWRzRGlzY2hhcmdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmludGVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nb3JkZXInPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCQlhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YXV0aG9yZWRPbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEwIj4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ib3NwaXRhbEJhc2VkRW5jb3VudGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkgICAgICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aW50ZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidvcmRlcic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SG9zcGl0YWxCYXNlZEVuY291bnRlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTE5IiBsb2NhdG9yPSI2NToyLTcyOjMzIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjkxIiBsb2NhdG9yPSI2NTo3LTY1OjY4IiBhbGlhcz0iSG9zcGl0YWxCYXNlZEVuY291bnRlcnMiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5MCIgbG9jYXRvcj0iNjU6Ny02NTo0NCIgbmFtZT0iSG9zcGl0YWwgQmFzZWQgRW5jb3VudGVycyBmb3IgQWR1bHRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI5MyIgbG9jYXRvcj0iNjY6My02Njo5MiIgYWxpYXM9Ik9waW9pZHNEaXNjaGFyZ2UiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5MiIgbG9jYXRvcj0iNjY6My02Njo3NSIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iNjY6MzctNjY6NzQiIG5hbWU9IlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTUiIGxvY2F0b3I9IjY3OjMtNjc6OTAiIGFsaWFzPSJCZW56b2RpYXplcGluZURpc2NoYXJnZSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijk0IiBsb2NhdG9yPSI2NzozLTY3OjY2IiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSI2NzozNy02Nzo2NSIgbmFtZT0iU2NoZWR1bGUgSVYgQmVuem9kaWF6ZXBpbmVzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjExNiIgbG9jYXRvcj0iNjg6NC03MTo1MSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExMSIgbG9jYXRvcj0iNjg6MTAtNzA6ODAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDUiIGxvY2F0b3I9IjY4OjEwLTY5OjQxIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTAwIiBsb2NhdG9yPSI2ODoxMC02ODo3NCIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5NyIgbG9jYXRvcj0iNjg6MTAtNjg6MzYiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJPcGlvaWRzRGlzY2hhcmdlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk5IiBsb2NhdG9yPSI2ODo0NS02ODo3NCIgcGF0aD0icGVyaW9kIiBzY29wZT0iSG9zcGl0YWxCYXNlZEVuY291bnRlcnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTA0IiBsb2NhdG9yPSI2OTo5LTY5OjQxIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDIiIGxvY2F0b3I9IjY5OjktNjk6MzEiIHBhdGg9ImludGVudCIgc2NvcGU9Ik9waW9pZHNEaXNjaGFyZ2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEwMyIgbG9jYXRvcj0iNjk6MzUtNjk6NDEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvcmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExMCIgbG9jYXRvcj0iNzA6OS03MDo4MCIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDciIGxvY2F0b3I9IjcwOjktNzA6NDIiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJCZW56b2RpYXplcGluZURpc2NoYXJnZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDkiIGxvY2F0b3I9IjcwOjUxLTcwOjgwIiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJIb3NwaXRhbEJhc2VkRW5jb3VudGVycyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExNSIgbG9jYXRvcj0iNzE6MTItNzE6NTEiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExMyIgbG9jYXRvcj0iNzE6MTItNzE6NDEiIHBhdGg9ImludGVudCIgc2NvcGU9IkJlbnpvZGlhemVwaW5lRGlzY2hhcmdlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTQiIGxvY2F0b3I9IjcxOjQ1LTcxOjUxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSIxMTgiIGxvY2F0b3I9IjcyOjQtNzI6MzMiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMTciIGxvY2F0b3I9IjcyOjExLTcyOjMzIiBuYW1lPSJIb3NwaXRhbEJhc2VkRW5jb3VudGVycyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEyMiIgbG9jYXRvcj0iNzQ6MS03NTo1NCIgbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTIyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7SW5pdGlhbCBQb3B1bGF0aW9uJnF1b3Q7Ogo8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjEiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0VuY291bnRlciBEaXNjaGFyZ2VzIHdpdGggT3Bpb2lkcyBvciBCZW56b2RpYXplcGluZXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyMSIgbG9jYXRvcj0iNzU6MS03NTo1NCIgbmFtZT0iRW5jb3VudGVyIERpc2NoYXJnZXMgd2l0aCBPcGlvaWRzIG9yIEJlbnpvZGlhemVwaW5lcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTI0IiBsb2NhdG9yPSI3NzoxLTc4OjIwIiBuYW1lPSJEZW5vbWluYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyNCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0Rlbm9taW5hdG9yJnF1b3Q7Ogo8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjMiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0luaXRpYWwgUG9wdWxhdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTIzIiBsb2NhdG9yPSI3ODoxLTc4OjIwIiBuYW1lPSJJbml0aWFsIFBvcHVsYXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE3MiIgbG9jYXRvcj0iOTU6MS0xMTE6MzIiIG5hbWU9IkRlbm9taW5hdG9yIEV4Y2x1c2lvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNzIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtEZW5vbWluYXRvciBFeGNsdXNpb25zJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTcxIj4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5mcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtIb3NwaXRhbCBCYXNlZCBFbmNvdW50ZXJzIGZvciBBZHVsdHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBIb3NwaXRhbEJhc2VkRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiwKCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bQ29uZGl0aW9uOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb2RlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gQ2FuY2VyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiwKCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KAoJCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O1Byb2NlZHVyZVJlcXVlc3QmcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1BhbGxpYXRpdmUgQ2FyZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQkJdW5pb24gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7UHJvY2VkdXJlUmVxdWVzdCZxdW90OzogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SG9zcGljZSBDYXJlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCSk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlT3JkZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LAoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oCgkJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7UHJvY2VkdXJlJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQYWxsaWF0aXZlIENhcmUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdW5pb24gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7UHJvY2VkdXJlJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtIb3NwaWNlIENhcmUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVQZXJmb3JtZWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5DYW5jZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2xpbmljYWxTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2FjdGl2ZSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQkJYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNhbmNlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52ZXJpZmljYXRpb25TdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2NvbmZpcm1lZCc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJCWFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5DYW5jZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b25zZXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MCI+IG92ZXJsYXBzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ib3NwaXRhbEJhc2VkRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJCWFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmludGVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nb3JkZXInPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkgICAgICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hdXRob3JlZE9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjEiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkhvc3BpdGFsQmFzZWRFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQkJYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhbGxpYXRpdmVPckhvc3BpY2VDYXJlUGVyZm9ybWVkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmZvcm1lZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY3Ij4gb3ZlcmxhcHMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkhvc3BpdGFsQmFzZWRFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTcwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ib3NwaXRhbEJhc2VkRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE3MSIgbG9jYXRvcj0iOTY6Mi0xMTE6MzIiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTI2IiBsb2NhdG9yPSI5Njo3LTk2OjY3IiBhbGlhcz0iSG9zcGl0YWxCYXNlZEVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyNSIgbG9jYXRvcj0iOTY6Ny05Njo0NCIgbmFtZT0iSG9zcGl0YWwgQmFzZWQgRW5jb3VudGVycyBmb3IgQWR1bHRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMjgiIGxvY2F0b3I9Ijk3OjMtOTc6NjQiIGFsaWFzPSJDYW5jZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMjciIGxvY2F0b3I9Ijk3OjMtOTc6NTciIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSI5NzoyMy05Nzo1NiIgbmFtZT0iQWxsIFByaW1hcnkgYW5kIFNlY29uZGFyeSBDYW5jZXIiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEzMiIgbG9jYXRvcj0iOTg6My0xMDE6MzIiIGFsaWFzPSJQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTMxIiBsb2NhdG9yPSI5ODozLTEwMTozIiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjkiIGxvY2F0b3I9Ijk5OjQtOTk6NDIiIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZVJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0iY29kZSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iOTk6MjUtOTk6NDEiIG5hbWU9IlBhbGxpYXRpdmUgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTMwIiBsb2NhdG9yPSIxMDA6MTEtMTAwOjQ2IiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjEwMDozMi0xMDA6NDUiIG5hbWU9Ikhvc3BpY2UgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMzYiIGxvY2F0b3I9IjEwMjozLTEwNDozNiIgYWxpYXM9IlBhbGxpYXRpdmVPckhvc3BpY2VDYXJlUGVyZm9ybWVkIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTM1IiBsb2NhdG9yPSIxMDI6My0xMDQ6MyIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTMzIiBsb2NhdG9yPSIxMDM6NC0xMDM6MzUiIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZSIgY29kZVByb3BlcnR5PSJjb2RlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIxMDM6MTgtMTAzOjM0IiBuYW1lPSJQYWxsaWF0aXZlIENhcmUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzNCIgbG9jYXRvcj0iMTAzOjQzLTEwMzo3MSIgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjEwMzo1Ny0xMDM6NzAiIG5hbWU9Ikhvc3BpY2UgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjE2OCIgbG9jYXRvcj0iMTA1OjQtMTEwOjg5IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTYyIiBsb2NhdG9yPSIxMDU6MTAtMTA5Ojg3IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTU2IiBsb2NhdG9yPSIxMDU6MTAtMTA4OjUzIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTUxIiBsb2NhdG9yPSIxMDU6MTAtMTA3OjU5IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ1IiBsb2NhdG9yPSIxMDU6MTAtMTA2OjQ3IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQwIiBsb2NhdG9yPSIxMDU6MTAtMTA1OjQxIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzgiIGxvY2F0b3I9IjEwNToxMC0xMDU6MzAiIHBhdGg9ImNsaW5pY2FsU3RhdHVzIiBzY29wZT0iQ2FuY2VyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzkiIGxvY2F0b3I9IjEwNTozNC0xMDU6NDEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ0IiBsb2NhdG9yPSIxMDY6OS0xMDY6NDciIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0MiIgbG9jYXRvcj0iMTA2OjktMTA2OjMzIiBwYXRoPSJ2ZXJpZmljYXRpb25TdGF0dXMiIHNjb3BlPSJDYW5jZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0MyIgbG9jYXRvcj0iMTA2OjM3LTEwNjo0NyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbmZpcm1lZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1MCIgbG9jYXRvcj0iMTA3OjktMTA3OjU5IiB4c2k6dHlwZT0iT3ZlcmxhcHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGFzVHlwZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0NyIgbG9jYXRvcj0iMTA3OjktMTA3OjIwIiBwYXRoPSJvbnNldCIgc2NvcGU9IkNhbmNlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0OSIgbG9jYXRvcj0iMTA3OjMxLTEwNzo1OSIgcGF0aD0icGVyaW9kIiBzY29wZT0iSG9zcGl0YWxCYXNlZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1NSIgbG9jYXRvcj0iMTA4OjktMTA4OjUzIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTMiIGxvY2F0b3I9IjEwODo5LTEwODo0MyIgcGF0aD0iaW50ZW50IiBzY29wZT0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTU0IiBsb2NhdG9yPSIxMDg6NDctMTA4OjUzIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjEiIGxvY2F0b3I9IjEwOToxMi0xMDk6ODciIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTU4IiBsb2NhdG9yPSIxMDk6MTItMTA5OjUwIiBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjAiIGxvY2F0b3I9IjEwOTo1OS0xMDk6ODciIHBhdGg9InBlcmlvZCIgc2NvcGU9Ikhvc3BpdGFsQmFzZWRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjciIGxvY2F0b3I9IjExMDo5LTExMDo4OSIgeHNpOnR5cGU9Ik92ZXJsYXBzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjQiIGxvY2F0b3I9IjExMDo5LTExMDo1MCIgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVQZXJmb3JtZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjYiIGxvY2F0b3I9IjExMDo2MS0xMTA6ODkiIHBhdGg9InBlcmlvZCIgc2NvcGU9Ikhvc3BpdGFsQmFzZWRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSIxNzAiIGxvY2F0b3I9IjExMTo0LTExMTozMiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE2OSIgbG9jYXRvcj0iMTExOjExLTExMTozMiIgbmFtZT0iSG9zcGl0YWxCYXNlZEVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwMyIgbG9jYXRvcj0iMTI0OjEtMTMyOjMyIiBuYW1lPSJFbmNvdW50ZXIgd2l0aCBPcGlhdGVzIGFuZCBCZW56b2RpYXplcGluZXMgYXQgRGlzY2hhcmdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjAzIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RW5jb3VudGVyIHdpdGggT3BpYXRlcyBhbmQgQmVuem9kaWF6ZXBpbmVzIGF0IERpc2NoYXJnZSZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIwMiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SG9zcGl0YWwgQmFzZWQgRW5jb3VudGVycyBmb3IgQWR1bHRzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSG9zcGl0YWxCYXNlZEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4sCgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W01lZGljYXRpb25SZXF1ZXN0OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE9waW9pZHNEaXNjaGFyZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LAoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltNZWRpY2F0aW9uUmVxdWVzdDogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U2NoZWR1bGUgSVYgQmVuem9kaWF6ZXBpbmVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBCZW56b2RpYXplcGluZURpc2NoYXJnZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+T3Bpb2lkc0Rpc2NoYXJnZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hdXRob3JlZE9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODMiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkhvc3BpdGFsQmFzZWRFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkgICAgCWFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5PcGlvaWRzRGlzY2hhcmdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmludGVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nb3JkZXInPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCQlhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YXV0aG9yZWRPbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkzIj4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ib3NwaXRhbEJhc2VkRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aW50ZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidvcmRlcic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SG9zcGl0YWxCYXNlZEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMDIiIGxvY2F0b3I9IjEyNToyLTEzMjozMiIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNzQiIGxvY2F0b3I9IjEyNTo3LTEyNTo2NyIgYWxpYXM9Ikhvc3BpdGFsQmFzZWRFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNzMiIGxvY2F0b3I9IjEyNTo3LTEyNTo0NCIgbmFtZT0iSG9zcGl0YWwgQmFzZWQgRW5jb3VudGVycyBmb3IgQWR1bHRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNzYiIGxvY2F0b3I9IjEyNjozLTEyNjo3OCIgYWxpYXM9Ik9waW9pZHNEaXNjaGFyZ2UiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNzUiIGxvY2F0b3I9IjEyNjozLTEyNjo2MSIgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iMTI2OjIzLTEyNjo2MCIgbmFtZT0iU2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNzgiIGxvY2F0b3I9IjEyNzozLTEyNzo3NiIgYWxpYXM9IkJlbnpvZGlhemVwaW5lRGlzY2hhcmdlIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTc3IiBsb2NhdG9yPSIxMjc6My0xMjc6NTIiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjEyNzoyMy0xMjc6NTEiIG5hbWU9IlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxOTkiIGxvY2F0b3I9IjEyODo0LTEzMTo1MiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5NCIgbG9jYXRvcj0iMTI4OjEwLTEzMDo3OSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4OCIgbG9jYXRvcj0iMTI4OjEwLTEyOTo0MyIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MyIgbG9jYXRvcj0iMTI4OjEwLTEyODo3MyIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODAiIGxvY2F0b3I9IjEyODoxMC0xMjg6MzYiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJPcGlvaWRzRGlzY2hhcmdlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MiIgbG9jYXRvcj0iMTI4OjQ1LTEyODo3MyIgcGF0aD0icGVyaW9kIiBzY29wZT0iSG9zcGl0YWxCYXNlZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxODciIGxvY2F0b3I9IjEyOToxMS0xMjk6NDMiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4NSIgbG9jYXRvcj0iMTI5OjExLTEyOTozMyIgcGF0aD0iaW50ZW50IiBzY29wZT0iT3Bpb2lkc0Rpc2NoYXJnZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTg2IiBsb2NhdG9yPSIxMjk6MzctMTI5OjQzIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTMiIGxvY2F0b3I9IjEzMDo5LTEzMDo3OSIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTAiIGxvY2F0b3I9IjEzMDo5LTEzMDo0MiIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkJlbnpvZGlhemVwaW5lRGlzY2hhcmdlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5MiIgbG9jYXRvcj0iMTMwOjUxLTEzMDo3OSIgcGF0aD0icGVyaW9kIiBzY29wZT0iSG9zcGl0YWxCYXNlZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5OCIgbG9jYXRvcj0iMTMxOjEzLTEzMTo1MiIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk2IiBsb2NhdG9yPSIxMzE6MTMtMTMxOjQyIiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJCZW56b2RpYXplcGluZURpc2NoYXJnZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk3IiBsb2NhdG9yPSIxMzE6NDYtMTMxOjUyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSIyMDEiIGxvY2F0b3I9IjEzMjo0LTEzMjozMiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIwMCIgbG9jYXRvcj0iMTMyOjExLTEzMjozMiIgbmFtZT0iSG9zcGl0YWxCYXNlZEVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxOCIgbG9jYXRvcj0iMTQxOjEtMTQ2OjgiIG5hbWU9IkhhcyBUd28gb3IgTW9yZSBPcGlvaWRzIGF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxOCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0hhcyBUd28gb3IgTW9yZSBPcGlvaWRzIGF0IERpc2NoYXJnZSZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0hvc3BpdGFsIEJhc2VkIEVuY291bnRlcnMgZm9yIEFkdWx0cyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEhvc3BpdGFsQmFzZWRFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNvdW50KAoJCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltNZWRpY2F0aW9uUmVxdWVzdDogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7U2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBPcGlvaWRzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+T3Bpb2lkczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hdXRob3JlZE9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTIiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkhvc3BpdGFsQmFzZWRFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNSI+ID49IDI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjE3IiBsb2NhdG9yPSIxNDI6Mi0xNDY6OCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMDUiIGxvY2F0b3I9IjE0MjoyLTE0Mjo2MiIgYWxpYXM9Ikhvc3BpdGFsQmFzZWRFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMDQiIGxvY2F0b3I9IjE0MjoyLTE0MjozOSIgbmFtZT0iSG9zcGl0YWwgQmFzZWQgRW5jb3VudGVycyBmb3IgQWR1bHRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjIxNiIgbG9jYXRvcj0iMTQzOjMtMTQ2OjgiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIxNCIgbG9jYXRvcj0iMTQzOjktMTQ2OjMiIHhzaTp0eXBlPSJDb3VudCI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjEzIiBsb2NhdG9yPSIxNDQ6NC0xNDU6NjUiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjA3IiBsb2NhdG9yPSIxNDQ6NC0xNDQ6NzAiIGFsaWFzPSJPcGlvaWRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjA2IiBsb2NhdG9yPSIxNDQ6NC0xNDQ6NjIiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjE0NDoyNC0xNDQ6NjEiIG5hbWU9IlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyMTIiIGxvY2F0b3I9IjE0NTo1LTE0NTo2NSIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMDkiIGxvY2F0b3I9IjE0NToxMS0xNDU6MjgiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJPcGlvaWRzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIxMSIgbG9jYXRvcj0iMTQ1OjM3LTE0NTo2NSIgcGF0aD0icGVyaW9kIiBzY29wZT0iSG9zcGl0YWxCYXNlZEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjE1IiBsb2NhdG9yPSIxNDY6OCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyMiIgbG9jYXRvcj0iMTQ4OjEtMTUwOjY1IiBuYW1lPSJOdW1lcmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMjIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtOdW1lcmF0b3ImcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMjEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SGFzIFR3byBvciBNb3JlIE9waW9pZHMgYXQgRGlzY2hhcmdlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJCXVuaW9uIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RW5jb3VudGVyIHdpdGggT3BpYXRlcyBhbmQgQmVuem9kaWF6ZXBpbmVzIGF0IERpc2NoYXJnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIyMSIgbG9jYXRvcj0iMTQ5OjItMTUwOjY1IiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMTkiIGxvY2F0b3I9IjE0OToyLTE0OTozOSIgbmFtZT0iSGFzIFR3byBvciBNb3JlIE9waW9pZHMgYXQgRGlzY2hhcmdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjAiIGxvY2F0b3I9IjE1MDo5LTE1MDo2NSIgbmFtZT0iRW5jb3VudGVyIHdpdGggT3BpYXRlcyBhbmQgQmVuem9kaWF6ZXBpbmVzIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-EXM506_FHIR3-2.0.000.json b/fhir3/input/resources/library/library-EXM506_FHIR3-2.0.000.json index 45992865..8919490f 100644 --- a/fhir3/input/resources/library/library-EXM506_FHIR3-2.0.000.json +++ b/fhir3/input/resources/library/library-EXM506_FHIR3-2.0.000.json @@ -3,122 +3,190 @@ "id": "library-EXM506-FHIR3-2.0.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM506-FHIR3-2.0.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">2.0.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"3\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"8\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM506_FHIR3 version '2.0.000'\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.org'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\ncodesystem "MedicationRequestCategory": 'http://hl7.org/fhir/medication-request-category'\n\nvalueset "All Primary and Secondary Cancer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Palliative Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Schedule II and Schedule III Opioids": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2'\nvalueset "Schedule IV Benzodiazepines": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Order": 'order' from "RequestIntent" display 'Order'\ncode "Community": 'community' from "MedicationRequestCategory" display 'Community'\n\nparameter "Measurement Period" Interval<DateTime>\n default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "Inpatient Encounter with Age Greater than or Equal to 18":\n\t["Encounter": "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t and Global."LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n and Global.CalendarAgeInYearsAt(ToDateTime(Patient.birthDate), start of FHIRHelpers.ToInterval(EncounterInpatient.period)) >= 18\n\n// Defines to capture the relevant information that can be reused\ndefine "Opioid Prescription":\n [MedicationRequest: medication in "Schedule II and Schedule III Opioids"] OpioidMedicationRequest\n where OpioidMedicationRequest.status in { 'active', 'completed' }\n and OpioidMedicationRequest.intent = 'order'\n and OpioidMedicationRequest.category ~ ToConcept("Community")\n\ndefine "Benzodiazepine Prescription":\n [MedicationRequest: medication in "Schedule IV Benzodiazepines"] BenzodiazepineMedicationRequest\n where BenzodiazepineMedicationRequest.status in { 'active', 'completed' }\n and BenzodiazepineMedicationRequest.intent = 'order'\n and BenzodiazepineMedicationRequest.category ~ ToConcept("Community")\n\n// This was originally written as an intersect, but the description indicates either, so it should be a union...\ndefine "Encounter with an Opioid or Benzodiazepine at Discharge":\n (\n "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n with "Opioid Prescription" OpioidPrescription\n such that OpioidPrescription.authoredOn during InpatientEncounter.period\n )\n union (\n "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n with "Benzodiazepine Prescription" BenzodiazepinePrescription\n such that BenzodiazepinePrescription.authoredOn during InpatientEncounter.period\n )\n\n/*\ndefine "Encounter with an Opioid or Benzodiazepine at Discharge":\n\t(\n\t\t"Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n\t\twith [MedicationRequest: medication in "Schedule II and Schedule III Opioids"] OpioidsDischarge\n \tsuch that OpioidsDischarge.authoredOn during InpatientEncounter.period\n \t\tand OpioidsDischarge.intent = 'order'\n\t)\n //Measure Review:\n //The prior implementation was restricting "Inpatient Encounter with Age Greater than or Equal to 18"\n //to both Opioid AND Benzodiazepine at discharge.\n //The following implementation restricts it to Opioid OR Benzodiazepine, per the description.\n //Need validation from the measure developers that this meets the itent of the spec.\n\t\tunion (\n "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n\t with [MedicationRequest: medication in "Schedule IV Benzodiazepines"] BenzodiazepineDischarge\n\t such that BenzodiazepineDischarge.authoredOn during InpatientEncounter.period\n \t and BenzodiazepineDischarge.intent = 'order'\n\t\t )\n*/\n\ndefine "Initial Population":\n "Encounter with an Opioid or Benzodiazepine at Discharge"\n\ndefine "Denominator":\n "Initial Population"\n\ndefine "Diagnosis of Primary or Secondary Cancer":\n ["Condition": code in "All Primary and Secondary Cancer"] Cancer\n where Cancer.clinicalStatus = 'active'\n and Cancer.verificationStatus = 'confirmed'\n\ndefine "Palliative or Hospice Care Order":\n (["ProcedureRequest": "Palliative Care"]\n union ["ProcedureRequest": "Hospice Care"]\n ) PalliativeOrHospiceCare\n where PalliativeOrHospiceCare.status in { 'active', 'completed' }\n and PalliativeOrHospiceCare.intent = 'order'\n\ndefine "Palliative or Hospice Care Procedure":\n (["Procedure": "Palliative Care"]\n union ["Procedure": "Hospice Care"]\n ) PalliativeOrHospiceCare\n where PalliativeOrHospiceCare.status = 'completed'\n\ndefine "Denominator Exclusion":\n ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n with "Diagnosis of Primary or Secondary Cancer" Cancer\n such that Global."Normalize Onset"(Cancer.onset) overlaps InpatientEncounter.period\n )\n union ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n with "Palliative or Hospice Care Order" PalliativeOrHospiceCareOrder\n such that PalliativeOrHospiceCareOrder.authoredOn during InpatientEncounter.period\n )\n union ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n with "Palliative or Hospice Care Procedure" PalliativeOrHospiceCare\n such that Global."Normalize Interval"(PalliativeOrHospiceCare.performed) during InpatientEncounter.period\n )\n\n/*\ndefine "Denominator Exclusions":\n\t("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n\twith [Condition: code in "All Primary and Secondary Cancer"]Cancer\n such that Cancer.clinicalStatus = 'active'\n and Cancer.verificationStatus = 'confirmed'\n and Cancer.onset overlaps InpatientEncounter.period)\n\t\tunion ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n with (["ProcedureRequest": "Palliative Care"]\n\t\t\tunion ["ProcedureRequest": "Hospice Care"] ) PalliativeOrHospiceCareOrder\n\t\t\tsuch that PalliativeOrHospiceCareOrder.intent = 'order'\n and PalliativeOrHospiceCareOrder.authoredOn during InpatientEncounter.period)\n union ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n with (["Procedure": "Palliative Care"]\n \tunion ["Procedure": "Hospice Care"] ) PalliativeOrHospiceCarePerformed\n \t\t\t\t\tsuch that PalliativeOrHospiceCarePerformed.performed overlaps InpatientEncounter.period)\n*/\n\ndefine "Encounter with a Concurrent Opioid and Benzodiazepine at Discharge":\n "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n with "Opioid Prescription" OpioidPrescription\n such that OpioidPrescription.authoredOn during InpatientEncounter.period\n with "Benzodiazepine Prescription" BenzodiazepinePrescription\n such that BenzodiazepinePrescription.authoredOn during InpatientEncounter.period\n\n/*\ndefine "Encounter with a Concurrent Opioid and Benzodiazepine at Discharge":\n\tfrom "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter,\n\t\t[MedicationRequest: "Schedule II and Schedule III Opioids"] OpioidsDischarge,\n\t\t[MedicationRequest: "Schedule IV Benzodiazepines"] BenzodiazepineDischarge\n\t\t\twhere OpioidsDischarge.authoredOn during InpatientEncounter.period\n\t \tand OpioidsDischarge.intent = 'order'\n\t\t\t\tand BenzodiazepineDischarge.authoredOn during InpatientEncounter.period\n and BenzodiazepineDischarge.intent = 'order'\n\t\t\treturn InpatientEncounter\n*/\n\ndefine "Encounter with Two or More Concurrent Opioids at Discharge":\n "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n where Count(\n "Opioid Prescription" OpioidPrescription\n where OpioidPrescription.authoredOn during InpatientEncounter.period\n ) >= 2\n\n/*\ndefine "Encounter with Two or More Concurrent Opioids at Discharge":\n\t"Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n\t\twhere Count(\n\t\t\t[MedicationRequest: "Schedule II and Schedule III Opioids"] Opioids\n\t\t\t\twhere Opioids.authoredOn during InpatientEncounter.period\n\t\t) >= 2\n*/\n\ndefine "Numerator":\n "Encounter with Two or More Concurrent Opioids at Discharge"\n union "Encounter with a Concurrent Opioid and Benzodiazepine at Discharge"\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-EXM506-FHIR3-2.0.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">2.0.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"3\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"8\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>MedicationRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>medication</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library EXM506_FHIR3 version '2.0.000'\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.org'\ncodesystem "RequestIntent": 'http://hl7.org/fhir/request-intent'\ncodesystem "MedicationRequestCategory": 'http://hl7.org/fhir/medication-request-category'\n\nvalueset "All Primary and Secondary Cancer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20'\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Palliative Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Schedule II and Schedule III Opioids": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2'\nvalueset "Schedule IV Benzodiazepines": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Order": 'order' from "RequestIntent" display 'Order'\ncode "Community": 'community' from "MedicationRequestCategory" display 'Community'\n\nparameter "Measurement Period" Interval<DateTime>\n default Interval[@2019-01-01T00:00:00.0, @2020-01-01T00:00:00.0)\n\ncontext Patient\n\ndefine "Inpatient Encounter with Age Greater than or Equal to 18":\n\t["Encounter": "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t and Global."LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n and Global.CalendarAgeInYearsAt(ToDateTime(Patient.birthDate), start of FHIRHelpers.ToInterval(EncounterInpatient.period)) >= 18\n\n// Defines to capture the relevant information that can be reused\ndefine "Opioid Prescription":\n [MedicationRequest: medication in "Schedule II and Schedule III Opioids"] OpioidMedicationRequest\n where OpioidMedicationRequest.status in { 'active', 'completed' }\n and OpioidMedicationRequest.intent = 'order'\n and OpioidMedicationRequest.category ~ ToConcept("Community")\n\ndefine "Benzodiazepine Prescription":\n [MedicationRequest: medication in "Schedule IV Benzodiazepines"] BenzodiazepineMedicationRequest\n where BenzodiazepineMedicationRequest.status in { 'active', 'completed' }\n and BenzodiazepineMedicationRequest.intent = 'order'\n and BenzodiazepineMedicationRequest.category ~ ToConcept("Community")\n\n// This was originally written as an intersect, but the description indicates either, so it should be a union...\ndefine "Encounter with an Opioid or Benzodiazepine at Discharge":\n (\n "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n with "Opioid Prescription" OpioidPrescription\n such that OpioidPrescription.authoredOn during InpatientEncounter.period\n )\n union (\n "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n with "Benzodiazepine Prescription" BenzodiazepinePrescription\n such that BenzodiazepinePrescription.authoredOn during InpatientEncounter.period\n )\n\n/*\ndefine "Encounter with an Opioid or Benzodiazepine at Discharge":\n\t(\n\t\t"Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n\t\twith [MedicationRequest: medication in "Schedule II and Schedule III Opioids"] OpioidsDischarge\n \tsuch that OpioidsDischarge.authoredOn during InpatientEncounter.period\n \t\tand OpioidsDischarge.intent = 'order'\n\t)\n //Measure Review:\n //The prior implementation was restricting "Inpatient Encounter with Age Greater than or Equal to 18"\n //to both Opioid AND Benzodiazepine at discharge.\n //The following implementation restricts it to Opioid OR Benzodiazepine, per the description.\n //Need validation from the measure developers that this meets the itent of the spec.\n\t\tunion (\n "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n\t with [MedicationRequest: medication in "Schedule IV Benzodiazepines"] BenzodiazepineDischarge\n\t such that BenzodiazepineDischarge.authoredOn during InpatientEncounter.period\n \t and BenzodiazepineDischarge.intent = 'order'\n\t\t )\n*/\n\ndefine "Initial Population":\n "Encounter with an Opioid or Benzodiazepine at Discharge"\n\ndefine "Denominator":\n "Initial Population"\n\ndefine "Diagnosis of Primary or Secondary Cancer":\n ["Condition": code in "All Primary and Secondary Cancer"] Cancer\n where Cancer.clinicalStatus = 'active'\n and Cancer.verificationStatus = 'confirmed'\n\ndefine "Palliative or Hospice Care Order":\n (["ProcedureRequest": "Palliative Care"]\n union ["ProcedureRequest": "Hospice Care"]\n ) PalliativeOrHospiceCare\n where PalliativeOrHospiceCare.status in { 'active', 'completed' }\n and PalliativeOrHospiceCare.intent = 'order'\n\ndefine "Palliative or Hospice Care Procedure":\n (["Procedure": "Palliative Care"]\n union ["Procedure": "Hospice Care"]\n ) PalliativeOrHospiceCare\n where PalliativeOrHospiceCare.status = 'completed'\n\ndefine "Denominator Exclusion":\n ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n with "Diagnosis of Primary or Secondary Cancer" Cancer\n such that Global."Normalize Onset"(Cancer.onset) overlaps InpatientEncounter.period\n )\n union ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n with "Palliative or Hospice Care Order" PalliativeOrHospiceCareOrder\n such that PalliativeOrHospiceCareOrder.authoredOn during InpatientEncounter.period\n )\n union ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n with "Palliative or Hospice Care Procedure" PalliativeOrHospiceCare\n such that Global."Normalize Interval"(PalliativeOrHospiceCare.performed) during InpatientEncounter.period\n )\n\n/*\ndefine "Denominator Exclusions":\n\t("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n\twith [Condition: code in "All Primary and Secondary Cancer"]Cancer\n such that Cancer.clinicalStatus = 'active'\n and Cancer.verificationStatus = 'confirmed'\n and Cancer.onset overlaps InpatientEncounter.period)\n\t\tunion ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n with (["ProcedureRequest": "Palliative Care"]\n\t\t\tunion ["ProcedureRequest": "Hospice Care"] ) PalliativeOrHospiceCareOrder\n\t\t\tsuch that PalliativeOrHospiceCareOrder.intent = 'order'\n and PalliativeOrHospiceCareOrder.authoredOn during InpatientEncounter.period)\n union ("Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n with (["Procedure": "Palliative Care"]\n \tunion ["Procedure": "Hospice Care"] ) PalliativeOrHospiceCarePerformed\n \t\t\t\t\tsuch that PalliativeOrHospiceCarePerformed.performed overlaps InpatientEncounter.period)\n*/\n\ndefine "Encounter with a Concurrent Opioid and Benzodiazepine at Discharge":\n "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n with "Opioid Prescription" OpioidPrescription\n such that OpioidPrescription.authoredOn during InpatientEncounter.period\n with "Benzodiazepine Prescription" BenzodiazepinePrescription\n such that BenzodiazepinePrescription.authoredOn during InpatientEncounter.period\n\n/*\ndefine "Encounter with a Concurrent Opioid and Benzodiazepine at Discharge":\n\tfrom "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter,\n\t\t[MedicationRequest: "Schedule II and Schedule III Opioids"] OpioidsDischarge,\n\t\t[MedicationRequest: "Schedule IV Benzodiazepines"] BenzodiazepineDischarge\n\t\t\twhere OpioidsDischarge.authoredOn during InpatientEncounter.period\n\t \tand OpioidsDischarge.intent = 'order'\n\t\t\t\tand BenzodiazepineDischarge.authoredOn during InpatientEncounter.period\n and BenzodiazepineDischarge.intent = 'order'\n\t\t\treturn InpatientEncounter\n*/\n\ndefine "Encounter with Two or More Concurrent Opioids at Discharge":\n "Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n where Count(\n "Opioid Prescription" OpioidPrescription\n where OpioidPrescription.authoredOn during InpatientEncounter.period\n ) >= 2\n\n/*\ndefine "Encounter with Two or More Concurrent Opioids at Discharge":\n\t"Inpatient Encounter with Age Greater than or Equal to 18" InpatientEncounter\n\t\twhere Count(\n\t\t\t[MedicationRequest: "Schedule II and Schedule III Opioids"] Opioids\n\t\t\t\twhere Opioids.authoredOn during InpatientEncounter.period\n\t\t) >= 2\n*/\n\ndefine "Numerator":\n "Encounter with Two or More Concurrent Opioids at Discharge"\n union "Encounter with a Concurrent Opioid and Benzodiazepine at Discharge"\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "2.0.000", "name": "EXM506_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/Library/FHIR-ModelInfo|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/MATGlobalCommonFunctions_FHIR3|4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/FHIRHelpers|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/SupplementalDataElements_FHIR3|1.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/diagnosis-role" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://loinc.org" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://snomed.org" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/request-intent" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/medication-request-category" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1" + } + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } ] + }, { + "type": "MedicationRequest", + "codeFilter": [ { + "path": "medication", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1" } - } - ], - "dataRequirement": [ - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" - } - ] - }, - { - "type": "MedicationRequest", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.2" - } - ] - }, - { - "type": "MedicationRequest", - "codeFilter": [ - { - "path": "medication", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.1" - } - ] - }, - { - "type": "Condition", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161" - } - ] - }, - { - "type": "ProcedureRequest", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162" - } - ] - }, - { - "type": "ProcedureRequest", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20" - } - ] - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTUwNl9GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9Ikdsb2JhbCIgcGF0aD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSI0LjAuMDAwIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlNERSIgcGF0aD0iU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIiB2ZXJzaW9uPSIxLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGRlZmF1bHQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAxOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8c2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICA8L2RlZmF1bHQ+DQogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPg0KICAgICAgPC9kZWY+DQogICA8L3BhcmFtZXRlcnM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IkRpYWdub3NpcyBSb2xlIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLm9yZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSZXF1ZXN0SW50ZW50IiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9tZWRpY2F0aW9uLXJlcXVlc3QtY2F0ZWdvcnkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFdGhuaWNpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGljZSBDYXJlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMzE1Ny4xMDA0LjIwIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUGFsbGlhdGl2ZSBDYXJlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE2MiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJTY2hlZHVsZSBJViBCZW56b2RpYXplcGluZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC92YWx1ZVNldHM+DQogICA8Y29kZXM+DQogICAgICA8ZGVmIG5hbWU9IkJpcnRoZGF0ZSIgaWQ9IjIxMTEyLTgiIGRpc3BsYXk9IkJpcnRoIGRhdGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iTE9JTkMiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJPcmRlciIgaWQ9Im9yZGVyIiBkaXNwbGF5PSJPcmRlciIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJSZXF1ZXN0SW50ZW50Ii8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ29tbXVuaXR5IiBpZD0iY29tbXVuaXR5IiBkaXNwbGF5PSJDb21tdW5pdHkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIvPg0KICAgICAgPC9kZWY+DQogICA8L2NvZGVzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkVuY291bnRlcklucGF0aWVudCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxOCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iT3Bpb2lkIFByZXNjcmlwdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iT3Bpb2lkTWVkaWNhdGlvblJlcXVlc3QiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iT3Bpb2lkTWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9Ik9waW9pZE1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvcmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2F0ZWdvcnkiIHNjb3BlPSJPcGlvaWRNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkNvbW11bml0eSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmVuem9kaWF6ZXBpbmUgUHJlc2NyaXB0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iU2NoZWR1bGUgSVYgQmVuem9kaWF6ZXBpbmVzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IkJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9IkJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvQ29uY2VwdCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDb21tdW5pdHkiIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnBhdGllbnRFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9Ik9waW9pZFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iT3Bpb2lkIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik9waW9pZFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iQmVuem9kaWF6ZXBpbmVQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkJlbnpvZGlhemVwaW5lIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkJlbnpvZGlhemVwaW5lUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW5pdGlhbCBQb3B1bGF0aW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRpYWdub3NpcyBvZiBQcmltYXJ5IG9yIFNlY29uZGFyeSBDYW5jZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkNhbmNlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY2xpbmljYWxTdGF0dXMiIHNjb3BlPSJDYW5jZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmVyaWZpY2F0aW9uU3RhdHVzIiBzY29wZT0iQ2FuY2VyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb25maXJtZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIE9yZGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgY29kZVByb3BlcnR5PSJjb2RlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IlBhbGxpYXRpdmUgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSG9zcGljZSBDYXJlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYWN0aXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaW50ZW50IiBzY29wZT0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQYWxsaWF0aXZlIG9yIEhvc3BpY2UgQ2FyZSBQcm9jZWR1cmUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlBhbGxpYXRpdmVPckhvc3BpY2VDYXJlIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYWxsaWF0aXZlIENhcmUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSG9zcGljZSBDYXJlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVub21pbmF0b3IgRXhjbHVzaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJVbmlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iQ2FuY2VyIiB4c2k6dHlwZT0iV2l0aCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJEaWFnbm9zaXMgb2YgUHJpbWFyeSBvciBTZWNvbmRhcnkgQ2FuY2VyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJPdmVybGFwcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb3JtYWxpemUgT25zZXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJvbnNldCIgc2NvcGU9IkNhbmNlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlciIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUGFsbGlhdGl2ZSBvciBIb3NwaWNlIENhcmUgT3JkZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSW5wYXRpZW50RW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUGFsbGlhdGl2ZSBvciBIb3NwaWNlIENhcmUgUHJvY2VkdXJlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJJbmNsdWRlZEluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IlBhbGxpYXRpdmVPckhvc3BpY2VDYXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIHdpdGggYSBDb25jdXJyZW50IE9waW9pZCBhbmQgQmVuem9kaWF6ZXBpbmUgYXQgRGlzY2hhcmdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnBhdGllbnRFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9Ik9waW9pZFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iT3Bpb2lkIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik9waW9pZFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4NCiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPg0KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0iQmVuem9kaWF6ZXBpbmVQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkJlbnpvZGlhemVwaW5lIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkJlbnpvZGlhemVwaW5lUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIHdpdGggVHdvIG9yIE1vcmUgQ29uY3VycmVudCBPcGlvaWRzIGF0IERpc2NoYXJnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSW5wYXRpZW50RW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb3VudCI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJPcGlvaWRQcmVzY3JpcHRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iT3Bpb2lkIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iT3Bpb2lkUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik51bWVyYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVW5pb24iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIHdpdGggVHdvIG9yIE1vcmUgQ29uY3VycmVudCBPcGlvaWRzIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciB3aXRoIGEgQ29uY3VycmVudCBPcGlvaWQgYW5kIEJlbnpvZGlhemVwaW5lIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgPC9zdGF0ZW1lbnRzPg0KPC9saWJyYXJ5Pg0K" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBFWE01MDZfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKY29kZXN5c3RlbSAiRGlhZ25vc2lzIFJvbGUiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZScKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5vcmcnCmNvZGVzeXN0ZW0gIlJlcXVlc3RJbnRlbnQiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCcKY29kZXN5c3RlbSAiTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL21lZGljYXRpb24tcmVxdWVzdC1jYXRlZ29yeScKCnZhbHVlc2V0ICJBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciI6ICAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE2MScKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkhvc3BpY2UgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4zMTU3LjEwMDQuMjAnCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlBhbGxpYXRpdmUgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTYyJwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiU2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzIjogICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMicKdmFsdWVzZXQgIlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMScKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiT3JkZXIiOiAnb3JkZXInIGZyb20gIlJlcXVlc3RJbnRlbnQiIGRpc3BsYXkgJ09yZGVyJwpjb2RlICJDb21tdW5pdHkiOiAnY29tbXVuaXR5JyBmcm9tICJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IiBkaXNwbGF5ICdDb21tdW5pdHknCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgICBkZWZhdWx0IEludGVydmFsW0AyMDE5LTAxLTAxVDAwOjAwOjAwLjAsIEAyMDIwLTAxLTAxVDAwOjAwOjAwLjApCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiOgoJWyJFbmNvdW50ZXIiOiAiRW5jb3VudGVyIElucGF0aWVudCJdIEVuY291bnRlcklucGF0aWVudAoJCXdoZXJlIEVuY291bnRlcklucGF0aWVudC5zdGF0dXMgPSAnZmluaXNoZWQnCgkJICBhbmQgR2xvYmFsLiJMZW5ndGhJbkRheXMiKEVuY291bnRlcklucGF0aWVudC5wZXJpb2QpIDw9IDEyMAoJCQlhbmQgRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICBhbmQgR2xvYmFsLkNhbGVuZGFyQWdlSW5ZZWFyc0F0KFRvRGF0ZVRpbWUoUGF0aWVudC5iaXJ0aERhdGUpLCBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEVuY291bnRlcklucGF0aWVudC5wZXJpb2QpKSA+PSAxOAoKLy8gRGVmaW5lcyB0byBjYXB0dXJlIHRoZSByZWxldmFudCBpbmZvcm1hdGlvbiB0aGF0IGNhbiBiZSByZXVzZWQKZGVmaW5lICJPcGlvaWQgUHJlc2NyaXB0aW9uIjoKICBbTWVkaWNhdGlvblJlcXVlc3Q6IG1lZGljYXRpb24gaW4gIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZE1lZGljYXRpb25SZXF1ZXN0CiAgICB3aGVyZSBPcGlvaWRNZWRpY2F0aW9uUmVxdWVzdC5zdGF0dXMgaW4geyAnYWN0aXZlJywgJ2NvbXBsZXRlZCcgfQogICAgICBhbmQgT3Bpb2lkTWVkaWNhdGlvblJlcXVlc3QuaW50ZW50ID0gJ29yZGVyJwogICAgICBhbmQgT3Bpb2lkTWVkaWNhdGlvblJlcXVlc3QuY2F0ZWdvcnkgfiBUb0NvbmNlcHQoIkNvbW11bml0eSIpCgpkZWZpbmUgIkJlbnpvZGlhemVwaW5lIFByZXNjcmlwdGlvbiI6CiAgW01lZGljYXRpb25SZXF1ZXN0OiBtZWRpY2F0aW9uIGluICJTY2hlZHVsZSBJViBCZW56b2RpYXplcGluZXMiXSBCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0CiAgICB3aGVyZSBCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0LnN0YXR1cyBpbiB7ICdhY3RpdmUnLCAnY29tcGxldGVkJyB9CiAgICAgIGFuZCBCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0LmludGVudCA9ICdvcmRlcicKICAgICAgYW5kIEJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3QuY2F0ZWdvcnkgfiBUb0NvbmNlcHQoIkNvbW11bml0eSIpCgovLyBUaGlzIHdhcyBvcmlnaW5hbGx5IHdyaXR0ZW4gYXMgYW4gaW50ZXJzZWN0LCBidXQgdGhlIGRlc2NyaXB0aW9uIGluZGljYXRlcyBlaXRoZXIsIHNvIGl0IHNob3VsZCBiZSBhIHVuaW9uLi4uCmRlZmluZSAiRW5jb3VudGVyIHdpdGggYW4gT3Bpb2lkIG9yIEJlbnpvZGlhemVwaW5lIGF0IERpc2NoYXJnZSI6CiAgKAogICAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICAgICAgd2l0aCAiT3Bpb2lkIFByZXNjcmlwdGlvbiIgT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgICAgc3VjaCB0aGF0IE9waW9pZFByZXNjcmlwdGlvbi5hdXRob3JlZE9uIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICApCiAgdW5pb24gKAogICAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICAgICAgd2l0aCAiQmVuem9kaWF6ZXBpbmUgUHJlc2NyaXB0aW9uIiBCZW56b2RpYXplcGluZVByZXNjcmlwdGlvbgogICAgICAgIHN1Y2ggdGhhdCBCZW56b2RpYXplcGluZVByZXNjcmlwdGlvbi5hdXRob3JlZE9uIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICApCgovKgpkZWZpbmUgIkVuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiOgoJKAoJCSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCgkJd2l0aCBbTWVkaWNhdGlvblJlcXVlc3Q6IG1lZGljYXRpb24gaW4gIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZHNEaXNjaGFyZ2UKICAgIAlzdWNoIHRoYXQgT3Bpb2lkc0Rpc2NoYXJnZS5hdXRob3JlZE9uIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICAJCWFuZCBPcGlvaWRzRGlzY2hhcmdlLmludGVudCA9ICdvcmRlcicKCSkKICAvL01lYXN1cmUgUmV2aWV3OgogIC8vVGhlIHByaW9yIGltcGxlbWVudGF0aW9uIHdhcyByZXN0cmljdGluZyAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiCiAgLy90byBib3RoIE9waW9pZCBBTkQgQmVuem9kaWF6ZXBpbmUgYXQgZGlzY2hhcmdlLgogIC8vVGhlIGZvbGxvd2luZyBpbXBsZW1lbnRhdGlvbiByZXN0cmljdHMgaXQgdG8gT3Bpb2lkIE9SIEJlbnpvZGlhemVwaW5lLCBwZXIgdGhlIGRlc2NyaXB0aW9uLgogIC8vTmVlZCB2YWxpZGF0aW9uIGZyb20gdGhlIG1lYXN1cmUgZGV2ZWxvcGVycyB0aGF0IHRoaXMgbWVldHMgdGhlIGl0ZW50IG9mIHRoZSBzcGVjLgoJCXVuaW9uICgKICAgICAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKCSAgICB3aXRoIFtNZWRpY2F0aW9uUmVxdWVzdDogbWVkaWNhdGlvbiBpbiAiU2NoZWR1bGUgSVYgQmVuem9kaWF6ZXBpbmVzIl0gQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UKCSAgICAgc3VjaCB0aGF0IEJlbnpvZGlhemVwaW5lRGlzY2hhcmdlLmF1dGhvcmVkT24gZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICAJICBhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuaW50ZW50ID0gJ29yZGVyJwoJCSApCiovCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CiAgIkVuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKICAiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJEaWFnbm9zaXMgb2YgUHJpbWFyeSBvciBTZWNvbmRhcnkgQ2FuY2VyIjoKICBbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIkFsbCBQcmltYXJ5IGFuZCBTZWNvbmRhcnkgQ2FuY2VyIl0gQ2FuY2VyCiAgICB3aGVyZSBDYW5jZXIuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJwogICAgICBhbmQgQ2FuY2VyLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCgpkZWZpbmUgIlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIE9yZGVyIjoKICAoWyJQcm9jZWR1cmVSZXF1ZXN0IjogIlBhbGxpYXRpdmUgQ2FyZSJdCiAgICB1bmlvbiBbIlByb2NlZHVyZVJlcXVlc3QiOiAiSG9zcGljZSBDYXJlIl0KICApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlCiAgICB3aGVyZSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZS5zdGF0dXMgaW4geyAnYWN0aXZlJywgJ2NvbXBsZXRlZCcgfQogICAgICBhbmQgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUuaW50ZW50ID0gJ29yZGVyJwoKZGVmaW5lICJQYWxsaWF0aXZlIG9yIEhvc3BpY2UgQ2FyZSBQcm9jZWR1cmUiOgogIChbIlByb2NlZHVyZSI6ICJQYWxsaWF0aXZlIENhcmUiXQogICAgdW5pb24gWyJQcm9jZWR1cmUiOiAiSG9zcGljZSBDYXJlIl0KICApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlCiAgICB3aGVyZSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZS5zdGF0dXMgPSAnY29tcGxldGVkJwoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgogICgiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIElucGF0aWVudEVuY291bnRlcgogICAgd2l0aCAiRGlhZ25vc2lzIG9mIFByaW1hcnkgb3IgU2Vjb25kYXJ5IENhbmNlciIgQ2FuY2VyCiAgICAgIHN1Y2ggdGhhdCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoQ2FuY2VyLm9uc2V0KSBvdmVybGFwcyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgKQogICAgdW5pb24gKCJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCiAgICAgIHdpdGggIlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIE9yZGVyIiBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyCiAgICAgICAgc3VjaCB0aGF0IFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlT3JkZXIuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgKQogICAgdW5pb24gKCJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCiAgICAgIHdpdGggIlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIFByb2NlZHVyZSIgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUKICAgICAgICBzdWNoIHRoYXQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlLnBlcmZvcm1lZCkgZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICkKCi8qCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6CgkoIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKCXdpdGggW0NvbmRpdGlvbjogY29kZSBpbiAiQWxsIFByaW1hcnkgYW5kIFNlY29uZGFyeSBDYW5jZXIiXUNhbmNlcgogICAgICAgc3VjaCB0aGF0IENhbmNlci5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnCiAgICAgICBhbmQgQ2FuY2VyLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCiAgICAgICBhbmQgQ2FuY2VyLm9uc2V0IG92ZXJsYXBzIElucGF0aWVudEVuY291bnRlci5wZXJpb2QpCgkJdW5pb24gKCJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCiAgICAgIHdpdGggKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJQYWxsaWF0aXZlIENhcmUiXQoJCQl1bmlvbiBbIlByb2NlZHVyZVJlcXVlc3QiOiAiSG9zcGljZSBDYXJlIl0gKSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyCgkJCXN1Y2ggdGhhdCAgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlci5pbnRlbnQgPSAnb3JkZXInCiAgICAgIGFuZCBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyLmF1dGhvcmVkT24gZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QpCiAgICB1bmlvbiAoIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICB3aXRoICAoWyJQcm9jZWR1cmUiOiAiUGFsbGlhdGl2ZSBDYXJlIl0KICAgIAl1bmlvbiBbIlByb2NlZHVyZSI6ICJIb3NwaWNlIENhcmUiXSApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlUGVyZm9ybWVkCiAgICAJCQkJCXN1Y2ggdGhhdCBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZVBlcmZvcm1lZC5wZXJmb3JtZWQgb3ZlcmxhcHMgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZCkKKi8KCmRlZmluZSAiRW5jb3VudGVyIHdpdGggYSBDb25jdXJyZW50IE9waW9pZCBhbmQgQmVuem9kaWF6ZXBpbmUgYXQgRGlzY2hhcmdlIjoKICAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIElucGF0aWVudEVuY291bnRlcgogICAgd2l0aCAiT3Bpb2lkIFByZXNjcmlwdGlvbiIgT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgIHN1Y2ggdGhhdCBPcGlvaWRQcmVzY3JpcHRpb24uYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgd2l0aCAiQmVuem9kaWF6ZXBpbmUgUHJlc2NyaXB0aW9uIiBCZW56b2RpYXplcGluZVByZXNjcmlwdGlvbgogICAgICBzdWNoIHRoYXQgQmVuem9kaWF6ZXBpbmVQcmVzY3JpcHRpb24uYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAoKLyoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBhIENvbmN1cnJlbnQgT3Bpb2lkIGFuZCBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiOgoJZnJvbSAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIElucGF0aWVudEVuY291bnRlciwKCQlbTWVkaWNhdGlvblJlcXVlc3Q6ICJTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMiXSBPcGlvaWRzRGlzY2hhcmdlLAoJCVtNZWRpY2F0aW9uUmVxdWVzdDogIlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyJdIEJlbnpvZGlhemVwaW5lRGlzY2hhcmdlCgkJCXdoZXJlIE9waW9pZHNEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAoJICAgIAlhbmQgT3Bpb2lkc0Rpc2NoYXJnZS5pbnRlbnQgPSAnb3JkZXInCgkJCQlhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgICAgIGFuZCBCZW56b2RpYXplcGluZURpc2NoYXJnZS5pbnRlbnQgPSAnb3JkZXInCgkJCXJldHVybiBJbnBhdGllbnRFbmNvdW50ZXIKKi8KCmRlZmluZSAiRW5jb3VudGVyIHdpdGggVHdvIG9yIE1vcmUgQ29uY3VycmVudCBPcGlvaWRzIGF0IERpc2NoYXJnZSI6CiAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICAgIHdoZXJlIENvdW50KAogICAgICAiT3Bpb2lkIFByZXNjcmlwdGlvbiIgT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgICAgd2hlcmUgT3Bpb2lkUHJlc2NyaXB0aW9uLmF1dGhvcmVkT24gZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICkgPj0gMgoKLyoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBUd28gb3IgTW9yZSBDb25jdXJyZW50IE9waW9pZHMgYXQgRGlzY2hhcmdlIjoKCSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCgkJd2hlcmUgQ291bnQoCgkJCVtNZWRpY2F0aW9uUmVxdWVzdDogIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZHMKCQkJCXdoZXJlIE9waW9pZHMuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAoJCSkgPj0gMgoqLwoKZGVmaW5lICJOdW1lcmF0b3IiOgogICJFbmNvdW50ZXIgd2l0aCBUd28gb3IgTW9yZSBDb25jdXJyZW50IE9waW9pZHMgYXQgRGlzY2hhcmdlIgogICAgdW5pb24gIkVuY291bnRlciB3aXRoIGEgQ29uY3VycmVudCBPcGlvaWQgYW5kIEJlbnpvZGlhemVwaW5lIGF0IERpc2NoYXJnZSIK" - } - ] + } ] + }, { + "type": "Condition", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.161" + } + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162" + } + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.162" + } + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.20" + } + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBFWE01MDZfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKY29kZXN5c3RlbSAiRGlhZ25vc2lzIFJvbGUiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZScKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5vcmcnCmNvZGVzeXN0ZW0gIlJlcXVlc3RJbnRlbnQiOiAnaHR0cDovL2hsNy5vcmcvZmhpci9yZXF1ZXN0LWludGVudCcKY29kZXN5c3RlbSAiTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSI6ICdodHRwOi8vaGw3Lm9yZy9maGlyL21lZGljYXRpb24tcmVxdWVzdC1jYXRlZ29yeScKCnZhbHVlc2V0ICJBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciI6ICAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE2MScKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiRXRobmljaXR5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNycKdmFsdWVzZXQgIkhvc3BpY2UgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4zMTU3LjEwMDQuMjAnCnZhbHVlc2V0ICJPTkMgQWRtaW5pc3RyYXRpdmUgU2V4IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMScKdmFsdWVzZXQgIlBhbGxpYXRpdmUgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTYyJwp2YWx1ZXNldCAiUGF5ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MScKdmFsdWVzZXQgIlJhY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2Jwp2YWx1ZXNldCAiU2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzIjogICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMicKdmFsdWVzZXQgIlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMjUuMScKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiT3JkZXIiOiAnb3JkZXInIGZyb20gIlJlcXVlc3RJbnRlbnQiIGRpc3BsYXkgJ09yZGVyJwpjb2RlICJDb21tdW5pdHkiOiAnY29tbXVuaXR5JyBmcm9tICJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IiBkaXNwbGF5ICdDb21tdW5pdHknCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+CiAgICBkZWZhdWx0IEludGVydmFsW0AyMDE5LTAxLTAxVDAwOjAwOjAwLjAsIEAyMDIwLTAxLTAxVDAwOjAwOjAwLjApCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiOgoJWyJFbmNvdW50ZXIiOiAiRW5jb3VudGVyIElucGF0aWVudCJdIEVuY291bnRlcklucGF0aWVudAoJCXdoZXJlIEVuY291bnRlcklucGF0aWVudC5zdGF0dXMgPSAnZmluaXNoZWQnCgkJICBhbmQgR2xvYmFsLiJMZW5ndGhJbkRheXMiKEVuY291bnRlcklucGF0aWVudC5wZXJpb2QpIDw9IDEyMAoJCQlhbmQgRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICBhbmQgR2xvYmFsLkNhbGVuZGFyQWdlSW5ZZWFyc0F0KFRvRGF0ZVRpbWUoUGF0aWVudC5iaXJ0aERhdGUpLCBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEVuY291bnRlcklucGF0aWVudC5wZXJpb2QpKSA+PSAxOAoKLy8gRGVmaW5lcyB0byBjYXB0dXJlIHRoZSByZWxldmFudCBpbmZvcm1hdGlvbiB0aGF0IGNhbiBiZSByZXVzZWQKZGVmaW5lICJPcGlvaWQgUHJlc2NyaXB0aW9uIjoKICBbTWVkaWNhdGlvblJlcXVlc3Q6IG1lZGljYXRpb24gaW4gIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZE1lZGljYXRpb25SZXF1ZXN0CiAgICB3aGVyZSBPcGlvaWRNZWRpY2F0aW9uUmVxdWVzdC5zdGF0dXMgaW4geyAnYWN0aXZlJywgJ2NvbXBsZXRlZCcgfQogICAgICBhbmQgT3Bpb2lkTWVkaWNhdGlvblJlcXVlc3QuaW50ZW50ID0gJ29yZGVyJwogICAgICBhbmQgT3Bpb2lkTWVkaWNhdGlvblJlcXVlc3QuY2F0ZWdvcnkgfiBUb0NvbmNlcHQoIkNvbW11bml0eSIpCgpkZWZpbmUgIkJlbnpvZGlhemVwaW5lIFByZXNjcmlwdGlvbiI6CiAgW01lZGljYXRpb25SZXF1ZXN0OiBtZWRpY2F0aW9uIGluICJTY2hlZHVsZSBJViBCZW56b2RpYXplcGluZXMiXSBCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0CiAgICB3aGVyZSBCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0LnN0YXR1cyBpbiB7ICdhY3RpdmUnLCAnY29tcGxldGVkJyB9CiAgICAgIGFuZCBCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0LmludGVudCA9ICdvcmRlcicKICAgICAgYW5kIEJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3QuY2F0ZWdvcnkgfiBUb0NvbmNlcHQoIkNvbW11bml0eSIpCgovLyBUaGlzIHdhcyBvcmlnaW5hbGx5IHdyaXR0ZW4gYXMgYW4gaW50ZXJzZWN0LCBidXQgdGhlIGRlc2NyaXB0aW9uIGluZGljYXRlcyBlaXRoZXIsIHNvIGl0IHNob3VsZCBiZSBhIHVuaW9uLi4uCmRlZmluZSAiRW5jb3VudGVyIHdpdGggYW4gT3Bpb2lkIG9yIEJlbnpvZGlhemVwaW5lIGF0IERpc2NoYXJnZSI6CiAgKAogICAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICAgICAgd2l0aCAiT3Bpb2lkIFByZXNjcmlwdGlvbiIgT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgICAgc3VjaCB0aGF0IE9waW9pZFByZXNjcmlwdGlvbi5hdXRob3JlZE9uIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICApCiAgdW5pb24gKAogICAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICAgICAgd2l0aCAiQmVuem9kaWF6ZXBpbmUgUHJlc2NyaXB0aW9uIiBCZW56b2RpYXplcGluZVByZXNjcmlwdGlvbgogICAgICAgIHN1Y2ggdGhhdCBCZW56b2RpYXplcGluZVByZXNjcmlwdGlvbi5hdXRob3JlZE9uIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICApCgovKgpkZWZpbmUgIkVuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiOgoJKAoJCSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCgkJd2l0aCBbTWVkaWNhdGlvblJlcXVlc3Q6IG1lZGljYXRpb24gaW4gIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZHNEaXNjaGFyZ2UKICAgIAlzdWNoIHRoYXQgT3Bpb2lkc0Rpc2NoYXJnZS5hdXRob3JlZE9uIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgICAJCWFuZCBPcGlvaWRzRGlzY2hhcmdlLmludGVudCA9ICdvcmRlcicKCSkKICAvL01lYXN1cmUgUmV2aWV3OgogIC8vVGhlIHByaW9yIGltcGxlbWVudGF0aW9uIHdhcyByZXN0cmljdGluZyAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiCiAgLy90byBib3RoIE9waW9pZCBBTkQgQmVuem9kaWF6ZXBpbmUgYXQgZGlzY2hhcmdlLgogIC8vVGhlIGZvbGxvd2luZyBpbXBsZW1lbnRhdGlvbiByZXN0cmljdHMgaXQgdG8gT3Bpb2lkIE9SIEJlbnpvZGlhemVwaW5lLCBwZXIgdGhlIGRlc2NyaXB0aW9uLgogIC8vTmVlZCB2YWxpZGF0aW9uIGZyb20gdGhlIG1lYXN1cmUgZGV2ZWxvcGVycyB0aGF0IHRoaXMgbWVldHMgdGhlIGl0ZW50IG9mIHRoZSBzcGVjLgoJCXVuaW9uICgKICAgICAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKCSAgICB3aXRoIFtNZWRpY2F0aW9uUmVxdWVzdDogbWVkaWNhdGlvbiBpbiAiU2NoZWR1bGUgSVYgQmVuem9kaWF6ZXBpbmVzIl0gQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UKCSAgICAgc3VjaCB0aGF0IEJlbnpvZGlhemVwaW5lRGlzY2hhcmdlLmF1dGhvcmVkT24gZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICAJICBhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuaW50ZW50ID0gJ29yZGVyJwoJCSApCiovCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CiAgIkVuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKICAiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJEaWFnbm9zaXMgb2YgUHJpbWFyeSBvciBTZWNvbmRhcnkgQ2FuY2VyIjoKICBbIkNvbmRpdGlvbiI6IGNvZGUgaW4gIkFsbCBQcmltYXJ5IGFuZCBTZWNvbmRhcnkgQ2FuY2VyIl0gQ2FuY2VyCiAgICB3aGVyZSBDYW5jZXIuY2xpbmljYWxTdGF0dXMgPSAnYWN0aXZlJwogICAgICBhbmQgQ2FuY2VyLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCgpkZWZpbmUgIlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIE9yZGVyIjoKICAoWyJQcm9jZWR1cmVSZXF1ZXN0IjogIlBhbGxpYXRpdmUgQ2FyZSJdCiAgICB1bmlvbiBbIlByb2NlZHVyZVJlcXVlc3QiOiAiSG9zcGljZSBDYXJlIl0KICApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlCiAgICB3aGVyZSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZS5zdGF0dXMgaW4geyAnYWN0aXZlJywgJ2NvbXBsZXRlZCcgfQogICAgICBhbmQgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUuaW50ZW50ID0gJ29yZGVyJwoKZGVmaW5lICJQYWxsaWF0aXZlIG9yIEhvc3BpY2UgQ2FyZSBQcm9jZWR1cmUiOgogIChbIlByb2NlZHVyZSI6ICJQYWxsaWF0aXZlIENhcmUiXQogICAgdW5pb24gWyJQcm9jZWR1cmUiOiAiSG9zcGljZSBDYXJlIl0KICApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlCiAgICB3aGVyZSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZS5zdGF0dXMgPSAnY29tcGxldGVkJwoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb24iOgogICgiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIElucGF0aWVudEVuY291bnRlcgogICAgd2l0aCAiRGlhZ25vc2lzIG9mIFByaW1hcnkgb3IgU2Vjb25kYXJ5IENhbmNlciIgQ2FuY2VyCiAgICAgIHN1Y2ggdGhhdCBHbG9iYWwuIk5vcm1hbGl6ZSBPbnNldCIoQ2FuY2VyLm9uc2V0KSBvdmVybGFwcyBJbnBhdGllbnRFbmNvdW50ZXIucGVyaW9kCiAgKQogICAgdW5pb24gKCJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCiAgICAgIHdpdGggIlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIE9yZGVyIiBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyCiAgICAgICAgc3VjaCB0aGF0IFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlT3JkZXIuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgKQogICAgdW5pb24gKCJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCiAgICAgIHdpdGggIlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIFByb2NlZHVyZSIgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUKICAgICAgICBzdWNoIHRoYXQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlLnBlcmZvcm1lZCkgZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICkKCi8qCmRlZmluZSAiRGVub21pbmF0b3IgRXhjbHVzaW9ucyI6CgkoIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKCXdpdGggW0NvbmRpdGlvbjogY29kZSBpbiAiQWxsIFByaW1hcnkgYW5kIFNlY29uZGFyeSBDYW5jZXIiXUNhbmNlcgogICAgICAgc3VjaCB0aGF0IENhbmNlci5jbGluaWNhbFN0YXR1cyA9ICdhY3RpdmUnCiAgICAgICBhbmQgQ2FuY2VyLnZlcmlmaWNhdGlvblN0YXR1cyA9ICdjb25maXJtZWQnCiAgICAgICBhbmQgQ2FuY2VyLm9uc2V0IG92ZXJsYXBzIElucGF0aWVudEVuY291bnRlci5wZXJpb2QpCgkJdW5pb24gKCJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCiAgICAgIHdpdGggKFsiUHJvY2VkdXJlUmVxdWVzdCI6ICJQYWxsaWF0aXZlIENhcmUiXQoJCQl1bmlvbiBbIlByb2NlZHVyZVJlcXVlc3QiOiAiSG9zcGljZSBDYXJlIl0gKSBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyCgkJCXN1Y2ggdGhhdCAgUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlci5pbnRlbnQgPSAnb3JkZXInCiAgICAgIGFuZCBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyLmF1dGhvcmVkT24gZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QpCiAgICB1bmlvbiAoIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICB3aXRoICAoWyJQcm9jZWR1cmUiOiAiUGFsbGlhdGl2ZSBDYXJlIl0KICAgIAl1bmlvbiBbIlByb2NlZHVyZSI6ICJIb3NwaWNlIENhcmUiXSApIFBhbGxpYXRpdmVPckhvc3BpY2VDYXJlUGVyZm9ybWVkCiAgICAJCQkJCXN1Y2ggdGhhdCBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZVBlcmZvcm1lZC5wZXJmb3JtZWQgb3ZlcmxhcHMgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZCkKKi8KCmRlZmluZSAiRW5jb3VudGVyIHdpdGggYSBDb25jdXJyZW50IE9waW9pZCBhbmQgQmVuem9kaWF6ZXBpbmUgYXQgRGlzY2hhcmdlIjoKICAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIElucGF0aWVudEVuY291bnRlcgogICAgd2l0aCAiT3Bpb2lkIFByZXNjcmlwdGlvbiIgT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgIHN1Y2ggdGhhdCBPcGlvaWRQcmVzY3JpcHRpb24uYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgd2l0aCAiQmVuem9kaWF6ZXBpbmUgUHJlc2NyaXB0aW9uIiBCZW56b2RpYXplcGluZVByZXNjcmlwdGlvbgogICAgICBzdWNoIHRoYXQgQmVuem9kaWF6ZXBpbmVQcmVzY3JpcHRpb24uYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAoKLyoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBhIENvbmN1cnJlbnQgT3Bpb2lkIGFuZCBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiOgoJZnJvbSAiSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIElucGF0aWVudEVuY291bnRlciwKCQlbTWVkaWNhdGlvblJlcXVlc3Q6ICJTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMiXSBPcGlvaWRzRGlzY2hhcmdlLAoJCVtNZWRpY2F0aW9uUmVxdWVzdDogIlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyJdIEJlbnpvZGlhemVwaW5lRGlzY2hhcmdlCgkJCXdoZXJlIE9waW9pZHNEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAoJICAgIAlhbmQgT3Bpb2lkc0Rpc2NoYXJnZS5pbnRlbnQgPSAnb3JkZXInCgkJCQlhbmQgQmVuem9kaWF6ZXBpbmVEaXNjaGFyZ2UuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAogICAgICAgIGFuZCBCZW56b2RpYXplcGluZURpc2NoYXJnZS5pbnRlbnQgPSAnb3JkZXInCgkJCXJldHVybiBJbnBhdGllbnRFbmNvdW50ZXIKKi8KCmRlZmluZSAiRW5jb3VudGVyIHdpdGggVHdvIG9yIE1vcmUgQ29uY3VycmVudCBPcGlvaWRzIGF0IERpc2NoYXJnZSI6CiAgIklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiBJbnBhdGllbnRFbmNvdW50ZXIKICAgIHdoZXJlIENvdW50KAogICAgICAiT3Bpb2lkIFByZXNjcmlwdGlvbiIgT3Bpb2lkUHJlc2NyaXB0aW9uCiAgICAgICAgd2hlcmUgT3Bpb2lkUHJlc2NyaXB0aW9uLmF1dGhvcmVkT24gZHVyaW5nIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICkgPj0gMgoKLyoKZGVmaW5lICJFbmNvdW50ZXIgd2l0aCBUd28gb3IgTW9yZSBDb25jdXJyZW50IE9waW9pZHMgYXQgRGlzY2hhcmdlIjoKCSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgSW5wYXRpZW50RW5jb3VudGVyCgkJd2hlcmUgQ291bnQoCgkJCVtNZWRpY2F0aW9uUmVxdWVzdDogIlNjaGVkdWxlIElJIGFuZCBTY2hlZHVsZSBJSUkgT3Bpb2lkcyJdIE9waW9pZHMKCQkJCXdoZXJlIE9waW9pZHMuYXV0aG9yZWRPbiBkdXJpbmcgSW5wYXRpZW50RW5jb3VudGVyLnBlcmlvZAoJCSkgPj0gMgoqLwoKZGVmaW5lICJOdW1lcmF0b3IiOgogICJFbmNvdW50ZXIgd2l0aCBUd28gb3IgTW9yZSBDb25jdXJyZW50IE9waW9pZHMgYXQgRGlzY2hhcmdlIgogICAgdW5pb24gIkVuY291bnRlciB3aXRoIGEgQ29uY3VycmVudCBPcGlvaWQgYW5kIEJlbnpvZGlhemVwaW5lIGF0IERpc2NoYXJnZSIK" + }, { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjMiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGlkZW50aWZpZXIgaWQ9IkVYTTUwNl9GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9IjM6MS0zOjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxIj4KICAgICAgICAgICAgICAgPGE6cz51c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyIiBsb2NhdG9yPSI1OjEtNTo3MCIgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iNC4wLjAwMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+TUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMiIGxvY2F0b3I9IjY6MS02OjU0IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQiIGxvY2F0b3I9Ijc6MS03OjY1IiBsb2NhbElkZW50aWZpZXI9IlNERSIgcGF0aD0iU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzIiB2ZXJzaW9uPSIxLjAuMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzX0ZISVIzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9pbmNsdWRlcz4KICAgPHBhcmFtZXRlcnM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzEiIGxvY2F0b3I9IjMwOjEtMzE6NjgiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMxIj4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgJnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgIGRlZmF1bHQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2Ij5JbnRlcnZhbFtAMjAxOS0wMS0wMVQwMDowMDowMC4wLCBAMjAyMC0wMS0wMVQwMDowMDowMC4wKTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjgiIGxvY2F0b3I9IjMxOjEzLTMxOjY4IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjI2IiBsb2NhdG9yPSIzMToyMi0zMTo0MyIgeHNpOnR5cGU9IkRhdGVUaW1lIj4KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDE5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGhvdXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtaWxsaXNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIyNyIgbG9jYXRvcj0iMzE6NDYtMzE6NjciIHhzaTp0eXBlPSJEYXRlVGltZSI+CiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1pbnV0ZSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZGVmYXVsdD4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzAiIGxvY2F0b3I9IjMwOjMyLTMwOjQ5IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSIyOSIgbG9jYXRvcj0iMzA6NDEtMzA6NDgiIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPgogICAgICA8L2RlZj4KICAgPC9wYXJhbWV0ZXJzPgogICA8Y29kZVN5c3RlbXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iNSIgbG9jYXRvcj0iOToxLTk6NjUiIG5hbWU9IkRpYWdub3NpcyBSb2xlIiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9kaWFnbm9zaXMtcm9sZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7RGlhZ25vc2lzIFJvbGUmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2IiBsb2NhdG9yPSIxMDoxLTEwOjM4IiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O0xPSU5DJnF1b3Q7OiAnaHR0cDovL2xvaW5jLm9yZyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNyIgbG9jYXRvcj0iMTE6MS0xMTo0MiIgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLm9yZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjciPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7U05PTUVEQ1QmcXVvdDs6ICdodHRwOi8vc25vbWVkLm9yZyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOCIgbG9jYXRvcj0iMTI6MS0xMjo2NCIgbmFtZT0iUmVxdWVzdEludGVudCIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvcmVxdWVzdC1pbnRlbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O1JlcXVlc3RJbnRlbnQmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3JlcXVlc3QtaW50ZW50JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5IiBsb2NhdG9yPSIxMzoxLTEzOjg5IiBuYW1lPSJNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5IiBpZD0iaHR0cDovL2hsNy5vcmcvZmhpci9tZWRpY2F0aW9uLXJlcXVlc3QtY2F0ZWdvcnkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O01lZGljYXRpb25SZXF1ZXN0Q2F0ZWdvcnkmcXVvdDs6ICdodHRwOi8vaGw3Lm9yZy9maGlyL21lZGljYXRpb24tcmVxdWVzdC1jYXRlZ29yeSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvY29kZVN5c3RlbXM+CiAgIDx2YWx1ZVNldHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAiIGxvY2F0b3I9IjE1OjEtMTU6MTE1IiBuYW1lPSJBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMCI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7QWxsIFByaW1hcnkgYW5kIFNlY29uZGFyeSBDYW5jZXImcXVvdDs6ICAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE2MSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTEiIGxvY2F0b3I9IjE2OjEtMTY6MTAwIiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTEiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0VuY291bnRlciBJbnBhdGllbnQmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEyIiBsb2NhdG9yPSIxNzoxLTE3Ojg3IiBuYW1lPSJFdGhuaWNpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMiI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7RXRobmljaXR5JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMyIgbG9jYXRvcj0iMTg6MS0xODo5NiIgbmFtZT0iSG9zcGljZSBDYXJlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMzE1Ny4xMDA0LjIwIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTMiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0hvc3BpY2UgQ2FyZSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjMxNTcuMTAwNC4yMCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQiIGxvY2F0b3I9IjE5OjEtMTk6OTciIG5hbWU9Ik9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNCI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7T05DIEFkbWluaXN0cmF0aXZlIFNleCZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTUiIGxvY2F0b3I9IjIwOjEtMjA6OTciIG5hbWU9IlBhbGxpYXRpdmUgQ2FyZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNjIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNSI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7UGFsbGlhdGl2ZSBDYXJlJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE2Mic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTYiIGxvY2F0b3I9IjIxOjEtMjE6ODQiIG5hbWU9IlBheWVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE2Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtQYXllciZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE3IiBsb2NhdG9yPSIyMjoxLTIyOjgyIiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTciPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1JhY2UmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzYnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE4IiBsb2NhdG9yPSIyMzoxLTIzOjExNyIgbmFtZT0iU2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTI1LjIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxOCI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7U2NoZWR1bGUgSUkgYW5kIFNjaGVkdWxlIElJSSBPcGlvaWRzJnF1b3Q7OiAgJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEyNS4yJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxOSIgbG9jYXRvcj0iMjQ6MS0yNDoxMDciIG5hbWU9IlNjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEyNS4xIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTkiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1NjaGVkdWxlIElWIEJlbnpvZGlhemVwaW5lcyZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTEyNS4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC92YWx1ZVNldHM+CiAgIDxjb2Rlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyMSIgbG9jYXRvcj0iMjY6MS0yNjo2MSIgbmFtZT0iQmlydGhkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O0JpcnRoZGF0ZSZxdW90OzogJzIxMTEyLTgnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjAiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0xPSU5DJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdCaXJ0aCBkYXRlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIyMCIgbG9jYXRvcj0iMjY6MzQtMjY6NDAiIG5hbWU9IkxPSU5DIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzIiBsb2NhdG9yPSIyNzoxLTI3OjU4IiBuYW1lPSJPcmRlciIgaWQ9Im9yZGVyIiBkaXNwbGF5PSJPcmRlciIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIzIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O09yZGVyJnF1b3Q7OiAnb3JkZXInIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjIiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1JlcXVlc3RJbnRlbnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ09yZGVyJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIyMiIgbG9jYXRvcj0iMjc6MjgtMjc6NDIiIG5hbWU9IlJlcXVlc3RJbnRlbnQiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjUiIGxvY2F0b3I9IjI4OjEtMjg6ODIiIG5hbWU9IkNvbW11bml0eSIgaWQ9ImNvbW11bml0eSIgZGlzcGxheT0iQ29tbXVuaXR5IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjUiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7Q29tbXVuaXR5JnF1b3Q7OiAnY29tbXVuaXR5JyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZWRpY2F0aW9uUmVxdWVzdENhdGVnb3J5JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdDb21tdW5pdHknPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjI0IiBsb2NhdG9yPSIyODozNi0yODo2MiIgbmFtZT0iTWVkaWNhdGlvblJlcXVlc3RDYXRlZ29yeSIvPgogICAgICA8L2RlZj4KICAgPC9jb2Rlcz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjMzOjEtMzM6MTUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0cz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzM6MS0zMzoxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzM6MS0zMzoxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjQiIGxvY2F0b3I9IjM1OjEtNDA6MTM0IiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7SW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgmcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O0VuY291bnRlciZxdW90OzogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RW5jb3VudGVyIElucGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gRW5jb3VudGVySW5wYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVySW5wYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2ZpbmlzaGVkJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TGVuZ3RoSW5EYXlzJnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVySW5wYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MiI+ICZsdDs9IDEyMDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCWFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXJJbnBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4Ij4gZW5kcyBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01lYXN1cmVtZW50IFBlcmlvZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q2FsZW5kYXJBZ2VJblllYXJzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZVRpbWUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YmlydGhEYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0ludGVydmFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVySW5wYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjAiPiA+PSAxODwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjMiIGxvY2F0b3I9IjM2OjItNDA6MTM0IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMzIiBsb2NhdG9yPSIzNjoyLTM2OjU2IiBhbGlhcz0iRW5jb3VudGVySW5wYXRpZW50Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzIiIGxvY2F0b3I9IjM2OjItMzY6MzciIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBsb2NhdG9yPSIzNjoxNi0zNjozNiIgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI2MiIgbG9jYXRvcj0iMzc6My00MDoxMzQiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0OSIgbG9jYXRvcj0iMzc6OS0zOTo2NSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ0IiBsb2NhdG9yPSIzNzo5LTM4OjYzIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzciIGxvY2F0b3I9IjM3OjktMzc6NDYiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1IiBsb2NhdG9yPSIzNzo5LTM3OjMzIiBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2IiBsb2NhdG9yPSIzNzozNy0zNzo0NiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQzIiBsb2NhdG9yPSIzODo5LTM4OjYzIiB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MSIgbG9jYXRvcj0iMzg6OS0zODo1NiIgbmFtZT0iTGVuZ3RoSW5EYXlzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQwIiBsb2NhdG9yPSIzODozMS0zODo1NSIgcGF0aD0icGVyaW9kIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQyIiBsb2NhdG9yPSIzODo2MS0zODo2MyIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0OCIgbG9jYXRvcj0iMzk6OC0zOTo2NSIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMzk6MzQtMzk6MzciIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2IiBsb2NhdG9yPSIzOTo4LTM5OjMyIiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDciIGxvY2F0b3I9IjM5OjQ2LTM5OjY1IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYxIiBsb2NhdG9yPSI0MDoxMS00MDoxMzQiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU5IiBsb2NhdG9yPSI0MDoxMS00MDoxMjgiIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFyc0F0IiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MyIgbG9jYXRvcj0iNDA6MzktNDA6NjciIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUyIiBsb2NhdG9yPSI0MDo1MC00MDo2NiIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjUxIiBsb2NhdG9yPSI0MDo1MC00MDo1NiIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTgiIGxvY2F0b3I9IjQwOjcwLTQwOjEyNyIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTciIGxvY2F0b3I9IjQwOjc5LTQwOjEyNyIgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NiIgbG9jYXRvcj0iNDA6MTAyLTQwOjEyNiIgcGF0aD0icGVyaW9kIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjAiIGxvY2F0b3I9IjQwOjEzMy00MDoxMzQiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTgiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4NSIgbG9jYXRvcj0iNDM6MS00Nzo2NyIgbmFtZT0iT3Bpb2lkIFByZXNjcmlwdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7T3Bpb2lkIFByZXNjcmlwdGlvbiZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W01lZGljYXRpb25SZXF1ZXN0OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tZWRpY2F0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE9waW9pZE1lZGljYXRpb25SZXF1ZXN0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk9waW9pZE1lZGljYXRpb25SZXF1ZXN0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidhY3RpdmUnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidjb21wbGV0ZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB9PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk9waW9pZE1lZGljYXRpb25SZXF1ZXN0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aW50ZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J29yZGVyJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+T3Bpb2lkTWVkaWNhdGlvblJlcXVlc3Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jYXRlZ29yeTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IH4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvQ29uY2VwdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q29tbXVuaXR5JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4NCIgbG9jYXRvcj0iNDQ6My00Nzo2NyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2NiIgbG9jYXRvcj0iNDQ6My00NDo5OSIgYWxpYXM9Ik9waW9pZE1lZGljYXRpb25SZXF1ZXN0Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjUiIGxvY2F0b3I9IjQ0OjMtNDQ6NzUiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjQ0OjM3LTQ0Ojc0IiBuYW1lPSJTY2hlZHVsZSBJSSBhbmQgU2NoZWR1bGUgSUlJIE9waW9pZHMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iODMiIGxvY2F0b3I9IjQ1OjUtNDc6NjciIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3NyIgbG9jYXRvcj0iNDU6MTEtNDY6NTAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3MiIgbG9jYXRvcj0iNDU6MTEtNDU6NjkiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY4IiBsb2NhdG9yPSI0NToxMS00NTo0MCIgcGF0aD0ic3RhdHVzIiBzY29wZT0iT3Bpb2lkTWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjcxIiBsb2NhdG9yPSI0NTo0NS00NTo2OSIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhbElkPSI2OSIgbG9jYXRvcj0iNDU6NDctNDU6NTQiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2FsSWQ9IjcwIiBsb2NhdG9yPSI0NTo1Ny00NTo2NyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc2IiBsb2NhdG9yPSI0NjoxMS00Njo1MCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzQiIGxvY2F0b3I9IjQ2OjExLTQ2OjQwIiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJPcGlvaWRNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzUiIGxvY2F0b3I9IjQ2OjQ0LTQ2OjUwIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MiIgbG9jYXRvcj0iNDc6MTEtNDc6NjciIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc5IiBsb2NhdG9yPSI0NzoxMS00Nzo0MiIgcGF0aD0iY2F0ZWdvcnkiIHNjb3BlPSJPcGlvaWRNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODEiIGxvY2F0b3I9IjQ3OjQ2LTQ3OjY3IiB4c2k6dHlwZT0iVG9Db25jZXB0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODAiIGxvY2F0b3I9IjQ3OjU2LTQ3OjY2IiBuYW1lPSJDb21tdW5pdHkiIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwNiIgbG9jYXRvcj0iNDk6MS01Mzo3NSIgbmFtZT0iQmVuem9kaWF6ZXBpbmUgUHJlc2NyaXB0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTA2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7QmVuem9kaWF6ZXBpbmUgUHJlc2NyaXB0aW9uJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W01lZGljYXRpb25SZXF1ZXN0OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tZWRpY2F0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTY2hlZHVsZSBJViBCZW56b2RpYXplcGluZXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5CZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidhY3RpdmUnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidjb21wbGV0ZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB9PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pbnRlbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nb3JkZXInPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2F0ZWdvcnk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB+IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9Db25jZXB0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q29tbXVuaXR5JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDUiIGxvY2F0b3I9IjUwOjMtNTM6NzUiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODciIGxvY2F0b3I9IjUwOjMtNTA6OTgiIGFsaWFzPSJCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODYiIGxvY2F0b3I9IjUwOjMtNTA6NjYiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiBjb2RlUHJvcGVydHk9Im1lZGljYXRpb24iIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjUwOjM3LTUwOjY1IiBuYW1lPSJTY2hlZHVsZSBJViBCZW56b2RpYXplcGluZXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMTA0IiBsb2NhdG9yPSI1MTo1LTUzOjc1IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTgiIGxvY2F0b3I9IjUxOjExLTUyOjU4IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTMiIGxvY2F0b3I9IjUxOjExLTUxOjc3IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4OSIgbG9jYXRvcj0iNTE6MTEtNTE6NDgiIHBhdGg9InN0YXR1cyIgc2NvcGU9IkJlbnpvZGlhemVwaW5lTWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjkyIiBsb2NhdG9yPSI1MTo1My01MTo3NyIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhbElkPSI5MCIgbG9jYXRvcj0iNTE6NTUtNTE6NjIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IGxvY2FsSWQ9IjkxIiBsb2NhdG9yPSI1MTo2NS01MTo3NSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk3IiBsb2NhdG9yPSI1MjoxMS01Mjo1OCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTUiIGxvY2F0b3I9IjUyOjExLTUyOjQ4IiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJCZW56b2RpYXplcGluZU1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5NiIgbG9jYXRvcj0iNTI6NTItNTI6NTgiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvcmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEwMyIgbG9jYXRvcj0iNTM6MTEtNTM6NzUiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEwMCIgbG9jYXRvcj0iNTM6MTEtNTM6NTAiIHBhdGg9ImNhdGVnb3J5IiBzY29wZT0iQmVuem9kaWF6ZXBpbmVNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTAyIiBsb2NhdG9yPSI1Mzo1NC01Mzo3NSIgeHNpOnR5cGU9IlRvQ29uY2VwdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEwMSIgbG9jYXRvcj0iNTM6NjQtNTM6NzQiIG5hbWU9IkNvbW11bml0eSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTMwIiBsb2NhdG9yPSI1NjoxLTY2OjUiIG5hbWU9IkVuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMzAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtFbmNvdW50ZXIgd2l0aCBhbiBPcGlvaWQgb3IgQmVuem9kaWF6ZXBpbmUgYXQgRGlzY2hhcmdlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyOSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4oCiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IElucGF0aWVudEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7T3Bpb2lkIFByZXNjcmlwdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE9waW9pZFByZXNjcmlwdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICBzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+T3Bpb2lkUHJlc2NyaXB0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmF1dGhvcmVkT248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNSI+IGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW5wYXRpZW50RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICApPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogIHVuaW9uIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyOCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KAogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBJbnBhdGllbnRFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndpdGggPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0JlbnpvZGlhemVwaW5lIFByZXNjcmlwdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEJlbnpvZGlhemVwaW5lUHJlc2NyaXB0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIHN1Y2ggdGhhdCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5CZW56b2RpYXplcGluZVByZXNjcmlwdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hdXRob3JlZE9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjYiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklucGF0aWVudEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgKTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyOSIgbG9jYXRvcj0iNTc6My02Njo1IiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTciIGxvY2F0b3I9IjU3OjMtNjE6NSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMDgiIGxvY2F0b3I9IjU4OjUtNTg6ODEiIGFsaWFzPSJJbnBhdGllbnRFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMDciIGxvY2F0b3I9IjU4OjUtNTg6NjIiIG5hbWU9IklucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSIxMTYiIGxvY2F0b3I9IjU5OjctNjA6ODAiIGFsaWFzPSJPcGlvaWRQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTA5IiBsb2NhdG9yPSI1OToxMi01OTozMiIgbmFtZT0iT3Bpb2lkIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjExNSIgbG9jYXRvcj0iNjA6MTktNjA6ODAiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTEyIiBsb2NhdG9yPSI2MDoxOS02MDo0NyIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9Ik9waW9pZFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTQiIGxvY2F0b3I9IjYwOjU2LTYwOjgwIiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyOCIgbG9jYXRvcj0iNjI6OS02Njo1IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExOSIgbG9jYXRvcj0iNjM6NS02Mzo4MSIgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExOCIgbG9jYXRvcj0iNjM6NS02Mzo2MiIgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjEyNyIgbG9jYXRvcj0iNjQ6Ny02NTo4OCIgYWxpYXM9IkJlbnpvZGlhemVwaW5lUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyMCIgbG9jYXRvcj0iNjQ6MTItNjQ6NDAiIG5hbWU9IkJlbnpvZGlhemVwaW5lIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjEyNiIgbG9jYXRvcj0iNjU6MTktNjU6ODgiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTIzIiBsb2NhdG9yPSI2NToxOS02NTo1NSIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IkJlbnpvZGlhemVwaW5lUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyNSIgbG9jYXRvcj0iNjU6NjQtNjU6ODgiIHBhdGg9InBlcmlvZCIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMzIiIGxvY2F0b3I9Ijg5OjEtOTA6NTkiIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzMiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0luaXRpYWwgUG9wdWxhdGlvbiZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzEiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0VuY291bnRlciB3aXRoIGFuIE9waW9pZCBvciBCZW56b2RpYXplcGluZSBhdCBEaXNjaGFyZ2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzMSIgbG9jYXRvcj0iOTA6My05MDo1OSIgbmFtZT0iRW5jb3VudGVyIHdpdGggYW4gT3Bpb2lkIG9yIEJlbnpvZGlhemVwaW5lIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTM0IiBsb2NhdG9yPSI5MjoxLTkzOjIyIiBuYW1lPSJEZW5vbWluYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzNCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0Rlbm9taW5hdG9yJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SW5pdGlhbCBQb3B1bGF0aW9uJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMzMiIGxvY2F0b3I9IjkzOjMtOTM6MjIiIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQ3IiBsb2NhdG9yPSI5NToxLTk4OjQ5IiBuYW1lPSJEaWFnbm9zaXMgb2YgUHJpbWFyeSBvciBTZWNvbmRhcnkgQ2FuY2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQ3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RGlhZ25vc2lzIG9mIFByaW1hcnkgb3IgU2Vjb25kYXJ5IENhbmNlciZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNDYiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtDb25kaXRpb24mcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0FsbCBQcmltYXJ5IGFuZCBTZWNvbmRhcnkgQ2FuY2VyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBDYW5jZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNhbmNlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jbGluaWNhbFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nYWN0aXZlJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5DYW5jZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmVyaWZpY2F0aW9uU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidjb25maXJtZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTQ2IiBsb2NhdG9yPSI5NjozLTk4OjQ5IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEzNiIgbG9jYXRvcj0iOTY6My05Njo2NiIgYWxpYXM9IkNhbmNlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzNSIgbG9jYXRvcj0iOTY6My05Njo1OSIgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9Ijk2OjI1LTk2OjU4IiBuYW1lPSJBbGwgUHJpbWFyeSBhbmQgU2Vjb25kYXJ5IENhbmNlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxNDUiIGxvY2F0b3I9Ijk3OjUtOTg6NDkiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDAiIGxvY2F0b3I9Ijk3OjExLTk3OjQyIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzgiIGxvY2F0b3I9Ijk3OjExLTk3OjMxIiBwYXRoPSJjbGluaWNhbFN0YXR1cyIgc2NvcGU9IkNhbmNlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTM5IiBsb2NhdG9yPSI5NzozNS05Nzo0MiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImFjdGl2ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDQiIGxvY2F0b3I9Ijk4OjExLTk4OjQ5IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDIiIGxvY2F0b3I9Ijk4OjExLTk4OjM1IiBwYXRoPSJ2ZXJpZmljYXRpb25TdGF0dXMiIHNjb3BlPSJDYW5jZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0MyIgbG9jYXRvcj0iOTg6MzktOTg6NDkiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb25maXJtZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNjQiIGxvY2F0b3I9IjEwMDoxLTEwNTo1MCIgbmFtZT0iUGFsbGlhdGl2ZSBvciBIb3NwaWNlIENhcmUgT3JkZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNjQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtQYWxsaWF0aXZlIG9yIEhvc3BpY2UgQ2FyZSBPcmRlciZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNjMiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtQcm9jZWR1cmVSZXF1ZXN0JnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQYWxsaWF0aXZlIENhcmUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIHVuaW9uIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WyZxdW90O1Byb2NlZHVyZVJlcXVlc3QmcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0hvc3BpY2UgQ2FyZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICApPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGFsbGlhdGl2ZU9ySG9zcGljZUNhcmU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz57IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2FjdGl2ZSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidjb21wbGV0ZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB9PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhbGxpYXRpdmVPckhvc3BpY2VDYXJlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmludGVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nb3JkZXInPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTYzIiBsb2NhdG9yPSIxMDE6My0xMDU6NTAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTUxIiBsb2NhdG9yPSIxMDE6My0xMDM6MjciIGFsaWFzPSJQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE1MCIgbG9jYXRvcj0iMTAxOjMtMTAzOjMiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE0OCIgbG9jYXRvcj0iMTAxOjQtMTAxOjQyIiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjEwMToyNS0xMDE6NDEiIG5hbWU9IlBhbGxpYXRpdmUgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ5IiBsb2NhdG9yPSIxMDI6MTEtMTAyOjQ2IiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjEwMjozMi0xMDI6NDUiIG5hbWU9Ikhvc3BpY2UgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjE2MiIgbG9jYXRvcj0iMTA0OjUtMTA1OjUwIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTU3IiBsb2NhdG9yPSIxMDQ6MTEtMTA0OjY5IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTMiIGxvY2F0b3I9IjEwNDoxMS0xMDQ6NDAiIHBhdGg9InN0YXR1cyIgc2NvcGU9IlBhbGxpYXRpdmVPckhvc3BpY2VDYXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTYiIGxvY2F0b3I9IjEwNDo0NS0xMDQ6NjkiIHhzaTp0eXBlPSJMaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYWxJZD0iMTU0IiBsb2NhdG9yPSIxMDQ6NDctMTA0OjU0IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iYWN0aXZlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhbElkPSIxNTUiIGxvY2F0b3I9IjEwNDo1Ny0xMDQ6NjciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjEiIGxvY2F0b3I9IjEwNToxMS0xMDU6NTAiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1OSIgbG9jYXRvcj0iMTA1OjExLTEwNTo0MCIgcGF0aD0iaW50ZW50IiBzY29wZT0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2MCIgbG9jYXRvcj0iMTA1OjQ0LTEwNTo1MCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTc0IiBsb2NhdG9yPSIxMDc6MS0xMTE6NTQiIG5hbWU9IlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIFByb2NlZHVyZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE3NCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O1BhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIFByb2NlZHVyZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNzMiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtQcm9jZWR1cmUmcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1BhbGxpYXRpdmUgQ2FyZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgdW5pb24gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7UHJvY2VkdXJlJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtIb3NwaWNlIENhcmUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTcyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2NvbXBsZXRlZCc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE3MyIgbG9jYXRvcj0iMTA4OjMtMTExOjU0IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE2OCIgbG9jYXRvcj0iMTA4OjMtMTEwOjI3IiBhbGlhcz0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNjciIGxvY2F0b3I9IjEwODozLTExMDozIiB4c2k6dHlwZT0iVW5pb24iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjUiIGxvY2F0b3I9IjEwODo0LTEwODozNSIgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjEwODoxOC0xMDg6MzQiIG5hbWU9IlBhbGxpYXRpdmUgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTY2IiBsb2NhdG9yPSIxMDk6MTEtMTA5OjM5IiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iMTA5OjI1LTEwOTozOCIgbmFtZT0iSG9zcGljZSBDYXJlIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMTcyIiBsb2NhdG9yPSIxMTE6NS0xMTE6NTQiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3MCIgbG9jYXRvcj0iMTExOjExLTExMTo0MCIgcGF0aD0ic3RhdHVzIiBzY29wZT0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3MSIgbG9jYXRvcj0iMTExOjQ0LTExMTo1NCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImNvbXBsZXRlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTQiIGxvY2F0b3I9IjExMzoxLTEyNTo1IiBuYW1lPSJEZW5vbWluYXRvciBFeGNsdXNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtEZW5vbWluYXRvciBFeGNsdXNpb24mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjEzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSW5wYXRpZW50RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGlhZ25vc2lzIG9mIFByaW1hcnkgb3IgU2Vjb25kYXJ5IENhbmNlciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IENhbmNlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgc3VjaCB0aGF0IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkdsb2JhbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOb3JtYWxpemUgT25zZXQmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNhbmNlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg1Ij4gb3ZlcmxhcHMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklucGF0aWVudEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICB1bmlvbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IElucGF0aWVudEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UGFsbGlhdGl2ZSBvciBIb3NwaWNlIENhcmUgT3JkZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIHN1Y2ggdGhhdCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZU9yZGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmF1dGhvcmVkT248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NiI+IGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW5wYXRpZW50RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICApPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIHVuaW9uIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSW5wYXRpZW50RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aXRoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQYWxsaWF0aXZlIG9yIEhvc3BpY2UgQ2FyZSBQcm9jZWR1cmUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBQYWxsaWF0aXZlT3JIb3NwaWNlQ2FyZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICBzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O05vcm1hbGl6ZSBJbnRlcnZhbCZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGFsbGlhdGl2ZU9ySG9zcGljZUNhcmU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyZm9ybWVkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTAiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklucGF0aWVudEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgKTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIxMyIgbG9jYXRvcj0iMTE0OjMtMTI1OjUiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5OSIgbG9jYXRvcj0iMTE0OjMtMTIxOjUiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4NyIgbG9jYXRvcj0iMTE0OjMtMTE3OjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTc2IiBsb2NhdG9yPSIxMTQ6NC0xMTQ6ODAiIGFsaWFzPSJJbnBhdGllbnRFbmNvdW50ZXIiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNzUiIGxvY2F0b3I9IjExNDo0LTExNDo2MSIgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjE4NiIgbG9jYXRvcj0iMTE1OjUtMTE2Ojg5IiBhbGlhcz0iQ2FuY2VyIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE3NyIgbG9jYXRvcj0iMTE1OjEwLTExNTo1MSIgbmFtZT0iRGlhZ25vc2lzIG9mIFByaW1hcnkgb3IgU2Vjb25kYXJ5IENhbmNlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjE4NSIgbG9jYXRvcj0iMTE2OjE3LTExNjo4OSIgeHNpOnR5cGU9Ik92ZXJsYXBzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTgyIiBsb2NhdG9yPSIxMTY6MTctMTE2OjU0IiBuYW1lPSJOb3JtYWxpemUgT25zZXQiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MSIgbG9jYXRvcj0iMTE2OjQyLTExNjo1MyIgcGF0aD0ib25zZXQiIHNjb3BlPSJDYW5jZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTg0IiBsb2NhdG9yPSIxMTY6NjUtMTE2Ojg5IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5OCIgbG9jYXRvcj0iMTE4OjExLTEyMTo1IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE4OSIgbG9jYXRvcj0iMTE4OjEyLTExODo4OCIgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+CiAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE4OCIgbG9jYXRvcj0iMTE4OjEyLTExODo2OSIgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjE5NyIgbG9jYXRvcj0iMTE5OjctMTIwOjkwIiBhbGlhcz0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmVPcmRlciIgeHNpOnR5cGU9IldpdGgiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxOTAiIGxvY2F0b3I9IjExOToxMi0xMTk6NDUiIG5hbWU9IlBhbGxpYXRpdmUgb3IgSG9zcGljZSBDYXJlIE9yZGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8c3VjaFRoYXQgbG9jYWxJZD0iMTk2IiBsb2NhdG9yPSIxMjA6MTktMTIwOjkwIiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE5MyIgbG9jYXRvcj0iMTIwOjE5LTEyMDo1NyIgcGF0aD0iYXV0aG9yZWRPbiIgc2NvcGU9IlBhbGxpYXRpdmVPckhvc3BpY2VDYXJlT3JkZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk1IiBsb2NhdG9yPSIxMjA6NjYtMTIwOjkwIiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjEyIiBsb2NhdG9yPSIxMjI6MTEtMTI1OjUiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjAxIiBsb2NhdG9yPSIxMjI6MTItMTIyOjg4IiBhbGlhcz0iSW5wYXRpZW50RW5jb3VudGVyIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjAwIiBsb2NhdG9yPSIxMjI6MTItMTIyOjY5IiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgbG9jYWxJZD0iMjExIiBsb2NhdG9yPSIxMjM6Ny0xMjQ6MTEzIiBhbGlhcz0iUGFsbGlhdGl2ZU9ySG9zcGljZUNhcmUiIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjAyIiBsb2NhdG9yPSIxMjM6MTItMTIzOjQ5IiBuYW1lPSJQYWxsaWF0aXZlIG9yIEhvc3BpY2UgQ2FyZSBQcm9jZWR1cmUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxzdWNoVGhhdCBsb2NhbElkPSIyMTAiIGxvY2F0b3I9IjEyNDoxOS0xMjQ6MTEzIiB4c2k6dHlwZT0iSW5jbHVkZWRJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwNyIgbG9jYXRvcj0iMTI0OjE5LTEyNDo4MCIgbmFtZT0iTm9ybWFsaXplIEludGVydmFsIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMDYiIGxvY2F0b3I9IjEyNDo0Ny0xMjQ6NzkiIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IlBhbGxpYXRpdmVPckhvc3BpY2VDYXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwOSIgbG9jYXRvcj0iMTI0Ojg5LTEyNDoxMTMiIHBhdGg9InBlcmlvZCIgc2NvcGU9IklucGF0aWVudEVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMzQiIGxvY2F0b3I9IjE0NToxLTE1MDo4NiIgbmFtZT0iRW5jb3VudGVyIHdpdGggYSBDb25jdXJyZW50IE9waW9pZCBhbmQgQmVuem9kaWF6ZXBpbmUgYXQgRGlzY2hhcmdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjM0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RW5jb3VudGVyIHdpdGggYSBDb25jdXJyZW50IE9waW9pZCBhbmQgQmVuem9kaWF6ZXBpbmUgYXQgRGlzY2hhcmdlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0lucGF0aWVudCBFbmNvdW50ZXIgd2l0aCBBZ2UgR3JlYXRlciB0aGFuIG9yIEVxdWFsIHRvIDE4JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSW5wYXRpZW50RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2l0aCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7T3Bpb2lkIFByZXNjcmlwdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE9waW9pZFByZXNjcmlwdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgc3VjaCB0aGF0IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk9waW9pZFByZXNjcmlwdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hdXRob3JlZE9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjMiPiBkdXJpbmcgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklucGF0aWVudEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndpdGggPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0JlbnpvZGlhemVwaW5lIFByZXNjcmlwdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEJlbnpvZGlhemVwaW5lUHJlc2NyaXB0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICBzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QmVuem9kaWF6ZXBpbmVQcmVzY3JpcHRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YXV0aG9yZWRPbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbnBhdGllbnRFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjMzIiBsb2NhdG9yPSIxNDY6My0xNTA6ODYiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjE2IiBsb2NhdG9yPSIxNDY6My0xNDY6NzkiIGFsaWFzPSJJbnBhdGllbnRFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMTUiIGxvY2F0b3I9IjE0NjozLTE0Njo2MCIgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciB3aXRoIEFnZSBHcmVhdGVyIHRoYW4gb3IgRXF1YWwgdG8gMTgiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjIyNCIgbG9jYXRvcj0iMTQ3OjUtMTQ4Ojc4IiBhbGlhcz0iT3Bpb2lkUHJlc2NyaXB0aW9uIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIxNyIgbG9jYXRvcj0iMTQ3OjEwLTE0NzozMCIgbmFtZT0iT3Bpb2lkIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjIyMyIgbG9jYXRvcj0iMTQ4OjE3LTE0ODo3OCIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjAiIGxvY2F0b3I9IjE0ODoxNy0xNDg6NDUiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJPcGlvaWRQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjIyIiBsb2NhdG9yPSIxNDg6NTQtMTQ4Ojc4IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjIzMiIgbG9jYXRvcj0iMTQ5OjUtMTUwOjg2IiBhbGlhcz0iQmVuem9kaWF6ZXBpbmVQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjI1IiBsb2NhdG9yPSIxNDk6MTAtMTQ5OjM4IiBuYW1lPSJCZW56b2RpYXplcGluZSBQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDxzdWNoVGhhdCBsb2NhbElkPSIyMzEiIGxvY2F0b3I9IjE1MDoxNy0xNTA6ODYiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjI4IiBsb2NhdG9yPSIxNTA6MTctMTUwOjUzIiBwYXRoPSJhdXRob3JlZE9uIiBzY29wZT0iQmVuem9kaWF6ZXBpbmVQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjMwIiBsb2NhdG9yPSIxNTA6NjItMTUwOjg2IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0OSIgbG9jYXRvcj0iMTY0OjEtMTY5OjEwIiBuYW1lPSJFbmNvdW50ZXIgd2l0aCBUd28gb3IgTW9yZSBDb25jdXJyZW50IE9waW9pZHMgYXQgRGlzY2hhcmdlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjQ5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RW5jb3VudGVyIHdpdGggVHdvIG9yIE1vcmUgQ29uY3VycmVudCBPcGlvaWRzIGF0IERpc2NoYXJnZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNDgiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IElucGF0aWVudEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Db3VudCgKICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7T3Bpb2lkIFByZXNjcmlwdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IE9waW9pZFByZXNjcmlwdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5PcGlvaWRQcmVzY3JpcHRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YXV0aG9yZWRPbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQzIj4gZHVyaW5nIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbnBhdGllbnRFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ2Ij4gPj0gMjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDgiIGxvY2F0b3I9IjE2NTozLTE2OToxMCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMzYiIGxvY2F0b3I9IjE2NTozLTE2NTo3OSIgYWxpYXM9IklucGF0aWVudEVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzNSIgbG9jYXRvcj0iMTY1OjMtMTY1OjYwIiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIHdpdGggQWdlIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCB0byAxOCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyNDciIGxvY2F0b3I9IjE2Njo1LTE2OToxMCIgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ1IiBsb2NhdG9yPSIxNjY6MTEtMTY5OjUiIHhzaTp0eXBlPSJDb3VudCI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjQ0IiBsb2NhdG9yPSIxNjc6Ny0xNjg6NzYiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjM4IiBsb2NhdG9yPSIxNjc6Ny0xNjc6NDYiIGFsaWFzPSJPcGlvaWRQcmVzY3JpcHRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMzciIGxvY2F0b3I9IjE2Nzo3LTE2NzoyNyIgbmFtZT0iT3Bpb2lkIFByZXNjcmlwdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyNDMiIGxvY2F0b3I9IjE2ODo5LTE2ODo3NiIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDAiIGxvY2F0b3I9IjE2ODoxNS0xNjg6NDMiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJPcGlvaWRQcmVzY3JpcHRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQyIiBsb2NhdG9yPSIxNjg6NTItMTY4Ojc2IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJJbnBhdGllbnRFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NiIgbG9jYXRvcj0iMTY5OjEwIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjUzIiBsb2NhdG9yPSIxODA6MS0xODI6NzgiIG5hbWU9Ik51bWVyYXRvciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI1MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O051bWVyYXRvciZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNTIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RW5jb3VudGVyIHdpdGggVHdvIG9yIE1vcmUgQ29uY3VycmVudCBPcGlvaWRzIGF0IERpc2NoYXJnZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIHVuaW9uIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RW5jb3VudGVyIHdpdGggYSBDb25jdXJyZW50IE9waW9pZCBhbmQgQmVuem9kaWF6ZXBpbmUgYXQgRGlzY2hhcmdlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjUyIiBsb2NhdG9yPSIxODE6My0xODI6NzgiIHhzaTp0eXBlPSJVbmlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1MCIgbG9jYXRvcj0iMTgxOjMtMTgxOjYyIiBuYW1lPSJFbmNvdW50ZXIgd2l0aCBUd28gb3IgTW9yZSBDb25jdXJyZW50IE9waW9pZHMgYXQgRGlzY2hhcmdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTEiIGxvY2F0b3I9IjE4MjoxMS0xODI6NzgiIG5hbWU9IkVuY291bnRlciB3aXRoIGEgQ29uY3VycmVudCBPcGlvaWQgYW5kIEJlbnpvZGlhemVwaW5lIGF0IERpc2NoYXJnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-FHIRHelpers-3.0.0.json b/fhir3/input/resources/library/library-FHIRHelpers-3.0.0.json index 102f3a25..98ccc063 100644 --- a/fhir3/input/resources/library/library-FHIRHelpers-3.0.0.json +++ b/fhir3/input/resources/library/library-FHIRHelpers-3.0.0.json @@ -5,26 +5,33 @@ "status": "generated", "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-FHIRHelpers-3.0.0</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">3.0.0</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library FHIRHelpers version '3.0.0'\n\nusing FHIR version '3.0.0'\n\ndefine function ToInterval(period FHIR.Period):\n if period is null then\n null\n else\n Interval[period."start".value, period."end".value]\n\ndefine function ToQuantity(quantity FHIR.Quantity):\n if quantity is null then\n null\n else\n System.Quantity { value: quantity.value.value, unit: quantity.unit.value }\n\ndefine function ToInterval(range FHIR.Range):\n if range is null then\n null\n else\n Interval[ToQuantity(range.low), ToQuantity(range.high)]\n\ndefine function ToCode(coding FHIR.Coding):\n if coding is null then\n null\n else\n System.Code {\n code: coding.code.value,\n system: coding.system.value,\n version: coding.version.value,\n display: coding.display.value\n }\n\ndefine function ToConcept(concept FHIR.CodeableConcept):\n if concept is null then\n null\n else\n System.Concept {\n codes: concept.coding C return ToCode(C),\n display: concept.text.value\n }\n\ndefine function ToString(value FHIR.uuid): value.value\ndefine function ToString(value FHIR.TestScriptRequestMethodCode): value.value\ndefine function ToString(value FHIR.ProvenanceEntityRole): value.value\ndefine function ToString(value FHIR.UnitsOfTime): value.value\ndefine function ToString(value FHIR.AddressType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCategory): value.value\ndefine function ToString(value FHIR.SpecimenStatus): value.value\ndefine function ToString(value FHIR.RestfulCapabilityMode): value.value\ndefine function ToString(value FHIR.DetectedIssueSeverity): value.value\ndefine function ToString(value FHIR.IssueSeverity): value.value\ndefine function ToString(value FHIR.CareTeamStatus): value.value\ndefine function ToString(value FHIR.DataElementStringency): value.value\ndefine function ToString(value FHIR.VisionEyes): value.value\ndefine function ToString(value FHIR.EncounterStatus): value.value\ndefine function ToString(value FHIR.StructureDefinitionKind): value.value\ndefine function ToString(value FHIR.PublicationStatus): value.value\ndefine function ToString(value FHIR.ConsentDataMeaning): value.value\ndefine function ToString(value FHIR.StructureMapSourceListMode): value.value\ndefine function ToString(value FHIR.RequestStatus): value.value\ndefine function ToString(value FHIR.QuestionnaireResponseStatus): value.value\ndefine function ToString(value FHIR.SearchComparator): value.value\ndefine function ToString(value FHIR.ChargeItemStatus): value.value\ndefine function ToString(value FHIR.ActionParticipantType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceType): value.value\ndefine function ToString(value FHIR.DocumentRelationshipType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceClinicalStatus): value.value\ndefine function ToString(value FHIR.CarePlanActivityStatus): value.value\ndefine function ToString(value FHIR.ActionList): value.value\ndefine function ToString(value FHIR.ParticipationStatus): value.value\ndefine function ToString(value FHIR.TestReportResult): value.value\ndefine function ToString(value FHIR.ConceptMapGroupUnmappedMode): value.value\ndefine function ToDateTime(value FHIR.instant): value.value\ndefine function ToDateTime(value FHIR.dateTime): value.value\ndefine function ToDate(value FHIR.date): value.value\ndefine function ToString(value FHIR.DocumentMode): value.value\ndefine function ToString(value FHIR.AssertionOperatorType): value.value\ndefine function ToString(value FHIR.DaysOfWeek): value.value\ndefine function ToString(value FHIR.IssueType): value.value\ndefine function ToString(value FHIR.ContentType): value.value\ndefine function ToString(value FHIR.StructureMapContextType): value.value\ndefine function ToString(value FHIR.FamilyHistoryStatus): value.value\ndefine function ToInteger(value FHIR.positiveInt): value.value\ndefine function ToString(value FHIR.ClinicalImpressionStatus): value.value\ndefine function ToString(value FHIR.AssertionResponseTypes): value.value\ndefine function ToString(value FHIR.RequestIntent): value.value\ndefine function ToString(value FHIR.NarrativeStatus): value.value\ndefine function ToString(value FHIR.MeasmntPrinciple): value.value\ndefine function ToString(value FHIR.ConsentExceptType): value.value\ndefine function ToString(value FHIR.string): value.value\ndefine function ToString(value FHIR.ActionRequiredBehavior): value.value\ndefine function ToString(value FHIR.EndpointStatus): value.value\ndefine function ToString(value FHIR.GuidePageKind): value.value\ndefine function ToString(value FHIR.GuideDependencyType): value.value\ndefine function ToString(value FHIR.ResourceVersionPolicy): value.value\ndefine function ToString(value FHIR.MedicationRequestStatus): value.value\ndefine function ToString(value FHIR.MedicationAdministrationStatus): value.value\ndefine function ToString(value FHIR.ActionCardinalityBehavior): value.value\ndefine function ToString(value FHIR.MedicationRequestIntent): value.value\ndefine function ToString(value FHIR.NamingSystemIdentifierType): value.value\ndefine function ToString(value FHIR.ImmunizationStatusCodes): value.value\ndefine function ToString(value FHIR.AccountStatus): value.value\ndefine function ToString(value FHIR.MedicationDispenseStatus): value.value\ndefine function ToString(value FHIR.ConfidentialityClassification): value.value\ndefine function ToString(value FHIR.IdentifierUse): value.value\ndefine function ToString(value FHIR.DigitalMediaType): value.value\ndefine function ToString(value FHIR.StructureMapTargetListMode): value.value\ndefine function ToString(value FHIR.TestReportParticipantType): value.value\ndefine function ToString(value FHIR.BindingStrength): value.value\ndefine function ToString(value FHIR.RequestPriority): value.value\ndefine function ToString(value FHIR.ParticipantRequired): value.value\ndefine function ToString(value FHIR.DiscriminatorType): value.value\ndefine function ToString(value FHIR.XPathUsageType): value.value\ndefine function ToString(value FHIR.StructureMapInputMode): value.value\ndefine function ToString(value FHIR.InstanceAvailability): value.value\ndefine function ToString(value FHIR.id): value.value\ndefine function ToString(value FHIR.LinkageType): value.value\ndefine function ToString(value FHIR.ReferenceHandlingPolicy): value.value\ndefine function ToString(value FHIR.MedicationStatus): value.value\ndefine function ToString(value FHIR.FilterOperator): value.value\ndefine function ToString(value FHIR.NamingSystemType): value.value\ndefine function ToString(value FHIR.ResearchStudyStatus): value.value\ndefine function ToString(value FHIR.ExtensionContext): value.value\ndefine function ToString(value FHIR.FHIRDefinedType): value.value\ndefine function ToString(value FHIR.AuditEventOutcome): value.value\ndefine function ToString(value FHIR.ActionRelationshipType): value.value\ndefine function ToString(value FHIR.ConstraintSeverity): value.value\ndefine function ToString(value FHIR.EventCapabilityMode): value.value\ndefine function ToString(value FHIR.ContractResourceStatusCodes): value.value\ndefine function ToString(value FHIR.ResearchSubjectStatus): value.value\ndefine function ToString(value FHIR.UDIEntryType): value.value\ndefine function ToString(value FHIR.DeviceMetricCategory): value.value\ndefine function ToString(value FHIR.TestReportActionResult): value.value\ndefine function ToString(value FHIR.StructureMapTransform): value.value\ndefine function ToString(value FHIR.ResponseType): value.value\ndefine function ToDecimal(value FHIR.decimal): value.value\ndefine function ToString(value FHIR.AggregationMode): value.value\ndefine function ToString(value FHIR.CapabilityStatementKind): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceVerificationStatus): value.value\ndefine function ToString(value FHIR.EventTiming): value.value\ndefine function ToString(value FHIR.GoalStatus): value.value\ndefine function ToString(value FHIR.SearchParamType): value.value\ndefine function ToString(value FHIR.SystemRestfulInteraction): value.value\ndefine function ToString(value FHIR.ActionGroupingBehavior): value.value\ndefine function ToString(value FHIR.StructureMapModelMode): value.value\ndefine function ToString(value FHIR.TaskStatus): value.value\ndefine function ToString(value FHIR.AdverseEventCausality): value.value\ndefine function ToString(value FHIR.SubscriptionChannelType): value.value\ndefine function ToString(value FHIR.GraphCompartmentRule): value.value\ndefine function ToString(value FHIR.AssertionDirectionType): value.value\ndefine function ToString(value FHIR.CarePlanIntent): value.value\ndefine function ToString(value FHIR.SlicingRules): value.value\ndefine function ToString(value FHIR.ExplanationOfBenefitStatus): value.value\ndefine function ToString(value FHIR.ConsentState): value.value\ndefine function ToString(value FHIR.AdverseEventCategory): value.value\ndefine function ToString(value FHIR.LinkType): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceCriticality): value.value\ndefine function ToString(value FHIR.MedicationRequestPriority): value.value\ndefine function ToString(value FHIR.ConceptMapEquivalence): value.value\ndefine function ToString(value FHIR.FHIRAllTypes): value.value\ndefine function ToString(value FHIR.PropertyRepresentation): value.value\ndefine function ToString(value FHIR.AuditEventAction): value.value\ndefine function ToString(value FHIR.TriggerType): value.value\ndefine function ToString(value FHIR.SearchModifierCode): value.value\ndefine function ToString(value FHIR.CompositionStatus): value.value\ndefine function ToString(value FHIR.AppointmentStatus): value.value\ndefine function ToString(value FHIR.MessageSignificanceCategory): value.value\ndefine function ToString(value FHIR.EventStatus): value.value\ndefine function ToString(value FHIR.OperationParameterUse): value.value\ndefine function ToString(value FHIR.ListMode): value.value\ndefine function ToString(value FHIR.ActionConditionKind): value.value\ndefine function ToString(value FHIR.ObservationStatus): value.value\ndefine function ToString(value FHIR.qualityType): value.value\ndefine function ToString(value FHIR.AdministrativeGender): value.value\ndefine function ToString(value FHIR.ResourceType): value.value\ndefine function ToString(value FHIR.QuestionnaireItemType): value.value\ndefine function ToBoolean(value FHIR.boolean): value.value\ndefine function ToString(value FHIR.StructureMapGroupTypeMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationType): value.value\ndefine function ToString(value FHIR.code): value.value\ndefine function ToString(value FHIR.SupplyRequestStatus): value.value\ndefine function ToString(value FHIR.ActionSelectionBehavior): value.value\ndefine function ToString(value FHIR.EncounterLocationStatus): value.value\ndefine function ToString(value FHIR.SupplyDeliveryStatus): value.value\ndefine function ToString(value FHIR.DiagnosticReportStatus): value.value\ndefine function ToString(value FHIR.FlagStatus): value.value\ndefine function ToString(value FHIR.CarePlanStatus): value.value\ndefine function ToString(value FHIR.ConditionClinicalStatusCodes): value.value\ndefine function ToString(value FHIR.ListStatus): value.value\ndefine function Tobase64Binary(value FHIR.base64Binary): value.value\ndefine function ToString(value FHIR.DeviceUseStatementStatus): value.value\ndefine function ToString(value FHIR.AuditEventAgentNetworkType): value.value\ndefine function ToString(value FHIR.AddressUse): value.value\ndefine function ToString(value FHIR.ConditionalDeleteStatus): value.value\ndefine function ToString(value FHIR.ContactPointUse): value.value\ndefine function ToString(value FHIR.DeviceMetricOperationalStatus): value.value\ndefine function ToString(value FHIR.NutritionOrderStatus): value.value\ndefine function ToString(value FHIR.uri): value.value\ndefine function ToString(value FHIR.ContributorType): value.value\ndefine function ToString(value FHIR.ReferenceVersionRules): value.value\ndefine function ToString(value FHIR.Use): value.value\ndefine function ToString(value FHIR.IdentityAssuranceLevel): value.value\ndefine function ToString(value FHIR.MeasureReportStatus): value.value\ndefine function ToString(value FHIR.DeviceMetricColor): value.value\ndefine function ToString(value FHIR.SearchEntryMode): value.value\ndefine function ToTime(value FHIR.time): value.value\ndefine function ToString(value FHIR.ConditionalReadStatus): value.value\ndefine function ToString(value FHIR.ConditionVerificationStatus): value.value\ndefine function ToString(value FHIR.AllergyIntoleranceSeverity): value.value\ndefine function ToString(value FHIR.FinancialResourceStatusCodes): value.value\ndefine function ToString(value FHIR.OperationKind): value.value\ndefine function ToString(value FHIR.ObservationRelationshipType): value.value\ndefine function ToInteger(value FHIR.unsignedInt): value.value\ndefine function ToString(value FHIR.NameUse): value.value\ndefine function ToString(value FHIR.SubscriptionStatus): value.value\ndefine function ToString(value FHIR.DocumentReferenceStatus): value.value\ndefine function ToString(value FHIR.LocationMode): value.value\ndefine function ToInteger(value FHIR.integer): value.value\ndefine function ToString(value FHIR.repositoryType): value.value\ndefine function ToString(value FHIR.LocationStatus): value.value\ndefine function ToString(value FHIR.FHIRSubstanceStatus): value.value\ndefine function ToString(value FHIR.UnknownContentCode): value.value\ndefine function ToString(value FHIR.NoteType): value.value\ndefine function ToString(value FHIR.TestReportStatus): value.value\ndefine function ToString(value FHIR.HTTPVerb): value.value\ndefine function ToString(value FHIR.CodeSystemContentMode): value.value\ndefine function ToString(value FHIR.EpisodeOfCareStatus): value.value\ndefine function ToString(value FHIR.RemittanceOutcome): value.value\ndefine function ToString(value FHIR.FHIRDeviceStatus): value.value\ndefine function ToString(value FHIR.ContactPointSystem): value.value\ndefine function ToString(value FHIR.SlotStatus): value.value\ndefine function ToString(value FHIR.PropertyType): value.value\ndefine function ToString(value FHIR.markdown): value.value\ndefine function ToString(value FHIR.TypeDerivationRule): value.value\ndefine function ToString(value FHIR.MedicationStatementStatus): value.value\ndefine function ToString(value FHIR.GuidanceResponseStatus): value.value\ndefine function ToString(value FHIR.QuantityComparator): value.value\ndefine function ToString(value FHIR.RelatedArtifactType): value.value\ndefine function ToString(value FHIR.oid): value.value\ndefine function ToString(value FHIR.MeasureReportType): value.value\ndefine function ToString(value FHIR.ActionPrecheckBehavior): value.value\ndefine function ToString(value FHIR.SampledDataDataType): value.value\ndefine function ToString(value FHIR.MedicationStatementTaken): value.value\ndefine function ToString(value FHIR.CompartmentType): value.value\ndefine function ToString(value FHIR.CompositionAttestationMode): value.value\ndefine function ToString(value FHIR.DeviceMetricCalibrationState): value.value\ndefine function ToString(value FHIR.GroupType): value.value\ndefine function ToString(value FHIR.TypeRestfulInteraction): value.value\ndefine function ToString(value FHIR.CodeSystemHierarchyMeaning): value.value\ndefine function ToString(value FHIR.VisionBase): value.value\ndefine function ToString(value FHIR.BundleType): value.value\ndefine function ToString(value FHIR.SystemVersionProcessingMode): value.value\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "3.0.0", "name": "FHIRHelpers", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1F1YW50aXR5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgY2xhc3NUeXBlPSJ0OlF1YW50aXR5IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0idW5pdCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpRdWFudGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICA8bG93IG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJhbmdlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb1F1YW50aXR5IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyYW5nZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSYW5nZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvQ29kZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InZlcnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4NCiAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJkaXNwbGF5IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb2RpbmciIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb2RpbmciPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGFzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIGNsYXNzVHlwZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iSW5zdGFuY2UiPg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPg0KICAgICAgICAgICAgICAgICAgPHZhbHVlIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlRvQ29kZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L3ZhbHVlPg0KICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+DQogICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmNlcHQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+DQogICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25jZXB0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dXVpZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm92ZW5hbmNlRW50aXR5Um9sZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5pdHNPZlRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkZHJlc3NUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc3RmdWxDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV0ZWN0ZWRJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJc3N1ZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlVGVhbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGF0YUVsZW1lbnRTdHJpbmdlbmN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpWaXNpb25FeWVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZURlZmluaXRpb25LaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQdWJsaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uc2VudERhdGFNZWFuaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTZWFyY2hDb21wYXJhdG9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDaGFyZ2VJdGVtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvY3VtZW50UmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBHcm91cFVubWFwcGVkTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZVRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjppbnN0YW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOklzc3VlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcENvbnRleHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGYW1pbHlIaXN0b3J5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNsaW5pY2FsSW1wcmVzc2lvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXNzZXJ0aW9uUmVzcG9uc2VUeXBlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFycmF0aXZlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWFzbW50UHJpbmNpcGxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50RXhjZXB0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25SZXF1aXJlZEJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmRwb2ludFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVQYWdlS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3VpZGVEZXBlbmRlbmN5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzb3VyY2VWZXJzaW9uUG9saWN5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkFkbWluaXN0cmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdEludGVudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TmFtaW5nU3lzdGVtSWRlbnRpZmllclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkltbXVuaXphdGlvblN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uRGlzcGVuc2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWdpdGFsTWVkaWFUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QmluZGluZ1N0cmVuZ3RoIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBhcnRpY2lwYW50UmVxdWlyZWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRpc2NyaW1pbmF0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpYUGF0aFVzYWdlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVkaWNhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmlsdGVyT3BlcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4dGVuc2lvbkNvbnRleHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblJlbGF0aW9uc2hpcFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRDYXBhYmlsaXR5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNlYXJjaFN1YmplY3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVESUVudHJ5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2F0ZWdvcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRyYW5zZm9ybSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EZWNpbWFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdncmVnYXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXBhYmlsaXR5U3RhdGVtZW50S2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFdmVudFRpbWluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R29hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoUGFyYW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkdyb3VwaW5nQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGFza1N0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFzc2VydGlvbkRpcmVjdGlvblR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNhcmVQbGFuSW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25zZW50U3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFkdmVyc2VFdmVudENhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMaW5rVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ3JpdGljYWxpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmNlcHRNYXBFcXVpdmFsZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUkFsbFR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQcm9wZXJ0eVJlcHJlc2VudGF0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2VhcmNoTW9kaWZpZXJDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QXBwb2ludG1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXZlbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvbkNvbmRpdGlvbktpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk9ic2VydmF0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpxdWFsaXR5VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UXVlc3Rpb25uYWlyZUl0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9Cb29sZWFuIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpTdXBwbHlSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBY3Rpb25TZWxlY3Rpb25CZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyTG9jYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1cHBseURlbGl2ZXJ5U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEaWFnbm9zdGljUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TGlzdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvYmFzZTY0QmluYXJ5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6YmFzZTY0QmluYXJ5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZGRyZXNzVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb25hbERlbGV0ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnVyaSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29udHJpYnV0b3JUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ29sb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsUmVhZFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29uZGl0aW9uVmVyaWZpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6dW5zaWduZWRJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk5hbWVVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlN1YnNjcmlwdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWZlcmVuY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvSW50ZWdlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RkhJUlN1YnN0YW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VGVzdFJlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6SFRUUFZlcmIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RXBpc29kZU9mQ2FyZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVtaXR0YW5jZU91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkZISVJEZXZpY2VTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvbnRhY3RQb2ludFN5c3RlbSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U2xvdFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UHJvcGVydHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjptYXJrZG93biIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpHdWlkYW5jZVJlc3BvbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpRdWFudGl0eUNvbXBhcmF0b3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlbGF0ZWRBcnRpZmFjdFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOm9pZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6TWVhc3VyZVJlcG9ydFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFjdGlvblByZWNoZWNrQmVoYXZpb3IiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRUYWtlbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29tcGFydG1lbnRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6R3JvdXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpUeXBlUmVzdGZ1bEludGVyYWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlU3lzdGVtSGllcmFyY2h5TWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QnVuZGxlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICA8c291cmNlIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/Library/FHIR-ModelInfo|3.0.0" } - ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlcnZhbChwZXJpb2QgRkhJUi5QZXJpb2QpOgogICAgaWYgcGVyaW9kIGlzIG51bGwgdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBJbnRlcnZhbFtwZXJpb2QuInN0YXJ0Ii52YWx1ZSwgcGVyaW9kLiJlbmQiLnZhbHVlXQoKZGVmaW5lIGZ1bmN0aW9uIFRvUXVhbnRpdHkocXVhbnRpdHkgRkhJUi5RdWFudGl0eSk6CiAgICBpZiBxdWFudGl0eSBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLlF1YW50aXR5IHsgdmFsdWU6IHF1YW50aXR5LnZhbHVlLnZhbHVlLCB1bml0OiBxdWFudGl0eS51bml0LnZhbHVlIH0KCmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIEZISVIuUmFuZ2UpOgogICAgaWYgcmFuZ2UgaXMgbnVsbCB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIEludGVydmFsW1RvUXVhbnRpdHkocmFuZ2UubG93KSwgVG9RdWFudGl0eShyYW5nZS5oaWdoKV0KCmRlZmluZSBmdW5jdGlvbiBUb0NvZGUoY29kaW5nIEZISVIuQ29kaW5nKToKICAgIGlmIGNvZGluZyBpcyBudWxsIHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgU3lzdGVtLkNvZGUgewogICAgICAgICAgY29kZTogY29kaW5nLmNvZGUudmFsdWUsCiAgICAgICAgICBzeXN0ZW06IGNvZGluZy5zeXN0ZW0udmFsdWUsCiAgICAgICAgICB2ZXJzaW9uOiBjb2RpbmcudmVyc2lvbi52YWx1ZSwKICAgICAgICAgIGRpc3BsYXk6IGNvZGluZy5kaXNwbGF5LnZhbHVlCiAgICAgICAgfQoKZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IEZISVIuQ29kZWFibGVDb25jZXB0KToKICAgIGlmIGNvbmNlcHQgaXMgbnVsbCB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICBTeXN0ZW0uQ29uY2VwdCB7CiAgICAgICAgICAgIGNvZGVzOiBjb25jZXB0LmNvZGluZyBDIHJldHVybiBUb0NvZGUoQyksCiAgICAgICAgICAgIGRpc3BsYXk6IGNvbmNlcHQudGV4dC52YWx1ZQogICAgICAgIH0KCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnV1aWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm92ZW5hbmNlRW50aXR5Um9sZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVuaXRzT2ZUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWRkcmVzc1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNwZWNpbWVuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV0ZWN0ZWRJc3N1ZVNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVUZWFtU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGF0YUVsZW1lbnRTdHJpbmdlbmN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVmlzaW9uRXllcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlclN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZURlZmluaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUHVibGljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RGF0YU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5RdWVzdGlvbm5haXJlUmVzcG9uc2VTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2hhcmdlSXRlbVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblBhcnRpY2lwYW50VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudFJlbGF0aW9uc2hpcFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDbGluaWNhbFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25MaXN0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUGFydGljaXBhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRSZXN1bHQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwR3JvdXBVbm1hcHBlZE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmluc3RhbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSBGSElSLmRhdGVUaW1lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvRGF0ZSh2YWx1ZSBGSElSLmRhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Eb2N1bWVudE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EYXlzT2ZXZWVrKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSXNzdWVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29udGVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZhbWlseUhpc3RvcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9JbnRlZ2VyKHZhbHVlIEZISVIucG9zaXRpdmVJbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5DbGluaWNhbEltcHJlc3Npb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25SZXNwb25zZVR5cGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVxdWVzdEludGVudCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5hcnJhdGl2ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXNtbnRQcmluY2lwbGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25zZW50RXhjZXB0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLnN0cmluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFjdGlvblJlcXVpcmVkQmVoYXZpb3IpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FbmRwb2ludFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkd1aWRlUGFnZUtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkZURlcGVuZGVuY3lUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VWZXJzaW9uUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblJlcXVlc3RJbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkltbXVuaXphdGlvblN0YXR1c0NvZGVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWNjb3VudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25EaXNwZW5zZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbmZpZGVudGlhbGl0eUNsYXNzaWZpY2F0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuSWRlbnRpZmllclVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRpZ2l0YWxNZWRpYVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5CaW5kaW5nU3RyZW5ndGgpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGlzY3JpbWluYXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5YUGF0aFVzYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcElucHV0TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkluc3RhbmNlQXZhaWxhYmlsaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuaWQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5MaW5rYWdlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlZmVyZW5jZUhhbmRsaW5nUG9saWN5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVkaWNhdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbHRlck9wZXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtaW5nU3lzdGVtVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3R1ZHlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHRlbnNpb25Db250ZXh0KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRlZmluZWRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudE91dGNvbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uc3RyYWludFNldmVyaXR5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXZlbnRDYXBhYmlsaXR5TW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRyYWN0UmVzb3VyY2VTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc2VhcmNoU3ViamVjdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVESUVudHJ5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydEFjdGlvblJlc3VsdCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN0cnVjdHVyZU1hcFRyYW5zZm9ybSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlc3BvbnNlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb0RlY2ltYWwodmFsdWUgRkhJUi5kZWNpbWFsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWdncmVnYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FwYWJpbGl0eVN0YXRlbWVudEtpbmQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FdmVudFRpbWluZyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkdvYWxTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TZWFyY2hQYXJhbVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3RydWN0dXJlTWFwTW9kZWxNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGFza1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdXNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvbkNoYW5uZWxUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuR3JhcGhDb21wYXJ0bWVudFJ1bGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ2FyZVBsYW5JbnRlbnQpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TbGljaW5nUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnNlbnRTdGF0ZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkdmVyc2VFdmVudENhdGVnb3J5KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlua1R5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5GSElSQWxsVHlwZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQXVkaXRFdmVudEFjdGlvbik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlRyaWdnZXJUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoTW9kaWZpZXJDb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29tcG9zaXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BcHBvaW50bWVudFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lc3NhZ2VTaWduaWZpY2FuY2VDYXRlZ29yeSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkV2ZW50U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT3BlcmF0aW9uUGFyYW1ldGVyVXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTGlzdE1vZGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25Db25kaXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5xdWFsaXR5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkbWluaXN0cmF0aXZlR2VuZGVyKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVzb3VyY2VUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVlc3Rpb25uYWlyZUl0ZW1UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSBGSElSLmJvb2xlYW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25UeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuY29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1cHBseVJlcXVlc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkVuY291bnRlckxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU3VwcGx5RGVsaXZlcnlTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRmxhZ1N0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNhcmVQbGFuU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29uZGl0aW9uQ2xpbmljYWxTdGF0dXNDb2Rlcyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxpc3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9iYXNlNjRCaW5hcnkodmFsdWUgRkhJUi5iYXNlNjRCaW5hcnkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkFkZHJlc3NVc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY09wZXJhdGlvbmFsU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTnV0cml0aW9uT3JkZXJTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi51cmkpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db250cmlidXRvclR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Vc2UpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTWVhc3VyZVJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NvbG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuU2VhcmNoRW50cnlNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSBGSElSLnRpbWUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5PcGVyYXRpb25LaW5kKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuT2JzZXJ2YXRpb25SZWxhdGlvbnNoaXBUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLnVuc2lnbmVkSW50KTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTmFtZVVzZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN1YnNjcmlwdGlvblN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRvY3VtZW50UmVmZXJlbmNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuTG9jYXRpb25Nb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSBGSElSLmludGVnZXIpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5yZXBvc2l0b3J5VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkxvY2F0aW9uU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUlN1YnN0YW5jZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlVua25vd25Db250ZW50Q29kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk5vdGVUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuVGVzdFJlcG9ydFN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkhUVFBWZXJiKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUNvbnRlbnRNb2RlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRXBpc29kZU9mQ2FyZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlJlbWl0dGFuY2VPdXRjb21lKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuRkhJUkRldmljZVN0YXR1cyk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkNvbnRhY3RQb2ludFN5c3RlbSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNsb3RTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Qcm9wZXJ0eVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5tYXJrZG93bik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlR5cGVEZXJpdmF0aW9uUnVsZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUXVhbnRpdHlDb21wYXJhdG9yKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuUmVsYXRlZEFydGlmYWN0VHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLm9pZCk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLk1lYXN1cmVSZXBvcnRUeXBlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQWN0aW9uUHJlY2hlY2tCZWhhdmlvcik6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlNhbXBsZWREYXRhRGF0YVR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4pOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wYXJ0bWVudFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5Hcm91cFR5cGUpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQ29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmcpOiB2YWx1ZS52YWx1ZQpkZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgRkhJUi5WaXNpb25CYXNlKTogdmFsdWUudmFsdWUKZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIEZISVIuQnVuZGxlVHlwZSk6IHZhbHVlLnZhbHVlCmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSBGSElSLlN5c3RlbVZlcnNpb25Qcm9jZXNzaW5nTW9kZSk6IHZhbHVlLnZhbHVlCg==" + }, { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjMiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGlkZW50aWZpZXIgaWQ9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9IjM6MS0zOjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxIj4KICAgICAgICAgICAgICAgPGE6cz51c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE0IiBsb2NhdG9yPSI1OjEtOTo1OCIgbmFtZT0iVG9JbnRlcnZhbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHBlcmlvZCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIG51bGw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNSI+IHRoZW4KICAgICAgICBudWxsCiAgICBlbHNlCiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsWzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7c3RhcnQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O2VuZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMyIgbG9jYXRvcj0iNjo1LTk6NTgiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQiIGxvY2F0b3I9IjY6OC02OjIxIiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMyIgbG9jYXRvcj0iNjo4LTY6MTMiIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4geHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNSIgbG9jYXRvcj0iNzo5LTc6MTIiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIxMiIgbG9jYXRvcj0iOTo5LTk6NTgiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSI4IiBsb2NhdG9yPSI5OjE4LTk6MzciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjciIGxvY2F0b3I9Ijk6MTgtOTozMSIgcGF0aD0ic3RhcnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNiIgbG9jYXRvcj0iOToxOC05OjIzIiBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMTEiIGxvY2F0b3I9Ijk6NDAtOTo1NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTAiIGxvY2F0b3I9Ijk6NDAtOTo1MSIgcGF0aD0iZW5kIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjkiIGxvY2F0b3I9Ijk6NDAtOTo0NSIgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIiIGxvY2F0b3I9IjU6MzUtNTo0NSIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNyIgbG9jYXRvcj0iMTE6MS0xNTo4MiIgbmFtZT0iVG9RdWFudGl0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1F1YW50aXR5KHF1YW50aXR5IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlF1YW50aXR5PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIG51bGw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgiPiB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5TeXN0ZW0uUXVhbnRpdHkgeyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dW5pdDogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cXVhbnRpdHk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51bml0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IH08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjYiIGxvY2F0b3I9IjEyOjUtMTU6ODIiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3IiBsb2NhdG9yPSIxMjo4LTEyOjIzIiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTYiIGxvY2F0b3I9IjEyOjgtMTI6MTUiIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICA8dGhlbiBhc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4IiBsb2NhdG9yPSIxMzo5LTEzOjEyIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjI1IiBsb2NhdG9yPSIxNTo5LTE1OjgyIiBjbGFzc1R5cGU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2FsSWQ9IjIxIiBsb2NhdG9yPSIxNTozNC0xNTo1MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjAiIGxvY2F0b3I9IjE1OjM0LTE1OjQ3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxOSIgbG9jYXRvcj0iMTU6MzQtMTU6NDEiIG5hbWU9InF1YW50aXR5IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJ1bml0Ij4KICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2FsSWQ9IjI0IiBsb2NhdG9yPSIxNTo2Mi0xNTo4MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjMiIGxvY2F0b3I9IjE1OjYyLTE1Ojc0IiBwYXRoPSJ1bml0IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIyIiBsb2NhdG9yPSIxNTo2Mi0xNTo2OSIgbmFtZT0icXVhbnRpdHkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJxdWFudGl0eSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNSIgbG9jYXRvcj0iMTE6MzctMTE6NDkiIG5hbWU9ImZoaXI6UXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MCIgbG9jYXRvcj0iMTc6MS0yMTo2MyIgbmFtZT0iVG9JbnRlcnZhbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb0ludGVydmFsKHJhbmdlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlJhbmdlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzOSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmFuZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIG51bGw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEiPiB0aGVuCiAgICAgICAgbnVsbAogICAgZWxzZQogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbFs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9RdWFudGl0eSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJhbmdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bG93PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvUXVhbnRpdHkoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yYW5nZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmhpZ2g8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzOSIgbG9jYXRvcj0iMTg6NS0yMTo2MyIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAiIGxvY2F0b3I9IjE4OjgtMTg6MjAiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOSIgbG9jYXRvcj0iMTg6OC0xODoxMiIgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgIDx0aGVuIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxIiBsb2NhdG9yPSIxOTo5LTE5OjEyIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6UXVhbnRpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMzgiIGxvY2F0b3I9IjIxOjktMjE6NjMiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIzNCIgbG9jYXRvcj0iMjE6MTgtMjE6MzgiIG5hbWU9IlRvUXVhbnRpdHkiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzIiBsb2NhdG9yPSIyMToyOS0yMTozNyIgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMyIiBsb2NhdG9yPSIyMToyOS0yMTozMyIgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjM3IiBsb2NhdG9yPSIyMTo0MS0yMTo2MiIgbmFtZT0iVG9RdWFudGl0eSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzYiIGxvY2F0b3I9IjIxOjUyLTIxOjYxIiBwYXRoPSJoaWdoIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM1IiBsb2NhdG9yPSIyMTo1Mi0yMTo1NiIgbmFtZT0icmFuZ2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmFuZ2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjgiIGxvY2F0b3I9IjE3OjM0LTE3OjQzIiBuYW1lPSJmaGlyOlJhbmdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTkiIGxvY2F0b3I9IjIzOjEtMzI6OSIgbmFtZT0iVG9Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1OSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvQ29kZShjb2RpbmcgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDEiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQ29kaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1OCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kaW5nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0Ij4gdGhlbgogICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+U3lzdGVtLkNvZGUgewogICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kaW5nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwKICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN5c3RlbTogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kaW5nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3lzdGVtPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LAogICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmVyc2lvbjogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kaW5nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmVyc2lvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwKICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRpc3BsYXk6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGluZzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRpc3BsYXk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICB9PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU4IiBsb2NhdG9yPSIyNDo1LTMyOjkiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQzIiBsb2NhdG9yPSIyNDo4LTI0OjIxIiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDIiIGxvY2F0b3I9IjI0OjgtMjQ6MTMiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4gYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ0IiBsb2NhdG9yPSIyNTo5LTI1OjEyIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjU3IiBsb2NhdG9yPSIyNzo5LTMyOjkiIGNsYXNzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iSW5zdGFuY2UiPgogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4KICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2FsSWQ9IjQ3IiBsb2NhdG9yPSIyODoxNy0yODozMyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDYiIGxvY2F0b3I9IjI4OjE3LTI4OjI3IiBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ1IiBsb2NhdG9yPSIyODoxNy0yODoyMiIgbmFtZT0iY29kaW5nIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzeXN0ZW0iPgogICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYWxJZD0iNTAiIGxvY2F0b3I9IjI5OjE5LTI5OjM3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0OSIgbG9jYXRvcj0iMjk6MTktMjk6MzEiIHBhdGg9InN5c3RlbSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0OCIgbG9jYXRvcj0iMjk6MTktMjk6MjQiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0idmVyc2lvbiI+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhbElkPSI1MyIgbG9jYXRvcj0iMzA6MjAtMzA6MzkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjUyIiBsb2NhdG9yPSIzMDoyMC0zMDozMyIgcGF0aD0idmVyc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1MSIgbG9jYXRvcj0iMzA6MjAtMzA6MjUiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhbElkPSI1NiIgbG9jYXRvcj0iMzE6MjAtMzE6MzkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjU1IiBsb2NhdG9yPSIzMToyMC0zMTozMyIgcGF0aD0iZGlzcGxheSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1NCIgbG9jYXRvcj0iMzE6MjAtMzE6MjUiIG5hbWU9ImNvZGluZyIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvdmFsdWU+CiAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvZGluZyI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MSIgbG9jYXRvcj0iMjM6MzEtMjM6NDEiIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzUiIGxvY2F0b3I9IjM0OjEtNDE6OSIgbmFtZT0iVG9Db25jZXB0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3NSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvQ29uY2VwdChjb25jZXB0IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkNvZGVhYmxlQ29uY2VwdDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmNlcHQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIG51bGw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjMiPiB0aGVuCiAgICAgICAgIG51bGwKICAgIGVsc2UKICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+U3lzdGVtLkNvbmNlcHQgewogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb2RlczogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uY2VwdC5jb2Rpbmc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBDPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJldHVybiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9Db2RlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5DPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LAogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kaXNwbGF5OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25jZXB0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dGV4dDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIH08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzQiIGxvY2F0b3I9IjM1OjUtNDE6OSIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjIiIGxvY2F0b3I9IjM1OjgtMzU6MjIiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MSIgbG9jYXRvcj0iMzU6OC0zNToxNCIgbmFtZT0iY29uY2VwdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4gYXNUeXBlPSJ0OkNvbmNlcHQiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYzIiBsb2NhdG9yPSIzNjoxMC0zNjoxMyIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSI3MyIgbG9jYXRvcj0iMzg6OS00MTo5IiBjbGFzc1R5cGU9InQ6Q29uY2VwdCIgeHNpOnR5cGU9Ikluc3RhbmNlIj4KICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZXMiPgogICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYWxJZD0iNjkiIGxvY2F0b3I9IjM5OjIwLTM5OjUyIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjY1IiBsb2NhdG9yPSIzOToyMC0zOTozNSIgYWxpYXM9IkMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2NCIgbG9jYXRvcj0iMzk6MjAtMzk6MzMiIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25jZXB0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8cmV0dXJuIGxvY2FsSWQ9IjY4IiBsb2NhdG9yPSIzOTozNy0zOTo1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjY3IiBsb2NhdG9yPSIzOTo0NC0zOTo1MiIgbmFtZT0iVG9Db2RlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2NiIgbG9jYXRvcj0iMzk6NTEiIG5hbWU9IkMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICA8L3ZhbHVlPgogICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPgogICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYWxJZD0iNzIiIGxvY2F0b3I9IjQwOjIyLTQwOjM5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3MSIgbG9jYXRvcj0iNDA6MjItNDA6MzMiIHBhdGg9InRleHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzAiIGxvY2F0b3I9IjQwOjIyLTQwOjI4IiBuYW1lPSJjb25jZXB0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC92YWx1ZT4KICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29uY2VwdCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2MCIgbG9jYXRvcj0iMzQ6MzUtMzQ6NTQiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzkiIGxvY2F0b3I9IjQzOjEtNDM6NTQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3OSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLnV1aWQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3OCIgbG9jYXRvcj0iNDM6NDQtNDM6NTQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijc3IiBsb2NhdG9yPSI0Mzo0NC00Mzo0OCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzYiIGxvY2F0b3I9IjQzOjMyLTQzOjQwIiBuYW1lPSJmaGlyOnV1aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4MyIgbG9jYXRvcj0iNDQ6MS00NDo3NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgzIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuVGVzdFNjcmlwdFJlcXVlc3RNZXRob2RDb2RlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjgyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODIiIGxvY2F0b3I9IjQ0OjY3LTQ0Ojc3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4MSIgbG9jYXRvcj0iNDQ6NjctNDQ6NzEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjgwIiBsb2NhdG9yPSI0NDozMi00NDo2MyIgbmFtZT0iZmhpcjpUZXN0U2NyaXB0UmVxdWVzdE1ldGhvZENvZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4NyIgbG9jYXRvcj0iNDU6MS00NTo3MCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODQiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUHJvdmVuYW5jZUVudGl0eVJvbGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4NiIgbG9jYXRvcj0iNDU6NjAtNDU6NzAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg1IiBsb2NhdG9yPSI0NTo2MC00NTo2NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODQiIGxvY2F0b3I9IjQ1OjMyLTQ1OjU2IiBuYW1lPSJmaGlyOlByb3ZlbmFuY2VFbnRpdHlSb2xlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOTEiIGxvY2F0b3I9IjQ2OjEtNDY6NjEiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5MSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlVuaXRzT2ZUaW1lPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTAiIGxvY2F0b3I9IjQ2OjUxLTQ2OjYxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4OSIgbG9jYXRvcj0iNDY6NTEtNDY6NTUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg4IiBsb2NhdG9yPSI0NjozMi00Njo0NyIgbmFtZT0iZmhpcjpVbml0c09mVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijk1IiBsb2NhdG9yPSI0NzoxLTQ3OjYxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOTUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BZGRyZXNzVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijk0IiBsb2NhdG9yPSI0Nzo1MS00Nzo2MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTMiIGxvY2F0b3I9IjQ3OjUxLTQ3OjU1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5MiIgbG9jYXRvcj0iNDc6MzItNDc6NDciIG5hbWU9ImZoaXI6QWRkcmVzc1R5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5OSIgbG9jYXRvcj0iNDg6MS00ODo3NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijk5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTYiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQWxsZXJneUludG9sZXJhbmNlQ2F0ZWdvcnk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5OCIgbG9jYXRvcj0iNDg6NjYtNDg6NzYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijk3IiBsb2NhdG9yPSI0ODo2Ni00ODo3MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iOTYiIGxvY2F0b3I9IjQ4OjMyLTQ4OjYyIiBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZUNhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAzIiBsb2NhdG9yPSI0OToxLTQ5OjY0IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAzIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTAwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlNwZWNpbWVuU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwMiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEwMiIgbG9jYXRvcj0iNDk6NTQtNDk6NjQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEwMSIgbG9jYXRvcj0iNDk6NTQtNDk6NTgiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEwMCIgbG9jYXRvcj0iNDk6MzItNDk6NTAiIG5hbWU9ImZoaXI6U3BlY2ltZW5TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDciIGxvY2F0b3I9IjUwOjEtNTA6NzEiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMDciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDQiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUmVzdGZ1bENhcGFiaWxpdHlNb2RlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwNiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEwNiIgbG9jYXRvcj0iNTA6NjEtNTA6NzEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEwNSIgbG9jYXRvcj0iNTA6NjEtNTA6NjUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEwNCIgbG9jYXRvcj0iNTA6MzItNTA6NTciIG5hbWU9ImZoaXI6UmVzdGZ1bENhcGFiaWxpdHlNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTExIiBsb2NhdG9yPSI1MToxLTUxOjcxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTExIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTA4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkRldGVjdGVkSXNzdWVTZXZlcml0eTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMTAiIGxvY2F0b3I9IjUxOjYxLTUxOjcxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMDkiIGxvY2F0b3I9IjUxOjYxLTUxOjY1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMDgiIGxvY2F0b3I9IjUxOjMyLTUxOjU3IiBuYW1lPSJmaGlyOkRldGVjdGVkSXNzdWVTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExNSIgbG9jYXRvcj0iNTI6MS01Mjo2MyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExNSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExMiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Jc3N1ZVNldmVyaXR5PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExNCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExNCIgbG9jYXRvcj0iNTI6NTMtNTI6NjMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExMyIgbG9jYXRvcj0iNTI6NTMtNTI6NTciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjExMiIgbG9jYXRvcj0iNTI6MzItNTI6NDkiIG5hbWU9ImZoaXI6SXNzdWVTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjExOSIgbG9jYXRvcj0iNTM6MS01Mzo2NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjExOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5DYXJlVGVhbVN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMTgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMTgiIGxvY2F0b3I9IjUzOjU0LTUzOjY0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMTciIGxvY2F0b3I9IjUzOjU0LTUzOjU4IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMTYiIGxvY2F0b3I9IjUzOjMyLTUzOjUwIiBuYW1lPSJmaGlyOkNhcmVUZWFtU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTIzIiBsb2NhdG9yPSI1NDoxLTU0OjcxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTIzIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTIwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkRhdGFFbGVtZW50U3RyaW5nZW5jeTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMjIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMjIiIGxvY2F0b3I9IjU0OjYxLTU0OjcxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMjEiIGxvY2F0b3I9IjU0OjYxLTU0OjY1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMjAiIGxvY2F0b3I9IjU0OjMyLTU0OjU3IiBuYW1lPSJmaGlyOkRhdGFFbGVtZW50U3RyaW5nZW5jeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEyNyIgbG9jYXRvcj0iNTU6MS01NTo2MCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyNyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5WaXNpb25FeWVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyNiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyNiIgbG9jYXRvcj0iNTU6NTAtNTU6NjAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyNSIgbG9jYXRvcj0iNTU6NTAtNTU6NTQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEyNCIgbG9jYXRvcj0iNTU6MzItNTU6NDYiIG5hbWU9ImZoaXI6VmlzaW9uRXllcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEzMSIgbG9jYXRvcj0iNTY6MS01Njo2NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzMSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyOCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5FbmNvdW50ZXJTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTMwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTMwIiBsb2NhdG9yPSI1Njo1NS01Njo2NSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTI5IiBsb2NhdG9yPSI1Njo1NS01Njo1OSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTI4IiBsb2NhdG9yPSI1NjozMi01Njo1MSIgbmFtZT0iZmhpcjpFbmNvdW50ZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMzUiIGxvY2F0b3I9IjU3OjEtNTc6NzMiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMzUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzIiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuU3RydWN0dXJlRGVmaW5pdGlvbktpbmQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTM0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTM0IiBsb2NhdG9yPSI1Nzo2My01Nzo3MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTMzIiBsb2NhdG9yPSI1Nzo2My01Nzo2NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTMyIiBsb2NhdG9yPSI1NzozMi01Nzo1OSIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVEZWZpbml0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEzOSIgbG9jYXRvcj0iNTg6MS01ODo2NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5QdWJsaWNhdGlvblN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMzgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzOCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMzgiIGxvY2F0b3I9IjU4OjU3LTU4OjY3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMzciIGxvY2F0b3I9IjU4OjU3LTU4OjYxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMzYiIGxvY2F0b3I9IjU4OjMyLTU4OjUzIiBuYW1lPSJmaGlyOlB1YmxpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQzIiBsb2NhdG9yPSI1OToxLTU5OjY4IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQzIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTQwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkNvbnNlbnREYXRhTWVhbmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNDIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNDIiIGxvY2F0b3I9IjU5OjU4LTU5OjY4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNDEiIGxvY2F0b3I9IjU5OjU4LTU5OjYyIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNDAiIGxvY2F0b3I9IjU5OjMyLTU5OjU0IiBuYW1lPSJmaGlyOkNvbnNlbnREYXRhTWVhbmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE0NyIgbG9jYXRvcj0iNjA6MS02MDo3NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE0NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE0NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5TdHJ1Y3R1cmVNYXBTb3VyY2VMaXN0TW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNDYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNDYiIGxvY2F0b3I9IjYwOjY2LTYwOjc2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNDUiIGxvY2F0b3I9IjYwOjY2LTYwOjcwIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNDQiIGxvY2F0b3I9IjYwOjMyLTYwOjYyIiBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFNvdXJjZUxpc3RNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTUxIiBsb2NhdG9yPSI2MToxLTYxOjYzIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTUxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlJlcXVlc3RTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTUwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTUwIiBsb2NhdG9yPSI2MTo1My02MTo2MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTQ5IiBsb2NhdG9yPSI2MTo1My02MTo1NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTQ4IiBsb2NhdG9yPSI2MTozMi02MTo0OSIgbmFtZT0iZmhpcjpSZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTU1IiBsb2NhdG9yPSI2MjoxLTYyOjc3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTU1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTUyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlF1ZXN0aW9ubmFpcmVSZXNwb25zZVN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNTQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNTQiIGxvY2F0b3I9IjYyOjY3LTYyOjc3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNTMiIGxvY2F0b3I9IjYyOjY3LTYyOjcxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNTIiIGxvY2F0b3I9IjYyOjMyLTYyOjYzIiBuYW1lPSJmaGlyOlF1ZXN0aW9ubmFpcmVSZXNwb25zZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE1OSIgbG9jYXRvcj0iNjM6MS02Mzo2NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE1OSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE1NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5TZWFyY2hDb21wYXJhdG9yPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE1OCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE1OCIgbG9jYXRvcj0iNjM6NTYtNjM6NjYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE1NyIgbG9jYXRvcj0iNjM6NTYtNjM6NjAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE1NiIgbG9jYXRvcj0iNjM6MzItNjM6NTIiIG5hbWU9ImZoaXI6U2VhcmNoQ29tcGFyYXRvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE2MyIgbG9jYXRvcj0iNjQ6MS02NDo2NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE2MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE2MCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5DaGFyZ2VJdGVtU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE2MiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE2MiIgbG9jYXRvcj0iNjQ6NTYtNjQ6NjYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE2MSIgbG9jYXRvcj0iNjQ6NTYtNjQ6NjAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE2MCIgbG9jYXRvcj0iNjQ6MzItNjQ6NTIiIG5hbWU9ImZoaXI6Q2hhcmdlSXRlbVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE2NyIgbG9jYXRvcj0iNjU6MS02NTo3MSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE2NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE2NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BY3Rpb25QYXJ0aWNpcGFudFR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTY2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTY2IiBsb2NhdG9yPSI2NTo2MS02NTo3MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTY1IiBsb2NhdG9yPSI2NTo2MS02NTo2NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTY0IiBsb2NhdG9yPSI2NTozMi02NTo1NyIgbmFtZT0iZmhpcjpBY3Rpb25QYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNzEiIGxvY2F0b3I9IjY2OjEtNjY6NzIiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNzEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNjgiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQWxsZXJneUludG9sZXJhbmNlVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNzAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNzAiIGxvY2F0b3I9IjY2OjYyLTY2OjcyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNjkiIGxvY2F0b3I9IjY2OjYyLTY2OjY2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNjgiIGxvY2F0b3I9IjY2OjMyLTY2OjU4IiBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNzUiIGxvY2F0b3I9IjY3OjEtNjc6NzQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNzUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNzIiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRG9jdW1lbnRSZWxhdGlvbnNoaXBUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE3NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE3NCIgbG9jYXRvcj0iNjc6NjQtNjc6NzQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE3MyIgbG9jYXRvcj0iNjc6NjQtNjc6NjgiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE3MiIgbG9jYXRvcj0iNjc6MzItNjc6NjAiIG5hbWU9ImZoaXI6RG9jdW1lbnRSZWxhdGlvbnNoaXBUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTc5IiBsb2NhdG9yPSI2ODoxLTY4OjgyIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTc5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTc2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkFsbGVyZ3lJbnRvbGVyYW5jZUNsaW5pY2FsU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE3OCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE3OCIgbG9jYXRvcj0iNjg6NzItNjg6ODIiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE3NyIgbG9jYXRvcj0iNjg6NzItNjg6NzYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE3NiIgbG9jYXRvcj0iNjg6MzItNjg6NjgiIG5hbWU9ImZoaXI6QWxsZXJneUludG9sZXJhbmNlQ2xpbmljYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxODMiIGxvY2F0b3I9IjY5OjEtNjk6NzIiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxODMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQ2FyZVBsYW5BY3Rpdml0eVN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxODIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxODIiIGxvY2F0b3I9IjY5OjYyLTY5OjcyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxODEiIGxvY2F0b3I9IjY5OjYyLTY5OjY2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxODAiIGxvY2F0b3I9IjY5OjMyLTY5OjU4IiBuYW1lPSJmaGlyOkNhcmVQbGFuQWN0aXZpdHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxODciIGxvY2F0b3I9IjcwOjEtNzA6NjAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxODciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxODQiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQWN0aW9uTGlzdDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxODYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxODYiIGxvY2F0b3I9IjcwOjUwLTcwOjYwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxODUiIGxvY2F0b3I9IjcwOjUwLTcwOjU0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxODQiIGxvY2F0b3I9IjcwOjMyLTcwOjQ2IiBuYW1lPSJmaGlyOkFjdGlvbkxpc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxOTEiIGxvY2F0b3I9IjcxOjEtNzE6NjkiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxOTEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxODgiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUGFydGljaXBhdGlvblN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxOTAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxOTAiIGxvY2F0b3I9IjcxOjU5LTcxOjY5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxODkiIGxvY2F0b3I9IjcxOjU5LTcxOjYzIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxODgiIGxvY2F0b3I9IjcxOjMyLTcxOjU1IiBuYW1lPSJmaGlyOlBhcnRpY2lwYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxOTUiIGxvY2F0b3I9IjcyOjEtNzI6NjYiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxOTUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxOTIiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuVGVzdFJlcG9ydFJlc3VsdDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxOTQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxOTQiIGxvY2F0b3I9IjcyOjU2LTcyOjY2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxOTMiIGxvY2F0b3I9IjcyOjU2LTcyOjYwIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxOTIiIGxvY2F0b3I9IjcyOjMyLTcyOjUyIiBuYW1lPSJmaGlyOlRlc3RSZXBvcnRSZXN1bHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxOTkiIGxvY2F0b3I9IjczOjEtNzM6NzciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxOTkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxOTYiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQ29uY2VwdE1hcEdyb3VwVW5tYXBwZWRNb2RlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE5OCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE5OCIgbG9jYXRvcj0iNzM6NjctNzM6NzciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE5NyIgbG9jYXRvcj0iNzM6NjctNzM6NzEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE5NiIgbG9jYXRvcj0iNzM6MzItNzM6NjMiIG5hbWU9ImZoaXI6Q29uY2VwdE1hcEdyb3VwVW5tYXBwZWRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjAzIiBsb2NhdG9yPSI3NDoxLTc0OjU5IiBuYW1lPSJUb0RhdGVUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMDMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb0RhdGVUaW1lKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIwMCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5pbnN0YW50PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIwMiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIwMiIgbG9jYXRvcj0iNzQ6NDktNzQ6NTkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIwMSIgbG9jYXRvcj0iNzQ6NDktNzQ6NTMiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIwMCIgbG9jYXRvcj0iNzQ6MzQtNzQ6NDUiIG5hbWU9ImZoaXI6aW5zdGFudCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwNyIgbG9jYXRvcj0iNzU6MS03NTo2MCIgbmFtZT0iVG9EYXRlVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9EYXRlVGltZSh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMDQiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjA2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjA2IiBsb2NhdG9yPSI3NTo1MC03NTo2MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjA1IiBsb2NhdG9yPSI3NTo1MC03NTo1NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjA0IiBsb2NhdG9yPSI3NTozNC03NTo0NiIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxMSIgbG9jYXRvcj0iNzY6MS03Njo1MiIgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb0RhdGUodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjEwIiBsb2NhdG9yPSI3Njo0Mi03Njo1MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjA5IiBsb2NhdG9yPSI3Njo0Mi03Njo0NiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjA4IiBsb2NhdG9yPSI3NjozMC03NjozOCIgbmFtZT0iZmhpcjpkYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjE1IiBsb2NhdG9yPSI3NzoxLTc3OjYyIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjE1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjEyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkRvY3VtZW50TW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMTQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMTQiIGxvY2F0b3I9Ijc3OjUyLTc3OjYyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMTMiIGxvY2F0b3I9Ijc3OjUyLTc3OjU2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMTIiIGxvY2F0b3I9Ijc3OjMyLTc3OjQ4IiBuYW1lPSJmaGlyOkRvY3VtZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxOSIgbG9jYXRvcj0iNzg6MS03ODo3MSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Bc3NlcnRpb25PcGVyYXRvclR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjE4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjE4IiBsb2NhdG9yPSI3ODo2MS03ODo3MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjE3IiBsb2NhdG9yPSI3ODo2MS03ODo2NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjE2IiBsb2NhdG9yPSI3ODozMi03ODo1NyIgbmFtZT0iZmhpcjpBc3NlcnRpb25PcGVyYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMjMiIGxvY2F0b3I9Ijc5OjEtNzk6NjAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMjMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMjAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRGF5c09mV2VlazwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMjIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMjIiIGxvY2F0b3I9Ijc5OjUwLTc5OjYwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMjEiIGxvY2F0b3I9Ijc5OjUwLTc5OjU0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMjAiIGxvY2F0b3I9Ijc5OjMyLTc5OjQ2IiBuYW1lPSJmaGlyOkRheXNPZldlZWsiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMjciIGxvY2F0b3I9IjgwOjEtODA6NTkiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMjciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMjQiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuSXNzdWVUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIyNiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIyNiIgbG9jYXRvcj0iODA6NDktODA6NTkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIyNSIgbG9jYXRvcj0iODA6NDktODA6NTMiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIyNCIgbG9jYXRvcj0iODA6MzItODA6NDUiIG5hbWU9ImZoaXI6SXNzdWVUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjMxIiBsb2NhdG9yPSI4MToxLTgxOjYxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjMxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjI4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkNvbnRlbnRUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzMCIgbG9jYXRvcj0iODE6NTEtODE6NjEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIyOSIgbG9jYXRvcj0iODE6NTEtODE6NTUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIyOCIgbG9jYXRvcj0iODE6MzItODE6NDciIG5hbWU9ImZoaXI6Q29udGVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMzUiIGxvY2F0b3I9IjgyOjEtODI6NzMiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMzUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMzIiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuU3RydWN0dXJlTWFwQ29udGV4dFR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjM0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjM0IiBsb2NhdG9yPSI4Mjo2My04Mjo3MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjMzIiBsb2NhdG9yPSI4Mjo2My04Mjo2NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjMyIiBsb2NhdG9yPSI4MjozMi04Mjo1OSIgbmFtZT0iZmhpcjpTdHJ1Y3R1cmVNYXBDb250ZXh0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzOSIgbG9jYXRvcj0iODM6MS04Mzo2OSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIzOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5GYW1pbHlIaXN0b3J5U3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzOCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzOCIgbG9jYXRvcj0iODM6NTktODM6NjkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIzNyIgbG9jYXRvcj0iODM6NTktODM6NjMiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIzNiIgbG9jYXRvcj0iODM6MzItODM6NTUiIG5hbWU9ImZoaXI6RmFtaWx5SGlzdG9yeVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0MyIgbG9jYXRvcj0iODQ6MS04NDo2MiIgbmFtZT0iVG9JbnRlZ2VyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNDMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb0ludGVnZXIodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLnBvc2l0aXZlSW50PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI0MiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI0MiIgbG9jYXRvcj0iODQ6NTItODQ6NjIiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI0MSIgbG9jYXRvcj0iODQ6NTItODQ6NTYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI0MCIgbG9jYXRvcj0iODQ6MzMtODQ6NDgiIG5hbWU9ImZoaXI6cG9zaXRpdmVJbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNDciIGxvY2F0b3I9Ijg1OjEtODU6NzQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNDciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNDQiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQ2xpbmljYWxJbXByZXNzaW9uU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI0NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI0NiIgbG9jYXRvcj0iODU6NjQtODU6NzQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI0NSIgbG9jYXRvcj0iODU6NjQtODU6NjgiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI0NCIgbG9jYXRvcj0iODU6MzItODU6NjAiIG5hbWU9ImZoaXI6Q2xpbmljYWxJbXByZXNzaW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjUxIiBsb2NhdG9yPSI4NjoxLTg2OjcyIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjUxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkFzc2VydGlvblJlc3BvbnNlVHlwZXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjUwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjUwIiBsb2NhdG9yPSI4Njo2Mi04Njo3MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjQ5IiBsb2NhdG9yPSI4Njo2Mi04Njo2NiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjQ4IiBsb2NhdG9yPSI4NjozMi04Njo1OCIgbmFtZT0iZmhpcjpBc3NlcnRpb25SZXNwb25zZVR5cGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjU1IiBsb2NhdG9yPSI4NzoxLTg3OjYzIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjU1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjUyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlJlcXVlc3RJbnRlbnQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjU0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjU0IiBsb2NhdG9yPSI4Nzo1My04Nzo2MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjUzIiBsb2NhdG9yPSI4Nzo1My04Nzo1NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjUyIiBsb2NhdG9yPSI4NzozMi04Nzo0OSIgbmFtZT0iZmhpcjpSZXF1ZXN0SW50ZW50IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjU5IiBsb2NhdG9yPSI4ODoxLTg4OjY1IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjU5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjU2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLk5hcnJhdGl2ZVN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNTgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNTgiIGxvY2F0b3I9Ijg4OjU1LTg4OjY1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNTciIGxvY2F0b3I9Ijg4OjU1LTg4OjU5IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNTYiIGxvY2F0b3I9Ijg4OjMyLTg4OjUxIiBuYW1lPSJmaGlyOk5hcnJhdGl2ZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI2MyIgbG9jYXRvcj0iODk6MS04OTo2NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI2MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI2MCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5NZWFzbW50UHJpbmNpcGxlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI2MiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI2MiIgbG9jYXRvcj0iODk6NTYtODk6NjYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI2MSIgbG9jYXRvcj0iODk6NTYtODk6NjAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI2MCIgbG9jYXRvcj0iODk6MzItODk6NTIiIG5hbWU9ImZoaXI6TWVhc21udFByaW5jaXBsZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI2NyIgbG9jYXRvcj0iOTA6MS05MDo2NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI2NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI2NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Db25zZW50RXhjZXB0VHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNjYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNjYiIGxvY2F0b3I9IjkwOjU3LTkwOjY3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNjUiIGxvY2F0b3I9IjkwOjU3LTkwOjYxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNjQiIGxvY2F0b3I9IjkwOjMyLTkwOjUzIiBuYW1lPSJmaGlyOkNvbnNlbnRFeGNlcHRUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjcxIiBsb2NhdG9yPSI5MToxLTkxOjU2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjcxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjY4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLnN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNzAiIGxvY2F0b3I9IjkxOjQ2LTkxOjU2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNjkiIGxvY2F0b3I9IjkxOjQ2LTkxOjUwIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNjgiIGxvY2F0b3I9IjkxOjMyLTkxOjQyIiBuYW1lPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3NSIgbG9jYXRvcj0iOTI6MS05Mjo3MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI3NSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI3MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BY3Rpb25SZXF1aXJlZEJlaGF2aW9yPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI3NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI3NCIgbG9jYXRvcj0iOTI6NjItOTI6NzIiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI3MyIgbG9jYXRvcj0iOTI6NjItOTI6NjYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI3MiIgbG9jYXRvcj0iOTI6MzItOTI6NTgiIG5hbWU9ImZoaXI6QWN0aW9uUmVxdWlyZWRCZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3OSIgbG9jYXRvcj0iOTM6MS05Mzo2NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI3OSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI3NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5FbmRwb2ludFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNzgiIGxvY2F0b3I9IjkzOjU0LTkzOjY0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNzciIGxvY2F0b3I9IjkzOjU0LTkzOjU4IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNzYiIGxvY2F0b3I9IjkzOjMyLTkzOjUwIiBuYW1lPSJmaGlyOkVuZHBvaW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjgzIiBsb2NhdG9yPSI5NDoxLTk0OjYzIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjgzIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjgwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkd1aWRlUGFnZUtpbmQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjgyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjgyIiBsb2NhdG9yPSI5NDo1My05NDo2MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjgxIiBsb2NhdG9yPSI5NDo1My05NDo1NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjgwIiBsb2NhdG9yPSI5NDozMi05NDo0OSIgbmFtZT0iZmhpcjpHdWlkZVBhZ2VLaW5kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjg3IiBsb2NhdG9yPSI5NToxLTk1OjY5IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjg3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjg0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkd1aWRlRGVwZW5kZW5jeVR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjg2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjg2IiBsb2NhdG9yPSI5NTo1OS05NTo2OSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjg1IiBsb2NhdG9yPSI5NTo1OS05NTo2MyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjg0IiBsb2NhdG9yPSI5NTozMi05NTo1NSIgbmFtZT0iZmhpcjpHdWlkZURlcGVuZGVuY3lUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjkxIiBsb2NhdG9yPSI5NjoxLTk2OjcxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjkxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjg4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlJlc291cmNlVmVyc2lvblBvbGljeTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyOTAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyOTAiIGxvY2F0b3I9Ijk2OjYxLTk2OjcxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyODkiIGxvY2F0b3I9Ijk2OjYxLTk2OjY1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyODgiIGxvY2F0b3I9Ijk2OjMyLTk2OjU3IiBuYW1lPSJmaGlyOlJlc291cmNlVmVyc2lvblBvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI5NSIgbG9jYXRvcj0iOTc6MS05Nzo3MyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI5NSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI5MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5NZWRpY2F0aW9uUmVxdWVzdFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyOTQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyOTQiIGxvY2F0b3I9Ijk3OjYzLTk3OjczIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyOTMiIGxvY2F0b3I9Ijk3OjYzLTk3OjY3IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyOTIiIGxvY2F0b3I9Ijk3OjMyLTk3OjU5IiBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjk5IiBsb2NhdG9yPSI5ODoxLTk4OjgwIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjk5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjk2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLk1lZGljYXRpb25BZG1pbmlzdHJhdGlvblN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyOTgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyOTgiIGxvY2F0b3I9Ijk4OjcwLTk4OjgwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyOTciIGxvY2F0b3I9Ijk4OjcwLTk4Ojc0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyOTYiIGxvY2F0b3I9Ijk4OjMyLTk4OjY2IiBuYW1lPSJmaGlyOk1lZGljYXRpb25BZG1pbmlzdHJhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMwMyIgbG9jYXRvcj0iOTk6MS05OTo3NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMwMyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwMCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BY3Rpb25DYXJkaW5hbGl0eUJlaGF2aW9yPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwMiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMwMiIgbG9jYXRvcj0iOTk6NjUtOTk6NzUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMwMSIgbG9jYXRvcj0iOTk6NjUtOTk6NjkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMwMCIgbG9jYXRvcj0iOTk6MzItOTk6NjEiIG5hbWU9ImZoaXI6QWN0aW9uQ2FyZGluYWxpdHlCZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMwNyIgbG9jYXRvcj0iMTAwOjEtMTAwOjczIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzA3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzA0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLk1lZGljYXRpb25SZXF1ZXN0SW50ZW50PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwNiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMwNiIgbG9jYXRvcj0iMTAwOjYzLTEwMDo3MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzA1IiBsb2NhdG9yPSIxMDA6NjMtMTAwOjY3IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzMDQiIGxvY2F0b3I9IjEwMDozMi0xMDA6NTkiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3RJbnRlbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMTEiIGxvY2F0b3I9IjEwMToxLTEwMTo3NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMxMSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwOCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5OYW1pbmdTeXN0ZW1JZGVudGlmaWVyVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMTAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMTAiIGxvY2F0b3I9IjEwMTo2Ni0xMDE6NzYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMwOSIgbG9jYXRvcj0iMTAxOjY2LTEwMTo3MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzA4IiBsb2NhdG9yPSIxMDE6MzItMTAxOjYyIiBuYW1lPSJmaGlyOk5hbWluZ1N5c3RlbUlkZW50aWZpZXJUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzE1IiBsb2NhdG9yPSIxMDI6MS0xMDI6NzMiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMTUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMTIiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuSW1tdW5pemF0aW9uU3RhdHVzQ29kZXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzE0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzE0IiBsb2NhdG9yPSIxMDI6NjMtMTAyOjczIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMTMiIGxvY2F0b3I9IjEwMjo2My0xMDI6NjciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMxMiIgbG9jYXRvcj0iMTAyOjMyLTEwMjo1OSIgbmFtZT0iZmhpcjpJbW11bml6YXRpb25TdGF0dXNDb2RlcyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMxOSIgbG9jYXRvcj0iMTAzOjEtMTAzOjYzIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzE5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzE2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkFjY291bnRTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzE4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzE4IiBsb2NhdG9yPSIxMDM6NTMtMTAzOjYzIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMTciIGxvY2F0b3I9IjEwMzo1My0xMDM6NTciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMxNiIgbG9jYXRvcj0iMTAzOjMyLTEwMzo0OSIgbmFtZT0iZmhpcjpBY2NvdW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzIzIiBsb2NhdG9yPSIxMDQ6MS0xMDQ6NzQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMjMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMjAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuTWVkaWNhdGlvbkRpc3BlbnNlU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMyMiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMyMiIgbG9jYXRvcj0iMTA0OjY0LTEwNDo3NCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzIxIiBsb2NhdG9yPSIxMDQ6NjQtMTA0OjY4IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzMjAiIGxvY2F0b3I9IjEwNDozMi0xMDQ6NjAiIG5hbWU9ImZoaXI6TWVkaWNhdGlvbkRpc3BlbnNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzI3IiBsb2NhdG9yPSIxMDU6MS0xMDU6NzkiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMjciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMjQiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQ29uZmlkZW50aWFsaXR5Q2xhc3NpZmljYXRpb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzI2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzI2IiBsb2NhdG9yPSIxMDU6NjktMTA1Ojc5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMjUiIGxvY2F0b3I9IjEwNTo2OS0xMDU6NzMiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMyNCIgbG9jYXRvcj0iMTA1OjMyLTEwNTo2NSIgbmFtZT0iZmhpcjpDb25maWRlbnRpYWxpdHlDbGFzc2lmaWNhdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMzMSIgbG9jYXRvcj0iMTA2OjEtMTA2OjYzIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzMxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzI4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLklkZW50aWZpZXJVc2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzMwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzMwIiBsb2NhdG9yPSIxMDY6NTMtMTA2OjYzIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMjkiIGxvY2F0b3I9IjEwNjo1My0xMDY6NTciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMyOCIgbG9jYXRvcj0iMTA2OjMyLTEwNjo0OSIgbmFtZT0iZmhpcjpJZGVudGlmaWVyVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzM1IiBsb2NhdG9yPSIxMDc6MS0xMDc6NjYiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMzUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMzIiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRGlnaXRhbE1lZGlhVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMzQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzNCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMzQiIGxvY2F0b3I9IjEwNzo1Ni0xMDc6NjYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMzMyIgbG9jYXRvcj0iMTA3OjU2LTEwNzo2MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzMyIiBsb2NhdG9yPSIxMDc6MzItMTA3OjUyIiBuYW1lPSJmaGlyOkRpZ2l0YWxNZWRpYVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMzkiIGxvY2F0b3I9IjEwODoxLTEwODo3NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMzOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMzNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5TdHJ1Y3R1cmVNYXBUYXJnZXRMaXN0TW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMzgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzOCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMzgiIGxvY2F0b3I9IjEwODo2Ni0xMDg6NzYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMzNyIgbG9jYXRvcj0iMTA4OjY2LTEwODo3MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzM2IiBsb2NhdG9yPSIxMDg6MzItMTA4OjYyIiBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcFRhcmdldExpc3RNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzQzIiBsb2NhdG9yPSIxMDk6MS0xMDk6NzUiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNDMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNDAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuVGVzdFJlcG9ydFBhcnRpY2lwYW50VHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNDIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNDIiIGxvY2F0b3I9IjEwOTo2NS0xMDk6NzUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM0MSIgbG9jYXRvcj0iMTA5OjY1LTEwOTo2OSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzQwIiBsb2NhdG9yPSIxMDk6MzItMTA5OjYxIiBuYW1lPSJmaGlyOlRlc3RSZXBvcnRQYXJ0aWNpcGFudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNDciIGxvY2F0b3I9IjExMDoxLTExMDo2NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM0NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM0NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5CaW5kaW5nU3RyZW5ndGg8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzQ2IiBsb2NhdG9yPSIxMTA6NTUtMTEwOjY1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNDUiIGxvY2F0b3I9IjExMDo1NS0xMTA6NTkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM0NCIgbG9jYXRvcj0iMTEwOjMyLTExMDo1MSIgbmFtZT0iZmhpcjpCaW5kaW5nU3RyZW5ndGgiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNTEiIGxvY2F0b3I9IjExMToxLTExMTo2NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM1MSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM0OCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5SZXF1ZXN0UHJpb3JpdHk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzUwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzUwIiBsb2NhdG9yPSIxMTE6NTUtMTExOjY1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNDkiIGxvY2F0b3I9IjExMTo1NS0xMTE6NTkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM0OCIgbG9jYXRvcj0iMTExOjMyLTExMTo1MSIgbmFtZT0iZmhpcjpSZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNTUiIGxvY2F0b3I9IjExMjoxLTExMjo2OSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM1NSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM1MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5QYXJ0aWNpcGFudFJlcXVpcmVkPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM1NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM1NCIgbG9jYXRvcj0iMTEyOjU5LTExMjo2OSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzUzIiBsb2NhdG9yPSIxMTI6NTktMTEyOjYzIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNTIiIGxvY2F0b3I9IjExMjozMi0xMTI6NTUiIG5hbWU9ImZoaXI6UGFydGljaXBhbnRSZXF1aXJlZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM1OSIgbG9jYXRvcj0iMTEzOjEtMTEzOjY3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzU5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzU2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkRpc2NyaW1pbmF0b3JUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM1OCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM1OCIgbG9jYXRvcj0iMTEzOjU3LTExMzo2NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzU3IiBsb2NhdG9yPSIxMTM6NTctMTEzOjYxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNTYiIGxvY2F0b3I9IjExMzozMi0xMTM6NTMiIG5hbWU9ImZoaXI6RGlzY3JpbWluYXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNjMiIGxvY2F0b3I9IjExNDoxLTExNDo2NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM2MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM2MCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5YUGF0aFVzYWdlVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNjIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNjIiIGxvY2F0b3I9IjExNDo1NC0xMTQ6NjQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM2MSIgbG9jYXRvcj0iMTE0OjU0LTExNDo1OCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzYwIiBsb2NhdG9yPSIxMTQ6MzItMTE0OjUwIiBuYW1lPSJmaGlyOlhQYXRoVXNhZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzY3IiBsb2NhdG9yPSIxMTU6MS0xMTU6NzEiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNjciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNjQiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuU3RydWN0dXJlTWFwSW5wdXRNb2RlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM2NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM2NiIgbG9jYXRvcj0iMTE1OjYxLTExNTo3MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzY1IiBsb2NhdG9yPSIxMTU6NjEtMTE1OjY1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNjQiIGxvY2F0b3I9IjExNTozMi0xMTU6NTciIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwSW5wdXRNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzcxIiBsb2NhdG9yPSIxMTY6MS0xMTY6NzAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNzEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNjgiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuSW5zdGFuY2VBdmFpbGFiaWxpdHk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzcwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzcwIiBsb2NhdG9yPSIxMTY6NjAtMTE2OjcwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNjkiIGxvY2F0b3I9IjExNjo2MC0xMTY6NjQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM2OCIgbG9jYXRvcj0iMTE2OjMyLTExNjo1NiIgbmFtZT0iZmhpcjpJbnN0YW5jZUF2YWlsYWJpbGl0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM3NSIgbG9jYXRvcj0iMTE3OjEtMTE3OjUyIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzc1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzcyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmlkPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM3NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM3NCIgbG9jYXRvcj0iMTE3OjQyLTExNzo1MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzczIiBsb2NhdG9yPSIxMTc6NDItMTE3OjQ2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNzIiIGxvY2F0b3I9IjExNzozMi0xMTc6MzgiIG5hbWU9ImZoaXI6aWQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNzkiIGxvY2F0b3I9IjExODoxLTExODo2MSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM3OSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM3NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5MaW5rYWdlVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNzgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNzgiIGxvY2F0b3I9IjExODo1MS0xMTg6NjEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM3NyIgbG9jYXRvcj0iMTE4OjUxLTExODo1NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzc2IiBsb2NhdG9yPSIxMTg6MzItMTE4OjQ3IiBuYW1lPSJmaGlyOkxpbmthZ2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzgzIiBsb2NhdG9yPSIxMTk6MS0xMTk6NzMiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzODMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzODAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUmVmZXJlbmNlSGFuZGxpbmdQb2xpY3k8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzgyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzgyIiBsb2NhdG9yPSIxMTk6NjMtMTE5OjczIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzODEiIGxvY2F0b3I9IjExOTo2My0xMTk6NjciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM4MCIgbG9jYXRvcj0iMTE5OjMyLTExOTo1OSIgbmFtZT0iZmhpcjpSZWZlcmVuY2VIYW5kbGluZ1BvbGljeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM4NyIgbG9jYXRvcj0iMTIwOjEtMTIwOjY2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzg3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzg0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLk1lZGljYXRpb25TdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzg2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzg2IiBsb2NhdG9yPSIxMjA6NTYtMTIwOjY2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzODUiIGxvY2F0b3I9IjEyMDo1Ni0xMjA6NjAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM4NCIgbG9jYXRvcj0iMTIwOjMyLTEyMDo1MiIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzkxIiBsb2NhdG9yPSIxMjE6MS0xMjE6NjQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzOTEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzODgiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRmlsdGVyT3BlcmF0b3I8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzkwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzkwIiBsb2NhdG9yPSIxMjE6NTQtMTIxOjY0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzODkiIGxvY2F0b3I9IjEyMTo1NC0xMjE6NTgiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM4OCIgbG9jYXRvcj0iMTIxOjMyLTEyMTo1MCIgbmFtZT0iZmhpcjpGaWx0ZXJPcGVyYXRvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM5NSIgbG9jYXRvcj0iMTIyOjEtMTIyOjY2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzk1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzkyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLk5hbWluZ1N5c3RlbVR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzk0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzk0IiBsb2NhdG9yPSIxMjI6NTYtMTIyOjY2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzOTMiIGxvY2F0b3I9IjEyMjo1Ni0xMjI6NjAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM5MiIgbG9jYXRvcj0iMTIyOjMyLTEyMjo1MiIgbmFtZT0iZmhpcjpOYW1pbmdTeXN0ZW1UeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzk5IiBsb2NhdG9yPSIxMjM6MS0xMjM6NjkiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzOTkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzOTYiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUmVzZWFyY2hTdHVkeVN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzOTgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzOTgiIGxvY2F0b3I9IjEyMzo1OS0xMjM6NjkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM5NyIgbG9jYXRvcj0iMTIzOjU5LTEyMzo2MyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzk2IiBsb2NhdG9yPSIxMjM6MzItMTIzOjU1IiBuYW1lPSJmaGlyOlJlc2VhcmNoU3R1ZHlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MDMiIGxvY2F0b3I9IjEyNDoxLTEyNDo2NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQwMyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQwMCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5FeHRlbnNpb25Db250ZXh0PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQwMiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDAyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQwMiIgbG9jYXRvcj0iMTI0OjU2LTEyNDo2NiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDAxIiBsb2NhdG9yPSIxMjQ6NTYtMTI0OjYwIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MDAiIGxvY2F0b3I9IjEyNDozMi0xMjQ6NTIiIG5hbWU9ImZoaXI6RXh0ZW5zaW9uQ29udGV4dCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQwNyIgbG9jYXRvcj0iMTI1OjEtMTI1OjY1IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDA3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDA0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkZISVJEZWZpbmVkVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MDYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MDYiIGxvY2F0b3I9IjEyNTo1NS0xMjU6NjUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQwNSIgbG9jYXRvcj0iMTI1OjU1LTEyNTo1OSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDA0IiBsb2NhdG9yPSIxMjU6MzItMTI1OjUxIiBuYW1lPSJmaGlyOkZISVJEZWZpbmVkVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQxMSIgbG9jYXRvcj0iMTI2OjEtMTI2OjY3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDExIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDA4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkF1ZGl0RXZlbnRPdXRjb21lPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQxMCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDEwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQxMCIgbG9jYXRvcj0iMTI2OjU3LTEyNjo2NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDA5IiBsb2NhdG9yPSIxMjY6NTctMTI2OjYxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MDgiIGxvY2F0b3I9IjEyNjozMi0xMjY6NTMiIG5hbWU9ImZoaXI6QXVkaXRFdmVudE91dGNvbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MTUiIGxvY2F0b3I9IjEyNzoxLTEyNzo3MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQxNSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQxMiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BY3Rpb25SZWxhdGlvbnNoaXBUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQxNCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQxNCIgbG9jYXRvcj0iMTI3OjYyLTEyNzo3MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDEzIiBsb2NhdG9yPSIxMjc6NjItMTI3OjY2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MTIiIGxvY2F0b3I9IjEyNzozMi0xMjc6NTgiIG5hbWU9ImZoaXI6QWN0aW9uUmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQxOSIgbG9jYXRvcj0iMTI4OjEtMTI4OjY4IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDE5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDE2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkNvbnN0cmFpbnRTZXZlcml0eTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MTgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxOCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MTgiIGxvY2F0b3I9IjEyODo1OC0xMjg6NjgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQxNyIgbG9jYXRvcj0iMTI4OjU4LTEyODo2MiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDE2IiBsb2NhdG9yPSIxMjg6MzItMTI4OjU0IiBuYW1lPSJmaGlyOkNvbnN0cmFpbnRTZXZlcml0eSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQyMyIgbG9jYXRvcj0iMTI5OjEtMTI5OjY5IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDIzIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDIwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkV2ZW50Q2FwYWJpbGl0eU1vZGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDIyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDIyIiBsb2NhdG9yPSIxMjk6NTktMTI5OjY5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0MjEiIGxvY2F0b3I9IjEyOTo1OS0xMjk6NjMiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQyMCIgbG9jYXRvcj0iMTI5OjMyLTEyOTo1NSIgbmFtZT0iZmhpcjpFdmVudENhcGFiaWxpdHlNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDI3IiBsb2NhdG9yPSIxMzA6MS0xMzA6NzciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0MjciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MjQiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQ29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQyNiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDI2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQyNiIgbG9jYXRvcj0iMTMwOjY3LTEzMDo3NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDI1IiBsb2NhdG9yPSIxMzA6NjctMTMwOjcxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MjQiIGxvY2F0b3I9IjEzMDozMi0xMzA6NjMiIG5hbWU9ImZoaXI6Q29udHJhY3RSZXNvdXJjZVN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDMxIiBsb2NhdG9yPSIxMzE6MS0xMzE6NzEiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0MzEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MjgiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUmVzZWFyY2hTdWJqZWN0U3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQzMCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQzMCIgbG9jYXRvcj0iMTMxOjYxLTEzMTo3MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDI5IiBsb2NhdG9yPSIxMzE6NjEtMTMxOjY1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MjgiIGxvY2F0b3I9IjEzMTozMi0xMzE6NTciIG5hbWU9ImZoaXI6UmVzZWFyY2hTdWJqZWN0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDM1IiBsb2NhdG9yPSIxMzI6MS0xMzI6NjIiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0MzUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MzIiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuVURJRW50cnlUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQzNCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDM0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQzNCIgbG9jYXRvcj0iMTMyOjUyLTEzMjo2MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDMzIiBsb2NhdG9yPSIxMzI6NTItMTMyOjU2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MzIiIGxvY2F0b3I9IjEzMjozMi0xMzI6NDgiIG5hbWU9ImZoaXI6VURJRW50cnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDM5IiBsb2NhdG9yPSIxMzM6MS0xMzM6NzAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0MzkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MzYiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRGV2aWNlTWV0cmljQ2F0ZWdvcnk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDM4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDM4IiBsb2NhdG9yPSIxMzM6NjAtMTMzOjcwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0MzciIGxvY2F0b3I9IjEzMzo2MC0xMzM6NjQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQzNiIgbG9jYXRvcj0iMTMzOjMyLTEzMzo1NiIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ0MyIgbG9jYXRvcj0iMTM0OjEtMTM0OjcyIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDQzIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDQwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlRlc3RSZXBvcnRBY3Rpb25SZXN1bHQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDQyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDQyIiBsb2NhdG9yPSIxMzQ6NjItMTM0OjcyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0NDEiIGxvY2F0b3I9IjEzNDo2Mi0xMzQ6NjYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ0MCIgbG9jYXRvcj0iMTM0OjMyLTEzNDo1OCIgbmFtZT0iZmhpcjpUZXN0UmVwb3J0QWN0aW9uUmVzdWx0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDQ3IiBsb2NhdG9yPSIxMzU6MS0xMzU6NzEiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0NDciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NDQiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuU3RydWN0dXJlTWFwVHJhbnNmb3JtPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ0NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQ2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ0NiIgbG9jYXRvcj0iMTM1OjYxLTEzNTo3MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDQ1IiBsb2NhdG9yPSIxMzU6NjEtMTM1OjY1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0NDQiIGxvY2F0b3I9IjEzNTozMi0xMzU6NTciIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwVHJhbnNmb3JtIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDUxIiBsb2NhdG9yPSIxMzY6MS0xMzY6NjIiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0NTEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NDgiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUmVzcG9uc2VUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ1MCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDUwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ1MCIgbG9jYXRvcj0iMTM2OjUyLTEzNjo2MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDQ5IiBsb2NhdG9yPSIxMzY6NTItMTM2OjU2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0NDgiIGxvY2F0b3I9IjEzNjozMi0xMzY6NDgiIG5hbWU9ImZoaXI6UmVzcG9uc2VUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDU1IiBsb2NhdG9yPSIxMzc6MS0xMzc6NTgiIG5hbWU9IlRvRGVjaW1hbCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDU1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9EZWNpbWFsKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ1MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5kZWNpbWFsPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ1NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDU0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ1NCIgbG9jYXRvcj0iMTM3OjQ4LTEzNzo1OCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDUzIiBsb2NhdG9yPSIxMzc6NDgtMTM3OjUyIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0NTIiIGxvY2F0b3I9IjEzNzozMy0xMzc6NDQiIG5hbWU9ImZoaXI6ZGVjaW1hbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ1OSIgbG9jYXRvcj0iMTM4OjEtMTM4OjY1IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDU5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDU2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkFnZ3JlZ2F0aW9uTW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NTgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NTgiIGxvY2F0b3I9IjEzODo1NS0xMzg6NjUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ1NyIgbG9jYXRvcj0iMTM4OjU1LTEzODo1OSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDU2IiBsb2NhdG9yPSIxMzg6MzItMTM4OjUxIiBuYW1lPSJmaGlyOkFnZ3JlZ2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ2MyIgbG9jYXRvcj0iMTM5OjEtMTM5OjczIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDYzIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDYwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkNhcGFiaWxpdHlTdGF0ZW1lbnRLaW5kPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ2MiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ2MiIgbG9jYXRvcj0iMTM5OjYzLTEzOTo3MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDYxIiBsb2NhdG9yPSIxMzk6NjMtMTM5OjY3IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0NjAiIGxvY2F0b3I9IjEzOTozMi0xMzk6NTkiIG5hbWU9ImZoaXI6Q2FwYWJpbGl0eVN0YXRlbWVudEtpbmQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NjciIGxvY2F0b3I9IjE0MDoxLTE0MDo4NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ2NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ2NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDY2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDY2IiBsb2NhdG9yPSIxNDA6NzYtMTQwOjg2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0NjUiIGxvY2F0b3I9IjE0MDo3Ni0xNDA6ODAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ2NCIgbG9jYXRvcj0iMTQwOjMyLTE0MDo3MiIgbmFtZT0iZmhpcjpBbGxlcmd5SW50b2xlcmFuY2VWZXJpZmljYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NzEiIGxvY2F0b3I9IjE0MToxLTE0MTo2MSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ3MSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ2OCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5FdmVudFRpbWluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NzAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NzAiIGxvY2F0b3I9IjE0MTo1MS0xNDE6NjEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ2OSIgbG9jYXRvcj0iMTQxOjUxLTE0MTo1NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDY4IiBsb2NhdG9yPSIxNDE6MzItMTQxOjQ3IiBuYW1lPSJmaGlyOkV2ZW50VGltaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDc1IiBsb2NhdG9yPSIxNDI6MS0xNDI6NjAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0NzUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NzIiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuR29hbFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NzQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3NCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDczIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NzQiIGxvY2F0b3I9IjE0Mjo1MC0xNDI6NjAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ3MyIgbG9jYXRvcj0iMTQyOjUwLTE0Mjo1NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDcyIiBsb2NhdG9yPSIxNDI6MzItMTQyOjQ2IiBuYW1lPSJmaGlyOkdvYWxTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NzkiIGxvY2F0b3I9IjE0MzoxLTE0Mzo2NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ3OSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ3NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5TZWFyY2hQYXJhbVR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDc4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NzgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDc4IiBsb2NhdG9yPSIxNDM6NTUtMTQzOjY1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0NzciIGxvY2F0b3I9IjE0Mzo1NS0xNDM6NTkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ3NiIgbG9jYXRvcj0iMTQzOjMyLTE0Mzo1MSIgbmFtZT0iZmhpcjpTZWFyY2hQYXJhbVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0ODMiIGxvY2F0b3I9IjE0NDoxLTE0NDo3NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ4MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ4MCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5TeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDgyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDgyIiBsb2NhdG9yPSIxNDQ6NjQtMTQ0Ojc0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0ODEiIGxvY2F0b3I9IjE0NDo2NC0xNDQ6NjgiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ4MCIgbG9jYXRvcj0iMTQ0OjMyLTE0NDo2MCIgbmFtZT0iZmhpcjpTeXN0ZW1SZXN0ZnVsSW50ZXJhY3Rpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0ODciIGxvY2F0b3I9IjE0NToxLTE0NTo3MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ4NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ4NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BY3Rpb25Hcm91cGluZ0JlaGF2aW9yPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ4NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDg2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ4NiIgbG9jYXRvcj0iMTQ1OjYyLTE0NTo3MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDg1IiBsb2NhdG9yPSIxNDU6NjItMTQ1OjY2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0ODQiIGxvY2F0b3I9IjE0NTozMi0xNDU6NTgiIG5hbWU9ImZoaXI6QWN0aW9uR3JvdXBpbmdCZWhhdmlvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ5MSIgbG9jYXRvcj0iMTQ2OjEtMTQ2OjcxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDkxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDg4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlN0cnVjdHVyZU1hcE1vZGVsTW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0OTAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0OTAiIGxvY2F0b3I9IjE0Njo2MS0xNDY6NzEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ4OSIgbG9jYXRvcj0iMTQ2OjYxLTE0Njo2NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDg4IiBsb2NhdG9yPSIxNDY6MzItMTQ2OjU3IiBuYW1lPSJmaGlyOlN0cnVjdHVyZU1hcE1vZGVsTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ5NSIgbG9jYXRvcj0iMTQ3OjEtMTQ3OjYwIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDk1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDkyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlRhc2tTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDk0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDk0IiBsb2NhdG9yPSIxNDc6NTAtMTQ3OjYwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0OTMiIGxvY2F0b3I9IjE0Nzo1MC0xNDc6NTQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ5MiIgbG9jYXRvcj0iMTQ3OjMyLTE0Nzo0NiIgbmFtZT0iZmhpcjpUYXNrU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDk5IiBsb2NhdG9yPSIxNDg6MS0xNDg6NzEiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0OTkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0OTYiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQWR2ZXJzZUV2ZW50Q2F1c2FsaXR5PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ5OCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDk4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ5OCIgbG9jYXRvcj0iMTQ4OjYxLTE0ODo3MSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDk3IiBsb2NhdG9yPSIxNDg6NjEtMTQ4OjY1IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0OTYiIGxvY2F0b3I9IjE0ODozMi0xNDg6NTciIG5hbWU9ImZoaXI6QWR2ZXJzZUV2ZW50Q2F1c2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTAzIiBsb2NhdG9yPSIxNDk6MS0xNDk6NzMiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1MDMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MDAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuU3Vic2NyaXB0aW9uQ2hhbm5lbFR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTAyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MDIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTAyIiBsb2NhdG9yPSIxNDk6NjMtMTQ5OjczIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1MDEiIGxvY2F0b3I9IjE0OTo2My0xNDk6NjciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjUwMCIgbG9jYXRvcj0iMTQ5OjMyLTE0OTo1OSIgbmFtZT0iZmhpcjpTdWJzY3JpcHRpb25DaGFubmVsVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUwNyIgbG9jYXRvcj0iMTUwOjEtMTUwOjcwIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTA3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTA0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkdyYXBoQ29tcGFydG1lbnRSdWxlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUwNiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTA2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUwNiIgbG9jYXRvcj0iMTUwOjYwLTE1MDo3MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTA1IiBsb2NhdG9yPSIxNTA6NjAtMTUwOjY0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1MDQiIGxvY2F0b3I9IjE1MDozMi0xNTA6NTYiIG5hbWU9ImZoaXI6R3JhcGhDb21wYXJ0bWVudFJ1bGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MTEiIGxvY2F0b3I9IjE1MToxLTE1MTo3MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUxMSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUwOCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Bc3NlcnRpb25EaXJlY3Rpb25UeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUxMCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTEwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MDkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUxMCIgbG9jYXRvcj0iMTUxOjYyLTE1MTo3MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTA5IiBsb2NhdG9yPSIxNTE6NjItMTUxOjY2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1MDgiIGxvY2F0b3I9IjE1MTozMi0xNTE6NTgiIG5hbWU9ImZoaXI6QXNzZXJ0aW9uRGlyZWN0aW9uVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUxNSIgbG9jYXRvcj0iMTUyOjEtMTUyOjY0IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTE1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTEyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkNhcmVQbGFuSW50ZW50PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUxNCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTE0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUxNCIgbG9jYXRvcj0iMTUyOjU0LTE1Mjo2NCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTEzIiBsb2NhdG9yPSIxNTI6NTQtMTUyOjU4IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1MTIiIGxvY2F0b3I9IjE1MjozMi0xNTI6NTAiIG5hbWU9ImZoaXI6Q2FyZVBsYW5JbnRlbnQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MTkiIGxvY2F0b3I9IjE1MzoxLTE1Mzo2MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUxOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUxNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5TbGljaW5nUnVsZXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTE4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTE4IiBsb2NhdG9yPSIxNTM6NTItMTUzOjYyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1MTciIGxvY2F0b3I9IjE1Mzo1Mi0xNTM6NTYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjUxNiIgbG9jYXRvcj0iMTUzOjMyLTE1Mzo0OCIgbmFtZT0iZmhpcjpTbGljaW5nUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MjMiIGxvY2F0b3I9IjE1NDoxLTE1NDo3NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUyMyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUyMCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5FeHBsYW5hdGlvbk9mQmVuZWZpdFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MjIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MjIiIGxvY2F0b3I9IjE1NDo2Ni0xNTQ6NzYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjUyMSIgbG9jYXRvcj0iMTU0OjY2LTE1NDo3MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTIwIiBsb2NhdG9yPSIxNTQ6MzItMTU0OjYyIiBuYW1lPSJmaGlyOkV4cGxhbmF0aW9uT2ZCZW5lZml0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTI3IiBsb2NhdG9yPSIxNTU6MS0xNTU6NjIiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1MjciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MjQiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQ29uc2VudFN0YXRlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUyNiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTI2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUyNiIgbG9jYXRvcj0iMTU1OjUyLTE1NTo2MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTI1IiBsb2NhdG9yPSIxNTU6NTItMTU1OjU2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1MjQiIGxvY2F0b3I9IjE1NTozMi0xNTU6NDgiIG5hbWU9ImZoaXI6Q29uc2VudFN0YXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTMxIiBsb2NhdG9yPSIxNTY6MS0xNTY6NzAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1MzEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MjgiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQWR2ZXJzZUV2ZW50Q2F0ZWdvcnk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTMwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MzAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTMwIiBsb2NhdG9yPSIxNTY6NjAtMTU2OjcwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1MjkiIGxvY2F0b3I9IjE1Njo2MC0xNTY6NjQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjUyOCIgbG9jYXRvcj0iMTU2OjMyLTE1Njo1NiIgbmFtZT0iZmhpcjpBZHZlcnNlRXZlbnRDYXRlZ29yeSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUzNSIgbG9jYXRvcj0iMTU3OjEtMTU3OjU4IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTM1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTMyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkxpbmtUeXBlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUzNCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTM0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MzMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUzNCIgbG9jYXRvcj0iMTU3OjQ4LTE1Nzo1OCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTMzIiBsb2NhdG9yPSIxNTc6NDgtMTU3OjUyIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1MzIiIGxvY2F0b3I9IjE1NzozMi0xNTc6NDQiIG5hbWU9ImZoaXI6TGlua1R5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MzkiIGxvY2F0b3I9IjE1ODoxLTE1ODo3OSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUzOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUzNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BbGxlcmd5SW50b2xlcmFuY2VDcml0aWNhbGl0eTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MzgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzOCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MzgiIGxvY2F0b3I9IjE1ODo2OS0xNTg6NzkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjUzNyIgbG9jYXRvcj0iMTU4OjY5LTE1ODo3MyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTM2IiBsb2NhdG9yPSIxNTg6MzItMTU4OjY1IiBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZUNyaXRpY2FsaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTQzIiBsb2NhdG9yPSIxNTk6MS0xNTk6NzUiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1NDMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NDAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuTWVkaWNhdGlvblJlcXVlc3RQcmlvcml0eTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NDIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU0MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NDIiIGxvY2F0b3I9IjE1OTo2NS0xNTk6NzUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjU0MSIgbG9jYXRvcj0iMTU5OjY1LTE1OTo2OSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTQwIiBsb2NhdG9yPSIxNTk6MzItMTU5OjYxIiBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0UHJpb3JpdHkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1NDciIGxvY2F0b3I9IjE2MDoxLTE2MDo3MSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU0NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU0NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Db25jZXB0TWFwRXF1aXZhbGVuY2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTQ2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NDYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTQ2IiBsb2NhdG9yPSIxNjA6NjEtMTYwOjcxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1NDUiIGxvY2F0b3I9IjE2MDo2MS0xNjA6NjUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjU0NCIgbG9jYXRvcj0iMTYwOjMyLTE2MDo1NyIgbmFtZT0iZmhpcjpDb25jZXB0TWFwRXF1aXZhbGVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1NTEiIGxvY2F0b3I9IjE2MToxLTE2MTo2MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU1MSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU0OCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5GSElSQWxsVHlwZXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTUwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NTAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTUwIiBsb2NhdG9yPSIxNjE6NTItMTYxOjYyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1NDkiIGxvY2F0b3I9IjE2MTo1Mi0xNjE6NTYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjU0OCIgbG9jYXRvcj0iMTYxOjMyLTE2MTo0OCIgbmFtZT0iZmhpcjpGSElSQWxsVHlwZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1NTUiIGxvY2F0b3I9IjE2MjoxLTE2Mjo3MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU1NSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU1MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Qcm9wZXJ0eVJlcHJlc2VudGF0aW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU1NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTU0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU1NCIgbG9jYXRvcj0iMTYyOjYyLTE2Mjo3MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTUzIiBsb2NhdG9yPSIxNjI6NjItMTYyOjY2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1NTIiIGxvY2F0b3I9IjE2MjozMi0xNjI6NTgiIG5hbWU9ImZoaXI6UHJvcGVydHlSZXByZXNlbnRhdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU1OSIgbG9jYXRvcj0iMTYzOjEtMTYzOjY2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTU5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTU2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkF1ZGl0RXZlbnRBY3Rpb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTU4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NTgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTU4IiBsb2NhdG9yPSIxNjM6NTYtMTYzOjY2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1NTciIGxvY2F0b3I9IjE2Mzo1Ni0xNjM6NjAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjU1NiIgbG9jYXRvcj0iMTYzOjMyLTE2Mzo1MiIgbmFtZT0iZmhpcjpBdWRpdEV2ZW50QWN0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTYzIiBsb2NhdG9yPSIxNjQ6MS0xNjQ6NjEiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1NjMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NjAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuVHJpZ2dlclR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTYyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NjIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTYyIiBsb2NhdG9yPSIxNjQ6NTEtMTY0OjYxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1NjEiIGxvY2F0b3I9IjE2NDo1MS0xNjQ6NTUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjU2MCIgbG9jYXRvcj0iMTY0OjMyLTE2NDo0NyIgbmFtZT0iZmhpcjpUcmlnZ2VyVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU2NyIgbG9jYXRvcj0iMTY1OjEtMTY1OjY4IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTY3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTY0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlNlYXJjaE1vZGlmaWVyQ29kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NjYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NjYiIGxvY2F0b3I9IjE2NTo1OC0xNjU6NjgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjU2NSIgbG9jYXRvcj0iMTY1OjU4LTE2NTo2MiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTY0IiBsb2NhdG9yPSIxNjU6MzItMTY1OjU0IiBuYW1lPSJmaGlyOlNlYXJjaE1vZGlmaWVyQ29kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU3MSIgbG9jYXRvcj0iMTY2OjEtMTY2OjY3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTcxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTY4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkNvbXBvc2l0aW9uU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU3MCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTcwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NjkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU3MCIgbG9jYXRvcj0iMTY2OjU3LTE2Njo2NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTY5IiBsb2NhdG9yPSIxNjY6NTctMTY2OjYxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1NjgiIGxvY2F0b3I9IjE2NjozMi0xNjY6NTMiIG5hbWU9ImZoaXI6Q29tcG9zaXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1NzUiIGxvY2F0b3I9IjE2NzoxLTE2Nzo2NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU3NSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU3MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BcHBvaW50bWVudFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NzQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU3NCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTczIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NzQiIGxvY2F0b3I9IjE2Nzo1Ny0xNjc6NjciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjU3MyIgbG9jYXRvcj0iMTY3OjU3LTE2Nzo2MSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTcyIiBsb2NhdG9yPSIxNjc6MzItMTY3OjUzIiBuYW1lPSJmaGlyOkFwcG9pbnRtZW50U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTc5IiBsb2NhdG9yPSIxNjg6MS0xNjg6NzciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1NzkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NzYiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuTWVzc2FnZVNpZ25pZmljYW5jZUNhdGVnb3J5PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU3OCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTc4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NzciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NzgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU3OCIgbG9jYXRvcj0iMTY4OjY3LTE2ODo3NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTc3IiBsb2NhdG9yPSIxNjg6NjctMTY4OjcxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1NzYiIGxvY2F0b3I9IjE2ODozMi0xNjg6NjMiIG5hbWU9ImZoaXI6TWVzc2FnZVNpZ25pZmljYW5jZUNhdGVnb3J5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTgzIiBsb2NhdG9yPSIxNjk6MS0xNjk6NjEiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1ODMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1ODAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRXZlbnRTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTgyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1ODIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTgyIiBsb2NhdG9yPSIxNjk6NTEtMTY5OjYxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1ODEiIGxvY2F0b3I9IjE2OTo1MS0xNjk6NTUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjU4MCIgbG9jYXRvcj0iMTY5OjMyLTE2OTo0NyIgbmFtZT0iZmhpcjpFdmVudFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU4NyIgbG9jYXRvcj0iMTcwOjEtMTcwOjcxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTg3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTg0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLk9wZXJhdGlvblBhcmFtZXRlclVzZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1ODYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU4NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1ODYiIGxvY2F0b3I9IjE3MDo2MS0xNzA6NzEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjU4NSIgbG9jYXRvcj0iMTcwOjYxLTE3MDo2NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTg0IiBsb2NhdG9yPSIxNzA6MzItMTcwOjU3IiBuYW1lPSJmaGlyOk9wZXJhdGlvblBhcmFtZXRlclVzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU5MSIgbG9jYXRvcj0iMTcxOjEtMTcxOjU4IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTkxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTg4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkxpc3RNb2RlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU5MCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTkwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1ODkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU5MCIgbG9jYXRvcj0iMTcxOjQ4LTE3MTo1OCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTg5IiBsb2NhdG9yPSIxNzE6NDgtMTcxOjUyIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1ODgiIGxvY2F0b3I9IjE3MTozMi0xNzE6NDQiIG5hbWU9ImZoaXI6TGlzdE1vZGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1OTUiIGxvY2F0b3I9IjE3MjoxLTE3Mjo2OSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU5NSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU5MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BY3Rpb25Db25kaXRpb25LaW5kPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU5NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTk0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU5NCIgbG9jYXRvcj0iMTcyOjU5LTE3Mjo2OSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTkzIiBsb2NhdG9yPSIxNzI6NTktMTcyOjYzIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1OTIiIGxvY2F0b3I9IjE3MjozMi0xNzI6NTUiIG5hbWU9ImZoaXI6QWN0aW9uQ29uZGl0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU5OSIgbG9jYXRvcj0iMTczOjEtMTczOjY3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTk5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTk2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLk9ic2VydmF0aW9uU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU5OCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTk4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU5OCIgbG9jYXRvcj0iMTczOjU3LTE3Mzo2NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTk3IiBsb2NhdG9yPSIxNzM6NTctMTczOjYxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1OTYiIGxvY2F0b3I9IjE3MzozMi0xNzM6NTMiIG5hbWU9ImZoaXI6T2JzZXJ2YXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2MDMiIGxvY2F0b3I9IjE3NDoxLTE3NDo2MSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjYwMyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYwMCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5xdWFsaXR5VHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MDIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2MDIiIGxvY2F0b3I9IjE3NDo1MS0xNzQ6NjEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjYwMSIgbG9jYXRvcj0iMTc0OjUxLTE3NDo1NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjAwIiBsb2NhdG9yPSIxNzQ6MzItMTc0OjQ3IiBuYW1lPSJmaGlyOnF1YWxpdHlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjA3IiBsb2NhdG9yPSIxNzU6MS0xNzU6NzAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2MDciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MDQiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQWRtaW5pc3RyYXRpdmVHZW5kZXI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjA2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MDYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjA2IiBsb2NhdG9yPSIxNzU6NjAtMTc1OjcwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2MDUiIGxvY2F0b3I9IjE3NTo2MC0xNzU6NjQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjYwNCIgbG9jYXRvcj0iMTc1OjMyLTE3NTo1NiIgbmFtZT0iZmhpcjpBZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYxMSIgbG9jYXRvcj0iMTc2OjEtMTc2OjYyIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjExIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjA4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlJlc291cmNlVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MTAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2MTAiIGxvY2F0b3I9IjE3Njo1Mi0xNzY6NjIiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjYwOSIgbG9jYXRvcj0iMTc2OjUyLTE3Njo1NiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjA4IiBsb2NhdG9yPSIxNzY6MzItMTc2OjQ4IiBuYW1lPSJmaGlyOlJlc291cmNlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYxNSIgbG9jYXRvcj0iMTc3OjEtMTc3OjcxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjE1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjEyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlF1ZXN0aW9ubmFpcmVJdGVtVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MTQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxNCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2MTQiIGxvY2F0b3I9IjE3Nzo2MS0xNzc6NzEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjYxMyIgbG9jYXRvcj0iMTc3OjYxLTE3Nzo2NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjEyIiBsb2NhdG9yPSIxNzc6MzItMTc3OjU3IiBuYW1lPSJmaGlyOlF1ZXN0aW9ubmFpcmVJdGVtVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYxOSIgbG9jYXRvcj0iMTc4OjEtMTc4OjU4IiBuYW1lPSJUb0Jvb2xlYW4iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjYxOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvQm9vbGVhbih2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MTYiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuYm9vbGVhbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MTgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxOCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2MTgiIGxvY2F0b3I9IjE3ODo0OC0xNzg6NTgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjYxNyIgbG9jYXRvcj0iMTc4OjQ4LTE3ODo1MiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjE2IiBsb2NhdG9yPSIxNzg6MzMtMTc4OjQ0IiBuYW1lPSJmaGlyOmJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2MjMiIGxvY2F0b3I9IjE3OToxLTE3OTo3NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjYyMyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYyMCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5TdHJ1Y3R1cmVNYXBHcm91cFR5cGVNb2RlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYyMiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjIyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MjEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MjIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjYyMiIgbG9jYXRvcj0iMTc5OjY1LTE3OTo3NSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjIxIiBsb2NhdG9yPSIxNzk6NjUtMTc5OjY5IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2MjAiIGxvY2F0b3I9IjE3OTozMi0xNzk6NjEiIG5hbWU9ImZoaXI6U3RydWN0dXJlTWFwR3JvdXBUeXBlTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYyNyIgbG9jYXRvcj0iMTgwOjEtMTgwOjc3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjI3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjI0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkRldmljZU1ldHJpY0NhbGlicmF0aW9uVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MjYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjYyNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2MjYiIGxvY2F0b3I9IjE4MDo2Ny0xODA6NzciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjYyNSIgbG9jYXRvcj0iMTgwOjY3LTE4MDo3MSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjI0IiBsb2NhdG9yPSIxODA6MzItMTgwOjYzIiBuYW1lPSJmaGlyOkRldmljZU1ldHJpY0NhbGlicmF0aW9uVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYzMSIgbG9jYXRvcj0iMTgxOjEtMTgxOjU0IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjMxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjI4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmNvZGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjMwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MzAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjMwIiBsb2NhdG9yPSIxODE6NDQtMTgxOjU0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2MjkiIGxvY2F0b3I9IjE4MTo0NC0xODE6NDgiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjYyOCIgbG9jYXRvcj0iMTgxOjMyLTE4MTo0MCIgbmFtZT0iZmhpcjpjb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjM1IiBsb2NhdG9yPSIxODI6MS0xODI6NjkiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2MzUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MzIiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuU3VwcGx5UmVxdWVzdFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MzQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjYzNCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2MzQiIGxvY2F0b3I9IjE4Mjo1OS0xODI6NjkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjYzMyIgbG9jYXRvcj0iMTgyOjU5LTE4Mjo2MyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjMyIiBsb2NhdG9yPSIxODI6MzItMTgyOjU1IiBuYW1lPSJmaGlyOlN1cHBseVJlcXVlc3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2MzkiIGxvY2F0b3I9IjE4MzoxLTE4Mzo3MyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjYzOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYzNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BY3Rpb25TZWxlY3Rpb25CZWhhdmlvcjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MzgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjYzOCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2MzgiIGxvY2F0b3I9IjE4Mzo2My0xODM6NzMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjYzNyIgbG9jYXRvcj0iMTgzOjYzLTE4Mzo2NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjM2IiBsb2NhdG9yPSIxODM6MzItMTgzOjU5IiBuYW1lPSJmaGlyOkFjdGlvblNlbGVjdGlvbkJlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjQzIiBsb2NhdG9yPSIxODQ6MS0xODQ6NzMiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2NDMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2NDAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRW5jb3VudGVyTG9jYXRpb25TdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjQyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NDIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjQyIiBsb2NhdG9yPSIxODQ6NjMtMTg0OjczIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2NDEiIGxvY2F0b3I9IjE4NDo2My0xODQ6NjciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjY0MCIgbG9jYXRvcj0iMTg0OjMyLTE4NDo1OSIgbmFtZT0iZmhpcjpFbmNvdW50ZXJMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjY0NyIgbG9jYXRvcj0iMTg1OjEtMTg1OjcwIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjQ3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjQ0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlN1cHBseURlbGl2ZXJ5U3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY0NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjY0NiIgbG9jYXRvcj0iMTg1OjYwLTE4NTo3MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjQ1IiBsb2NhdG9yPSIxODU6NjAtMTg1OjY0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2NDQiIGxvY2F0b3I9IjE4NTozMi0xODU6NTYiIG5hbWU9ImZoaXI6U3VwcGx5RGVsaXZlcnlTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2NTEiIGxvY2F0b3I9IjE4NjoxLTE4Njo3MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY1MSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY0OCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5EaWFnbm9zdGljUmVwb3J0U3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY1MCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjUwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NDkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjY1MCIgbG9jYXRvcj0iMTg2OjYyLTE4Njo3MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjQ5IiBsb2NhdG9yPSIxODY6NjItMTg2OjY2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2NDgiIGxvY2F0b3I9IjE4NjozMi0xODY6NTgiIG5hbWU9ImZoaXI6RGlhZ25vc3RpY1JlcG9ydFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjY1NSIgbG9jYXRvcj0iMTg3OjEtMTg3OjYwIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjU1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjUyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkZsYWdTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjU0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY1MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjU0IiBsb2NhdG9yPSIxODc6NTAtMTg3OjYwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2NTMiIGxvY2F0b3I9IjE4Nzo1MC0xODc6NTQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjY1MiIgbG9jYXRvcj0iMTg3OjMyLTE4Nzo0NiIgbmFtZT0iZmhpcjpGbGFnU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjU5IiBsb2NhdG9yPSIxODg6MS0xODg6NjQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2NTkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2NTYiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQ2FyZVBsYW5TdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjU4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NTgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjU4IiBsb2NhdG9yPSIxODg6NTQtMTg4OjY0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2NTciIGxvY2F0b3I9IjE4ODo1NC0xODg6NTgiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjY1NiIgbG9jYXRvcj0iMTg4OjMyLTE4ODo1MCIgbmFtZT0iZmhpcjpDYXJlUGxhblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjY2MyIgbG9jYXRvcj0iMTg5OjEtMTg5Ojc4IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjYzIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjYwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkNvbmRpdGlvbkNsaW5pY2FsU3RhdHVzQ29kZXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjYyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NjIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjYyIiBsb2NhdG9yPSIxODk6NjgtMTg5Ojc4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2NjEiIGxvY2F0b3I9IjE4OTo2OC0xODk6NzIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjY2MCIgbG9jYXRvcj0iMTg5OjMyLTE4OTo2NCIgbmFtZT0iZmhpcjpDb25kaXRpb25DbGluaWNhbFN0YXR1c0NvZGVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjY3IiBsb2NhdG9yPSIxOTA6MS0xOTA6NjAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2NjciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2NjQiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuTGlzdFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2NjYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjY2NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2NjYiIGxvY2F0b3I9IjE5MDo1MC0xOTA6NjAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjY2NSIgbG9jYXRvcj0iMTkwOjUwLTE5MDo1NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjY0IiBsb2NhdG9yPSIxOTA6MzItMTkwOjQ2IiBuYW1lPSJmaGlyOkxpc3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2NzEiIGxvY2F0b3I9IjE5MToxLTE5MTo2OCIgbmFtZT0iVG9iYXNlNjRCaW5hcnkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY3MSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvYmFzZTY0QmluYXJ5KHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY2OCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5iYXNlNjRCaW5hcnk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjcwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NzAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY2OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjcwIiBsb2NhdG9yPSIxOTE6NTgtMTkxOjY4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2NjkiIGxvY2F0b3I9IjE5MTo1OC0xOTE6NjIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjY2OCIgbG9jYXRvcj0iMTkxOjM4LTE5MTo1NCIgbmFtZT0iZmhpcjpiYXNlNjRCaW5hcnkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2NzUiIGxvY2F0b3I9IjE5MjoxLTE5Mjo3NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY3NSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY3MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5EZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjc0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NzQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjc0IiBsb2NhdG9yPSIxOTI6NjQtMTkyOjc0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2NzMiIGxvY2F0b3I9IjE5Mjo2NC0xOTI6NjgiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjY3MiIgbG9jYXRvcj0iMTkyOjMyLTE5Mjo2MCIgbmFtZT0iZmhpcjpEZXZpY2VVc2VTdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2NzkiIGxvY2F0b3I9IjE5MzoxLTE5Mzo3NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY3OSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY3NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BdWRpdEV2ZW50QWdlbnROZXR3b3JrVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2NzgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjY3OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2NzgiIGxvY2F0b3I9IjE5Mzo2Ni0xOTM6NzYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjY3NyIgbG9jYXRvcj0iMTkzOjY2LTE5Mzo3MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjc2IiBsb2NhdG9yPSIxOTM6MzItMTkzOjYyIiBuYW1lPSJmaGlyOkF1ZGl0RXZlbnRBZ2VudE5ldHdvcmtUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjgzIiBsb2NhdG9yPSIxOTQ6MS0xOTQ6NjAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2ODMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2ODAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQWRkcmVzc1VzZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2ODIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjY4MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2ODIiIGxvY2F0b3I9IjE5NDo1MC0xOTQ6NjAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjY4MSIgbG9jYXRvcj0iMTk0OjUwLTE5NDo1NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjgwIiBsb2NhdG9yPSIxOTQ6MzItMTk0OjQ2IiBuYW1lPSJmaGlyOkFkZHJlc3NVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2ODciIGxvY2F0b3I9IjE5NToxLTE5NTo3MyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjY4NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY4NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Db25kaXRpb25hbERlbGV0ZVN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2ODYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjY4NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2ODYiIGxvY2F0b3I9IjE5NTo2My0xOTU6NzMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjY4NSIgbG9jYXRvcj0iMTk1OjYzLTE5NTo2NyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjg0IiBsb2NhdG9yPSIxOTU6MzItMTk1OjU5IiBuYW1lPSJmaGlyOkNvbmRpdGlvbmFsRGVsZXRlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjkxIiBsb2NhdG9yPSIxOTY6MS0xOTY6NjUiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2OTEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2ODgiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQ29udGFjdFBvaW50VXNlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY5MCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjkwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2ODkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjY5MCIgbG9jYXRvcj0iMTk2OjU1LTE5Njo2NSIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjg5IiBsb2NhdG9yPSIxOTY6NTUtMTk2OjU5IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2ODgiIGxvY2F0b3I9IjE5NjozMi0xOTY6NTEiIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50VXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjk1IiBsb2NhdG9yPSIxOTc6MS0xOTc6NzkiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2OTUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2OTIiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRGV2aWNlTWV0cmljT3BlcmF0aW9uYWxTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjk0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjk0IiBsb2NhdG9yPSIxOTc6NjktMTk3Ojc5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI2OTMiIGxvY2F0b3I9IjE5Nzo2OS0xOTc6NzMiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjY5MiIgbG9jYXRvcj0iMTk3OjMyLTE5Nzo2NSIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNPcGVyYXRpb25hbFN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjY5OSIgbG9jYXRvcj0iMTk4OjEtMTk4OjcwIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjk5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjk2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLk51dHJpdGlvbk9yZGVyU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY5OCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjk4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjY5OCIgbG9jYXRvcj0iMTk4OjYwLTE5ODo3MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjk3IiBsb2NhdG9yPSIxOTg6NjAtMTk4OjY0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2OTYiIGxvY2F0b3I9IjE5ODozMi0xOTg6NTYiIG5hbWU9ImZoaXI6TnV0cml0aW9uT3JkZXJTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3MDMiIGxvY2F0b3I9IjE5OToxLTE5OTo1MyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjcwMyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcwMCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi51cmk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzAyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MDIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzAyIiBsb2NhdG9yPSIxOTk6NDMtMTk5OjUzIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3MDEiIGxvY2F0b3I9IjE5OTo0My0xOTk6NDciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjcwMCIgbG9jYXRvcj0iMTk5OjMyLTE5OTozOSIgbmFtZT0iZmhpcjp1cmkiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3MDciIGxvY2F0b3I9IjIwMDoxLTIwMDo2NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjcwNyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcwNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Db250cmlidXRvclR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzA2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MDYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzA2IiBsb2NhdG9yPSIyMDA6NTUtMjAwOjY1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3MDUiIGxvY2F0b3I9IjIwMDo1NS0yMDA6NTkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjcwNCIgbG9jYXRvcj0iMjAwOjMyLTIwMDo1MSIgbmFtZT0iZmhpcjpDb250cmlidXRvclR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3MTEiIGxvY2F0b3I9IjIwMToxLTIwMTo3MSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjcxMSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcwOCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5SZWZlcmVuY2VWZXJzaW9uUnVsZXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzEwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MTAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzEwIiBsb2NhdG9yPSIyMDE6NjEtMjAxOjcxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3MDkiIGxvY2F0b3I9IjIwMTo2MS0yMDE6NjUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjcwOCIgbG9jYXRvcj0iMjAxOjMyLTIwMTo1NyIgbmFtZT0iZmhpcjpSZWZlcmVuY2VWZXJzaW9uUnVsZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3MTUiIGxvY2F0b3I9IjIwMjoxLTIwMjo1MyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjcxNSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcxMiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Vc2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzE0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcxMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzE0IiBsb2NhdG9yPSIyMDI6NDMtMjAyOjUzIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3MTMiIGxvY2F0b3I9IjIwMjo0My0yMDI6NDciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjcxMiIgbG9jYXRvcj0iMjAyOjMyLTIwMjozOSIgbmFtZT0iZmhpcjpVc2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3MTkiIGxvY2F0b3I9IjIwMzoxLTIwMzo3MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjcxOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcxNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5JZGVudGl0eUFzc3VyYW5jZUxldmVsPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcxOCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzE4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjcxOCIgbG9jYXRvcj0iMjAzOjYyLTIwMzo3MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzE3IiBsb2NhdG9yPSIyMDM6NjItMjAzOjY2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI3MTYiIGxvY2F0b3I9IjIwMzozMi0yMDM6NTgiIG5hbWU9ImZoaXI6SWRlbnRpdHlBc3N1cmFuY2VMZXZlbCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjcyMyIgbG9jYXRvcj0iMjA0OjEtMjA0OjY5IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNzIzIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzIwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLk1lYXN1cmVSZXBvcnRTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzIyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MjIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzIyIiBsb2NhdG9yPSIyMDQ6NTktMjA0OjY5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3MjEiIGxvY2F0b3I9IjIwNDo1OS0yMDQ6NjMiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjcyMCIgbG9jYXRvcj0iMjA0OjMyLTIwNDo1NSIgbmFtZT0iZmhpcjpNZWFzdXJlUmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzI3IiBsb2NhdG9yPSIyMDU6MS0yMDU6NjciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3MjciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3MjQiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRGV2aWNlTWV0cmljQ29sb3I8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzI2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MjYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzI2IiBsb2NhdG9yPSIyMDU6NTctMjA1OjY3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3MjUiIGxvY2F0b3I9IjIwNTo1Ny0yMDU6NjEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjcyNCIgbG9jYXRvcj0iMjA1OjMyLTIwNTo1MyIgbmFtZT0iZmhpcjpEZXZpY2VNZXRyaWNDb2xvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjczMSIgbG9jYXRvcj0iMjA2OjEtMjA2OjY1IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNzMxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzI4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlNlYXJjaEVudHJ5TW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3MzAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjczMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3MzAiIGxvY2F0b3I9IjIwNjo1NS0yMDY6NjUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjcyOSIgbG9jYXRvcj0iMjA2OjU1LTIwNjo1OSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzI4IiBsb2NhdG9yPSIyMDY6MzItMjA2OjUxIiBuYW1lPSJmaGlyOlNlYXJjaEVudHJ5TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjczNSIgbG9jYXRvcj0iMjA3OjEtMjA3OjUyIiBuYW1lPSJUb1RpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjczNSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvVGltZSh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3MzIiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIudGltZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3MzQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjczNCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3MzQiIGxvY2F0b3I9IjIwNzo0Mi0yMDc6NTIiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjczMyIgbG9jYXRvcj0iMjA3OjQyLTIwNzo0NiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzMyIiBsb2NhdG9yPSIyMDc6MzAtMjA3OjM4IiBuYW1lPSJmaGlyOnRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3MzkiIGxvY2F0b3I9IjIwODoxLTIwODo3MSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjczOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjczNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Db25kaXRpb25hbFJlYWRTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzM4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MzgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjczNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjczOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzM4IiBsb2NhdG9yPSIyMDg6NjEtMjA4OjcxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3MzciIGxvY2F0b3I9IjIwODo2MS0yMDg6NjUiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjczNiIgbG9jYXRvcj0iMjA4OjMyLTIwODo1NyIgbmFtZT0iZmhpcjpDb25kaXRpb25hbFJlYWRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3NDMiIGxvY2F0b3I9IjIwOToxLTIwOTo3NyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc0MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc0MCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Db25kaXRpb25WZXJpZmljYXRpb25TdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzQyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NDIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzQyIiBsb2NhdG9yPSIyMDk6NjctMjA5Ojc3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3NDEiIGxvY2F0b3I9IjIwOTo2Ny0yMDk6NzEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijc0MCIgbG9jYXRvcj0iMjA5OjMyLTIwOTo2MyIgbmFtZT0iZmhpcjpDb25kaXRpb25WZXJpZmljYXRpb25TdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3NDciIGxvY2F0b3I9IjIxMDoxLTIxMDo3NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc0NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc0NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BbGxlcmd5SW50b2xlcmFuY2VTZXZlcml0eTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3NDYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc0NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3NDYiIGxvY2F0b3I9IjIxMDo2Ni0yMTA6NzYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijc0NSIgbG9jYXRvcj0iMjEwOjY2LTIxMDo3MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzQ0IiBsb2NhdG9yPSIyMTA6MzItMjEwOjYyIiBuYW1lPSJmaGlyOkFsbGVyZ3lJbnRvbGVyYW5jZVNldmVyaXR5IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzUxIiBsb2NhdG9yPSIyMTE6MS0yMTE6NzgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3NTEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3NDgiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRmluYW5jaWFsUmVzb3VyY2VTdGF0dXNDb2RlczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3NTAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc1MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3NTAiIGxvY2F0b3I9IjIxMTo2OC0yMTE6NzgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijc0OSIgbG9jYXRvcj0iMjExOjY4LTIxMTo3MiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzQ4IiBsb2NhdG9yPSIyMTE6MzItMjExOjY0IiBuYW1lPSJmaGlyOkZpbmFuY2lhbFJlc291cmNlU3RhdHVzQ29kZXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3NTUiIGxvY2F0b3I9IjIxMjoxLTIxMjo2MyIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc1NSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc1MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5PcGVyYXRpb25LaW5kPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc1NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzU0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijc1NCIgbG9jYXRvcj0iMjEyOjUzLTIxMjo2MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzUzIiBsb2NhdG9yPSIyMTI6NTMtMjEyOjU3IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI3NTIiIGxvY2F0b3I9IjIxMjozMi0yMTI6NDkiIG5hbWU9ImZoaXI6T3BlcmF0aW9uS2luZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijc1OSIgbG9jYXRvcj0iMjEzOjEtMjEzOjc3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNzU5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzU2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLk9ic2VydmF0aW9uUmVsYXRpb25zaGlwVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3NTgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc1OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3NTgiIGxvY2F0b3I9IjIxMzo2Ny0yMTM6NzciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijc1NyIgbG9jYXRvcj0iMjEzOjY3LTIxMzo3MSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzU2IiBsb2NhdG9yPSIyMTM6MzItMjEzOjYzIiBuYW1lPSJmaGlyOk9ic2VydmF0aW9uUmVsYXRpb25zaGlwVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijc2MyIgbG9jYXRvcj0iMjE0OjEtMjE0OjYyIiBuYW1lPSJUb0ludGVnZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc2MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3NjAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIudW5zaWduZWRJbnQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzYyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NjIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzYyIiBsb2NhdG9yPSIyMTQ6NTItMjE0OjYyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3NjEiIGxvY2F0b3I9IjIxNDo1Mi0yMTQ6NTYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijc2MCIgbG9jYXRvcj0iMjE0OjMzLTIxNDo0OCIgbmFtZT0iZmhpcjp1bnNpZ25lZEludCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijc2NyIgbG9jYXRvcj0iMjE1OjEtMjE1OjU3IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNzY3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzY0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLk5hbWVVc2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzY2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NjYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzY2IiBsb2NhdG9yPSIyMTU6NDctMjE1OjU3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3NjUiIGxvY2F0b3I9IjIxNTo0Ny0yMTU6NTEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijc2NCIgbG9jYXRvcj0iMjE1OjMyLTIxNTo0MyIgbmFtZT0iZmhpcjpOYW1lVXNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzcxIiBsb2NhdG9yPSIyMTY6MS0yMTY6NjgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3NzEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3NjgiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuU3Vic2NyaXB0aW9uU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc3MCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzcwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NjkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijc3MCIgbG9jYXRvcj0iMjE2OjU4LTIxNjo2OCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzY5IiBsb2NhdG9yPSIyMTY6NTgtMjE2OjYyIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI3NjgiIGxvY2F0b3I9IjIxNjozMi0yMTY6NTQiIG5hbWU9ImZoaXI6U3Vic2NyaXB0aW9uU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzc1IiBsb2NhdG9yPSIyMTc6MS0yMTc6NzMiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3NzUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3NzIiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRG9jdW1lbnRSZWZlcmVuY2VTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzc0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NzQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzc0IiBsb2NhdG9yPSIyMTc6NjMtMjE3OjczIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3NzMiIGxvY2F0b3I9IjIxNzo2My0yMTc6NjciIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijc3MiIgbG9jYXRvcj0iMjE3OjMyLTIxNzo1OSIgbmFtZT0iZmhpcjpEb2N1bWVudFJlZmVyZW5jZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijc3OSIgbG9jYXRvcj0iMjE4OjEtMjE4OjYyIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNzc5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzc2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkxvY2F0aW9uTW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3NzgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc3OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3NzgiIGxvY2F0b3I9IjIxODo1Mi0yMTg6NjIiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijc3NyIgbG9jYXRvcj0iMjE4OjUyLTIxODo1NiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzc2IiBsb2NhdG9yPSIyMTg6MzItMjE4OjQ4IiBuYW1lPSJmaGlyOkxvY2F0aW9uTW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijc4MyIgbG9jYXRvcj0iMjE5OjEtMjE5OjU4IiBuYW1lPSJUb0ludGVnZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc4MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvSW50ZWdlcih2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3ODAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuaW50ZWdlcjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3ODIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc4MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3ODIiIGxvY2F0b3I9IjIxOTo0OC0yMTk6NTgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijc4MSIgbG9jYXRvcj0iMjE5OjQ4LTIxOTo1MiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzgwIiBsb2NhdG9yPSIyMTk6MzMtMjE5OjQ0IiBuYW1lPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3ODciIGxvY2F0b3I9IjIyMDoxLTIyMDo2NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc4NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc4NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5yZXBvc2l0b3J5VHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3ODYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc4NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3ODYiIGxvY2F0b3I9IjIyMDo1NC0yMjA6NjQiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijc4NSIgbG9jYXRvcj0iMjIwOjU0LTIyMDo1OCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzg0IiBsb2NhdG9yPSIyMjA6MzItMjIwOjUwIiBuYW1lPSJmaGlyOnJlcG9zaXRvcnlUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzkxIiBsb2NhdG9yPSIyMjE6MS0yMjE6NjQiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3OTEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3ODgiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuTG9jYXRpb25TdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzkwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3OTAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzkwIiBsb2NhdG9yPSIyMjE6NTQtMjIxOjY0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3ODkiIGxvY2F0b3I9IjIyMTo1NC0yMjE6NTgiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijc4OCIgbG9jYXRvcj0iMjIxOjMyLTIyMTo1MCIgbmFtZT0iZmhpcjpMb2NhdGlvblN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijc5NSIgbG9jYXRvcj0iMjIyOjEtMjIyOjY5IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNzk1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzkyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkZISVJTdWJzdGFuY2VTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzk0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3OTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzk0IiBsb2NhdG9yPSIyMjI6NTktMjIyOjY5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI3OTMiIGxvY2F0b3I9IjIyMjo1OS0yMjI6NjMiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijc5MiIgbG9jYXRvcj0iMjIyOjMyLTIyMjo1NSIgbmFtZT0iZmhpcjpGSElSU3Vic3RhbmNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzk5IiBsb2NhdG9yPSIyMjM6MS0yMjM6NjgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3OTkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3OTYiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuVW5rbm93bkNvbnRlbnRDb2RlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc5OCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzk4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3OTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3OTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijc5OCIgbG9jYXRvcj0iMjIzOjU4LTIyMzo2OCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzk3IiBsb2NhdG9yPSIyMjM6NTgtMjIzOjYyIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI3OTYiIGxvY2F0b3I9IjIyMzozMi0yMjM6NTQiIG5hbWU9ImZoaXI6VW5rbm93bkNvbnRlbnRDb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODAzIiBsb2NhdG9yPSIyMjQ6MS0yMjQ6NTgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4MDMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MDAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuTm90ZVR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODAyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MDIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODAyIiBsb2NhdG9yPSIyMjQ6NDgtMjI0OjU4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4MDEiIGxvY2F0b3I9IjIyNDo0OC0yMjQ6NTIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjgwMCIgbG9jYXRvcj0iMjI0OjMyLTIyNDo0NCIgbmFtZT0iZmhpcjpOb3RlVHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgwNyIgbG9jYXRvcj0iMjI1OjEtMjI1OjY2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODA3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODA0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlRlc3RSZXBvcnRTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODA2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MDYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODA2IiBsb2NhdG9yPSIyMjU6NTYtMjI1OjY2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4MDUiIGxvY2F0b3I9IjIyNTo1Ni0yMjU6NjAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjgwNCIgbG9jYXRvcj0iMjI1OjMyLTIyNTo1MiIgbmFtZT0iZmhpcjpUZXN0UmVwb3J0U3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODExIiBsb2NhdG9yPSIyMjY6MS0yMjY6NTgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4MTEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MDgiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuSFRUUFZlcmI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODEwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MTAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODEwIiBsb2NhdG9yPSIyMjY6NDgtMjI2OjU4IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4MDkiIGxvY2F0b3I9IjIyNjo0OC0yMjY6NTIiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjgwOCIgbG9jYXRvcj0iMjI2OjMyLTIyNjo0NCIgbmFtZT0iZmhpcjpIVFRQVmVyYiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgxNSIgbG9jYXRvcj0iMjI3OjEtMjI3OjcxIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODE1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODEyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkNvZGVTeXN0ZW1Db250ZW50TW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MTQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgxNCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4MTQiIGxvY2F0b3I9IjIyNzo2MS0yMjc6NzEiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjgxMyIgbG9jYXRvcj0iMjI3OjYxLTIyNzo2NSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODEyIiBsb2NhdG9yPSIyMjc6MzItMjI3OjU3IiBuYW1lPSJmaGlyOkNvZGVTeXN0ZW1Db250ZW50TW9kZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgxOSIgbG9jYXRvcj0iMjI4OjEtMjI4OjY5IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODE5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODE2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkVwaXNvZGVPZkNhcmVTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODE4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MTgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODE4IiBsb2NhdG9yPSIyMjg6NTktMjI4OjY5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4MTciIGxvY2F0b3I9IjIyODo1OS0yMjg6NjMiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjgxNiIgbG9jYXRvcj0iMjI4OjMyLTIyODo1NSIgbmFtZT0iZmhpcjpFcGlzb2RlT2ZDYXJlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODIzIiBsb2NhdG9yPSIyMjk6MS0yMjk6NjciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4MjMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MjAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUmVtaXR0YW5jZU91dGNvbWU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODIyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MjIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODIyIiBsb2NhdG9yPSIyMjk6NTctMjI5OjY3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4MjEiIGxvY2F0b3I9IjIyOTo1Ny0yMjk6NjEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjgyMCIgbG9jYXRvcj0iMjI5OjMyLTIyOTo1MyIgbmFtZT0iZmhpcjpSZW1pdHRhbmNlT3V0Y29tZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgyNyIgbG9jYXRvcj0iMjMwOjEtMjMwOjY2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODI3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODI0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkZISVJEZXZpY2VTdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODI2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MjYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODI2IiBsb2NhdG9yPSIyMzA6NTYtMjMwOjY2IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4MjUiIGxvY2F0b3I9IjIzMDo1Ni0yMzA6NjAiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjgyNCIgbG9jYXRvcj0iMjMwOjMyLTIzMDo1MiIgbmFtZT0iZmhpcjpGSElSRGV2aWNlU3RhdHVzIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODMxIiBsb2NhdG9yPSIyMzE6MS0yMzE6NjgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4MzEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MjgiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQ29udGFjdFBvaW50U3lzdGVtPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjgzMCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODMwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MjkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjgzMCIgbG9jYXRvcj0iMjMxOjU4LTIzMTo2OCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODI5IiBsb2NhdG9yPSIyMzE6NTgtMjMxOjYyIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI4MjgiIGxvY2F0b3I9IjIzMTozMi0yMzE6NTQiIG5hbWU9ImZoaXI6Q29udGFjdFBvaW50U3lzdGVtIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODM1IiBsb2NhdG9yPSIyMzI6MS0yMzI6NjAiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4MzUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MzIiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuU2xvdFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4MzQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgzNCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4MzQiIGxvY2F0b3I9IjIzMjo1MC0yMzI6NjAiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjgzMyIgbG9jYXRvcj0iMjMyOjUwLTIzMjo1NCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODMyIiBsb2NhdG9yPSIyMzI6MzItMjMyOjQ2IiBuYW1lPSJmaGlyOlNsb3RTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4MzkiIGxvY2F0b3I9IjIzMzoxLTIzMzo2MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgzOSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjgzNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Qcm9wZXJ0eVR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODM4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MzgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODM4IiBsb2NhdG9yPSIyMzM6NTItMjMzOjYyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4MzciIGxvY2F0b3I9IjIzMzo1Mi0yMzM6NTYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjgzNiIgbG9jYXRvcj0iMjMzOjMyLTIzMzo0OCIgbmFtZT0iZmhpcjpQcm9wZXJ0eVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4NDMiIGxvY2F0b3I9IjIzNDoxLTIzNDo1OCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg0MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg0MCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5tYXJrZG93bjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NDIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg0MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4NDIiIGxvY2F0b3I9IjIzNDo0OC0yMzQ6NTgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg0MSIgbG9jYXRvcj0iMjM0OjQ4LTIzNDo1MiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODQwIiBsb2NhdG9yPSIyMzQ6MzItMjM0OjQ0IiBuYW1lPSJmaGlyOm1hcmtkb3duIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODQ3IiBsb2NhdG9yPSIyMzU6MS0yMzU6NjgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4NDciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NDQiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuVHlwZURlcml2YXRpb25SdWxlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg0NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODQ2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg0NiIgbG9jYXRvcj0iMjM1OjU4LTIzNTo2OCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODQ1IiBsb2NhdG9yPSIyMzU6NTgtMjM1OjYyIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI4NDQiIGxvY2F0b3I9IjIzNTozMi0yMzU6NTQiIG5hbWU9ImZoaXI6VHlwZURlcml2YXRpb25SdWxlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODUxIiBsb2NhdG9yPSIyMzY6MS0yMzY6NzUiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4NTEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NDgiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuTWVkaWNhdGlvblN0YXRlbWVudFN0YXR1czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NTAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg1MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4NTAiIGxvY2F0b3I9IjIzNjo2NS0yMzY6NzUiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg0OSIgbG9jYXRvcj0iMjM2OjY1LTIzNjo2OSIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODQ4IiBsb2NhdG9yPSIyMzY6MzItMjM2OjYxIiBuYW1lPSJmaGlyOk1lZGljYXRpb25TdGF0ZW1lbnRTdGF0dXMiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4NTUiIGxvY2F0b3I9IjIzNzoxLTIzNzo3MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg1NSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg1MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5HdWlkYW5jZVJlc3BvbnNlU3RhdHVzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg1NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODU0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg1NCIgbG9jYXRvcj0iMjM3OjYyLTIzNzo3MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODUzIiBsb2NhdG9yPSIyMzc6NjItMjM3OjY2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI4NTIiIGxvY2F0b3I9IjIzNzozMi0yMzc6NTgiIG5hbWU9ImZoaXI6R3VpZGFuY2VSZXNwb25zZVN0YXR1cyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijg1OSIgbG9jYXRvcj0iMjM4OjEtMjM4OjY4IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODU5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODU2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlF1YW50aXR5Q29tcGFyYXRvcjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NTgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg1OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4NTgiIGxvY2F0b3I9IjIzODo1OC0yMzg6NjgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg1NyIgbG9jYXRvcj0iMjM4OjU4LTIzODo2MiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODU2IiBsb2NhdG9yPSIyMzg6MzItMjM4OjU0IiBuYW1lPSJmaGlyOlF1YW50aXR5Q29tcGFyYXRvciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijg2MyIgbG9jYXRvcj0iMjM5OjEtMjM5OjY5IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODYzIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODYwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlJlbGF0ZWRBcnRpZmFjdFR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODYyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NjIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODYyIiBsb2NhdG9yPSIyMzk6NTktMjM5OjY5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4NjEiIGxvY2F0b3I9IjIzOTo1OS0yMzk6NjMiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg2MCIgbG9jYXRvcj0iMjM5OjMyLTIzOTo1NSIgbmFtZT0iZmhpcjpSZWxhdGVkQXJ0aWZhY3RUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODY3IiBsb2NhdG9yPSIyNDA6MS0yNDA6NTMiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4NjciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NjQiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIub2lkPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg2NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODY2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg2NiIgbG9jYXRvcj0iMjQwOjQzLTI0MDo1MyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iODY1IiBsb2NhdG9yPSIyNDA6NDMtMjQwOjQ3IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI4NjQiIGxvY2F0b3I9IjI0MDozMi0yNDA6MzkiIG5hbWU9ImZoaXI6b2lkIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODcxIiBsb2NhdG9yPSIyNDE6MS0yNDE6NjciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4NzEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NjgiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuTWVhc3VyZVJlcG9ydFR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODcwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NzAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg2OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODcwIiBsb2NhdG9yPSIyNDE6NTctMjQxOjY3IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4NjkiIGxvY2F0b3I9IjI0MTo1Ny0yNDE6NjEiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg2OCIgbG9jYXRvcj0iMjQxOjMyLTI0MTo1MyIgbmFtZT0iZmhpcjpNZWFzdXJlUmVwb3J0VHlwZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijg3NSIgbG9jYXRvcj0iMjQyOjEtMjQyOjcyIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iODc1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODcyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkFjdGlvblByZWNoZWNrQmVoYXZpb3I8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODc0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NzQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODc0IiBsb2NhdG9yPSIyNDI6NjItMjQyOjcyIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4NzMiIGxvY2F0b3I9IjI0Mjo2Mi0yNDI6NjYiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg3MiIgbG9jYXRvcj0iMjQyOjMyLTI0Mjo1OCIgbmFtZT0iZmhpcjpBY3Rpb25QcmVjaGVja0JlaGF2aW9yIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODc5IiBsb2NhdG9yPSIyNDM6MS0yNDM6NjkiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4NzkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NzYiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuU2FtcGxlZERhdGFEYXRhVHlwZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NzgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg3OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4NzgiIGxvY2F0b3I9IjI0Mzo1OS0yNDM6NjkiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg3NyIgbG9jYXRvcj0iMjQzOjU5LTI0Mzo2MyIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODc2IiBsb2NhdG9yPSIyNDM6MzItMjQzOjU1IiBuYW1lPSJmaGlyOlNhbXBsZWREYXRhRGF0YVR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4ODMiIGxvY2F0b3I9IjI0NDoxLTI0NDo3NCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg4MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg4MCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5NZWRpY2F0aW9uU3RhdGVtZW50VGFrZW48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODgyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4ODIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODgyIiBsb2NhdG9yPSIyNDQ6NjQtMjQ0Ojc0IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4ODEiIGxvY2F0b3I9IjI0NDo2NC0yNDQ6NjgiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg4MCIgbG9jYXRvcj0iMjQ0OjMyLTI0NDo2MCIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uU3RhdGVtZW50VGFrZW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4ODciIGxvY2F0b3I9IjI0NToxLTI0NTo2NSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg4NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg4NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Db21wYXJ0bWVudFR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODg2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4ODYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODg2IiBsb2NhdG9yPSIyNDU6NTUtMjQ1OjY1IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4ODUiIGxvY2F0b3I9IjI0NTo1NS0yNDU6NTkiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg4NCIgbG9jYXRvcj0iMjQ1OjMyLTI0NTo1MSIgbmFtZT0iZmhpcjpDb21wYXJ0bWVudFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4OTEiIGxvY2F0b3I9IjI0NjoxLTI0Njo3NiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg5MSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg4OCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Db21wb3NpdGlvbkF0dGVzdGF0aW9uTW9kZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4OTAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg5MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4OTAiIGxvY2F0b3I9IjI0Njo2Ni0yNDY6NzYiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg4OSIgbG9jYXRvcj0iMjQ2OjY2LTI0Njo3MCIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODg4IiBsb2NhdG9yPSIyNDY6MzItMjQ2OjYyIiBuYW1lPSJmaGlyOkNvbXBvc2l0aW9uQXR0ZXN0YXRpb25Nb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODk1IiBsb2NhdG9yPSIyNDc6MS0yNDc6NzgiIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4OTUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4OTIiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRGV2aWNlTWV0cmljQ2FsaWJyYXRpb25TdGF0ZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4OTQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg5NCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4OTQiIGxvY2F0b3I9IjI0Nzo2OC0yNDc6NzgiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijg5MyIgbG9jYXRvcj0iMjQ3OjY4LTI0Nzo3MiIgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iODkyIiBsb2NhdG9yPSIyNDc6MzItMjQ3OjY0IiBuYW1lPSJmaGlyOkRldmljZU1ldHJpY0NhbGlicmF0aW9uU3RhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4OTkiIGxvY2F0b3I9IjI0ODoxLTI0ODo1OSIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg5OSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg5NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5Hcm91cFR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODk4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4OTgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODk4IiBsb2NhdG9yPSIyNDg6NDktMjQ4OjU5IiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4OTciIGxvY2F0b3I9IjI0ODo0OS0yNDg6NTMiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg5NiIgbG9jYXRvcj0iMjQ4OjMyLTI0ODo0NSIgbmFtZT0iZmhpcjpHcm91cFR5cGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5MDMiIGxvY2F0b3I9IjI0OToxLTI0OTo3MiIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkwMyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkwMCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5UeXBlUmVzdGZ1bEludGVyYWN0aW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkwMiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTAyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MDEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjkwMiIgbG9jYXRvcj0iMjQ5OjYyLTI0OTo3MiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTAxIiBsb2NhdG9yPSIyNDk6NjItMjQ5OjY2IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5MDAiIGxvY2F0b3I9IjI0OTozMi0yNDk6NTgiIG5hbWU9ImZoaXI6VHlwZVJlc3RmdWxJbnRlcmFjdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjkwNyIgbG9jYXRvcj0iMjUwOjEtMjUwOjc2IiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOTA3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTA0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkNvZGVTeXN0ZW1IaWVyYXJjaHlNZWFuaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkwNiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTA2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjkwNiIgbG9jYXRvcj0iMjUwOjY2LTI1MDo3NiIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTA1IiBsb2NhdG9yPSIyNTA6NjYtMjUwOjcwIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5MDQiIGxvY2F0b3I9IjI1MDozMi0yNTA6NjIiIG5hbWU9ImZoaXI6Q29kZVN5c3RlbUhpZXJhcmNoeU1lYW5pbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5MTEiIGxvY2F0b3I9IjI1MToxLTI1MTo2MCIgbmFtZT0iVG9TdHJpbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkxMSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIFRvU3RyaW5nKHZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkwOCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5WaXNpb25CYXNlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkxMCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTEwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MDkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjkxMCIgbG9jYXRvcj0iMjUxOjUwLTI1MTo2MCIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTA5IiBsb2NhdG9yPSIyNTE6NTAtMjUxOjU0IiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5MDgiIGxvY2F0b3I9IjI1MTozMi0yNTE6NDYiIG5hbWU9ImZoaXI6VmlzaW9uQmFzZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjkxNSIgbG9jYXRvcj0iMjUyOjEtMjUyOjYwIiBuYW1lPSJUb1N0cmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOTE1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gVG9TdHJpbmcodmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTEyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkJ1bmRsZVR5cGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KTogPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTE0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkxMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTE0IiBsb2NhdG9yPSIyNTI6NTAtMjUyOjYwIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI5MTMiIGxvY2F0b3I9IjI1Mjo1MC0yNTI6NTQiIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjkxMiIgbG9jYXRvcj0iMjUyOjMyLTI1Mjo0NiIgbmFtZT0iZmhpcjpCdW5kbGVUeXBlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOTE5IiBsb2NhdG9yPSIyNTM6MS0yNTM6NzciIG5hbWU9IlRvU3RyaW5nIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5MTkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiBUb1N0cmluZyh2YWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5MTYiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuU3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkxOCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTE4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjkxOCIgbG9jYXRvcj0iMjUzOjY3LTI1Mzo3NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTE3IiBsb2NhdG9yPSIyNTM6NjctMjUzOjcxIiBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5MTYiIGxvY2F0b3I9IjI1MzozMi0yNTM6NjMiIG5hbWU9ImZoaXI6U3lzdGVtVmVyc2lvblByb2Nlc3NpbmdNb2RlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo=" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-Hospice_FHIR3-1.0.000.json b/fhir3/input/resources/library/library-Hospice_FHIR3-1.0.000.json index be7bb683..aeb475f1 100644 --- a/fhir3/input/resources/library/library-Hospice_FHIR3-1.0.000.json +++ b/fhir3/input/resources/library/library-Hospice_FHIR3-1.0.000.json @@ -3,71 +3,51 @@ "id": "library-Hospice-FHIR3-1.0.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-Hospice-FHIR3-1.0.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">1.0.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"2\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"3\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library Hospice_FHIR3 version '1.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "SNOMEDCT:2017-09": 'http://snomed.info/sct/731000124108' version 'http://snomed.info/sct/731000124108/version/201709'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Hospice care ambulatory": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15'\n\ncode "Discharge to healthcare facility for hospice care (procedure)": '428371000124100' from "SNOMEDCT:2017-09" display 'Discharge to healthcare facility for hospice care (procedure)'\ncode "Discharge to home for hospice care (procedure)": '428361000124107' from "SNOMEDCT:2017-09" display 'Discharge to home for hospice care (procedure)'\n\ncontext Patient\n\ndefine function "Has Hospice"(MeasurementPeriod Interval<DateTime>):\n\texists (\n\t [Encounter: "Encounter Inpatient"] DischargeHospice\n\t\t\twhere DischargeHospice.status = 'final'\n\t\t\t and (\n\t\t\t FHIRHelpers.ToConcept(DischargeHospice.hospitalization.dischargeDisposition).codes[0] ~ "Discharge to home for hospice care (procedure)"\n\t\t\t\t\t or FHIRHelpers.ToConcept(DischargeHospice.hospitalization.dischargeDisposition).codes[0] ~ "Discharge to healthcare facility for hospice care (procedure)"\n\t\t\t )\n\t\t\t\tand DischargeHospice.period ends during day of MeasurementPeriod\n\t)\n or exists (\n [ProcedureRequest: "Hospice care ambulatory"] HospiceOrder\n where HospiceOrder.intent = 'order'\n and HospiceOrder.authoredOn in day of MeasurementPeriod\n )\n or exists (\n [Procedure: "Hospice care ambulatory"] HospicePerformed\n where HospicePerformed.status = 'completed'\n and Global."Normalize Interval"(HospicePerformed.performed) overlaps MeasurementPeriod\n )\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-Hospice-FHIR3-1.0.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">1.0.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"2\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"3\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library Hospice_FHIR3 version '1.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Global\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "SNOMEDCT:2017-09": 'http://snomed.info/sct/731000124108' version 'http://snomed.info/sct/731000124108/version/201709'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Hospice care ambulatory": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15'\n\ncode "Discharge to healthcare facility for hospice care (procedure)": '428371000124100' from "SNOMEDCT:2017-09" display 'Discharge to healthcare facility for hospice care (procedure)'\ncode "Discharge to home for hospice care (procedure)": '428361000124107' from "SNOMEDCT:2017-09" display 'Discharge to home for hospice care (procedure)'\n\ncontext Patient\n\ndefine function "Has Hospice"(MeasurementPeriod Interval<DateTime>):\n\texists (\n\t [Encounter: "Encounter Inpatient"] DischargeHospice\n\t\t\twhere DischargeHospice.status = 'final'\n\t\t\t and (\n\t\t\t FHIRHelpers.ToConcept(DischargeHospice.hospitalization.dischargeDisposition).codes[0] ~ "Discharge to home for hospice care (procedure)"\n\t\t\t\t\t or FHIRHelpers.ToConcept(DischargeHospice.hospitalization.dischargeDisposition).codes[0] ~ "Discharge to healthcare facility for hospice care (procedure)"\n\t\t\t )\n\t\t\t\tand DischargeHospice.period ends during day of MeasurementPeriod\n\t)\n or exists (\n [ProcedureRequest: "Hospice care ambulatory"] HospiceOrder\n where HospiceOrder.intent = 'order'\n and HospiceOrder.authoredOn in day of MeasurementPeriod\n )\n or exists (\n [Procedure: "Hospice care ambulatory"] HospicePerformed\n where HospicePerformed.status = 'completed'\n and Global."Normalize Interval"(HospicePerformed.performed) overlaps MeasurementPeriod\n )\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "1.0.000", "name": "Hospice_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" + } ] + }, { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15" } - } - ], - "dataRequirement": [ - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" - } - ] - }, - { - "type": "ProcedureRequest", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15" - } - ] - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9Ikhvc3BpY2VfRkhJUjMiIHZlcnNpb249IjEuMC4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8Y29kZVN5c3RlbXM+DQogICAgICA8ZGVmIG5hbWU9IlNOT01FRENUOjIwMTctMDkiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgdmVyc2lvbj0iaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpY2UgY2FyZSBhbWJ1bGF0b3J5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTA4LjE1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgaWQ9IjQyODM3MTAwMDEyNDEwMCIgZGlzcGxheT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVDoyMDE3LTA5Ii8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgaWQ9IjQyODM2MTAwMDEyNDEwNyIgZGlzcGxheT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVDoyMDE3LTA5Ii8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIYXMgSG9zcGljZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRGlzY2hhcmdlSG9zcGljZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkRpc2NoYXJnZUhvc3BpY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmFsIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmRleGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmRleGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGVzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSIgeHNpOnR5cGU9IkNvZGVSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJEaXNjaGFyZ2VIb3NwaWNlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50UGVyaW9kIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFeGlzdHMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikhvc3BpY2VPcmRlciI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iSG9zcGljZSBjYXJlIGFtYnVsYXRvcnkiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9Ikhvc3BpY2VPcmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib3JkZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJIb3NwaWNlT3JkZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkV4aXN0cyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGljZVBlcmZvcm1lZCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmUiIGNvZGVQcm9wZXJ0eT0iY29kZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iSG9zcGljZVBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik92ZXJsYXBzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBJbnRlcnZhbCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9Ikhvc3BpY2VQZXJmb3JtZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnRQZXJpb2QiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBIb3NwaWNlX0ZISVIzIHZlcnNpb24gJzEuMC4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiU05PTUVEQ1Q6MjAxNy0wOSI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcgdmVyc2lvbiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDknCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMDguMTUnCgpjb2RlICJEaXNjaGFyZ2UgdG8gaGVhbHRoY2FyZSBmYWNpbGl0eSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIjogJzQyODM3MTAwMDEyNDEwMCcgZnJvbSAiU05PTUVEQ1Q6MjAxNy0wOSIgZGlzcGxheSAnRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKScKY29kZSAiRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSI6ICc0MjgzNjEwMDAxMjQxMDcnIGZyb20gIlNOT01FRENUOjIwMTctMDkiIGRpc3BsYXkgJ0Rpc2NoYXJnZSB0byBob21lIGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSknCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiSGFzIEhvc3BpY2UiKE1lYXN1cmVtZW50UGVyaW9kIEludGVydmFsPERhdGVUaW1lPik6CglleGlzdHMgKAoJICAgIFtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRGlzY2hhcmdlSG9zcGljZQoJCQl3aGVyZSBEaXNjaGFyZ2VIb3NwaWNlLnN0YXR1cyA9ICdmaW5hbCcKCQkJICAgIGFuZCAoCgkJCSAgICAgICAgRkhJUkhlbHBlcnMuVG9Db25jZXB0KERpc2NoYXJnZUhvc3BpY2UuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uKS5jb2Rlc1swXSB+ICJEaXNjaGFyZ2UgdG8gaG9tZSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIgoJCQkJCSAgICBvciBGSElSSGVscGVycy5Ub0NvbmNlcHQoRGlzY2hhcmdlSG9zcGljZS5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24pLmNvZGVzWzBdIH4gIkRpc2NoYXJnZSB0byBoZWFsdGhjYXJlIGZhY2lsaXR5IGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSkiCgkJCSAgICApCgkJCQlhbmQgRGlzY2hhcmdlSG9zcGljZS5wZXJpb2QgZW5kcyBkdXJpbmcgZGF5IG9mIE1lYXN1cmVtZW50UGVyaW9kCgkpCiAgICBvciBleGlzdHMgKAogICAgICAgIFtQcm9jZWR1cmVSZXF1ZXN0OiAiSG9zcGljZSBjYXJlIGFtYnVsYXRvcnkiXSBIb3NwaWNlT3JkZXIKICAgICAgICAgICAgd2hlcmUgSG9zcGljZU9yZGVyLmludGVudCA9ICdvcmRlcicKICAgICAgICAgICAgICAgIGFuZCBIb3NwaWNlT3JkZXIuYXV0aG9yZWRPbiBpbiBkYXkgb2YgTWVhc3VyZW1lbnRQZXJpb2QKICAgICkKICAgIG9yIGV4aXN0cyAoCiAgICAgICAgW1Byb2NlZHVyZTogIkhvc3BpY2UgY2FyZSBhbWJ1bGF0b3J5Il0gSG9zcGljZVBlcmZvcm1lZAogICAgICAgICAgICB3aGVyZSBIb3NwaWNlUGVyZm9ybWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICAgICAgICAgICAgICBhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEhvc3BpY2VQZXJmb3JtZWQucGVyZm9ybWVkKSBvdmVybGFwcyBNZWFzdXJlbWVudFBlcmlvZAogICAgKQo=" - } - ] + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1108.15" + } + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBIb3NwaWNlX0ZISVIzIHZlcnNpb24gJzEuMC4wMDAnCgovKgpUaGlzIGV4YW1wbGUgaXMgYSB3b3JrIGluIHByb2dyZXNzIGFuZCBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgYSBmaW5hbCBzcGVjaWZpY2F0aW9uCm9yIHJlY29tbWVuZGF0aW9uIGZvciBndWlkYW5jZS4gVGhpcyBleGFtcGxlIHdpbGwgaGVscCBndWlkZSBhbmQgZGlyZWN0IHRoZSBwcm9jZXNzCm9mIGZpbmRpbmcgY29udmVudGlvbnMgYW5kIHVzYWdlIHBhdHRlcm5zIHRoYXQgbWVldCB0aGUgbmVlZHMgb2YgdGhlIHZhcmlvdXMgc3Rha2Vob2xkZXJzCmluIHRoZSBtZWFzdXJlIGRldmVsb3BtZW50IGNvbW11bml0eS4KKi8KCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgR2xvYmFsCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiU05PTUVEQ1Q6MjAxNy0wOSI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCcgdmVyc2lvbiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgvdmVyc2lvbi8yMDE3MDknCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJIb3NwaWNlIGNhcmUgYW1idWxhdG9yeSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMDguMTUnCgpjb2RlICJEaXNjaGFyZ2UgdG8gaGVhbHRoY2FyZSBmYWNpbGl0eSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIjogJzQyODM3MTAwMDEyNDEwMCcgZnJvbSAiU05PTUVEQ1Q6MjAxNy0wOSIgZGlzcGxheSAnRGlzY2hhcmdlIHRvIGhlYWx0aGNhcmUgZmFjaWxpdHkgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKScKY29kZSAiRGlzY2hhcmdlIHRvIGhvbWUgZm9yIGhvc3BpY2UgY2FyZSAocHJvY2VkdXJlKSI6ICc0MjgzNjEwMDAxMjQxMDcnIGZyb20gIlNOT01FRENUOjIwMTctMDkiIGRpc3BsYXkgJ0Rpc2NoYXJnZSB0byBob21lIGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSknCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSBmdW5jdGlvbiAiSGFzIEhvc3BpY2UiKE1lYXN1cmVtZW50UGVyaW9kIEludGVydmFsPERhdGVUaW1lPik6CglleGlzdHMgKAoJICAgIFtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRGlzY2hhcmdlSG9zcGljZQoJCQl3aGVyZSBEaXNjaGFyZ2VIb3NwaWNlLnN0YXR1cyA9ICdmaW5hbCcKCQkJICAgIGFuZCAoCgkJCSAgICAgICAgRkhJUkhlbHBlcnMuVG9Db25jZXB0KERpc2NoYXJnZUhvc3BpY2UuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uKS5jb2Rlc1swXSB+ICJEaXNjaGFyZ2UgdG8gaG9tZSBmb3IgaG9zcGljZSBjYXJlIChwcm9jZWR1cmUpIgoJCQkJCSAgICBvciBGSElSSGVscGVycy5Ub0NvbmNlcHQoRGlzY2hhcmdlSG9zcGljZS5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24pLmNvZGVzWzBdIH4gIkRpc2NoYXJnZSB0byBoZWFsdGhjYXJlIGZhY2lsaXR5IGZvciBob3NwaWNlIGNhcmUgKHByb2NlZHVyZSkiCgkJCSAgICApCgkJCQlhbmQgRGlzY2hhcmdlSG9zcGljZS5wZXJpb2QgZW5kcyBkdXJpbmcgZGF5IG9mIE1lYXN1cmVtZW50UGVyaW9kCgkpCiAgICBvciBleGlzdHMgKAogICAgICAgIFtQcm9jZWR1cmVSZXF1ZXN0OiAiSG9zcGljZSBjYXJlIGFtYnVsYXRvcnkiXSBIb3NwaWNlT3JkZXIKICAgICAgICAgICAgd2hlcmUgSG9zcGljZU9yZGVyLmludGVudCA9ICdvcmRlcicKICAgICAgICAgICAgICAgIGFuZCBIb3NwaWNlT3JkZXIuYXV0aG9yZWRPbiBpbiBkYXkgb2YgTWVhc3VyZW1lbnRQZXJpb2QKICAgICkKICAgIG9yIGV4aXN0cyAoCiAgICAgICAgW1Byb2NlZHVyZTogIkhvc3BpY2UgY2FyZSBhbWJ1bGF0b3J5Il0gSG9zcGljZVBlcmZvcm1lZAogICAgICAgICAgICB3aGVyZSBIb3NwaWNlUGVyZm9ybWVkLnN0YXR1cyA9ICdjb21wbGV0ZWQnCiAgICAgICAgICAgICAgICBhbmQgR2xvYmFsLiJOb3JtYWxpemUgSW50ZXJ2YWwiKEhvc3BpY2VQZXJmb3JtZWQucGVyZm9ybWVkKSBvdmVybGFwcyBNZWFzdXJlbWVudFBlcmlvZAogICAgKQo=" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-MATGlobalCommonFunctions_FHIR3-2.0.000.json b/fhir3/input/resources/library/library-MATGlobalCommonFunctions_FHIR3-2.0.000.json index 20865bf7..d55ac6cc 100644 --- a/fhir3/input/resources/library/library-MATGlobalCommonFunctions_FHIR3-2.0.000.json +++ b/fhir3/input/resources/library/library-MATGlobalCommonFunctions_FHIR3-2.0.000.json @@ -3,81 +3,122 @@ "id": "library-MATGlobalCommonFunctions-FHIR3-2.0.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-MATGlobalCommonFunctions-FHIR3-2.0.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">2.0.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"7\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Location</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Provenance</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>target</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Medication</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>id</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library MATGlobalCommonFunctions_FHIR3 version '2.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n singleton from (\n [Encounter: "Emergency Department Visit"] EDVisit\n where EDVisit.status = 'finished'\n and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n return\n if X is null then TheEncounter.period\n else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n return\n if EDEncounter is null then TheEncounter.location\n else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t singleton from (\n\t ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n* CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n if onset is FHIR.dateTime then\n\t Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n if choice is FHIR.dateTime then\n\t Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n Encounter.diagnosis D\n return singleton from ([Condition] C where C.id = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t\treturn singleton from ([Condition] C where C.id = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n singleton from (\n [Location] Location where Location.id.value = GetId(reference.reference)\n )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n domainResource.extension E\n\t where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n domainResource.extension E\n\t where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n if request.medication is CodeableConcept then\n\t request.medication as CodeableConcept\n\telse\n\t (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-MATGlobalCommonFunctions-FHIR3-2.0.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">2.0.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"7\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Location</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Provenance</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>target</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Medication</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>id</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library MATGlobalCommonFunctions_FHIR3 version '2.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n singleton from (\n [Encounter: "Emergency Department Visit"] EDVisit\n where EDVisit.status = 'finished'\n and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n return\n if X is null then TheEncounter.period\n else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n return\n if EDEncounter is null then TheEncounter.location\n else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t singleton from (\n\t ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n* CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n if onset is FHIR.dateTime then\n\t Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n if choice is FHIR.dateTime then\n\t Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n Encounter.diagnosis D\n return singleton from ([Condition] C where C.id = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t\treturn singleton from ([Condition] C where C.id = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n singleton from (\n [Location] Location where Location.id.value = GetId(reference.reference)\n )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n domainResource.extension E\n\t where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n domainResource.extension E\n\t where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n if request.medication is CodeableConcept then\n\t request.medication as CodeableConcept\n\telse\n\t (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "2.0.000", "name": "MATGlobalCommonFunctions_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" - } + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/Library/FHIR-ModelInfo|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/FHIRHelpers|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://loinc.org" } - ], - "dataRequirement": [ - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" - } - ] - }, - { - "type": "Condition" - }, - { - "type": "Condition" - }, - { - "type": "Location" - }, - { - "type": "Provenance", - "codeFilter": [ - { - "path": "target" - } - ] - }, - { - "type": "Medication", - "codeFilter": [ - { - "path": "id" - } - ] + }, { + "type": "depends-on", + "resource": { + "reference": "http://snomed.info/sct/731000124108" } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMDUiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIwNSIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSIyLjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJTTk9NRURDVCIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVSIiBpZD0iRVIiIGRpc3BsYXk9IkVtZXJnZW5jeSByb29tIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSUNVIiBpZD0iSUNVIiBkaXNwbGF5PSJJbnRlbnNpdmUgY2FyZSB1bml0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlJvbGVDb2RlIi8+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikxlbmd0aEluRGF5cyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGlmZmVyZW5jZUJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJJbnBhdGllbnQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImZpbmlzaGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxlbmd0aEluRGF5cyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkRhdGVUaW1lIj4NCiAgICAgICAgICAgIDx5ZWFyIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwveWVhcj4NCiAgICAgICAgICAgIDxtb250aCBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9tb250aD4NCiAgICAgICAgICAgIDxkYXkgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L2RheT4NCiAgICAgICAgICAgIDxob3VyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxtaW51dGUgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHNlY29uZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWlsbGlzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPHRpbWV6b25lT2Zmc2V0IHhzaTp0eXBlPSJUaW1lem9uZUZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3RpbWV6b25lT2Zmc2V0Pg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluRGF5c0F0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2RheSIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbk1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFRCBWaXNpdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJzdGF0dXMiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImhvdXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJYIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVEIFZpc2l0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgIDxlbHNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlgiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFREVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFREVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgIDx0aGVuIHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGVtZW50IHBhdGg9ImxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTGVuZ3RoIG9mIFN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQWRtaXNzaW9uIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIERpc2NoYXJnZSBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGl0YWxMb2NhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8c29ydD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxieSBkaXJlY3Rpb249ImFzYyIgeHNpOnR5cGU9IkJ5RXhwcmVzc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiBzY29wZT0iQyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvbmRpdGlvbiIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJQRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJBbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWl2YWxlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyb2xlIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9Db25jZXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpbGxpbmciIHhzaTp0eXBlPSJDb2RlUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlZ2VyIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyYW5rIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29uZGl0aW9uIiBzY29wZT0iUEQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldExvY2F0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkxvY2F0aW9uIj4NCiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkxvY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlZmVyZW5jZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0RXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldFByb3ZlbmFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQcm92ZW5hbmNlIiBjb2RlUHJvcGVydHk9InRhcmdldCIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZXM+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldE1lZGljYXRpb25Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlcXVlc3QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVxdWVzdCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwoKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnCmNvZGUgIkVSIjogJ0VSJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnRW1lcmdlbmN5IHJvb20nCmNvZGUgIklDVSI6ICdJQ1UnIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdJbnRlbnNpdmUgY2FyZSB1bml0Jwpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIiOgoJW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFbmNvdW50ZXJJbnBhdGllbnQKCQl3aGVyZSBFbmNvdW50ZXJJbnBhdGllbnQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCSAgICBhbmQgIkxlbmd0aEluRGF5cyIoRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCkgPD0gMTIwCgkJCWFuZCBFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kIGVuZHMgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgZnVuY3Rpb24gIlRvRGF0ZSIoVmFsdWUgRGF0ZVRpbWUpOgoJRGF0ZVRpbWUoeWVhciBmcm9tIFZhbHVlLCBtb250aCBmcm9tIFZhbHVlLCBkYXkgZnJvbSBWYWx1ZSwgMCwgMCwgMCwgMCwgdGltZXpvbmUgZnJvbSBWYWx1ZSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbkRheXNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6CglkYXlzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5cyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluRGF5c0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6Cgltb250aHMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCXllYXJzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluWWVhcnMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJblllYXJzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiTGVuZ3RoSW5EYXlzIihWYWx1ZSBJbnRlcnZhbDxEYXRlVGltZT4pOgoJZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgVmFsdWUgYW5kIGVuZCBvZiBWYWx1ZQoKZGVmaW5lIGZ1bmN0aW9uICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKICAgIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXSBFRFZpc2l0CiAgICAgICAgICAgIHdoZXJlIEVEVmlzaXQuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgICAgICAgICAgICAgYW5kIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCkKICAgICkKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJKCAiRUQgVmlzaXQiKFRoZUVuY291bnRlcikgKSBYCiAgICByZXR1cm4KICAgICAgICBpZiBYIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgZWxzZSBJbnRlcnZhbFtzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFgucGVyaW9kKSwgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCldCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIEVERW5jb3VudGVyCiAgICByZXR1cm4KICAgICAgICBpZiBFREVuY291bnRlciBpcyBudWxsIHRoZW4gVGhlRW5jb3VudGVyLmxvY2F0aW9uCiAgICAgICAgZWxzZSBmbGF0dGVuIHsgRURFbmNvdW50ZXIubG9jYXRpb24sIFRoZUVuY291bnRlci5sb2NhdGlvbiB9CgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMZW5ndGggb2YgU3RheSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCUxlbmd0aEluRGF5cygiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIpKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWwgRGlzY2hhcmdlIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgllbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEZpcnN0KAoJICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCXNvcnQgYnkgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChwZXJpb2QpCgkpLnBlcmlvZCkKCi8vIFRPRE8gLSBmaXggdGhlc2UgKG11c3QgZmV0Y2ggTG9jYXRpb24gcmVzb3VyY2VzIGFuZCBjb21wYXJlIGlkIHRvIHJlZmVyZW5jZSkKLypkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIERlcGFydHVyZSBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoTGFzdCgKCSAgICAoICJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIihUaGVFbmNvdW50ZXIpICkgSG9zcGl0YWxMb2NhdGlvbgoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkVtZXJnZW5jeSBEZXBhcnRtZW50IEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoKAoJICAgIHNpbmdsZXRvbiBmcm9tICgKCSAgICAgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJFUiIKCQkpCgkpLnBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiRmlyc3QgSW5wYXRpZW50IEludGVuc2l2ZSBDYXJlIFVuaXQiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglGaXJzdCgKCSAgICAoIFRoZUVuY291bnRlci5sb2NhdGlvbiApIEhvc3BpdGFsTG9jYXRpb24KCQkJd2hlcmUgSG9zcGl0YWxMb2NhdGlvbi50eXBlIH4gIklDVSIKCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgVGhlRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKSovCgovKgoqCiogICAgQ1FGTWVhc3VyZXMgQ29tbW9uIExvZ2ljCioKKi8KCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgogIGlmIG9uc2V0IGlzIEZISVIuZGF0ZVRpbWUgdGhlbgoJICBJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLlBlcmlvZCB0aGVuCgkgIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwob25zZXQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIG9uc2V0IGlzIEZISVIuQWdlIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpLAoJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpICsgMSB5ZWFyKQoJZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbiBDb25kaXRpb24pOgoJaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5kYXRlVGltZSldCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5BZ2UgdGhlbgoJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLAoJCQlGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmJvb2xlYW4gdGhlbgoJICBJbnRlcnZhbFtlbmQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgY29uZGl0aW9uLmFzc2VydGVkRGF0ZSkKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJHZXRQcmV2YWxlbmNlUGVyaW9kIihjb25kaXRpb24gQ29uZGl0aW9uKToKICBJbnRlcnZhbFtzdGFydCBvZiAiTm9ybWFsaXplIE9uc2V0Iihjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbikpCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBJbnRlcnZhbCIoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZD4pOgogIGlmIGNob2ljZSBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5kYXRlVGltZSksIEZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZQoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNob2ljZSBhcyBGSElSLlBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcpOgoJTGFzdChTcGxpdCh1cmksICcvJykpCgpkZWZpbmUgZnVuY3Rpb24gIkVuY291bnRlckRpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6CiAgRW5jb3VudGVyLmRpYWdub3NpcyBECiAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKFtDb25kaXRpb25dIEMgd2hlcmUgQy5pZCA9ICJHZXRJZCIoRC5jb25kaXRpb24ucmVmZXJlbmNlKSkKCi8vIFJldHVybnMgdGhlIGNvbmRpdGlvbiB0aGF0IGlzIHNwZWNpZmllZCBhcyB0aGUgcHJpbmNpcGFsIGRpYWdub3NpcyBmb3IgdGhlIGVuY291bnRlcgpkZWZpbmUgZnVuY3Rpb24gIlByaW5jaXBhbERpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6Cgkoc2luZ2xldG9uIGZyb20gKEVuY291bnRlci5kaWFnbm9zaXMgRCB3aGVyZSBELnJvbGUgfiBUb0NvbmNlcHQoIkJpbGxpbmciKSBhbmQgRC5yYW5rID0gMSkpIFBECgkJcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDIHdoZXJlIEMuaWQgPSAiR2V0SWQiKFBELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgbG9jYXRpb24gZm9yIHRoZSBnaXZlbiBsb2NhdGlvbiByZWZlcmVuY2UKZGVmaW5lIGZ1bmN0aW9uIEdldExvY2F0aW9uKHJlZmVyZW5jZSBSZWZlcmVuY2UpOgogIHNpbmdsZXRvbiBmcm9tICgKICAgIFtMb2NhdGlvbl0gTG9jYXRpb24gd2hlcmUgTG9jYXRpb24uaWQudmFsdWUgPSBHZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKQogICkKCi8qCk5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlCkNRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nICsgdXJsKQoJCXJldHVybiBFCgpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UsIHVybCkKCi8qCk5PVEU6IFByb3ZlbmFuY2UgaXMgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIHRoaXMgaXMgcHJvdmlkZWQgb25seSBhcyBhbiBpbGx1c3RyYXRpb24KZm9yIHdoYXQgdXNpbmcgUHJvdmVuYW5jZSBjb3VsZCBsb29rIGxpa2UsIGFuZCBpcyBub3QgYSB0ZXN0ZWQgcGF0dGVybgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldFByb3ZlbmFuY2UiKHJlc291cmNlIFJlc291cmNlKToKICBzaW5nbGV0b24gZnJvbSAoW1Byb3ZlbmFuY2U6IHRhcmdldCBpbiByZXNvdXJjZS5pZF0pCgpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Db2RlIihyZXF1ZXN0IE1lZGljYXRpb25SZXF1ZXN0KToKICBpZiByZXF1ZXN0Lm1lZGljYXRpb24gaXMgQ29kZWFibGVDb25jZXB0IHRoZW4KCSAgcmVxdWVzdC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdAoJZWxzZQoJICAoc2luZ2xldG9uIGZyb20gKFtNZWRpY2F0aW9uOiBpZCBpbiBHZXRJZCgocmVxdWVzdC5tZWRpY2F0aW9uIGFzIFJlZmVyZW5jZSkucmVmZXJlbmNlKV0pKS5jb2RlCg==" + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/v3/RoleCode" } - ] + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/diagnosis-role" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + } ], + "parameter": [ { + "name": "Measurement Period", + "use": "in", + "min": 0, + "max": "1", + "type": "Period" + }, { + "name": "Patient", + "use": "out", + "min": 0, + "max": "1", + "type": "Patient" + }, { + "name": "Inpatient Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnMi4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwoKY29kZSAiQmlydGhkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1QiIGRpc3BsYXkgJ0RlYWQnCmNvZGUgIkVSIjogJ0VSJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnRW1lcmdlbmN5IHJvb20nCmNvZGUgIklDVSI6ICdJQ1UnIGZyb20gIlJvbGVDb2RlIiBkaXNwbGF5ICdJbnRlbnNpdmUgY2FyZSB1bml0Jwpjb2RlICJCaWxsaW5nIjogJ2JpbGxpbmcnIGZyb20gIkRpYWdub3NpcyBSb2xlIiBkaXNwbGF5ICdCaWxsaW5nJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIklucGF0aWVudCBFbmNvdW50ZXIiOgoJW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFbmNvdW50ZXJJbnBhdGllbnQKCQl3aGVyZSBFbmNvdW50ZXJJbnBhdGllbnQuc3RhdHVzID0gJ2ZpbmlzaGVkJwoJCSAgICBhbmQgIkxlbmd0aEluRGF5cyIoRW5jb3VudGVySW5wYXRpZW50LnBlcmlvZCkgPD0gMTIwCgkJCWFuZCBFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kIGVuZHMgZHVyaW5nICJNZWFzdXJlbWVudCBQZXJpb2QiCgpkZWZpbmUgZnVuY3Rpb24gIlRvRGF0ZSIoVmFsdWUgRGF0ZVRpbWUpOgoJRGF0ZVRpbWUoeWVhciBmcm9tIFZhbHVlLCBtb250aCBmcm9tIFZhbHVlLCBkYXkgZnJvbSBWYWx1ZSwgMCwgMCwgMCwgMCwgdGltZXpvbmVvZmZzZXQgZnJvbSBWYWx1ZSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbkRheXNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6CglkYXlzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5cyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluRGF5c0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHNBdCIoQmlydGhEYXRlVGltZSBEYXRlVGltZSwgQXNPZiBEYXRlVGltZSk6Cgltb250aHMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5Nb250aHMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0KEJpcnRoRGF0ZVRpbWUsIFRvZGF5KCkpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFyc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCXllYXJzIGJldHdlZW4gVG9EYXRlKEJpcnRoRGF0ZVRpbWUpYW5kIFRvRGF0ZShBc09mKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluWWVhcnMiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUpOgoJQ2FsZW5kYXJBZ2VJblllYXJzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiTGVuZ3RoSW5EYXlzIihWYWx1ZSBJbnRlcnZhbDxEYXRlVGltZT4pOgoJZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gc3RhcnQgb2YgVmFsdWUgYW5kIGVuZCBvZiBWYWx1ZQoKZGVmaW5lIGZ1bmN0aW9uICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKICAgIHNpbmdsZXRvbiBmcm9tICgKICAgICAgICBbRW5jb3VudGVyOiAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiXSBFRFZpc2l0CiAgICAgICAgICAgIHdoZXJlIEVEVmlzaXQuc3RhdHVzID0gJ2ZpbmlzaGVkJwogICAgICAgICAgICAgICAgYW5kIEVEVmlzaXQucGVyaW9kIGVuZHMgMSBob3VyIG9yIGxlc3Mgb24gb3IgYmVmb3JlIHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCkKICAgICkKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJKCAiRUQgVmlzaXQiKFRoZUVuY291bnRlcikgKSBYCiAgICByZXR1cm4KICAgICAgICBpZiBYIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIucGVyaW9kCiAgICAgICAgZWxzZSBJbnRlcnZhbFtzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFgucGVyaW9kKSwgZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoVGhlRW5jb3VudGVyLnBlcmlvZCldCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIEVERW5jb3VudGVyCiAgICByZXR1cm4KICAgICAgICBpZiBFREVuY291bnRlciBpcyBudWxsIHRoZW4gVGhlRW5jb3VudGVyLmxvY2F0aW9uCiAgICAgICAgZWxzZSBmbGF0dGVuIHsgRURFbmNvdW50ZXIubG9jYXRpb24sIFRoZUVuY291bnRlci5sb2NhdGlvbiB9CgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbiBMZW5ndGggb2YgU3RheSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCUxlbmd0aEluRGF5cygiSG9zcGl0YWxpemF0aW9uIihUaGVFbmNvdW50ZXIpKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikKCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWwgRGlzY2hhcmdlIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgllbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKEZpcnN0KAoJICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCXNvcnQgYnkgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChwZXJpb2QpCgkpLnBlcmlvZCkKCi8vIFRPRE8gLSBmaXggdGhlc2UgKG11c3QgZmV0Y2ggTG9jYXRpb24gcmVzb3VyY2VzIGFuZCBjb21wYXJlIGlkIHRvIHJlZmVyZW5jZSkKLypkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIERlcGFydHVyZSBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJZW5kIG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoTGFzdCgKCSAgICAoICJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIihUaGVFbmNvdW50ZXIpICkgSG9zcGl0YWxMb2NhdGlvbgoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkVtZXJnZW5jeSBEZXBhcnRtZW50IEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoKAoJICAgIHNpbmdsZXRvbiBmcm9tICgKCSAgICAgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJFUiIKCQkpCgkpLnBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiRmlyc3QgSW5wYXRpZW50IEludGVuc2l2ZSBDYXJlIFVuaXQiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglGaXJzdCgKCSAgICAoIFRoZUVuY291bnRlci5sb2NhdGlvbiApIEhvc3BpdGFsTG9jYXRpb24KCQkJd2hlcmUgSG9zcGl0YWxMb2NhdGlvbi50eXBlIH4gIklDVSIKCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgVGhlRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwocGVyaW9kKQoJKSovCgovKgoqCiogICAgQ1FGTWVhc3VyZXMgQ29tbW9uIExvZ2ljCioKKi8KCmRlZmluZSBmdW5jdGlvbiAiTm9ybWFsaXplIE9uc2V0IihvbnNldCBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5BZ2UsIEZISVIuUGVyaW9kLCBGSElSLlJhbmdlLCBGSElSLnN0cmluZz4pOgogIGlmIG9uc2V0IGlzIEZISVIuZGF0ZVRpbWUgdGhlbgoJICBJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKG9uc2V0IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLlBlcmlvZCB0aGVuCgkgIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwob25zZXQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIG9uc2V0IGlzIEZISVIuQWdlIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpLAoJCSAgRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkob25zZXQgYXMgRkhJUi5BZ2UpICsgMSB5ZWFyKQoJZWxzZSBudWxsCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbiBDb25kaXRpb24pOgoJaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5kYXRlVGltZSldCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5QZXJpb2QpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5BZ2UgdGhlbgoJCUludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KGNvbmRpdGlvbi5hYmF0ZW1lbnQgYXMgRkhJUi5BZ2UpLAoJCQlGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgaWYgY29uZGl0aW9uLmFiYXRlbWVudCBpcyBGSElSLmJvb2xlYW4gdGhlbgoJICBJbnRlcnZhbFtlbmQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgY29uZGl0aW9uLmFzc2VydGVkRGF0ZSkKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJHZXRQcmV2YWxlbmNlUGVyaW9kIihjb25kaXRpb24gQ29uZGl0aW9uKToKICBJbnRlcnZhbFtzdGFydCBvZiAiTm9ybWFsaXplIE9uc2V0Iihjb25kaXRpb24ub25zZXQpLCBlbmQgb2YgIk5vcm1hbGl6ZSBBYmF0ZW1lbnQiKGNvbmRpdGlvbikpCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBJbnRlcnZhbCIoY2hvaWNlIENob2ljZTxGSElSLmRhdGVUaW1lLCBGSElSLlBlcmlvZD4pOgogIGlmIGNob2ljZSBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjaG9pY2UgYXMgRkhJUi5kYXRlVGltZSksIEZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZQoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKGNob2ljZSBhcyBGSElSLlBlcmlvZCkKCmRlZmluZSBmdW5jdGlvbiAiR2V0SWQiKHVyaSBTdHJpbmcpOgoJTGFzdChTcGxpdCh1cmksICcvJykpCgpkZWZpbmUgZnVuY3Rpb24gIkVuY291bnRlckRpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6CiAgRW5jb3VudGVyLmRpYWdub3NpcyBECiAgICByZXR1cm4gc2luZ2xldG9uIGZyb20gKFtDb25kaXRpb25dIEMgd2hlcmUgQy5pZCA9ICJHZXRJZCIoRC5jb25kaXRpb24ucmVmZXJlbmNlKSkKCi8vIFJldHVybnMgdGhlIGNvbmRpdGlvbiB0aGF0IGlzIHNwZWNpZmllZCBhcyB0aGUgcHJpbmNpcGFsIGRpYWdub3NpcyBmb3IgdGhlIGVuY291bnRlcgpkZWZpbmUgZnVuY3Rpb24gIlByaW5jaXBhbERpYWdub3NpcyIoRW5jb3VudGVyIEVuY291bnRlcik6Cgkoc2luZ2xldG9uIGZyb20gKEVuY291bnRlci5kaWFnbm9zaXMgRCB3aGVyZSBELnJvbGUgfiBUb0NvbmNlcHQoIkJpbGxpbmciKSBhbmQgRC5yYW5rID0gMSkpIFBECgkJcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDIHdoZXJlIEMuaWQgPSAiR2V0SWQiKFBELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgbG9jYXRpb24gZm9yIHRoZSBnaXZlbiBsb2NhdGlvbiByZWZlcmVuY2UKZGVmaW5lIGZ1bmN0aW9uIEdldExvY2F0aW9uKHJlZmVyZW5jZSBSZWZlcmVuY2UpOgogIHNpbmdsZXRvbiBmcm9tICgKICAgIFtMb2NhdGlvbl0gTG9jYXRpb24gd2hlcmUgTG9jYXRpb24uaWQudmFsdWUgPSBHZXRJZChyZWZlcmVuY2UucmVmZXJlbmNlKQogICkKCi8qCk5PVEU6IEV4dGVuc2lvbnMgYXJlIG5vdCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoLCBidXQgYXJlIHVzZWQgYXMgYSB3YXkgdG8gYWNjZXNzCmNvbnRlbnQgdGhhdCBpcyBkZWZpbmVkIGJ5IGV4dGVuc2lvbnMgYnV0IG5vdCB5ZXQgc3VyZmFjZWQgaW4gdGhlCkNRTCBtb2RlbCBpbmZvLgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nICsgdXJsKQoJCXJldHVybiBFCgpkZWZpbmUgZnVuY3Rpb24gIkdldEV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlIERvbWFpblJlc291cmNlLCB1cmwgU3RyaW5nKToKICBkb21haW5SZXNvdXJjZS5leHRlbnNpb24gRQoJICB3aGVyZSBFLnVybCA9ICgnaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0QmFzZUV4dGVuc2lvbiIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIHNpbmdsZXRvbiBmcm9tICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UsIHVybCkKCi8qCk5PVEU6IFByb3ZlbmFuY2UgaXMgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIHRoaXMgaXMgcHJvdmlkZWQgb25seSBhcyBhbiBpbGx1c3RyYXRpb24KZm9yIHdoYXQgdXNpbmcgUHJvdmVuYW5jZSBjb3VsZCBsb29rIGxpa2UsIGFuZCBpcyBub3QgYSB0ZXN0ZWQgcGF0dGVybgoqLwpkZWZpbmUgZnVuY3Rpb24gIkdldFByb3ZlbmFuY2UiKHJlc291cmNlIFJlc291cmNlKToKICBzaW5nbGV0b24gZnJvbSAoW1Byb3ZlbmFuY2U6IHRhcmdldCBpbiByZXNvdXJjZS5pZF0pCgpkZWZpbmUgZnVuY3Rpb24gIkdldE1lZGljYXRpb25Db2RlIihyZXF1ZXN0IE1lZGljYXRpb25SZXF1ZXN0KToKICBpZiByZXF1ZXN0Lm1lZGljYXRpb24gaXMgQ29kZWFibGVDb25jZXB0IHRoZW4KCSAgcmVxdWVzdC5tZWRpY2F0aW9uIGFzIENvZGVhYmxlQ29uY2VwdAoJZWxzZQoJICAoc2luZ2xldG9uIGZyb20gKFtNZWRpY2F0aW9uOiBpZCBpbiBHZXRJZCgocmVxdWVzdC5tZWRpY2F0aW9uIGFzIFJlZmVyZW5jZSkucmVmZXJlbmNlKV0pKS5jb2RlCg==" + }, { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjMiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbGlicmFyeUlkPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIGxpYnJhcnlWZXJzaW9uPSIyLjAuMDAwIiBzdGFydExpbmU9IjIwNSIgc3RhcnRDaGFyPSIxOSIgZW5kTGluZT0iMjA1IiBlbmRDaGFyPSI1MyIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gbGlicmFyeUlkPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIGxpYnJhcnlWZXJzaW9uPSIyLjAuMDAwIiBzdGFydExpbmU9IjIxMSIgc3RhcnRDaGFyPSIyMSIgZW5kTGluZT0iMjExIiBlbmRDaGFyPSI5MCIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGlkZW50aWZpZXIgaWQ9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9IjEwOjEtMTA6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEiPgogICAgICAgICAgICAgICA8YTpzPnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L3VzaW5ncz4KICAgPGluY2x1ZGVzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIiIGxvY2F0b3I9IjEyOjEtMTI6NTQiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvaW5jbHVkZXM+CiAgIDxwYXJhbWV0ZXJzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxIiBsb2NhdG9yPSIyODoxLTI4OjQ5IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMSI+CiAgICAgICAgICAgICAgIDxhOnM+cGFyYW1ldGVyICZxdW90O01lYXN1cmVtZW50IFBlcmlvZCZxdW90OyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWwmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIwIiBsb2NhdG9yPSIyODozMi0yODo0OSIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGUgbG9jYWxJZD0iMTkiIGxvY2F0b3I9IjI4OjQxLTI4OjQ4IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvZGVTeXN0ZW1zPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMiIGxvY2F0b3I9IjE0OjEtMTQ6MzgiIG5hbWU9IkxPSU5DIiBpZD0iaHR0cDovL2xvaW5jLm9yZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7TE9JTkMmcXVvdDs6ICdodHRwOi8vbG9pbmMub3JnJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0IiBsb2NhdG9yPSIxNToxLTE1OjYwIiBuYW1lPSJTTk9NRURDVCIgaWQ9Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtTTk9NRURDVCZxdW90OzogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1IiBsb2NhdG9yPSIxNjoxLTE2OjU2IiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O1JvbGVDb2RlJnF1b3Q7OiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9Sb2xlQ29kZSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNiIgbG9jYXRvcj0iMTc6MS0xNzo2NSIgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNiI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtEaWFnbm9zaXMgUm9sZSZxdW90OzogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2NvZGVTeXN0ZW1zPgogICA8dmFsdWVTZXRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjciIGxvY2F0b3I9IjE5OjEtMTk6MTAwIiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNyI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7RW5jb3VudGVyIElucGF0aWVudCZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOCIgbG9jYXRvcj0iMjA6MS0yMDoxMTEiIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0VtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5Mic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdmFsdWVTZXRzPgogICA8Y29kZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAiIGxvY2F0b3I9IjIyOjEtMjI6NjEiIG5hbWU9IkJpcnRoZGF0ZSIgaWQ9IjIxMTEyLTgiIGRpc3BsYXk9IkJpcnRoIGRhdGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtCaXJ0aGRhdGUmcXVvdDs6ICcyMTExMi04JyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0xPSU5DJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdCaXJ0aCBkYXRlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSI5IiBsb2NhdG9yPSIyMjozNC0yMjo0MCIgbmFtZT0iTE9JTkMiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTIiIGxvY2F0b3I9IjIzOjEtMjM6NTUiIG5hbWU9IkRlYWQiIGlkPSI0MTkwOTkwMDkiIGRpc3BsYXk9IkRlYWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMiI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtEZWFkJnF1b3Q7OiAnNDE5MDk5MDA5JyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjExIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtTTk9NRURDVCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnRGVhZCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMTEiIGxvY2F0b3I9IjIzOjMxLTIzOjQwIiBuYW1lPSJTTk9NRURDVCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNCIgbG9jYXRvcj0iMjQ6MS0yNDo1NiIgbmFtZT0iRVIiIGlkPSJFUiIgZGlzcGxheT0iRW1lcmdlbmN5IHJvb20iIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtFUiZxdW90OzogJ0VSJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtSb2xlQ29kZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnRW1lcmdlbmN5IHJvb20nPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjEzIiBsb2NhdG9yPSIyNDoyMi0yNDozMSIgbmFtZT0iUm9sZUNvZGUiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTYiIGxvY2F0b3I9IjI1OjEtMjU6NjMiIG5hbWU9IklDVSIgaWQ9IklDVSIgZGlzcGxheT0iSW50ZW5zaXZlIGNhcmUgdW5pdCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE2Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O0lDVSZxdW90OzogJ0lDVScgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Um9sZUNvZGUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ0ludGVuc2l2ZSBjYXJlIHVuaXQnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjE1IiBsb2NhdG9yPSIyNToyNC0yNTozMyIgbmFtZT0iUm9sZUNvZGUiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTgiIGxvY2F0b3I9IjI2OjEtMjY6NjUiIG5hbWU9IkJpbGxpbmciIGlkPSJiaWxsaW5nIiBkaXNwbGF5PSJCaWxsaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTgiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7QmlsbGluZyZxdW90OzogJ2JpbGxpbmcnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTciPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RpYWdub3NpcyBSb2xlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdCaWxsaW5nJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIxNyIgbG9jYXRvcj0iMjY6MzItMjY6NDciIG5hbWU9IkRpYWdub3NpcyBSb2xlIi8+CiAgICAgIDwvZGVmPgogICA8L2NvZGVzPgogICA8Y29udGV4dHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzA6MS0zMDoxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhdG9yPSIzMDoxLTMwOjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMDoxLTMwOjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNyIgbG9jYXRvcj0iNTk6MS02MDo1OSIgbmFtZT0iTGVuZ3RoSW5EYXlzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O0xlbmd0aEluRGF5cyZxdW90OyhWYWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWwmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5WYWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZW5kIG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5WYWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzYiIGxvY2F0b3I9IjYwOjItNjA6NTkiIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGlmZmVyZW5jZUJldHdlZW4iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMyIgbG9jYXRvcj0iNjA6MjktNjA6NDIiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyIiBsb2NhdG9yPSI2MDozOC02MDo0MiIgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzUiIGxvY2F0b3I9IjYwOjQ4LTYwOjU5IiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQiIGxvY2F0b3I9IjYwOjU1LTYwOjU5IiBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMxIiBsb2NhdG9yPSI1OTozOC01OTo1NSIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbG9jYWxJZD0iMzAiIGxvY2F0b3I9IjU5OjQ3LTU5OjU0IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDgiIGxvY2F0b3I9IjMyOjEtMzY6NjUiIG5hbWU9IklucGF0aWVudCBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0OCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0lucGF0aWVudCBFbmNvdW50ZXImcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0VuY291bnRlcjogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RW5jb3VudGVyIElucGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gRW5jb3VudGVySW5wYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXJJbnBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nZmluaXNoZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkgICAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TGVuZ3RoSW5EYXlzJnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVySW5wYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5Ij4gJmx0Oz0gMTIwPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcklucGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDUiPiBlbmRzIGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDciIGxvY2F0b3I9IjMzOjItMzY6NjUiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjMiIGxvY2F0b3I9IjMzOjItMzM6NTQiIGFsaWFzPSJFbmNvdW50ZXJJbnBhdGllbnQiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMiIgbG9jYXRvcj0iMzM6Mi0zMzozNSIgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjMzOjE0LTMzOjM0IiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjQ2IiBsb2NhdG9yPSIzNDozLTM2OjY1IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDEiIGxvY2F0b3I9IjM0OjktMzU6NTgiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNyIgbG9jYXRvcj0iMzQ6OS0zNDo0NiIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjUiIGxvY2F0b3I9IjM0OjktMzQ6MzMiIHBhdGg9InN0YXR1cyIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjYiIGxvY2F0b3I9IjM0OjM3LTM0OjQ2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDAiIGxvY2F0b3I9IjM1OjExLTM1OjU4IiB4c2k6dHlwZT0iTGVzc09yRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzOCIgbG9jYXRvcj0iMzU6MTEtMzU6NTEiIG5hbWU9Ikxlbmd0aEluRGF5cyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOSIgbG9jYXRvcj0iMzU6MjYtMzU6NTAiIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzOSIgbG9jYXRvcj0iMzU6NTYtMzU6NTgiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDUiIGxvY2F0b3I9IjM2OjgtMzY6NjUiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjM2OjM0LTM2OjM3IiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MyIgbG9jYXRvcj0iMzY6OC0zNjozMiIgcGF0aD0icGVyaW9kIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ0IiBsb2NhdG9yPSIzNjo0Ni0zNjo2NSIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2MyIgbG9jYXRvcj0iMzg6MS0zOTo5OSIgbmFtZT0iVG9EYXRlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O1RvRGF0ZSZxdW90OyhWYWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0OSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZVRpbWUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnllYXIgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm1vbnRoIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kYXkgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2Ij4sIDAsIDAsIDAsIDAsIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz50aW1lem9uZW9mZnNldCBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5WYWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjYyIiBsb2NhdG9yPSIzOToyLTM5Ojk5IiB4c2k6dHlwZT0iRGF0ZVRpbWUiPgogICAgICAgICAgICA8eWVhciBsb2NhbElkPSI1MSIgbG9jYXRvcj0iMzk6MTEtMzk6MjUiIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUwIiBsb2NhdG9yPSIzOToyMS0zOToyNSIgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwveWVhcj4KICAgICAgICAgICAgPG1vbnRoIGxvY2FsSWQ9IjUzIiBsb2NhdG9yPSIzOToyOC0zOTo0MyIgcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUyIiBsb2NhdG9yPSIzOTozOS0zOTo0MyIgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvbW9udGg+CiAgICAgICAgICAgIDxkYXkgbG9jYWxJZD0iNTUiIGxvY2F0b3I9IjM5OjQ2LTM5OjU5IiBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU0IiBsb2NhdG9yPSIzOTo1NS0zOTo1OSIgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvZGF5PgogICAgICAgICAgICA8aG91ciBsb2NhbElkPSI1NiIgbG9jYXRvcj0iMzk6NjIiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPG1pbnV0ZSBsb2NhbElkPSI1NyIgbG9jYXRvcj0iMzk6NjUiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPHNlY29uZCBsb2NhbElkPSI1OCIgbG9jYXRvcj0iMzk6NjgiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPG1pbGxpc2Vjb25kIGxvY2FsSWQ9IjU5IiBsb2NhdG9yPSIzOTo3MSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8dGltZXpvbmVPZmZzZXQgbG9jYWxJZD0iNjEiIGxvY2F0b3I9IjM5Ojc0LTM5Ojk4IiB4c2k6dHlwZT0iVGltZXpvbmVPZmZzZXRGcm9tIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjAiIGxvY2F0b3I9IjM5Ojk0LTM5Ojk4IiBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC90aW1lem9uZU9mZnNldD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0OSIgbG9jYXRvcj0iMzg6MzItMzg6MzkiIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3MSIgbG9jYXRvcj0iNDE6MS00Mjo1MSIgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNzEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtDYWxlbmRhckFnZUluRGF5c0F0JnF1b3Q7KEJpcnRoRGF0ZVRpbWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjQiPgogICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiwgQXNPZiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGF5cyBiZXR3ZWVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkJpcnRoRGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5hbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QXNPZjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjcwIiBsb2NhdG9yPSI0MjoyLTQyOjUxIiBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY3IiBsb2NhdG9yPSI0MjoxNS00MjozNSIgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2NiIgbG9jYXRvcj0iNDI6MjItNDI6MzQiIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjkiIGxvY2F0b3I9IjQyOjQwLTQyOjUxIiBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY4IiBsb2NhdG9yPSI0Mjo0Ny00Mjo1MCIgbmFtZT0iQXNPZiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjQiIGxvY2F0b3I9IjQxOjUzLTQxOjYwIiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI2NSIgbG9jYXRvcj0iNDE6NjgtNDE6NzUiIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3NiIgbG9jYXRvcj0iNDQ6MS00NTo0NCIgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijc2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7Q2FsZW5kYXJBZ2VJbkRheXMmcXVvdDsoQmlydGhEYXRlVGltZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q2FsZW5kYXJBZ2VJbkRheXNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QmlydGhEYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub2RheSgpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3NSIgbG9jYXRvcj0iNDU6Mi00NTo0NCIgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzMiIGxvY2F0b3I9IjQ1OjIyLTQ1OjM0IiBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc0IiBsb2NhdG9yPSI0NTozNy00NTo0MyIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjcyIiBsb2NhdG9yPSI0NDo1MS00NDo1OCIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijg0IiBsb2NhdG9yPSI0NzoxLTQ4OjUzIiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7Q2FsZW5kYXJBZ2VJbk1vbnRoc0F0JnF1b3Q7KEJpcnRoRGF0ZVRpbWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzciPgogICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiwgQXNPZiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3OCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjgzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+bW9udGhzIGJldHdlZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QmlydGhEYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9EYXRlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Bc09mPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODMiIGxvY2F0b3I9IjQ4OjItNDg6NTMiIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MCIgbG9jYXRvcj0iNDg6MTctNDg6MzciIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzkiIGxvY2F0b3I9IjQ4OjI0LTQ4OjM2IiBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjgyIiBsb2NhdG9yPSI0ODo0Mi00ODo1MyIgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MSIgbG9jYXRvcj0iNDg6NDktNDg6NTIiIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijc3IiBsb2NhdG9yPSI0Nzo1NS00Nzo2MiIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNzgiIGxvY2F0b3I9IjQ3OjcwLTQ3Ojc3IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iODkiIGxvY2F0b3I9IjUwOjEtNTE6NDYiIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7Q2FsZW5kYXJBZ2VJbk1vbnRocyZxdW90OyhCaXJ0aERhdGVUaW1lIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iODgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5DYWxlbmRhckFnZUluTW9udGhzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkJpcnRoRGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXkoKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iODgiIGxvY2F0b3I9IjUxOjItNTE6NDYiIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODYiIGxvY2F0b3I9IjUxOjI0LTUxOjM2IiBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijg3IiBsb2NhdG9yPSI1MTozOS01MTo0NSIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijg1IiBsb2NhdG9yPSI1MDo1My01MDo2MCIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijk3IiBsb2NhdG9yPSI1MzoxLTU0OjUyIiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iOTciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtDYWxlbmRhckFnZUluWWVhcnNBdCZxdW90OyhCaXJ0aERhdGVUaW1lIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIEFzT2YgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTEiPgogICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnllYXJzIGJldHdlZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QmlydGhEYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9EYXRlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Bc09mPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iOTYiIGxvY2F0b3I9IjU0OjItNTQ6NTIiIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjkzIiBsb2NhdG9yPSI1NDoxNi01NDozNiIgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5MiIgbG9jYXRvcj0iNTQ6MjMtNTQ6MzUiIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTUiIGxvY2F0b3I9IjU0OjQxLTU0OjUyIiBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk0IiBsb2NhdG9yPSI1NDo0OC01NDo1MSIgbmFtZT0iQXNPZiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iOTAiIGxvY2F0b3I9IjUzOjU0LTUzOjYxIiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI5MSIgbG9jYXRvcj0iNTM6NjktNTM6NzYiIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMDIiIGxvY2F0b3I9IjU2OjEtNTc6NDUiIG5hbWU9IkNhbGVuZGFyQWdlSW5ZZWFycyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7Q2FsZW5kYXJBZ2VJblllYXJzJnF1b3Q7KEJpcnRoRGF0ZVRpbWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTgiPgogICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxMDEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q2FsZW5kYXJBZ2VJblllYXJzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkJpcnRoRGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvZGF5KCk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEwMSIgbG9jYXRvcj0iNTc6Mi01Nzo0NSIgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk5IiBsb2NhdG9yPSI1NzoyMy01NzozNSIgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDAiIGxvY2F0b3I9IjU3OjM4LTU3OjQ0IiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iOTgiIGxvY2F0b3I9IjU2OjUyLTU2OjU5IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTI1IiBsb2NhdG9yPSI2MjoxLTY3OjUiIG5hbWU9IkVEIFZpc2l0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMjUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtFRCBWaXNpdCZxdW90OyhUaGVFbmNvdW50ZXIgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTA2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTI0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KAogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0VuY291bnRlcjogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEVEVmlzaXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RURWaXNpdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2ZpbmlzaGVkJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RURWaXNpdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVuZHMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4xIGhvdXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IG9yIGxlc3Mgb24gb3IgYmVmb3JlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0ludGVydmFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5UaGVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMjQiIGxvY2F0b3I9IjYzOjUtNjc6NSIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjMiIGxvY2F0b3I9IjYzOjIwLTY3OjUiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTA4IiBsb2NhdG9yPSI2NDo5LTY0OjU3IiBhbGlhcz0iRURWaXNpdCI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEwNyIgbG9jYXRvcj0iNjQ6OS02NDo0OSIgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjY0OjIxLTY0OjQ4IiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxMjIiIGxvY2F0b3I9IjY1OjEzLTY2OjEyMCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExMiIgbG9jYXRvcj0iNjU6MTktNjU6NDUiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExMCIgbG9jYXRvcj0iNjU6MTktNjU6MzIiIHBhdGg9InN0YXR1cyIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExMSIgbG9jYXRvcj0iNjU6MzYtNjU6NDUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjEiIGxvY2F0b3I9IjY2OjIxLTY2OjEyMCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY2OjQxLTY2OjU0IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NjozNi02NjozOSIgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTE0IiBsb2NhdG9yPSI2NjoyMS02NjozNCIgcGF0aD0icGVyaW9kIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2Njo0MS02Njo1NCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2F0b3I9IjY2OjY5LTY2OjEyMCIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTE5IiBsb2NhdG9yPSI2Njo2OS02NjoxMjAiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExOCIgbG9jYXRvcj0iNjY6NzgtNjY6MTIwIiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExNyIgbG9jYXRvcj0iNjY6MTAxLTY2OjExOSIgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExNiIgbG9jYXRvcj0iNjY6MTAxLTY2OjExMiIgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjAiIGxvY2F0b3I9IjY2OjQxLTY2OjQ2IiB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIxMTkiIGxvY2F0b3I9IjY2OjY5LTY2OjEyMCIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTE4IiBsb2NhdG9yPSI2Njo3OC02NjoxMjAiIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTE3IiBsb2NhdG9yPSI2NjoxMDEtNjY6MTE5IiBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTE2IiBsb2NhdG9yPSI2NjoxMDEtNjY6MTEyIiBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2Njo0MS02Njo1NCIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY2OjQxLTY2OjU0IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTE5IiBsb2NhdG9yPSI2Njo2OS02NjoxMjAiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExOCIgbG9jYXRvcj0iNjY6NzgtNjY6MTIwIiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExNyIgbG9jYXRvcj0iNjY6MTAxLTY2OjExOSIgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExNiIgbG9jYXRvcj0iNjY6MTAxLTY2OjExMiIgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEwNiIgbG9jYXRvcj0iNjI6NDEtNjI6NTQiIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQ4IiBsb2NhdG9yPSI2OToxLTczOjExNiIgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNDgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtIb3NwaXRhbGl6YXRpb24mcXVvdDsoVGhlRW5jb3VudGVyIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE0NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0VEIFZpc2l0JnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VGhlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IFg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5YPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5UaGVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICBlbHNlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9JbnRlcnZhbCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZW5kIG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0ludGVydmFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5UaGVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE0NyIgbG9jYXRvcj0iNzA6Mi03MzoxMTYiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTI5IiBsb2NhdG9yPSI3MDoyLTcwOjMxIiBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyOCIgbG9jYXRvcj0iNzA6Mi03MDoyOSIgbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyNyIgbG9jYXRvcj0iNzA6MTUtNzA6MjYiIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSIxNDYiIGxvY2F0b3I9IjcxOjUtNzM6MTE2Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTQ1IiBsb2NhdG9yPSI3Mjo5LTczOjExNiIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTMxIiBsb2NhdG9yPSI3MjoxMi03MjoyMCIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzMCIgbG9jYXRvcj0iNzI6MTIiIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzMyIgbG9jYXRvcj0iNzI6MjctNzI6NDUiIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMzIiIGxvY2F0b3I9IjcyOjI3LTcyOjM4IiBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIxNDQiIGxvY2F0b3I9IjczOjE0LTczOjExNiIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjEzOCIgbG9jYXRvcj0iNzM6MjMtNzM6NjMiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzNyIgbG9jYXRvcj0iNzM6MzItNzM6NjMiIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTM2IiBsb2NhdG9yPSI3Mzo1NS03Mzo2MiIgcGF0aD0icGVyaW9kIiBzY29wZT0iWCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjE0MyIgbG9jYXRvcj0iNzM6NjYtNzM6MTE1IiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQyIiBsb2NhdG9yPSI3Mzo3My03MzoxMTUiIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQxIiBsb2NhdG9yPSI3Mzo5Ni03MzoxMTQiIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNDAiIGxvY2F0b3I9IjczOjk2LTczOjEwNyIgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEyNiIgbG9jYXRvcj0iNjk6NDgtNjk6NjEiIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTY2IiBsb2NhdG9yPSI3NToxLTc5OjY4IiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNjYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zJnF1b3Q7KFRoZUVuY291bnRlciA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNDkiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNjUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiggPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtFRCBWaXNpdCZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRoZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiApPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBFREVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJldHVybgogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVERW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5UaGVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bG9jYXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIGVsc2UgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5mbGF0dGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+eyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RURFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bG9jYXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRoZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5sb2NhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IH08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTY1IiBsb2NhdG9yPSI3NjoyLTc5OjY4IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE1MiIgbG9jYXRvcj0iNzY6Mi03Njo0MSIgYWxpYXM9IkVERW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTUxIiBsb2NhdG9yPSI3NjoyLTc2OjI5IiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTUwIiBsb2NhdG9yPSI3NjoxNS03NjoyNiIgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmV0dXJuIGxvY2FsSWQ9IjE2NCIgbG9jYXRvcj0iNzc6NS03OTo2OCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE2MyIgbG9jYXRvcj0iNzg6OS03OTo2OCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTU0IiBsb2NhdG9yPSI3ODoxMi03ODozMCIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1MyIgbG9jYXRvcj0iNzg6MTItNzg6MjIiIG5hbWU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMTU2IiBsb2NhdG9yPSI3ODozNy03ODo1NyIgcGF0aD0ibG9jYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTU1IiBsb2NhdG9yPSI3ODozNy03ODo0OCIgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjE2MiIgbG9jYXRvcj0iNzk6MTQtNzk6NjgiIHhzaTp0eXBlPSJGbGF0dGVuIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTYxIiBsb2NhdG9yPSI3OToyMi03OTo2OCIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhbElkPSIxNTgiIGxvY2F0b3I9Ijc5OjI0LTc5OjQzIiBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYWxJZD0iMTYwIiBsb2NhdG9yPSI3OTo0Ni03OTo2NiIgcGF0aD0ibG9jYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTU5IiBsb2NhdG9yPSI3OTo0Ni03OTo1NyIgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNDkiIGxvY2F0b3I9Ijc1OjU4LTc1OjcxIiBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE3MSIgbG9jYXRvcj0iODE6MS04Mjo0NiIgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNzEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtIb3NwaXRhbGl6YXRpb24gTGVuZ3RoIG9mIFN0YXkmcXVvdDsoVGhlRW5jb3VudGVyIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE2NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE3MCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTcwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5MZW5ndGhJbkRheXMoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtIb3NwaXRhbGl6YXRpb24mcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5UaGVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTcwIiBsb2NhdG9yPSI4MjoyLTgyOjQ2IiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2OSIgbG9jYXRvcj0iODI6MTUtODI6NDUiIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTY4IiBsb2NhdG9yPSI4MjozMy04Mjo0NCIgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE2NyIgbG9jYXRvcj0iODE6NjMtODE6NzYiIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTc2IiBsb2NhdG9yPSI4NDoxLTg1OjQxIiBuYW1lPSJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTc2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7SG9zcGl0YWwgQWRtaXNzaW9uIFRpbWUmcXVvdDsoVGhlRW5jb3VudGVyIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE3MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE3NSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0hvc3BpdGFsaXphdGlvbiZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRoZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE3NSIgbG9jYXRvcj0iODU6Mi04NTo0MSIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTc0IiBsb2NhdG9yPSI4NToxMS04NTo0MSIgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzMiIGxvY2F0b3I9Ijg1OjI5LTg1OjQwIiBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTcyIiBsb2NhdG9yPSI4NDo1Ni04NDo2OSIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxODMiIGxvY2F0b3I9Ijg3OjEtODg6NTEiIG5hbWU9Ikhvc3BpdGFsIERpc2NoYXJnZSBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxODMiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSZxdW90OyhUaGVFbmNvdW50ZXIgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTc3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTgyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmVuZCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9JbnRlcnZhbCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VGhlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTgyIiBsb2NhdG9yPSI4ODoyLTg4OjUxIiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTgxIiBsb2NhdG9yPSI4ODo5LTg4OjUxIiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MCIgbG9jYXRvcj0iODg6MzItODg6NTAiIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNzkiIGxvY2F0b3I9Ijg4OjMyLTg4OjQzIiBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNzciIGxvY2F0b3I9Ijg3OjU2LTg3OjY5IiBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwMCIgbG9jYXRvcj0iOTA6MS05NDoxMCIgbmFtZT0iSG9zcGl0YWwgQXJyaXZhbCBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMDAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtIb3NwaXRhbCBBcnJpdmFsIFRpbWUmcXVvdDsoVGhlRW5jb3VudGVyIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE4NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE5OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9JbnRlcnZhbCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Rmlyc3QoCgkgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0hvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5UaGVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSG9zcGl0YWxMb2NhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c29ydCBieSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvSW50ZXJ2YWwoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE5OSIgbG9jYXRvcj0iOTE6Mi05NDoxMCIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk4IiBsb2NhdG9yPSI5MToxMS05NDoxMCIgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTciIGxvY2F0b3I9IjkxOjM0LTk0OjkiIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxOTYiIGxvY2F0b3I9IjkxOjM0LTk0OjIiIHhzaTp0eXBlPSJGaXJzdCI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTk1IiBsb2NhdG9yPSI5Mjo2LTkzOjUwIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE4OCIgbG9jYXRvcj0iOTI6Ni05Mjo2NyIgYWxpYXM9Ikhvc3BpdGFsTG9jYXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxODciIGxvY2F0b3I9IjkyOjYtOTI6NTAiIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4NiIgbG9jYXRvcj0iOTI6MzYtOTI6NDciIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvcnQgbG9jYWxJZD0iMTk0IiBsb2NhdG9yPSI5Mzo0LTkzOjUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ5IGxvY2FsSWQ9IjE5MyIgbG9jYXRvcj0iOTM6MTItOTM6NTAiIGRpcmVjdGlvbj0iYXNjIiB4c2k6dHlwZT0iQnlFeHByZXNzaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTkyIiBsb2NhdG9yPSI5MzoxMi05Mzo1MCIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTkxIiBsb2NhdG9yPSI5MzoyMS05Mzo1MCIgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTAiIGxvY2F0b3I9IjkzOjQ0LTkzOjQ5IiBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJJZGVudGlmaWVyUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J5PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvcnQ+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE4NCIgbG9jYXRvcj0iOTA6NTQtOTA6NjciIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjU5IiBsb2NhdG9yPSIxMjU6MS0xMzM6MTAiIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjU5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7Tm9ybWFsaXplIE9uc2V0JnF1b3Q7KG9uc2V0IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIwNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q2hvaWNlJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5kYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlJhbmdlPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLnN0cmluZzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjU4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbgoJICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsWzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGVUaW1lKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGVUaW1lKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJZWxzZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvSW50ZXJ2YWwoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9uc2V0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCWVsc2UgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b25zZXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuCgkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9EYXRlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvUXVhbnRpdHkoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9uc2V0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQWdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LAoJCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YmlydGhEYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9RdWFudGl0eSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b25zZXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjEgeWVhcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTUiPgoJZWxzZSBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNTgiIGxvY2F0b3I9IjEyNjozLTEzMzoxMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjA5IiBsb2NhdG9yPSIxMjY6Ni0xMjY6MjciIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwNyIgbG9jYXRvcj0iMTI2OjYtMTI2OjEwIiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMDgiIGxvY2F0b3I9IjEyNjoxNS0xMjY6MjciIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjIwIiBsb2NhdG9yPSIxMjc6NC0xMjc6MTA3IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMjE0IiBsb2NhdG9yPSIxMjc6MTMtMTI3OjU4IiBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIxMyIgbG9jYXRvcj0iMTI3OjM2LTEyNzo1NyIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjExIiBsb2NhdG9yPSIxMjc6MzYtMTI3OjQwIiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMTIiIGxvY2F0b3I9IjEyNzo0NS0xMjc6NTciIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMjE5IiBsb2NhdG9yPSIxMjc6NjEtMTI3OjEwNiIgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMTgiIGxvY2F0b3I9IjEyNzo4NC0xMjc6MTA1IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMTYiIGxvY2F0b3I9IjEyNzo4NC0xMjc6ODgiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIxNyIgbG9jYXRvcj0iMTI3OjkzLTEyNzoxMDUiIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMjU3IiBsb2NhdG9yPSIxMjg6Ny0xMzM6MTAiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyMyIgbG9jYXRvcj0iMTI4OjEwLTEyODoyOSIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjIxIiBsb2NhdG9yPSIxMjg6MTAtMTI4OjE0IiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMjIiIGxvY2F0b3I9IjEyODoxOS0xMjg6MjkiIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjIyOCIgbG9jYXRvcj0iMTI5OjQtMTI5OjQ3IiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyNyIgbG9jYXRvcj0iMTI5OjI3LTEyOTo0NiIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjI1IiBsb2NhdG9yPSIxMjk6MjctMTI5OjMxIiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMjYiIGxvY2F0b3I9IjEyOTozNi0xMjk6NDYiIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI1NiIgbG9jYXRvcj0iMTMwOjctMTMzOjEwIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzEiIGxvY2F0b3I9IjEzMDoxMC0xMzA6MjYiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyOSIgbG9jYXRvcj0iMTMwOjEwLTEzMDoxNCIgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjMwIiBsb2NhdG9yPSIxMzA6MTktMTMwOjI2IiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyNTQiIGxvY2F0b3I9IjEzMTo0LTEzMjo5NSIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIyNDEiIGxvY2F0b3I9IjEzMToxMy0xMzE6OTMiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzUiIGxvY2F0b3I9IjEzMToxMy0xMzE6NDkiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzQiIGxvY2F0b3I9IjEzMTozMi0xMzE6NDgiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMzMiIGxvY2F0b3I9IjEzMTozMi0xMzE6MzgiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDAiIGxvY2F0b3I9IjEzMTo1My0xMzE6OTMiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM5IiBsb2NhdG9yPSIxMzE6NzYtMTMxOjkyIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzciIGxvY2F0b3I9IjEzMTo3Ni0xMzE6ODAiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIzOCIgbG9jYXRvcj0iMTMxOjg1LTEzMTo5MiIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIyNTMiIGxvY2F0b3I9IjEzMjo1LTEzMjo5NCIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1MSIgbG9jYXRvcj0iMTMyOjUtMTMyOjg1IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ1IiBsb2NhdG9yPSIxMzI6NS0xMzI6NDEiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDQiIGxvY2F0b3I9IjEzMjoyNC0xMzI6NDAiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNDMiIGxvY2F0b3I9IjEzMjoyNC0xMzI6MzAiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTAiIGxvY2F0b3I9IjEzMjo0NS0xMzI6ODUiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ5IiBsb2NhdG9yPSIxMzI6NjgtMTMyOjg0IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDciIGxvY2F0b3I9IjEzMjo2OC0xMzI6NzIiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI0OCIgbG9jYXRvcj0iMTMyOjc3LTEzMjo4NCIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjUyIiBsb2NhdG9yPSIxMzI6ODktMTMyOjk0IiB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTUiIGxvY2F0b3I9IjEzMzo3LTEzMzoxMCIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNTYiIGxvY2F0b3I9IjEzMDo3LTEzMzoxMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjMxIiBsb2NhdG9yPSIxMzA6MTAtMTMwOjI2IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjkiIGxvY2F0b3I9IjEzMDoxMC0xMzA6MTQiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIzMCIgbG9jYXRvcj0iMTMwOjE5LTEzMDoyNiIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjU0IiBsb2NhdG9yPSIxMzE6NC0xMzI6OTUiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMjQxIiBsb2NhdG9yPSIxMzE6MTMtMTMxOjkzIiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM1IiBsb2NhdG9yPSIxMzE6MTMtMTMxOjQ5IiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM0IiBsb2NhdG9yPSIxMzE6MzItMTMxOjQ4IiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjMzIiBsb2NhdG9yPSIxMzE6MzItMTMxOjM4IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQwIiBsb2NhdG9yPSIxMzE6NTMtMTMxOjkzIiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzOSIgbG9jYXRvcj0iMTMxOjc2LTEzMTo5MiIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM3IiBsb2NhdG9yPSIxMzE6NzYtMTMxOjgwIiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMzgiIGxvY2F0b3I9IjEzMTo4NS0xMzE6OTIiIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMjUzIiBsb2NhdG9yPSIxMzI6NS0xMzI6OTQiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTEiIGxvY2F0b3I9IjEzMjo1LTEzMjo4NSIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NSIgbG9jYXRvcj0iMTMyOjUtMTMyOjQxIiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ0IiBsb2NhdG9yPSIxMzI6MjQtMTMyOjQwIiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjQzIiBsb2NhdG9yPSIxMzI6MjQtMTMyOjMwIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjUwIiBsb2NhdG9yPSIxMzI6NDUtMTMyOjg1IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0OSIgbG9jYXRvcj0iMTMyOjY4LTEzMjo4NCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ3IiBsb2NhdG9yPSIxMzI6NjgtMTMyOjcyIiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNDgiIGxvY2F0b3I9IjEzMjo3Ny0xMzI6ODQiIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1MiIgbG9jYXRvcj0iMTMyOjg5LTEzMjo5NCIgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjU1IiBsb2NhdG9yPSIxMzM6Ny0xMzM6MTAiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L2xvd0Nsb3NlZEV4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNTYiIGxvY2F0b3I9IjEzMDo3LTEzMzoxMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjMxIiBsb2NhdG9yPSIxMzA6MTAtMTMwOjI2IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjkiIGxvY2F0b3I9IjEzMDoxMC0xMzA6MTQiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIzMCIgbG9jYXRvcj0iMTMwOjE5LTEzMDoyNiIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjU0IiBsb2NhdG9yPSIxMzE6NC0xMzI6OTUiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMjQxIiBsb2NhdG9yPSIxMzE6MTMtMTMxOjkzIiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM1IiBsb2NhdG9yPSIxMzE6MTMtMTMxOjQ5IiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM0IiBsb2NhdG9yPSIxMzE6MzItMTMxOjQ4IiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjMzIiBsb2NhdG9yPSIxMzE6MzItMTMxOjM4IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQwIiBsb2NhdG9yPSIxMzE6NTMtMTMxOjkzIiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzOSIgbG9jYXRvcj0iMTMxOjc2LTEzMTo5MiIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjM3IiBsb2NhdG9yPSIxMzE6NzYtMTMxOjgwIiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMzgiIGxvY2F0b3I9IjEzMTo4NS0xMzE6OTIiIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMjUzIiBsb2NhdG9yPSIxMzI6NS0xMzI6OTQiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTEiIGxvY2F0b3I9IjEzMjo1LTEzMjo4NSIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NSIgbG9jYXRvcj0iMTMyOjUtMTMyOjQxIiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ0IiBsb2NhdG9yPSIxMzI6MjQtMTMyOjQwIiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjQzIiBsb2NhdG9yPSIxMzI6MjQtMTMyOjMwIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjUwIiBsb2NhdG9yPSIxMzI6NDUtMTMyOjg1IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0OSIgbG9jYXRvcj0iMTMyOjY4LTEzMjo4NCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ3IiBsb2NhdG9yPSIxMzI6NjgtMTMyOjcyIiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNDgiIGxvY2F0b3I9IjEzMjo3Ny0xMzI6ODQiIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1MiIgbG9jYXRvcj0iMTMyOjg5LTEzMjo5NCIgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjU1IiBsb2NhdG9yPSIxMzM6Ny0xMzM6MTAiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjU2IiBsb2NhdG9yPSIxMzA6Ny0xMzM6MTAiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzMSIgbG9jYXRvcj0iMTMwOjEwLTEzMDoyNiIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjI5IiBsb2NhdG9yPSIxMzA6MTAtMTMwOjE0IiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMzAiIGxvY2F0b3I9IjEzMDoxOS0xMzA6MjYiIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjI1NCIgbG9jYXRvcj0iMTMxOjQtMTMyOjk1IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjI0MSIgbG9jYXRvcj0iMTMxOjEzLTEzMTo5MyIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNSIgbG9jYXRvcj0iMTMxOjEzLTEzMTo0OSIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNCIgbG9jYXRvcj0iMTMxOjMyLTEzMTo0OCIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iMTMxOjMyLTEzMTozOCIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0MCIgbG9jYXRvcj0iMTMxOjUzLTEzMTo5MyIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzkiIGxvY2F0b3I9IjEzMTo3Ni0xMzE6OTIiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNyIgbG9jYXRvcj0iMTMxOjc2LTEzMTo4MCIgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjM4IiBsb2NhdG9yPSIxMzE6ODUtMTMxOjkyIiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjI1MyIgbG9jYXRvcj0iMTMyOjUtMTMyOjk0IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjUxIiBsb2NhdG9yPSIxMzI6NS0xMzI6ODUiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDUiIGxvY2F0b3I9IjEzMjo1LTEzMjo0MSIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NCIgbG9jYXRvcj0iMTMyOjI0LTEzMjo0MCIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI0MyIgbG9jYXRvcj0iMTMyOjI0LTEzMjozMCIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1MCIgbG9jYXRvcj0iMTMyOjQ1LTEzMjo4NSIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDkiIGxvY2F0b3I9IjEzMjo2OC0xMzI6ODQiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NyIgbG9jYXRvcj0iMTMyOjY4LTEzMjo3MiIgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjQ4IiBsb2NhdG9yPSIxMzI6NzctMTMyOjg0IiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTIiIGxvY2F0b3I9IjEzMjo4OS0xMzI6OTQiIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1NSIgbG9jYXRvcj0iMTMzOjctMTMzOjEwIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC9oaWdoQ2xvc2VkRXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjA2IiBsb2NhdG9yPSIxMjU6NDEtMTI1OjEwOSIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjIwMSIgbG9jYXRvcj0iMTI1OjQ4LTEyNTo2MCIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjIwMiIgbG9jYXRvcj0iMTI1OjYzLTEyNTo3MCIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIyMDMiIGxvY2F0b3I9IjEyNTo3My0xMjU6ODMiIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMjA0IiBsb2NhdG9yPSIxMjU6ODYtMTI1Ojk1IiBuYW1lPSJmaGlyOlJhbmdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMjA1IiBsb2NhdG9yPSIxMjU6OTgtMTI1OjEwOCIgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMzMiIGxvY2F0b3I9IjEzNToxLTE0NToxMCIgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzMzIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7Tm9ybWFsaXplIEFiYXRlbWVudCZxdW90Oyhjb25kaXRpb24gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjYwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Db25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMzMiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YWJhdGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbgoJICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsWzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGVUaW1lKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hYmF0ZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZVRpbWUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmFiYXRlbWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5kYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCWVsc2UgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YWJhdGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvSW50ZXJ2YWwoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmFiYXRlbWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5QZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJZWxzZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hYmF0ZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuQWdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9EYXRlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvUXVhbnRpdHkoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmFiYXRlbWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sCgkJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9EYXRlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvUXVhbnRpdHkoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmFiYXRlbWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjEgeWVhcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCWVsc2UgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YWJhdGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmJvb2xlYW48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuCgkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5lbmQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOb3JtYWxpemUgT25zZXQmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmFzc2VydGVkRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjgiPgoJZWxzZSBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzMyIiBsb2NhdG9yPSIxMzY6Mi0xNDU6MTAiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2NCIgbG9jYXRvcj0iMTM2OjUtMTM2OjQwIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjIiIGxvY2F0b3I9IjEzNjo1LTEzNjoyMyIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI2MSIgbG9jYXRvcj0iMTM2OjUtMTM2OjEzIiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNjMiIGxvY2F0b3I9IjEzNjoyOC0xMzY6NDAiIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjc3IiBsb2NhdG9yPSIxMzc6NC0xMzc6MTM1IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMjcwIiBsb2NhdG9yPSIxMzc6MTMtMTM3OjcyIiBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2OSIgbG9jYXRvcj0iMTM3OjM2LTEzNzo3MSIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY3IiBsb2NhdG9yPSIxMzc6MzYtMTM3OjU0IiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjY2IiBsb2NhdG9yPSIxMzc6MzYtMTM3OjQ0IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNjgiIGxvY2F0b3I9IjEzNzo1OS0xMzc6NzEiIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMjc2IiBsb2NhdG9yPSIxMzc6NzUtMTM3OjEzNCIgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzUiIGxvY2F0b3I9IjEzNzo5OC0xMzc6MTMzIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzMiIGxvY2F0b3I9IjEzNzo5OC0xMzc6MTE2IiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjcyIiBsb2NhdG9yPSIxMzc6OTgtMTM3OjEwNiIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjc0IiBsb2NhdG9yPSIxMzc6MTIxLTEzNzoxMzMiIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMzMxIiBsb2NhdG9yPSIxMzg6Ny0xNDU6MTAiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4MSIgbG9jYXRvcj0iMTM4OjEwLTEzODo0MyIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjc5IiBsb2NhdG9yPSIxMzg6MTAtMTM4OjI4IiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjc4IiBsb2NhdG9yPSIxMzg6MTAtMTM4OjE4IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyODAiIGxvY2F0b3I9IjEzODozMy0xMzg6NDMiIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjI4NyIgbG9jYXRvcj0iMTM5OjQtMTM5OjYxIiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4NiIgbG9jYXRvcj0iMTM5OjI3LTEzOTo2MCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjg0IiBsb2NhdG9yPSIxMzk6MjctMTM5OjQ1IiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjgzIiBsb2NhdG9yPSIxMzk6MjctMTM5OjM1IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyODUiIGxvY2F0b3I9IjEzOTo1MC0xMzk6NjAiIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIzMzAiIGxvY2F0b3I9IjE0MDo3LTE0NToxMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjkxIiBsb2NhdG9yPSIxNDA6MTAtMTQwOjQwIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODkiIGxvY2F0b3I9IjE0MDoxMC0xNDA6MjgiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyODgiIGxvY2F0b3I9IjE0MDoxMC0xNDA6MTgiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI5MCIgbG9jYXRvcj0iMTQwOjMzLTE0MDo0MCIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgICAgPHRoZW4geHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImxvdyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMTYiIGxvY2F0b3I9IjE0MTozLTE0MjoxMDgiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMzAyIiBsb2NhdG9yPSIxNDE6MTItMTQxOjEwNiIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NSIgbG9jYXRvcj0iMTQxOjEyLTE0MTo0OCIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NCIgbG9jYXRvcj0iMTQxOjMxLTE0MTo0NyIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI5MyIgbG9jYXRvcj0iMTQxOjMxLTE0MTozNyIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwMSIgbG9jYXRvcj0iMTQxOjUyLTE0MToxMDYiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAwIiBsb2NhdG9yPSIxNDE6NzUtMTQxOjEwNSIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk4IiBsb2NhdG9yPSIxNDE6NzUtMTQxOjkzIiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjk3IiBsb2NhdG9yPSIxNDE6NzUtMTQxOjgzIiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyOTkiIGxvY2F0b3I9IjE0MTo5OC0xNDE6MTA1IiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjMxNSIgbG9jYXRvcj0iMTQyOjQtMTQyOjEwNyIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMyIgbG9jYXRvcj0iMTQyOjQtMTQyOjk4IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA2IiBsb2NhdG9yPSIxNDI6NC0xNDI6NDAiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDUiIGxvY2F0b3I9IjE0MjoyMy0xNDI6MzkiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMDQiIGxvY2F0b3I9IjE0MjoyMy0xNDI6MjkiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTIiIGxvY2F0b3I9IjE0Mjo0NC0xNDI6OTgiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzExIiBsb2NhdG9yPSIxNDI6NjctMTQyOjk3IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDkiIGxvY2F0b3I9IjE0Mjo2Ny0xNDI6ODUiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMDgiIGxvY2F0b3I9IjE0Mjo2Ny0xNDI6NzUiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMxMCIgbG9jYXRvcj0iMTQyOjkwLTE0Mjo5NyIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzE0IiBsb2NhdG9yPSIxNDI6MTAyLTE0MjoxMDciIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgPGxvd0Nsb3NlZEV4cHJlc3Npb24gcGF0aD0ibG93Q2xvc2VkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMxNiIgbG9jYXRvcj0iMTQxOjMtMTQyOjEwOCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIzMDIiIGxvY2F0b3I9IjE0MToxMi0xNDE6MTA2IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk1IiBsb2NhdG9yPSIxNDE6MTItMTQxOjQ4IiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk0IiBsb2NhdG9yPSIxNDE6MzEtMTQxOjQ3IiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjkzIiBsb2NhdG9yPSIxNDE6MzEtMTQxOjM3IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAxIiBsb2NhdG9yPSIxNDE6NTItMTQxOjEwNiIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDAiIGxvY2F0b3I9IjE0MTo3NS0xNDE6MTA1IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTgiIGxvY2F0b3I9IjE0MTo3NS0xNDE6OTMiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyOTciIGxvY2F0b3I9IjE0MTo3NS0xNDE6ODMiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI5OSIgbG9jYXRvcj0iMTQxOjk4LTE0MToxMDUiIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMzE1IiBsb2NhdG9yPSIxNDI6NC0xNDI6MTA3IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzEzIiBsb2NhdG9yPSIxNDI6NC0xNDI6OTgiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDYiIGxvY2F0b3I9IjE0Mjo0LTE0Mjo0MCIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwNSIgbG9jYXRvcj0iMTQyOjIzLTE0MjozOSIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMwNCIgbG9jYXRvcj0iMTQyOjIzLTE0MjoyOSIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMiIgbG9jYXRvcj0iMTQyOjQ0LTE0Mjo5OCIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTEiIGxvY2F0b3I9IjE0Mjo2Ny0xNDI6OTciIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwOSIgbG9jYXRvcj0iMTQyOjY3LTE0Mjo4NSIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMwOCIgbG9jYXRvcj0iMTQyOjY3LTE0Mjo3NSIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzEwIiBsb2NhdG9yPSIxNDI6OTAtMTQyOjk3IiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTQiIGxvY2F0b3I9IjE0MjoxMDItMTQyOjEwNyIgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L2xvd0Nsb3NlZEV4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMTYiIGxvY2F0b3I9IjE0MTozLTE0MjoxMDgiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMzAyIiBsb2NhdG9yPSIxNDE6MTItMTQxOjEwNiIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NSIgbG9jYXRvcj0iMTQxOjEyLTE0MTo0OCIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NCIgbG9jYXRvcj0iMTQxOjMxLTE0MTo0NyIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI5MyIgbG9jYXRvcj0iMTQxOjMxLTE0MTozNyIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwMSIgbG9jYXRvcj0iMTQxOjUyLTE0MToxMDYiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAwIiBsb2NhdG9yPSIxNDE6NzUtMTQxOjEwNSIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk4IiBsb2NhdG9yPSIxNDE6NzUtMTQxOjkzIiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjk3IiBsb2NhdG9yPSIxNDE6NzUtMTQxOjgzIiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyOTkiIGxvY2F0b3I9IjE0MTo5OC0xNDE6MTA1IiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjMxNSIgbG9jYXRvcj0iMTQyOjQtMTQyOjEwNyIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMyIgbG9jYXRvcj0iMTQyOjQtMTQyOjk4IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA2IiBsb2NhdG9yPSIxNDI6NC0xNDI6NDAiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDUiIGxvY2F0b3I9IjE0MjoyMy0xNDI6MzkiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMDQiIGxvY2F0b3I9IjE0MjoyMy0xNDI6MjkiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTIiIGxvY2F0b3I9IjE0Mjo0NC0xNDI6OTgiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzExIiBsb2NhdG9yPSIxNDI6NjctMTQyOjk3IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDkiIGxvY2F0b3I9IjE0Mjo2Ny0xNDI6ODUiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMDgiIGxvY2F0b3I9IjE0Mjo2Ny0xNDI6NzUiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMxMCIgbG9jYXRvcj0iMTQyOjkwLTE0Mjo5NyIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzE0IiBsb2NhdG9yPSIxNDI6MTAyLTE0MjoxMDciIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgIDxoaWdoQ2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJoaWdoQ2xvc2VkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMxNiIgbG9jYXRvcj0iMTQxOjMtMTQyOjEwOCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIzMDIiIGxvY2F0b3I9IjE0MToxMi0xNDE6MTA2IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk1IiBsb2NhdG9yPSIxNDE6MTItMTQxOjQ4IiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk0IiBsb2NhdG9yPSIxNDE6MzEtMTQxOjQ3IiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjkzIiBsb2NhdG9yPSIxNDE6MzEtMTQxOjM3IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAxIiBsb2NhdG9yPSIxNDE6NTItMTQxOjEwNiIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDAiIGxvY2F0b3I9IjE0MTo3NS0xNDE6MTA1IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTgiIGxvY2F0b3I9IjE0MTo3NS0xNDE6OTMiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyOTciIGxvY2F0b3I9IjE0MTo3NS0xNDE6ODMiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI5OSIgbG9jYXRvcj0iMTQxOjk4LTE0MToxMDUiIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMzE1IiBsb2NhdG9yPSIxNDI6NC0xNDI6MTA3IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzEzIiBsb2NhdG9yPSIxNDI6NC0xNDI6OTgiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDYiIGxvY2F0b3I9IjE0Mjo0LTE0Mjo0MCIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwNSIgbG9jYXRvcj0iMTQyOjIzLTE0MjozOSIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMwNCIgbG9jYXRvcj0iMTQyOjIzLTE0MjoyOSIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMiIgbG9jYXRvcj0iMTQyOjQ0LTE0Mjo5OCIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTEiIGxvY2F0b3I9IjE0Mjo2Ny0xNDI6OTciIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwOSIgbG9jYXRvcj0iMTQyOjY3LTE0Mjo4NSIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMwOCIgbG9jYXRvcj0iMTQyOjY3LTE0Mjo3NSIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzEwIiBsb2NhdG9yPSIxNDI6OTAtMTQyOjk3IiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTQiIGxvY2F0b3I9IjE0MjoxMDItMTQyOjEwNyIgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPgogICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjMyOSIgbG9jYXRvcj0iMTQzOjctMTQ1OjEwIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjAiIGxvY2F0b3I9IjE0MzoxMC0xNDM6NDQiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxOCIgbG9jYXRvcj0iMTQzOjEwLTE0MzoyOCIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMxNyIgbG9jYXRvcj0iMTQzOjEwLTE0MzoxOCIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzE5IiBsb2NhdG9yPSIxNDM6MzMtMTQzOjQ0IiBuYW1lPSJmaGlyOmJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMzI3IiBsb2NhdG9yPSIxNDQ6NC0xNDQ6NzgiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMzI0IiBsb2NhdG9yPSIxNDQ6MTMtMTQ0OjUzIiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzIzIiBsb2NhdG9yPSIxNDQ6MjAtMTQ0OjUzIiBuYW1lPSJOb3JtYWxpemUgT25zZXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyMiIgbG9jYXRvcj0iMTQ0OjM4LTE0NDo1MiIgcGF0aD0ib25zZXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzIxIiBsb2NhdG9yPSIxNDQ6MzgtMTQ0OjQ2IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjYiIGxvY2F0b3I9IjE0NDo1Ni0xNDQ6NzciIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMjUiIGxvY2F0b3I9IjE0NDo1Ni0xNDQ6NjQiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzI4IiBsb2NhdG9yPSIxNDU6Ny0xNDU6MTAiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNjAiIGxvY2F0b3I9IjEzNTo0OS0xMzU6NTciIG5hbWU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzQzIiBsb2NhdG9yPSIxNDc6MS0xNDg6OTYiIG5hbWU9IkdldFByZXZhbGVuY2VQZXJpb2QiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM0MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O0dldFByZXZhbGVuY2VQZXJpb2QmcXVvdDsoY29uZGl0aW9uIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMzNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzQyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsWzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOb3JtYWxpemUgT25zZXQmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVuZCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O05vcm1hbGl6ZSBBYmF0ZW1lbnQmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM0MiIgbG9jYXRvcj0iMTQ4OjMtMTQ4Ojk2IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjMzOCIgbG9jYXRvcj0iMTQ4OjEyLTE0ODo1NCIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzM3IiBsb2NhdG9yPSIxNDg6MjEtMTQ4OjU0IiBuYW1lPSJOb3JtYWxpemUgT25zZXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzNiIgbG9jYXRvcj0iMTQ4OjM5LTE0ODo1MyIgcGF0aD0ib25zZXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzM1IiBsb2NhdG9yPSIxNDg6MzktMTQ4OjQ3IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMzQxIiBsb2NhdG9yPSIxNDg6NTctMTQ4Ojk1IiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQwIiBsb2NhdG9yPSIxNDg6NjQtMTQ4Ojk1IiBuYW1lPSJOb3JtYWxpemUgQWJhdGVtZW50IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzkiIGxvY2F0b3I9IjE0ODo4Ni0xNDg6OTQiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29uZGl0aW9uIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMzNCIgbG9jYXRvcj0iMTQ3OjQ5LTE0Nzo1NyIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNjciIGxvY2F0b3I9IjE1MDoxLTE1NDo0OCIgbmFtZT0iTm9ybWFsaXplIEludGVydmFsIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzNjciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtOb3JtYWxpemUgSW50ZXJ2YWwmcXVvdDsoY2hvaWNlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM0NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q2hvaWNlJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5kYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5QZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM2NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2hvaWNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuCgkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZVRpbWUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNob2ljZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGVUaW1lKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jaG9pY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5kYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCWVsc2UKCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvSW50ZXJ2YWwoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNob2ljZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzY2IiBsb2NhdG9yPSIxNTE6My0xNTQ6NDgiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0OSIgbG9jYXRvcj0iMTUxOjYtMTUxOjI4IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDciIGxvY2F0b3I9IjE1MTo2LTE1MToxMSIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM0OCIgbG9jYXRvcj0iMTUxOjE2LTE1MToyOCIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIzNjAiIGxvY2F0b3I9IjE1Mjo0LTE1MjoxMDkiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIzNTQiIGxvY2F0b3I9IjE1MjoxMy0xNTI6NTkiIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzUzIiBsb2NhdG9yPSIxNTI6MzYtMTUyOjU4IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTEiIGxvY2F0b3I9IjE1MjozNi0xNTI6NDEiIG5hbWU9ImNob2ljZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNTIiIGxvY2F0b3I9IjE1Mjo0Ni0xNTI6NTgiIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMzU5IiBsb2NhdG9yPSIxNTI6NjItMTUyOjEwOCIgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTgiIGxvY2F0b3I9IjE1Mjo4NS0xNTI6MTA3IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTYiIGxvY2F0b3I9IjE1Mjo4NS0xNTI6OTAiIG5hbWU9ImNob2ljZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNTciIGxvY2F0b3I9IjE1Mjo5NS0xNTI6MTA3IiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjM2NSIgbG9jYXRvcj0iMTU0OjQtMTU0OjQ4IiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2NCIgbG9jYXRvcj0iMTU0OjI3LTE1NDo0NyIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzYyIiBsb2NhdG9yPSIxNTQ6MjctMTU0OjMyIiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzYzIiBsb2NhdG9yPSIxNTQ6MzctMTU0OjQ3IiBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzQ2IiBsb2NhdG9yPSIxNTA6NDUtMTUwOjc4IiB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMzQ0IiBsb2NhdG9yPSIxNTA6NTItMTUwOjY0IiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMzQ1IiBsb2NhdG9yPSIxNTA6NjctMTUwOjc3IiBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM3MyIgbG9jYXRvcj0iMTU2OjEtMTU3OjIyIiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMzczIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7R2V0SWQmcXVvdDsodXJpIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM2OCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzNzIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+TGFzdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlNwbGl0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nLyc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzcyIiBsb2NhdG9yPSIxNTc6Mi0xNTc6MjIiIHhzaTp0eXBlPSJMYXN0Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNzEiIGxvY2F0b3I9IjE1Nzo3LTE1NzoyMSIgeHNpOnR5cGU9IlNwbGl0Ij4KICAgICAgICAgICAgICAgPHN0cmluZ1RvU3BsaXQgbG9jYWxJZD0iMzY5IiBsb2NhdG9yPSIxNTc6MTMtMTU3OjE1IiBuYW1lPSJ1cmkiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgbG9jYWxJZD0iMzcwIiBsb2NhdG9yPSIxNTc6MTgtMTU3OjIwIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJpIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM2OCIgbG9jYXRvcj0iMTU2OjI5LTE1NjozNCIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzOTAiIGxvY2F0b3I9IjE1OToxLTE2MTo4NSIgbmFtZT0iRW5jb3VudGVyRGlhZ25vc2lzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzOTAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtFbmNvdW50ZXJEaWFnbm9zaXMmcXVvdDsoRW5jb3VudGVyIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM3NCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzg5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXIuZGlhZ25vc2lzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gRDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJldHVybiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0NvbmRpdGlvbl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBDPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5DPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0dldElkJnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZWZlcmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM4OSIgbG9jYXRvcj0iMTYwOjMtMTYxOjg1IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM3NiIgbG9jYXRvcj0iMTYwOjMtMTYwOjIzIiBhbGlhcz0iRCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM3NSIgbG9jYXRvcj0iMTYwOjMtMTYwOjIxIiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmV0dXJuIGxvY2FsSWQ9IjM4OCIgbG9jYXRvcj0iMTYxOjUtMTYxOjg1Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzg3IiBsb2NhdG9yPSIxNjE6MTItMTYxOjg1IiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM4NiIgbG9jYXRvcj0iMTYxOjI3LTE2MTo4NSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNzgiIGxvY2F0b3I9IjE2MToyOC0xNjE6NDAiIGFsaWFzPSJDIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzc3IiBsb2NhdG9yPSIxNjE6MjgtMTYxOjM4IiBkYXRhVHlwZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjM4NSIgbG9jYXRvcj0iMTYxOjQyLTE2MTo4NCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzgwIiBsb2NhdG9yPSIxNjE6NDgtMTYxOjUxIiBwYXRoPSJpZCIgc2NvcGU9IkMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM4NCIgbG9jYXRvcj0iMTYxOjU1LTE2MTo4NCIgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM4MyIgbG9jYXRvcj0iMTYxOjYzLTE2MTo4MyIgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM4MiIgbG9jYXRvcj0iMTYxOjYzLTE2MTo3MyIgcGF0aD0iY29uZGl0aW9uIiBzY29wZT0iRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzc0IiBsb2NhdG9yPSIxNTk6NDgtMTU5OjU2IiBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQyMCIgbG9jYXRvcj0iMTY0OjEtMTY2Ojg0IiBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQyMCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O1ByaW5jaXBhbERpYWdub3NpcyZxdW90OyhFbmNvdW50ZXIgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzkxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQxOSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c2luZ2xldG9uIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDA0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDA0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyLmRpYWdub3NpczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yb2xlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gfiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvQ29uY2VwdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0JpbGxpbmcmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5EPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJhbms8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwMSI+ID0gMTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBQRDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zaW5nbGV0b24gZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltDb25kaXRpb25dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gQzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtHZXRJZCZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QRDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJlZmVyZW5jZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDE5IiBsb2NhdG9yPSIxNjU6Mi0xNjY6ODQiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDA2IiBsb2NhdG9yPSIxNjU6Mi0xNjU6OTUiIGFsaWFzPSJQRCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQwNSIgbG9jYXRvcj0iMTY1OjItMTY1OjkyIiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQwNCIgbG9jYXRvcj0iMTY1OjE4LTE2NTo5MSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzOTMiIGxvY2F0b3I9IjE2NToxOS0xNjU6MzkiIGFsaWFzPSJEIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzkyIiBsb2NhdG9yPSIxNjU6MTktMTY1OjM3IiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iNDAzIiBsb2NhdG9yPSIxNjU6NDEtMTY1OjkwIiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzk4IiBsb2NhdG9yPSIxNjU6NDctMTY1Ojc1IiB4c2k6dHlwZT0iRXF1aXZhbGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzOTUiIGxvY2F0b3I9IjE2NTo0Ny0xNjU6NTIiIHBhdGg9InJvbGUiIHNjb3BlPSJEIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzOTciIGxvY2F0b3I9IjE2NTo1Ni0xNjU6NzUiIHhzaTp0eXBlPSJUb0NvbmNlcHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzOTYiIGxvY2F0b3I9IjE2NTo2Ni0xNjU6NzQiIG5hbWU9IkJpbGxpbmciIHhzaTp0eXBlPSJDb2RlUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MDIiIGxvY2F0b3I9IjE2NTo4MS0xNjU6OTAiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZWdlciIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MDAiIGxvY2F0b3I9IjE2NTo4MS0xNjU6ODYiIHBhdGg9InJhbmsiIHNjb3BlPSJEIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MDEiIGxvY2F0b3I9IjE2NTo5MCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSI0MTgiIGxvY2F0b3I9IjE2NjozLTE2Njo4NCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQxNyIgbG9jYXRvcj0iMTY2OjEwLTE2Njo4NCIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MTYiIGxvY2F0b3I9IjE2NjoyNS0xNjY6ODQiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDA4IiBsb2NhdG9yPSIxNjY6MjYtMTY2OjM4IiBhbGlhcz0iQyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQwNyIgbG9jYXRvcj0iMTY2OjI2LTE2NjozNiIgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI0MTUiIGxvY2F0b3I9IjE2Njo0MC0xNjY6ODMiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQxMCIgbG9jYXRvcj0iMTY2OjQ2LTE2Njo0OSIgcGF0aD0iaWQiIHNjb3BlPSJDIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MTQiIGxvY2F0b3I9IjE2Njo1My0xNjY6ODMiIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MTMiIGxvY2F0b3I9IjE2Njo2MS0xNjY6ODIiIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0MTIiIGxvY2F0b3I9IjE2Njo2MS0xNjY6NzIiIHBhdGg9ImNvbmRpdGlvbiIgc2NvcGU9IlBEIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIzOTEiIGxvY2F0b3I9IjE2NDo0OC0xNjQ6NTYiIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDMzIiBsb2NhdG9yPSIxNjk6MS0xNzI6MyIgbmFtZT0iR2V0TG9jYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQzMyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uIEdldExvY2F0aW9uKHJlZmVyZW5jZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MjEiPgogICAgICAgICAgICAgICAgICA8YTpzPlJlZmVyZW5jZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQzMiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zaW5nbGV0b24gZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPigKICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0xvY2F0aW9uXTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IExvY2F0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkxvY2F0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HZXRJZCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmVmZXJlbmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJlZmVyZW5jZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICApPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQzMiIgbG9jYXRvcj0iMTcwOjMtMTcyOjMiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDMxIiBsb2NhdG9yPSIxNzA6MTgtMTcyOjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDIzIiBsb2NhdG9yPSIxNzE6NS0xNzE6MjMiIGFsaWFzPSJMb2NhdGlvbiI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQyMiIgbG9jYXRvcj0iMTcxOjUtMTcxOjE0IiBkYXRhVHlwZT0iZmhpcjpMb2NhdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iNDMwIiBsb2NhdG9yPSIxNzE6MjUtMTcxOjc2IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MjYiIGxvY2F0b3I9IjE3MTozMS0xNzE6NDciIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQyNSIgbG9jYXRvcj0iMTcxOjMxLTE3MTo0MSIgcGF0aD0iaWQiIHNjb3BlPSJMb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDI5IiBsb2NhdG9yPSIxNzE6NTEtMTcxOjc2IiBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDI4IiBsb2NhdG9yPSIxNzE6NTctMTcxOjc1IiBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDI3IiBsb2NhdG9yPSIxNzE6NTctMTcxOjY1IiBuYW1lPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZWZlcmVuY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDIxIiBsb2NhdG9yPSIxNjk6MzktMTY5OjQ3IiBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ0NyIgbG9jYXRvcj0iMTc5OjEtMTgyOjEwIiBuYW1lPSJHZXRFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0NDciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtHZXRFeHRlbnNpb25zJnF1b3Q7KGRvbWFpblJlc291cmNlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQzNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RG9tYWluUmVzb3VyY2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCB1cmwgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDM1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NDYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRvbWFpblJlc291cmNlLmV4dGVuc2lvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvcWljb3JlL1N0cnVjdHVyZURlZmluaXRpb24vJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnVybDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDQ2IiBsb2NhdG9yPSIxODA6My0xODI6MTAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDM3IiBsb2NhdG9yPSIxODA6My0xODA6MjgiIGFsaWFzPSJFIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDM2IiBsb2NhdG9yPSIxODA6My0xODA6MjYiIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjQ0MyIgbG9jYXRvcj0iMTgxOjQtMTgxOjc3IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MzkiIGxvY2F0b3I9IjE4MToxMC0xODE6MTQiIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ0MiIgbG9jYXRvcj0iMTgxOjE4LTE4MTo3NyIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDQwIiBsb2NhdG9yPSIxODE6MTktMTgxOjcwIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ0MSIgbG9jYXRvcj0iMTgxOjc0LTE4MTo3NiIgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYWxJZD0iNDQ1IiBsb2NhdG9yPSIxODI6My0xODI6MTAiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NDQiIGxvY2F0b3I9IjE4MjoxMCIgbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQzNCIgbG9jYXRvcj0iMTc5OjQ4LTE3OTo2MSIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MzUiIGxvY2F0b3I9IjE3OTo2OC0xNzk6NzMiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDU0IiBsb2NhdG9yPSIxODQ6MS0xODU6NTMiIG5hbWU9IkdldEV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDU0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7R2V0RXh0ZW5zaW9uJnF1b3Q7KGRvbWFpblJlc291cmNlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ0OCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RG9tYWluUmVzb3VyY2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCB1cmwgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDQ5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NTMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1MyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c2luZ2xldG9uIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtHZXRFeHRlbnNpb25zJnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZG9tYWluUmVzb3VyY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnVybDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ1MyIgbG9jYXRvcj0iMTg1OjMtMTg1OjUzIiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ1MiIgbG9jYXRvcj0iMTg1OjE4LTE4NTo1MyIgbmFtZT0iR2V0RXh0ZW5zaW9ucyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDUwIiBsb2NhdG9yPSIxODU6MzQtMTg1OjQ3IiBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDUxIiBsb2NhdG9yPSIxODU6NTAtMTg1OjUyIiBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0NDgiIGxvY2F0b3I9IjE4NDo0Ny0xODQ6NjAiIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDQ5IiBsb2NhdG9yPSIxODQ6NjctMTg0OjcyIiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ2OCIgbG9jYXRvcj0iMTkyOjEtMTk1OjEwIiBuYW1lPSJHZXRCYXNlRXh0ZW5zaW9ucyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDY4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7R2V0QmFzZUV4dGVuc2lvbnMmcXVvdDsoZG9tYWluUmVzb3VyY2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDU1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Eb21haW5SZXNvdXJjZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIHVybCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NTYiPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ2NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDY3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZG9tYWluUmVzb3VyY2UuZXh0ZW5zaW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gRTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51cmw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4naHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51cmw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJldHVybiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ2NyIgbG9jYXRvcj0iMTkzOjMtMTk1OjEwIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ1OCIgbG9jYXRvcj0iMTkzOjMtMTkzOjI4IiBhbGlhcz0iRSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ1NyIgbG9jYXRvcj0iMTkzOjMtMTkzOjI2IiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI0NjQiIGxvY2F0b3I9IjE5NDo0LTE5NDo2NyIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDYwIiBsb2NhdG9yPSIxOTQ6MTAtMTk0OjE0IiBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NjMiIGxvY2F0b3I9IjE5NDoxOC0xOTQ6NjciIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2MSIgbG9jYXRvcj0iMTk0OjE5LTE5NDo2MCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2MiIgbG9jYXRvcj0iMTk0OjY0LTE5NDo2NiIgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYWxJZD0iNDY2IiBsb2NhdG9yPSIxOTU6My0xOTU6MTAiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NjUiIGxvY2F0b3I9IjE5NToxMCIgbmFtZT0iRSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ1NSIgbG9jYXRvcj0iMTkyOjUyLTE5Mjo2NSIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0NTYiIGxvY2F0b3I9IjE5Mjo3Mi0xOTI6NzciIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDc1IiBsb2NhdG9yPSIxOTc6MS0xOTg6NTciIG5hbWU9IkdldEJhc2VFeHRlbnNpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ3NSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O0dldEJhc2VFeHRlbnNpb24mcXVvdDsoZG9tYWluUmVzb3VyY2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDY5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Eb21haW5SZXNvdXJjZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIHVybCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NzAiPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ3NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDc0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zaW5nbGV0b24gZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NzMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0dldEJhc2VFeHRlbnNpb25zJnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZG9tYWluUmVzb3VyY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnVybDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ3NCIgbG9jYXRvcj0iMTk4OjMtMTk4OjU3IiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ3MyIgbG9jYXRvcj0iMTk4OjE4LTE5ODo1NyIgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ3MSIgbG9jYXRvcj0iMTk4OjM4LTE5ODo1MSIgbmFtZT0iZG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ3MiIgbG9jYXRvcj0iMTk4OjU0LTE5ODo1NiIgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDY5IiBsb2NhdG9yPSIxOTc6NTEtMTk3OjY0IiBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ3MCIgbG9jYXRvcj0iMTk3OjcxLTE5Nzo3NiIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0NzkiIGxvY2F0b3I9IjIwNDoxLTIwNTo1NCIgbmFtZT0iR2V0UHJvdmVuYW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDc5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7R2V0UHJvdmVuYW5jZSZxdW90OyhyZXNvdXJjZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NzYiPgogICAgICAgICAgICAgICAgICA8YTpzPlJlc291cmNlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDc4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NzgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W1Byb3ZlbmFuY2U6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnRhcmdldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmVzb3VyY2UuaWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ3OCIgbG9jYXRvcj0iMjA1OjMtMjA1OjU0IiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ3NyIgbG9jYXRvcj0iMjA1OjE4LTIwNTo1NCIgZGF0YVR5cGU9ImZoaXI6UHJvdmVuYW5jZSIgY29kZVByb3BlcnR5PSJ0YXJnZXQiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIyMDU6NDItMjA1OjUyIiBwYXRoPSJpZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVzb3VyY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDc2IiBsb2NhdG9yPSIyMDQ6NDItMjA0OjQ5IiBuYW1lPSJmaGlyOlJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDk5IiBsb2NhdG9yPSIyMDc6MS0yMTE6OTciIG5hbWU9IkdldE1lZGljYXRpb25Db2RlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0OTkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtHZXRNZWRpY2F0aW9uQ29kZSZxdW90OyhyZXF1ZXN0IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ4MCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+TWVkaWNhdGlvblJlcXVlc3Q8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0OTgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmVxdWVzdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tZWRpY2F0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Db2RlYWJsZUNvbmNlcHQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuCgkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJlcXVlc3Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bWVkaWNhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29kZWFibGVDb25jZXB0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCWVsc2UKCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W01lZGljYXRpb246IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkdldElkKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmVxdWVzdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDkwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tZWRpY2F0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5SZWZlcmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmVmZXJlbmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb2RlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0OTgiIGxvY2F0b3I9IjIwODozLTIxMTo5NyIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDg0IiBsb2NhdG9yPSIyMDg6Ni0yMDg6NDIiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ4MiIgbG9jYXRvcj0iMjA4OjYtMjA4OjIzIiBwYXRoPSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ4MSIgbG9jYXRvcj0iMjA4OjYtMjA4OjEyIiBuYW1lPSJyZXF1ZXN0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDgzIiBsb2NhdG9yPSIyMDg6MjgtMjA4OjQyIiBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICA8dGhlbiBsb2NhbElkPSI0ODgiIGxvY2F0b3I9IjIwOTo0LTIwOTo0MCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDg2IiBsb2NhdG9yPSIyMDk6NC0yMDk6MjEiIHBhdGg9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDg1IiBsb2NhdG9yPSIyMDk6NC0yMDk6MTAiIG5hbWU9InJlcXVlc3QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSI0ODciIGxvY2F0b3I9IjIwOToyNi0yMDk6NDAiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iNDk3IiBsb2NhdG9yPSIyMTE6NC0yMTE6OTciIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDk2IiBsb2NhdG9yPSIyMTE6NC0yMTE6OTIiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDk1IiBsb2NhdG9yPSIyMTE6MjAtMjExOjkxIiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uIiBjb2RlUHJvcGVydHk9ImlkIiBjb2RlQ29tcGFyYXRvcj0iaW4iIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyB4c2k6dHlwZT0iVG9MaXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDk0IiBsb2NhdG9yPSIyMTE6NDAtMjExOjg5IiBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDkzIiBsb2NhdG9yPSIyMTE6NDYtMjExOjg4IiBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDkyIiBsb2NhdG9yPSIyMTE6NDYtMjExOjc4IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0OTAiIGxvY2F0b3I9IjIxMTo0Ny0yMTE6NjQiIHBhdGg9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDg5IiBsb2NhdG9yPSIyMTE6NDctMjExOjUzIiBuYW1lPSJyZXF1ZXN0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDkxIiBsb2NhdG9yPSIyMTE6NjktMjExOjc3IiBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9jb2Rlcz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlcXVlc3QiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDgwIiBsb2NhdG9yPSIyMDc6NDUtMjA3OjYxIiBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo=" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-MATGlobalCommonFunctions_FHIR3-4.0.000.json b/fhir3/input/resources/library/library-MATGlobalCommonFunctions_FHIR3-4.0.000.json index 4aa200c2..9acb871d 100644 --- a/fhir3/input/resources/library/library-MATGlobalCommonFunctions_FHIR3-4.0.000.json +++ b/fhir3/input/resources/library/library-MATGlobalCommonFunctions_FHIR3-4.0.000.json @@ -3,99 +3,143 @@ "id": "library-MATGlobalCommonFunctions-FHIR3-4.0.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-MATGlobalCommonFunctions-FHIR3-4.0.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">4.0.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"9\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Location</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Provenance</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>target</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Medication</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>id</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library MATGlobalCommonFunctions_FHIR3 version '4.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n singleton from (\n [Encounter: "Emergency Department Visit"] EDVisit\n where EDVisit.status = 'finished'\n and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n return\n if X is null then TheEncounter.period\n else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n return\n if EDEncounter is null then TheEncounter.location\n else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "HospitalizationWithObservation"(TheEncounter FHIR.Encounter):\n\tTheEncounter Visit\n\t\tlet ObsVisit: Last([Encounter: "Observation Services"] LastObs\n\t\t\t\twhere LastObs.period ends 1 hour or less on or before start of Visit.period\n\t\t\t\tsort by end of period\n\t\t\t),\n\t\t\tVisitStart: Coalesce(start of ObsVisit.period, start of Visit.period),\n\t\t\tEDVisit: Last([Encounter: "Emergency Department Visit"] LastED\n\t\t\t\twhere LastED.period ends 1 hour or less on or before VisitStart\n\t\t\t\tsort by end of period\n\t\t\t)\n\t\treturn Interval[Coalesce(start of EDVisit.period, VisitStart), end of Visit.period]\n\ndefine function "HospitalizationWithObservationLengthofStay"(Encounter FHIR.Encounter):\n\t"LengthInDays"("HospitalizationWithObservation"(Encounter))\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t singleton from (\n\t ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n* CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n if onset is FHIR.dateTime then\n\t Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n if choice is FHIR.dateTime then\n\t Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n Encounter.diagnosis D\n return singleton from ([Condition] Condition where Condition.id.value = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t//"GetId"(uri String): returns the last String of a Split by / List therefor cannot use in\n\t\treturn singleton from ([Condition] Condition where Condition.id.value = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n singleton from (\n [Location] Location where Location.id.value = GetId(reference.reference)\n )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n domainResource.extension E\n\t where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n domainResource.extension E\n\t where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n if request.medication is CodeableConcept then\n\t request.medication as CodeableConcept\n\telse\n\t (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-MATGlobalCommonFunctions-FHIR3-4.0.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">4.0.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"9\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Condition</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Location</span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Provenance</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>target</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Medication</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>id</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library MATGlobalCommonFunctions_FHIR3 version '4.0.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "RoleCode": 'http://hl7.org/fhir/v3/RoleCode'\ncodesystem "Diagnosis Role": 'http://hl7.org/fhir/diagnosis-role'\n\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\n\ncode "Birthdate": '21112-8' from "LOINC" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT" display 'Dead'\ncode "ER": 'ER' from "RoleCode" display 'Emergency room'\ncode "ICU": 'ICU' from "RoleCode" display 'Intensive care unit'\ncode "Billing": 'billing' from "Diagnosis Role" display 'Billing'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Inpatient Encounter":\n\t[Encounter: "Encounter Inpatient"] EncounterInpatient\n\t\twhere EncounterInpatient.status = 'finished'\n\t\t and "LengthInDays"(EncounterInpatient.period) <= 120\n\t\t\tand EncounterInpatient.period ends during "Measurement Period"\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarAgeInDaysAt"(BirthDateTime DateTime, AsOf DateTime):\n\tdays between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInDays"(BirthDateTime DateTime):\n\tCalendarAgeInDaysAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInMonthsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tmonths between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInMonths"(BirthDateTime DateTime):\n\tCalendarAgeInMonthsAt(BirthDateTime, Today())\n\ndefine function "CalendarAgeInYearsAt"(BirthDateTime DateTime, AsOf DateTime):\n\tyears between ToDate(BirthDateTime)and ToDate(AsOf)\n\ndefine function "CalendarAgeInYears"(BirthDateTime DateTime):\n\tCalendarAgeInYearsAt(BirthDateTime, Today())\n\ndefine function "LengthInDays"(Value Interval<DateTime>):\n\tdifference in days between start of Value and end of Value\n\ndefine function "ED Visit"(TheEncounter FHIR.Encounter):\n singleton from (\n [Encounter: "Emergency Department Visit"] EDVisit\n where EDVisit.status = 'finished'\n and EDVisit.period ends 1 hour or less on or before start of FHIRHelpers.ToInterval(TheEncounter.period)\n )\n\ndefine function "Hospitalization"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) X\n return\n if X is null then TheEncounter.period\n else Interval[start of FHIRHelpers.ToInterval(X.period), end of FHIRHelpers.ToInterval(TheEncounter.period)]\n\ndefine function "Hospitalization Locations"(TheEncounter FHIR.Encounter):\n\t( "ED Visit"(TheEncounter) ) EDEncounter\n return\n if EDEncounter is null then TheEncounter.location\n else flatten { EDEncounter.location, TheEncounter.location }\n\ndefine function "Hospitalization Length of Stay"(TheEncounter FHIR.Encounter):\n\tLengthInDays("Hospitalization"(TheEncounter))\n\ndefine function "Hospital Admission Time"(TheEncounter FHIR.Encounter):\n\tstart of "Hospitalization"(TheEncounter)\n\ndefine function "Hospital Discharge Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(TheEncounter.period)\n\ndefine function "Hospital Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval(First(\n\t ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "HospitalizationWithObservation"(TheEncounter FHIR.Encounter):\n\tTheEncounter Visit\n\t\tlet ObsVisit: Last([Encounter: "Observation Services"] LastObs\n\t\t\t\twhere LastObs.period ends 1 hour or less on or before start of Visit.period\n\t\t\t\tsort by end of period\n\t\t\t),\n\t\t\tVisitStart: Coalesce(start of ObsVisit.period, start of Visit.period),\n\t\t\tEDVisit: Last([Encounter: "Emergency Department Visit"] LastED\n\t\t\t\twhere LastED.period ends 1 hour or less on or before VisitStart\n\t\t\t\tsort by end of period\n\t\t\t)\n\t\treturn Interval[Coalesce(start of EDVisit.period, VisitStart), end of Visit.period]\n\ndefine function "HospitalizationWithObservationLengthofStay"(Encounter FHIR.Encounter):\n\t"LengthInDays"("HospitalizationWithObservation"(Encounter))\n\n// TODO - fix these (must fetch Location resources and compare id to reference)\n/*define function "Hospital Departure Time"(TheEncounter FHIR.Encounter):\n\tend of FHIRHelpers.ToInterval(Last(\n\t ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t).period)\n\ndefine function "Emergency Department Arrival Time"(TheEncounter FHIR.Encounter):\n\tstart of FHIRHelpers.ToInterval((\n\t singleton from (\n\t ( "Hospitalization Locations"(TheEncounter) ) HospitalLocation\n\t\t\t\twhere HospitalLocation.type ~ "ER"\n\t\t)\n\t).period)\n\ndefine function "First Inpatient Intensive Care Unit"(TheEncounter FHIR.Encounter):\n\tFirst(\n\t ( TheEncounter.location ) HospitalLocation\n\t\t\twhere HospitalLocation.type ~ "ICU"\n\t\t\t\tand HospitalLocation.period during TheEncounter.period\n\t\t\tsort by start of FHIRHelpers.ToInterval(period)\n\t)*/\n\n/*\n*\n* CQFMeasures Common Logic\n*\n*/\n\ndefine function "Normalize Onset"(onset Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n if onset is FHIR.dateTime then\n\t Interval[FHIRHelpers.ToDateTime(onset as FHIR.dateTime), FHIRHelpers.ToDateTime(onset as FHIR.dateTime)]\n\telse if onset is FHIR.Period then\n\t FHIRHelpers.ToInterval(onset as FHIR.Period)\n\telse if onset is FHIR.Age then\n\t Interval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age),\n\t\t FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(onset as FHIR.Age) + 1 year)\n\telse null\n\ndefine function "Normalize Abatement"(condition Condition):\n\tif condition.abatement is FHIR.dateTime then\n\t Interval[FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime), FHIRHelpers.ToDateTime(condition.abatement as FHIR.dateTime)]\n\telse if condition.abatement is FHIR.Period then\n\t FHIRHelpers.ToInterval(condition.abatement as FHIR.Period)\n\telse if condition.abatement is FHIR.Age then\n\t\tInterval[FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age),\n\t\t\tFHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity(condition.abatement as FHIR.Age) + 1 year)\n\telse if condition.abatement is FHIR.boolean then\n\t Interval[end of "Normalize Onset"(condition.onset), condition.assertedDate)\n\telse null\n\ndefine function "GetPrevalencePeriod"(condition Condition):\n Interval[start of "Normalize Onset"(condition.onset), end of "Normalize Abatement"(condition))\n\ndefine function "Normalize Interval"(choice Choice<FHIR.dateTime, FHIR.Period>):\n if choice is FHIR.dateTime then\n\t Interval[FHIRHelpers.ToDateTime(choice as FHIR.dateTime), FHIRHelpers.ToDateTime(choice as FHIR.dateTime)]\n\telse\n\t FHIRHelpers.ToInterval(choice as FHIR.Period)\n\ndefine function "GetId"(uri String):\n\tLast(Split(uri, '/'))\n\ndefine function "EncounterDiagnosis"(Encounter Encounter):\n Encounter.diagnosis D\n return singleton from ([Condition] Condition where Condition.id.value = "GetId"(D.condition.reference))\n\n// Returns the condition that is specified as the principal diagnosis for the encounter\ndefine function "PrincipalDiagnosis"(Encounter Encounter):\n\t(singleton from (Encounter.diagnosis D where D.role ~ ToConcept("Billing") and D.rank = 1)) PD\n\t//"GetId"(uri String): returns the last String of a Split by / List therefor cannot use in\n\t\treturn singleton from ([Condition] Condition where Condition.id.value = "GetId"(PD.condition.reference))\n\n// Returns the location for the given location reference\ndefine function GetLocation(reference Reference):\n singleton from (\n [Location] Location where Location.id.value = GetId(reference.reference)\n )\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetExtensions"(domainResource DomainResource, url String):\n domainResource.extension E\n\t where E.url = ('http://hl7.org/fhir/us/qicore/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetExtension"(domainResource DomainResource, url String):\n singleton from "GetExtensions"(domainResource, url)\n\n/*\nNOTE: Extensions are not the preferred approach, but are used as a way to access\ncontent that is defined by extensions but not yet surfaced in the\nCQL model info.\n*/\ndefine function "GetBaseExtensions"(domainResource DomainResource, url String):\n domainResource.extension E\n\t where E.url = ('http://hl7.org/fhir/StructureDefinition/' + url)\n\t\treturn E\n\ndefine function "GetBaseExtension"(domainResource DomainResource, url String):\n singleton from "GetBaseExtensions"(domainResource, url)\n\n/*\nNOTE: Provenance is not the preferred approach, this is provided only as an illustration\nfor what using Provenance could look like, and is not a tested pattern\n*/\ndefine function "GetProvenance"(resource Resource):\n singleton from ([Provenance: target in resource.id])\n\ndefine function "GetMedicationCode"(request MedicationRequest):\n if request.medication is CodeableConcept then\n\t request.medication as CodeableConcept\n\telse\n\t (singleton from ([Medication: id in GetId((request.medication as Reference).reference)])).code\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "4.0.000", "name": "MATGlobalCommonFunctions_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" - } + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/Library/FHIR-ModelInfo|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/FHIRHelpers|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://loinc.org" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://snomed.info/sct/731000124108" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/v3/RoleCode" } - ], - "dataRequirement": [ - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" - } - ] - }, - { - "type": "Condition" - }, - { - "type": "Condition" - }, - { - "type": "Location" - }, - { - "type": "Provenance", - "codeFilter": [ - { - "path": "target" - } - ] - }, - { - "type": "Medication", - "codeFilter": [ - { - "path": "id" - } - ] + }, { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/diagnosis-role" } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIyMjMiIHN0YXJ0Q2hhcj0iMTkiIGVuZExpbmU9IjIyMyIgZW5kQ2hhcj0iNTMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+DQogICA8aWRlbnRpZmllciBpZD0iTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIiB2ZXJzaW9uPSI0LjAuMDAwIi8+DQogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPg0KICAgPHVzaW5ncz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC91c2luZ3M+DQogICA8aW5jbHVkZXM+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L2NvZGVTeXN0ZW1zPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iRW5jb3VudGVyIElucGF0aWVudCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iT2JzZXJ2YXRpb24gU2VydmljZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTQzIiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICA8L3ZhbHVlU2V0cz4NCiAgIDxjb2Rlcz4NCiAgICAgIDxkZWYgbmFtZT0iQmlydGhkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkRlYWQiIGlkPSI0MTkwOTkwMDkiIGRpc3BsYXk9IkRlYWQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGNvZGVTeXN0ZW0gbmFtZT0iU05PTUVEQ1QiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFUiIgaWQ9IkVSIiBkaXNwbGF5PSJFbWVyZ2VuY3kgcm9vbSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJSb2xlQ29kZSIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IklDVSIgaWQ9IklDVSIgZGlzcGxheT0iSW50ZW5zaXZlIGNhcmUgdW5pdCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJSb2xlQ29kZSIvPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkJpbGxpbmciIGlkPSJiaWxsaW5nIiBkaXNwbGF5PSJCaWxsaW5nIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkRpYWdub3NpcyBSb2xlIi8+DQogICAgICA8L2RlZj4NCiAgIDwvY29kZXM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJMZW5ndGhJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249IkRheSIgeHNpOnR5cGU9IkRpZmZlcmVuY2VCZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRW5jb3VudGVySW5wYXRpZW50Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOkVuY291bnRlciIgY29kZVByb3BlcnR5PSJ0eXBlIiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVuY291bnRlciBJbnBhdGllbnQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRW5jb3VudGVySW5wYXRpZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxMjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICA8eWVhciBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3llYXI+DQogICAgICAgICAgICA8bW9udGggcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvbW9udGg+DQogICAgICAgICAgICA8ZGF5IHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9kYXk+DQogICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDx0aW1lem9uZU9mZnNldCB4c2k6dHlwZT0iVGltZXpvbmVGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC90aW1lem9uZU9mZnNldD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQ2FsZW5kYXJBZ2VJbkRheXNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iVG9kYXkiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQXNPZiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkNhbGVuZGFyQWdlSW5Nb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRUQgVmlzaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURWaXNpdCI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ic3RhdHVzIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFRFZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJob3VyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iWCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJYIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICA8ZWxzZSBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJYIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRURFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRURFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgcGF0aD0ibG9jYXRpb24iIHNjb3BlPSJFREVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTGVuZ3RoSW5EYXlzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsIEFkbWlzc2lvbiBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSG9zcGl0YWwgQXJyaXZhbCBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IkZpcnN0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikhvc3BpdGFsTG9jYXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9IklkZW50aWZpZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnk+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvcnQ+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ikhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJWaXNpdCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxsZXQgaWRlbnRpZmllcj0iT2JzVmlzaXQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9Ikxhc3QiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTGFzdE9icyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMYXN0T2JzIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN1YnRyYWN0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJJZGVudGlmaWVyUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2J5Pg0KICAgICAgICAgICAgICAgICAgICAgPC9zb3J0Pg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L2xldD4NCiAgICAgICAgICAgIDxsZXQgaWRlbnRpZmllcj0iVmlzaXRTdGFydCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iT2JzVmlzaXQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IlZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvbGV0Pg0KICAgICAgICAgICAgPGxldCBpZGVudGlmaWVyPSJFRFZpc2l0Ij4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Ikxhc3RFRCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iSW4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMYXN0RUQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iU3VidHJhY3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmlzaXRTdGFydCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlZpc2l0U3RhcnQiIHhzaTp0eXBlPSJRdWVyeUxldFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3J0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGJ5IGRpcmVjdGlvbj0iYXNjIiB4c2k6dHlwZT0iQnlFeHByZXNzaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc29ydD4NCiAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9sZXQ+DQogICAgICAgICAgICA8cmV0dXJuPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQ29hbGVzY2UiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iRURWaXNpdCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWaXNpdFN0YXJ0IiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4NCiAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkVuZCI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb25MZW5ndGhvZlN0YXkiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgIDxsb3dDbG9zZWRFeHByZXNzaW9uIHBhdGg9Imxvd0Nsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+DQogICAgICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgIDx0aGVuIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4NCiAgICAgICAgICAgICAgIDx0aGVuIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJZiI+DQogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iVG9EYXRlVGltZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+DQogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPC9sb3dDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaGlnaCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+DQogICAgICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iQWRkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPg0KICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IklmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImFzc2VydGVkRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPg0KICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOdWxsIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4NCiAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgICAgIDwvZWxzZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRQcmV2YWxlbmNlUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9Im9uc2V0IiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIHhzaTp0eXBlPSJFbmQiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9ybWFsaXplIEFiYXRlbWVudCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNvbmRpdGlvbiI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvY29uZGl0aW9uPg0KICAgICAgICAgICAgPHRoZW4gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgICAgPGxvdyBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvaGlnaD4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjaG9pY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRJZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IlNwbGl0Ij4NCiAgICAgICAgICAgICAgIDxzdHJpbmdUb1NwbGl0IG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxzZXBhcmF0b3IgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ii8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVyaSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXJEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRCI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJkaWFnbm9zaXMiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJDb25kaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb25kaXRpb24iIHNjb3BlPSJEIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUEQiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZGlhZ25vc2lzIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icm9sZSIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvQ29uY2VwdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaWxsaW5nIiB4c2k6dHlwZT0iQ29kZVJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZWdlciIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmFuayIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJDb25kaXRpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaWQiIHNjb3BlPSJDb25kaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0SWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb25kaXRpb24iIHNjb3BlPSJQRCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0TG9jYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTG9jYXRpb24iPg0KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6TG9jYXRpb24iIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJpZCIgc2NvcGU9IkxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVmZXJlbmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlZmVyZW5jZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpSZWZlcmVuY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8iIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkUiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkdldEV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJHZXRCYXNlRXh0ZW5zaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0UHJvdmVuYW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlByb3ZlbmFuY2UiIGNvZGVQcm9wZXJ0eT0idGFyZ2V0IiB4c2k6dHlwZT0iUmV0cmlldmUiPg0KICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9jb2Rlcz4NCiAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlc291cmNlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iR2V0TWVkaWNhdGlvbkNvZGUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iSWYiPg0KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXF1ZXN0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9jb25kaXRpb24+DQogICAgICAgICAgICA8dGhlbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDxlbHNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJtZWRpY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJyZXF1ZXN0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOlJlZmVyZW5jZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8L2Vsc2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXF1ZXN0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOk1lZGljYXRpb25SZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MycKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiRGVhZCI6ICc0MTkwOTkwMDknIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdEZWFkJwpjb2RlICJFUiI6ICdFUicgZnJvbSAiUm9sZUNvZGUiIGRpc3BsYXkgJ0VtZXJnZW5jeSByb29tJwpjb2RlICJJQ1UiOiAnSUNVJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnSW50ZW5zaXZlIGNhcmUgdW5pdCcKY29kZSAiQmlsbGluZyI6ICdiaWxsaW5nJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAnQmlsbGluZycKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJJbnBhdGllbnQgRW5jb3VudGVyIjoKCVtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRW5jb3VudGVySW5wYXRpZW50CgkJd2hlcmUgRW5jb3VudGVySW5wYXRpZW50LnN0YXR1cyA9ICdmaW5pc2hlZCcKCQkgIGFuZCAiTGVuZ3RoSW5EYXlzIihFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kKSA8PSAxMjAKCQkJYW5kIEVuY291bnRlcklucGF0aWVudC5wZXJpb2QgZW5kcyBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSBmdW5jdGlvbiAiVG9EYXRlIihWYWx1ZSBEYXRlVGltZSk6CglEYXRlVGltZSh5ZWFyIGZyb20gVmFsdWUsIG1vbnRoIGZyb20gVmFsdWUsIGRheSBmcm9tIFZhbHVlLCAwLCAwLCAwLCAwLCB0aW1lem9uZSBmcm9tIFZhbHVlKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5c0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCWRheXMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5EYXlzIihCaXJ0aERhdGVUaW1lIERhdGVUaW1lKToKCUNhbGVuZGFyQWdlSW5EYXlzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCW1vbnRocyBiZXR3ZWVuIFRvRGF0ZShCaXJ0aERhdGVUaW1lKWFuZCBUb0RhdGUoQXNPZikKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbk1vbnRocyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluTW9udGhzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUsIEFzT2YgRGF0ZVRpbWUpOgoJeWVhcnMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFycyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluWWVhcnNBdChCaXJ0aERhdGVUaW1lLCBUb2RheSgpKQoKZGVmaW5lIGZ1bmN0aW9uICJMZW5ndGhJbkRheXMiKFZhbHVlIEludGVydmFsPERhdGVUaW1lPik6CglkaWZmZXJlbmNlIGluIGRheXMgYmV0d2VlbiBzdGFydCBvZiBWYWx1ZSBhbmQgZW5kIG9mIFZhbHVlCgpkZWZpbmUgZnVuY3Rpb24gIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgogICAgc2luZ2xldG9uIGZyb20gKAogICAgICAgIFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIEVEVmlzaXQKICAgICAgICAgICAgd2hlcmUgRURWaXNpdC5zdGF0dXMgPSAnZmluaXNoZWQnCiAgICAgICAgICAgICAgICBhbmQgRURWaXNpdC5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQogICAgKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIFgKICAgIHJldHVybgogICAgICAgIGlmIFggaXMgbnVsbCB0aGVuIFRoZUVuY291bnRlci5wZXJpb2QKICAgICAgICBlbHNlIEludGVydmFsW3N0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoWC5wZXJpb2QpLCBlbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKV0KCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCSggIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIpICkgRURFbmNvdW50ZXIKICAgIHJldHVybgogICAgICAgIGlmIEVERW5jb3VudGVyIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIubG9jYXRpb24KICAgICAgICBlbHNlIGZsYXR0ZW4geyBFREVuY291bnRlci5sb2NhdGlvbiwgVGhlRW5jb3VudGVyLmxvY2F0aW9uIH0KCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJTGVuZ3RoSW5EYXlzKCJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikpCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIEFkbWlzc2lvbiBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJc3RhcnQgb2YgIkhvc3BpdGFsaXphdGlvbiIoVGhlRW5jb3VudGVyKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCWVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFRoZUVuY291bnRlci5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRmlyc3QoCgkgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglUaGVFbmNvdW50ZXIgVmlzaXQKCQlsZXQgT2JzVmlzaXQ6IExhc3QoW0VuY291bnRlcjogIk9ic2VydmF0aW9uIFNlcnZpY2VzIl0gTGFzdE9icwoJCQkJd2hlcmUgTGFzdE9icy5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgVmlzaXQucGVyaW9kCgkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKCQkJKSwKCQkJVmlzaXRTdGFydDogQ29hbGVzY2Uoc3RhcnQgb2YgT2JzVmlzaXQucGVyaW9kLCBzdGFydCBvZiBWaXNpdC5wZXJpb2QpLAoJCQlFRFZpc2l0OiBMYXN0KFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIExhc3RFRAoJCQkJd2hlcmUgTGFzdEVELnBlcmlvZCBlbmRzIDEgaG91ciBvciBsZXNzIG9uIG9yIGJlZm9yZSBWaXNpdFN0YXJ0CgkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKCQkJKQoJCXJldHVybiBJbnRlcnZhbFtDb2FsZXNjZShzdGFydCBvZiBFRFZpc2l0LnBlcmlvZCwgVmlzaXRTdGFydCksIGVuZCBvZiBWaXNpdC5wZXJpb2RdCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbkxlbmd0aG9mU3RheSIoRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCSJMZW5ndGhJbkRheXMiKCJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKEVuY291bnRlcikpCgovLyBUT0RPIC0gZml4IHRoZXNlIChtdXN0IGZldGNoIExvY2F0aW9uIHJlc291cmNlcyBhbmQgY29tcGFyZSBpZCB0byByZWZlcmVuY2UpCi8qZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBEZXBhcnR1cmUgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCWVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKExhc3QoCgkgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKCgKCSAgICBzaW5nbGV0b24gZnJvbSAoCgkgICAgICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCQl3aGVyZSBIb3NwaXRhbExvY2F0aW9uLnR5cGUgfiAiRVIiCgkJKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkZpcnN0IElucGF0aWVudCBJbnRlbnNpdmUgQ2FyZSBVbml0IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJRmlyc3QoCgkgICAgKCBUaGVFbmNvdW50ZXIubG9jYXRpb24gKSBIb3NwaXRhbExvY2F0aW9uCgkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJJQ1UiCgkJCQlhbmQgSG9zcGl0YWxMb2NhdGlvbi5wZXJpb2QgZHVyaW5nIFRoZUVuY291bnRlci5wZXJpb2QKCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkqLwoKLyoKKgoqICAgIENRRk1lYXN1cmVzIENvbW1vbiBMb2dpYwoqCiovCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBPbnNldCIob25zZXQgQ2hvaWNlPEZISVIuZGF0ZVRpbWUsIEZISVIuQWdlLCBGSElSLlBlcmlvZCwgRkhJUi5SYW5nZSwgRkhJUi5zdHJpbmc+KToKICBpZiBvbnNldCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShvbnNldCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShvbnNldCBhcyBGSElSLmRhdGVUaW1lKV0KCWVsc2UgaWYgb25zZXQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKG9uc2V0IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLkFnZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KG9uc2V0IGFzIEZISVIuQWdlKSwKCQkgIEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KG9uc2V0IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24gQ29uZGl0aW9uKToKCWlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5kYXRlVGltZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuUGVyaW9kIHRoZW4KCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuQWdlIHRoZW4KCQlJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSwKCQkJRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLkFnZSkgKyAxIHllYXIpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5ib29sZWFuIHRoZW4KCSAgSW50ZXJ2YWxbZW5kIG9mICJOb3JtYWxpemUgT25zZXQiKGNvbmRpdGlvbi5vbnNldCksIGNvbmRpdGlvbi5hc3NlcnRlZERhdGUpCgllbHNlIG51bGwKCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJldmFsZW5jZVBlcmlvZCIoY29uZGl0aW9uIENvbmRpdGlvbik6CiAgSW50ZXJ2YWxbc3RhcnQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgZW5kIG9mICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24pKQoKZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgSW50ZXJ2YWwiKGNob2ljZSBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5QZXJpb2Q+KToKICBpZiBjaG9pY2UgaXMgRkhJUi5kYXRlVGltZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNob2ljZSBhcyBGSElSLmRhdGVUaW1lKV0KCWVsc2UKCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjaG9pY2UgYXMgRkhJUi5QZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkdldElkIih1cmkgU3RyaW5nKToKCUxhc3QoU3BsaXQodXJpLCAnLycpKQoKZGVmaW5lIGZ1bmN0aW9uICJFbmNvdW50ZXJEaWFnbm9zaXMiKEVuY291bnRlciBFbmNvdW50ZXIpOgogIEVuY291bnRlci5kaWFnbm9zaXMgRAogICAgcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDb25kaXRpb24gd2hlcmUgQ29uZGl0aW9uLmlkLnZhbHVlID0gIkdldElkIihELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgY29uZGl0aW9uIHRoYXQgaXMgc3BlY2lmaWVkIGFzIHRoZSBwcmluY2lwYWwgZGlhZ25vc2lzIGZvciB0aGUgZW5jb3VudGVyCmRlZmluZSBmdW5jdGlvbiAiUHJpbmNpcGFsRGlhZ25vc2lzIihFbmNvdW50ZXIgRW5jb3VudGVyKToKCShzaW5nbGV0b24gZnJvbSAoRW5jb3VudGVyLmRpYWdub3NpcyBEIHdoZXJlIEQucm9sZSB+IFRvQ29uY2VwdCgiQmlsbGluZyIpIGFuZCBELnJhbmsgPSAxKSkgUEQKCS8vIkdldElkIih1cmkgU3RyaW5nKTogcmV0dXJucyB0aGUgbGFzdCBTdHJpbmcgb2YgYSBTcGxpdCBieSAvIExpc3QgdGhlcmVmb3IgY2Fubm90IHVzZSBpbgoJCXJldHVybiBzaW5nbGV0b24gZnJvbSAoW0NvbmRpdGlvbl0gQ29uZGl0aW9uIHdoZXJlIENvbmRpdGlvbi5pZC52YWx1ZSA9ICJHZXRJZCIoUEQuY29uZGl0aW9uLnJlZmVyZW5jZSkpCgovLyBSZXR1cm5zIHRoZSBsb2NhdGlvbiBmb3IgdGhlIGdpdmVuIGxvY2F0aW9uIHJlZmVyZW5jZQpkZWZpbmUgZnVuY3Rpb24gR2V0TG9jYXRpb24ocmVmZXJlbmNlIFJlZmVyZW5jZSk6CiAgc2luZ2xldG9uIGZyb20gKAogICAgW0xvY2F0aW9uXSBMb2NhdGlvbiB3aGVyZSBMb2NhdGlvbi5pZC52YWx1ZSA9IEdldElkKHJlZmVyZW5jZS5yZWZlcmVuY2UpCiAgKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9uIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6CiAgc2luZ2xldG9uIGZyb20gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlLCB1cmwpCgovKgpOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcwpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZQpDUUwgbW9kZWwgaW5mby4KKi8KZGVmaW5lIGZ1bmN0aW9uICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJyArIHVybCkKCQlyZXR1cm4gRQoKZGVmaW5lIGZ1bmN0aW9uICJHZXRCYXNlRXh0ZW5zaW9uIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6CiAgc2luZ2xldG9uIGZyb20gIkdldEJhc2VFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogUHJvdmVuYW5jZSBpcyBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgdGhpcyBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGlsbHVzdHJhdGlvbgpmb3Igd2hhdCB1c2luZyBQcm92ZW5hbmNlIGNvdWxkIGxvb2sgbGlrZSwgYW5kIGlzIG5vdCBhIHRlc3RlZCBwYXR0ZXJuCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJvdmVuYW5jZSIocmVzb3VyY2UgUmVzb3VyY2UpOgogIHNpbmdsZXRvbiBmcm9tIChbUHJvdmVuYW5jZTogdGFyZ2V0IGluIHJlc291cmNlLmlkXSkKCmRlZmluZSBmdW5jdGlvbiAiR2V0TWVkaWNhdGlvbkNvZGUiKHJlcXVlc3QgTWVkaWNhdGlvblJlcXVlc3QpOgogIGlmIHJlcXVlc3QubWVkaWNhdGlvbiBpcyBDb2RlYWJsZUNvbmNlcHQgdGhlbgoJICByZXF1ZXN0Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0CgllbHNlCgkgIChzaW5nbGV0b24gZnJvbSAoW01lZGljYXRpb246IGlkIGluIEdldElkKChyZXF1ZXN0Lm1lZGljYXRpb24gYXMgUmVmZXJlbmNlKS5yZWZlcmVuY2UpXSkpLmNvZGUK" + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" } - ] + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143" + } + } ], + "parameter": [ { + "name": "Measurement Period", + "use": "in", + "min": 0, + "max": "1", + "type": "Period" + }, { + "name": "Patient", + "use": "out", + "min": 0, + "max": "1", + "type": "Patient" + }, { + "name": "Inpatient Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + } ], + "dataRequirement": [ { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143" + } + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + } ] + }, { + "type": "Condition" + }, { + "type": "Condition" + }, { + "type": "Location" + }, { + "type": "Provenance", + "codeFilter": [ { + "path": "target" + } ] + }, { + "type": "Medication", + "codeFilter": [ { + "path": "id" + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwoKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiU05PTUVEQ1QiOiAnaHR0cDovL3Nub21lZC5pbmZvL3NjdC83MzEwMDAxMjQxMDgnCmNvZGVzeXN0ZW0gIlJvbGVDb2RlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUnCmNvZGVzeXN0ZW0gIkRpYWdub3NpcyBSb2xlIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnCgp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJwp2YWx1ZXNldCAiT2JzZXJ2YXRpb24gU2VydmljZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MycKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQmlydGggZGF0ZScKY29kZSAiRGVhZCI6ICc0MTkwOTkwMDknIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdEZWFkJwpjb2RlICJFUiI6ICdFUicgZnJvbSAiUm9sZUNvZGUiIGRpc3BsYXkgJ0VtZXJnZW5jeSByb29tJwpjb2RlICJJQ1UiOiAnSUNVJyBmcm9tICJSb2xlQ29kZSIgZGlzcGxheSAnSW50ZW5zaXZlIGNhcmUgdW5pdCcKY29kZSAiQmlsbGluZyI6ICdiaWxsaW5nJyBmcm9tICJEaWFnbm9zaXMgUm9sZSIgZGlzcGxheSAnQmlsbGluZycKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lICJJbnBhdGllbnQgRW5jb3VudGVyIjoKCVtFbmNvdW50ZXI6ICJFbmNvdW50ZXIgSW5wYXRpZW50Il0gRW5jb3VudGVySW5wYXRpZW50CgkJd2hlcmUgRW5jb3VudGVySW5wYXRpZW50LnN0YXR1cyA9ICdmaW5pc2hlZCcKCQkgIGFuZCAiTGVuZ3RoSW5EYXlzIihFbmNvdW50ZXJJbnBhdGllbnQucGVyaW9kKSA8PSAxMjAKCQkJYW5kIEVuY291bnRlcklucGF0aWVudC5wZXJpb2QgZW5kcyBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKCmRlZmluZSBmdW5jdGlvbiAiVG9EYXRlIihWYWx1ZSBEYXRlVGltZSk6CglEYXRlVGltZSh5ZWFyIGZyb20gVmFsdWUsIG1vbnRoIGZyb20gVmFsdWUsIGRheSBmcm9tIFZhbHVlLCAwLCAwLCAwLCAwLCB0aW1lem9uZW9mZnNldCBmcm9tIFZhbHVlKQoKZGVmaW5lIGZ1bmN0aW9uICJDYWxlbmRhckFnZUluRGF5c0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCWRheXMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5EYXlzIihCaXJ0aERhdGVUaW1lIERhdGVUaW1lKToKCUNhbGVuZGFyQWdlSW5EYXlzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0IihCaXJ0aERhdGVUaW1lIERhdGVUaW1lLCBBc09mIERhdGVUaW1lKToKCW1vbnRocyBiZXR3ZWVuIFRvRGF0ZShCaXJ0aERhdGVUaW1lKWFuZCBUb0RhdGUoQXNPZikKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJbk1vbnRocyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluTW9udGhzQXQoQmlydGhEYXRlVGltZSwgVG9kYXkoKSkKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEJpcnRoRGF0ZVRpbWUgRGF0ZVRpbWUsIEFzT2YgRGF0ZVRpbWUpOgoJeWVhcnMgYmV0d2VlbiBUb0RhdGUoQmlydGhEYXRlVGltZSlhbmQgVG9EYXRlKEFzT2YpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyQWdlSW5ZZWFycyIoQmlydGhEYXRlVGltZSBEYXRlVGltZSk6CglDYWxlbmRhckFnZUluWWVhcnNBdChCaXJ0aERhdGVUaW1lLCBUb2RheSgpKQoKZGVmaW5lIGZ1bmN0aW9uICJMZW5ndGhJbkRheXMiKFZhbHVlIEludGVydmFsPERhdGVUaW1lPik6CglkaWZmZXJlbmNlIGluIGRheXMgYmV0d2VlbiBzdGFydCBvZiBWYWx1ZSBhbmQgZW5kIG9mIFZhbHVlCgpkZWZpbmUgZnVuY3Rpb24gIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgogICAgc2luZ2xldG9uIGZyb20gKAogICAgICAgIFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIEVEVmlzaXQKICAgICAgICAgICAgd2hlcmUgRURWaXNpdC5zdGF0dXMgPSAnZmluaXNoZWQnCiAgICAgICAgICAgICAgICBhbmQgRURWaXNpdC5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKQogICAgKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CgkoICJFRCBWaXNpdCIoVGhlRW5jb3VudGVyKSApIFgKICAgIHJldHVybgogICAgICAgIGlmIFggaXMgbnVsbCB0aGVuIFRoZUVuY291bnRlci5wZXJpb2QKICAgICAgICBlbHNlIEludGVydmFsW3N0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoWC5wZXJpb2QpLCBlbmQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChUaGVFbmNvdW50ZXIucGVyaW9kKV0KCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCSggIkVEIFZpc2l0IihUaGVFbmNvdW50ZXIpICkgRURFbmNvdW50ZXIKICAgIHJldHVybgogICAgICAgIGlmIEVERW5jb3VudGVyIGlzIG51bGwgdGhlbiBUaGVFbmNvdW50ZXIubG9jYXRpb24KICAgICAgICBlbHNlIGZsYXR0ZW4geyBFREVuY291bnRlci5sb2NhdGlvbiwgVGhlRW5jb3VudGVyLmxvY2F0aW9uIH0KCmRlZmluZSBmdW5jdGlvbiAiSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJTGVuZ3RoSW5EYXlzKCJIb3NwaXRhbGl6YXRpb24iKFRoZUVuY291bnRlcikpCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIEFkbWlzc2lvbiBUaW1lIihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJc3RhcnQgb2YgIkhvc3BpdGFsaXphdGlvbiIoVGhlRW5jb3VudGVyKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCWVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKFRoZUVuY291bnRlci5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsIEFycml2YWwgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCXN0YXJ0IG9mIEZISVJIZWxwZXJzLlRvSW50ZXJ2YWwoRmlyc3QoCgkgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglUaGVFbmNvdW50ZXIgVmlzaXQKCQlsZXQgT2JzVmlzaXQ6IExhc3QoW0VuY291bnRlcjogIk9ic2VydmF0aW9uIFNlcnZpY2VzIl0gTGFzdE9icwoJCQkJd2hlcmUgTGFzdE9icy5wZXJpb2QgZW5kcyAxIGhvdXIgb3IgbGVzcyBvbiBvciBiZWZvcmUgc3RhcnQgb2YgVmlzaXQucGVyaW9kCgkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKCQkJKSwKCQkJVmlzaXRTdGFydDogQ29hbGVzY2Uoc3RhcnQgb2YgT2JzVmlzaXQucGVyaW9kLCBzdGFydCBvZiBWaXNpdC5wZXJpb2QpLAoJCQlFRFZpc2l0OiBMYXN0KFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCJdIExhc3RFRAoJCQkJd2hlcmUgTGFzdEVELnBlcmlvZCBlbmRzIDEgaG91ciBvciBsZXNzIG9uIG9yIGJlZm9yZSBWaXNpdFN0YXJ0CgkJCQlzb3J0IGJ5IGVuZCBvZiBwZXJpb2QKCQkJKQoJCXJldHVybiBJbnRlcnZhbFtDb2FsZXNjZShzdGFydCBvZiBFRFZpc2l0LnBlcmlvZCwgVmlzaXRTdGFydCksIGVuZCBvZiBWaXNpdC5wZXJpb2RdCgpkZWZpbmUgZnVuY3Rpb24gIkhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbkxlbmd0aG9mU3RheSIoRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCSJMZW5ndGhJbkRheXMiKCJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iKEVuY291bnRlcikpCgovLyBUT0RPIC0gZml4IHRoZXNlIChtdXN0IGZldGNoIExvY2F0aW9uIHJlc291cmNlcyBhbmQgY29tcGFyZSBpZCB0byByZWZlcmVuY2UpCi8qZGVmaW5lIGZ1bmN0aW9uICJIb3NwaXRhbCBEZXBhcnR1cmUgVGltZSIoVGhlRW5jb3VudGVyIEZISVIuRW5jb3VudGVyKToKCWVuZCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKExhc3QoCgkgICAgKCAiSG9zcGl0YWxpemF0aW9uIExvY2F0aW9ucyIoVGhlRW5jb3VudGVyKSApIEhvc3BpdGFsTG9jYXRpb24KCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkucGVyaW9kKQoKZGVmaW5lIGZ1bmN0aW9uICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBBcnJpdmFsIFRpbWUiKFRoZUVuY291bnRlciBGSElSLkVuY291bnRlcik6CglzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKCgKCSAgICBzaW5nbGV0b24gZnJvbSAoCgkgICAgICAgICggIkhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiKFRoZUVuY291bnRlcikgKSBIb3NwaXRhbExvY2F0aW9uCgkJCQl3aGVyZSBIb3NwaXRhbExvY2F0aW9uLnR5cGUgfiAiRVIiCgkJKQoJKS5wZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkZpcnN0IElucGF0aWVudCBJbnRlbnNpdmUgQ2FyZSBVbml0IihUaGVFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIpOgoJRmlyc3QoCgkgICAgKCBUaGVFbmNvdW50ZXIubG9jYXRpb24gKSBIb3NwaXRhbExvY2F0aW9uCgkJCXdoZXJlIEhvc3BpdGFsTG9jYXRpb24udHlwZSB+ICJJQ1UiCgkJCQlhbmQgSG9zcGl0YWxMb2NhdGlvbi5wZXJpb2QgZHVyaW5nIFRoZUVuY291bnRlci5wZXJpb2QKCQkJc29ydCBieSBzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKHBlcmlvZCkKCSkqLwoKLyoKKgoqICAgIENRRk1lYXN1cmVzIENvbW1vbiBMb2dpYwoqCiovCgpkZWZpbmUgZnVuY3Rpb24gIk5vcm1hbGl6ZSBPbnNldCIob25zZXQgQ2hvaWNlPEZISVIuZGF0ZVRpbWUsIEZISVIuQWdlLCBGSElSLlBlcmlvZCwgRkhJUi5SYW5nZSwgRkhJUi5zdHJpbmc+KToKICBpZiBvbnNldCBpcyBGSElSLmRhdGVUaW1lIHRoZW4KCSAgSW50ZXJ2YWxbRkhJUkhlbHBlcnMuVG9EYXRlVGltZShvbnNldCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShvbnNldCBhcyBGSElSLmRhdGVUaW1lKV0KCWVsc2UgaWYgb25zZXQgaXMgRkhJUi5QZXJpb2QgdGhlbgoJICBGSElSSGVscGVycy5Ub0ludGVydmFsKG9uc2V0IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBpZiBvbnNldCBpcyBGSElSLkFnZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KG9uc2V0IGFzIEZISVIuQWdlKSwKCQkgIEZISVJIZWxwZXJzLlRvRGF0ZShQYXRpZW50LmJpcnRoRGF0ZSkgKyBGSElSSGVscGVycy5Ub1F1YW50aXR5KG9uc2V0IGFzIEZISVIuQWdlKSArIDEgeWVhcikKCWVsc2UgbnVsbAoKZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24gQ29uZGl0aW9uKToKCWlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5kYXRlVGltZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLmRhdGVUaW1lKSwgRkhJUkhlbHBlcnMuVG9EYXRlVGltZShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuZGF0ZVRpbWUpXQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuUGVyaW9kIHRoZW4KCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuUGVyaW9kKQoJZWxzZSBpZiBjb25kaXRpb24uYWJhdGVtZW50IGlzIEZISVIuQWdlIHRoZW4KCQlJbnRlcnZhbFtGSElSSGVscGVycy5Ub0RhdGUoUGF0aWVudC5iaXJ0aERhdGUpICsgRkhJUkhlbHBlcnMuVG9RdWFudGl0eShjb25kaXRpb24uYWJhdGVtZW50IGFzIEZISVIuQWdlKSwKCQkJRkhJUkhlbHBlcnMuVG9EYXRlKFBhdGllbnQuYmlydGhEYXRlKSArIEZISVJIZWxwZXJzLlRvUXVhbnRpdHkoY29uZGl0aW9uLmFiYXRlbWVudCBhcyBGSElSLkFnZSkgKyAxIHllYXIpCgllbHNlIGlmIGNvbmRpdGlvbi5hYmF0ZW1lbnQgaXMgRkhJUi5ib29sZWFuIHRoZW4KCSAgSW50ZXJ2YWxbZW5kIG9mICJOb3JtYWxpemUgT25zZXQiKGNvbmRpdGlvbi5vbnNldCksIGNvbmRpdGlvbi5hc3NlcnRlZERhdGUpCgllbHNlIG51bGwKCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJldmFsZW5jZVBlcmlvZCIoY29uZGl0aW9uIENvbmRpdGlvbik6CiAgSW50ZXJ2YWxbc3RhcnQgb2YgIk5vcm1hbGl6ZSBPbnNldCIoY29uZGl0aW9uLm9uc2V0KSwgZW5kIG9mICJOb3JtYWxpemUgQWJhdGVtZW50Iihjb25kaXRpb24pKQoKZGVmaW5lIGZ1bmN0aW9uICJOb3JtYWxpemUgSW50ZXJ2YWwiKGNob2ljZSBDaG9pY2U8RkhJUi5kYXRlVGltZSwgRkhJUi5QZXJpb2Q+KToKICBpZiBjaG9pY2UgaXMgRkhJUi5kYXRlVGltZSB0aGVuCgkgIEludGVydmFsW0ZISVJIZWxwZXJzLlRvRGF0ZVRpbWUoY2hvaWNlIGFzIEZISVIuZGF0ZVRpbWUpLCBGSElSSGVscGVycy5Ub0RhdGVUaW1lKGNob2ljZSBhcyBGSElSLmRhdGVUaW1lKV0KCWVsc2UKCSAgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChjaG9pY2UgYXMgRkhJUi5QZXJpb2QpCgpkZWZpbmUgZnVuY3Rpb24gIkdldElkIih1cmkgU3RyaW5nKToKCUxhc3QoU3BsaXQodXJpLCAnLycpKQoKZGVmaW5lIGZ1bmN0aW9uICJFbmNvdW50ZXJEaWFnbm9zaXMiKEVuY291bnRlciBFbmNvdW50ZXIpOgogIEVuY291bnRlci5kaWFnbm9zaXMgRAogICAgcmV0dXJuIHNpbmdsZXRvbiBmcm9tIChbQ29uZGl0aW9uXSBDb25kaXRpb24gd2hlcmUgQ29uZGl0aW9uLmlkLnZhbHVlID0gIkdldElkIihELmNvbmRpdGlvbi5yZWZlcmVuY2UpKQoKLy8gUmV0dXJucyB0aGUgY29uZGl0aW9uIHRoYXQgaXMgc3BlY2lmaWVkIGFzIHRoZSBwcmluY2lwYWwgZGlhZ25vc2lzIGZvciB0aGUgZW5jb3VudGVyCmRlZmluZSBmdW5jdGlvbiAiUHJpbmNpcGFsRGlhZ25vc2lzIihFbmNvdW50ZXIgRW5jb3VudGVyKToKCShzaW5nbGV0b24gZnJvbSAoRW5jb3VudGVyLmRpYWdub3NpcyBEIHdoZXJlIEQucm9sZSB+IFRvQ29uY2VwdCgiQmlsbGluZyIpIGFuZCBELnJhbmsgPSAxKSkgUEQKCS8vIkdldElkIih1cmkgU3RyaW5nKTogcmV0dXJucyB0aGUgbGFzdCBTdHJpbmcgb2YgYSBTcGxpdCBieSAvIExpc3QgdGhlcmVmb3IgY2Fubm90IHVzZSBpbgoJCXJldHVybiBzaW5nbGV0b24gZnJvbSAoW0NvbmRpdGlvbl0gQ29uZGl0aW9uIHdoZXJlIENvbmRpdGlvbi5pZC52YWx1ZSA9ICJHZXRJZCIoUEQuY29uZGl0aW9uLnJlZmVyZW5jZSkpCgovLyBSZXR1cm5zIHRoZSBsb2NhdGlvbiBmb3IgdGhlIGdpdmVuIGxvY2F0aW9uIHJlZmVyZW5jZQpkZWZpbmUgZnVuY3Rpb24gR2V0TG9jYXRpb24ocmVmZXJlbmNlIFJlZmVyZW5jZSk6CiAgc2luZ2xldG9uIGZyb20gKAogICAgW0xvY2F0aW9uXSBMb2NhdGlvbiB3aGVyZSBMb2NhdGlvbi5pZC52YWx1ZSA9IEdldElkKHJlZmVyZW5jZS5yZWZlcmVuY2UpCiAgKQoKLyoKTk9URTogRXh0ZW5zaW9ucyBhcmUgbm90IHRoZSBwcmVmZXJyZWQgYXBwcm9hY2gsIGJ1dCBhcmUgdXNlZCBhcyBhIHdheSB0byBhY2Nlc3MKY29udGVudCB0aGF0IGlzIGRlZmluZWQgYnkgZXh0ZW5zaW9ucyBidXQgbm90IHlldCBzdXJmYWNlZCBpbiB0aGUKQ1FMIG1vZGVsIGluZm8uCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLycgKyB1cmwpCgkJcmV0dXJuIEUKCmRlZmluZSBmdW5jdGlvbiAiR2V0RXh0ZW5zaW9uIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6CiAgc2luZ2xldG9uIGZyb20gIkdldEV4dGVuc2lvbnMiKGRvbWFpblJlc291cmNlLCB1cmwpCgovKgpOT1RFOiBFeHRlbnNpb25zIGFyZSBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgYnV0IGFyZSB1c2VkIGFzIGEgd2F5IHRvIGFjY2Vzcwpjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBieSBleHRlbnNpb25zIGJ1dCBub3QgeWV0IHN1cmZhY2VkIGluIHRoZQpDUUwgbW9kZWwgaW5mby4KKi8KZGVmaW5lIGZ1bmN0aW9uICJHZXRCYXNlRXh0ZW5zaW9ucyIoZG9tYWluUmVzb3VyY2UgRG9tYWluUmVzb3VyY2UsIHVybCBTdHJpbmcpOgogIGRvbWFpblJlc291cmNlLmV4dGVuc2lvbiBFCgkgIHdoZXJlIEUudXJsID0gKCdodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJyArIHVybCkKCQlyZXR1cm4gRQoKZGVmaW5lIGZ1bmN0aW9uICJHZXRCYXNlRXh0ZW5zaW9uIihkb21haW5SZXNvdXJjZSBEb21haW5SZXNvdXJjZSwgdXJsIFN0cmluZyk6CiAgc2luZ2xldG9uIGZyb20gIkdldEJhc2VFeHRlbnNpb25zIihkb21haW5SZXNvdXJjZSwgdXJsKQoKLyoKTk9URTogUHJvdmVuYW5jZSBpcyBub3QgdGhlIHByZWZlcnJlZCBhcHByb2FjaCwgdGhpcyBpcyBwcm92aWRlZCBvbmx5IGFzIGFuIGlsbHVzdHJhdGlvbgpmb3Igd2hhdCB1c2luZyBQcm92ZW5hbmNlIGNvdWxkIGxvb2sgbGlrZSwgYW5kIGlzIG5vdCBhIHRlc3RlZCBwYXR0ZXJuCiovCmRlZmluZSBmdW5jdGlvbiAiR2V0UHJvdmVuYW5jZSIocmVzb3VyY2UgUmVzb3VyY2UpOgogIHNpbmdsZXRvbiBmcm9tIChbUHJvdmVuYW5jZTogdGFyZ2V0IGluIHJlc291cmNlLmlkXSkKCmRlZmluZSBmdW5jdGlvbiAiR2V0TWVkaWNhdGlvbkNvZGUiKHJlcXVlc3QgTWVkaWNhdGlvblJlcXVlc3QpOgogIGlmIHJlcXVlc3QubWVkaWNhdGlvbiBpcyBDb2RlYWJsZUNvbmNlcHQgdGhlbgoJICByZXF1ZXN0Lm1lZGljYXRpb24gYXMgQ29kZWFibGVDb25jZXB0CgllbHNlCgkgIChzaW5nbGV0b24gZnJvbSAoW01lZGljYXRpb246IGlkIGluIEdldElkKChyZXF1ZXN0Lm1lZGljYXRpb24gYXMgUmVmZXJlbmNlKS5yZWZlcmVuY2UpXSkpLmNvZGUK" + }, { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjMiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbGlicmFyeUlkPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIGxpYnJhcnlWZXJzaW9uPSI0LjAuMDAwIiBzdGFydExpbmU9IjIyMyIgc3RhcnRDaGFyPSIxOSIgZW5kTGluZT0iMjIzIiBlbmRDaGFyPSI1MyIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gbGlicmFyeUlkPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIGxpYnJhcnlWZXJzaW9uPSI0LjAuMDAwIiBzdGFydExpbmU9IjIyOSIgc3RhcnRDaGFyPSIyMSIgZW5kTGluZT0iMjI5IiBlbmRDaGFyPSI5MCIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGlkZW50aWZpZXIgaWQ9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iNC4wLjAwMCIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9IjEwOjEtMTA6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjAuMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEiPgogICAgICAgICAgICAgICA8YTpzPnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L3VzaW5ncz4KICAgPGluY2x1ZGVzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIiIGxvY2F0b3I9IjEyOjEtMTI6NTQiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvaW5jbHVkZXM+CiAgIDxwYXJhbWV0ZXJzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyIiBsb2NhdG9yPSIyOToxLTI5OjQ5IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMiI+CiAgICAgICAgICAgICAgIDxhOnM+cGFyYW1ldGVyICZxdW90O01lYXN1cmVtZW50IFBlcmlvZCZxdW90OyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWwmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIxIiBsb2NhdG9yPSIyOTozMi0yOTo0OSIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGUgbG9jYWxJZD0iMjAiIGxvY2F0b3I9IjI5OjQxLTI5OjQ4IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvZGVTeXN0ZW1zPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMiIGxvY2F0b3I9IjE0OjEtMTQ6MzgiIG5hbWU9IkxPSU5DIiBpZD0iaHR0cDovL2xvaW5jLm9yZyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMiPgogICAgICAgICAgICAgICA8YTpzPmNvZGVzeXN0ZW0gJnF1b3Q7TE9JTkMmcXVvdDs6ICdodHRwOi8vbG9pbmMub3JnJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0IiBsb2NhdG9yPSIxNToxLTE1OjYwIiBuYW1lPSJTTk9NRURDVCIgaWQ9Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNCI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtTTk9NRURDVCZxdW90OzogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1IiBsb2NhdG9yPSIxNjoxLTE2OjU2IiBuYW1lPSJSb2xlQ29kZSIgaWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvUm9sZUNvZGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O1JvbGVDb2RlJnF1b3Q7OiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9Sb2xlQ29kZSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNiIgbG9jYXRvcj0iMTc6MS0xNzo2NSIgbmFtZT0iRGlhZ25vc2lzIFJvbGUiIGlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL2RpYWdub3Npcy1yb2xlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNiI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtEaWFnbm9zaXMgUm9sZSZxdW90OzogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvZGlhZ25vc2lzLXJvbGUnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2NvZGVTeXN0ZW1zPgogICA8dmFsdWVTZXRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjciIGxvY2F0b3I9IjE5OjEtMTk6MTAwIiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNyI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7RW5jb3VudGVyIElucGF0aWVudCZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOCIgbG9jYXRvcj0iMjA6MS0yMDoxMTEiIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0VtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5Mic8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOSIgbG9jYXRvcj0iMjE6MS0yMToxMDIiIG5hbWU9Ik9ic2VydmF0aW9uIFNlcnZpY2VzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0MyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O09ic2VydmF0aW9uIFNlcnZpY2VzJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0Myc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdmFsdWVTZXRzPgogICA8Y29kZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTEiIGxvY2F0b3I9IjIzOjEtMjM6NjEiIG5hbWU9IkJpcnRoZGF0ZSIgaWQ9IjIxMTEyLTgiIGRpc3BsYXk9IkJpcnRoIGRhdGUiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMSI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtCaXJ0aGRhdGUmcXVvdDs6ICcyMTExMi04JyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwIj4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtMT0lOQyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnQmlydGggZGF0ZSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMTAiIGxvY2F0b3I9IjIzOjM0LTIzOjQwIiBuYW1lPSJMT0lOQyIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMyIgbG9jYXRvcj0iMjQ6MS0yNDo1NSIgbmFtZT0iRGVhZCIgaWQ9IjQxOTA5OTAwOSIgZGlzcGxheT0iRGVhZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzIj4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O0RlYWQmcXVvdDs6ICc0MTkwOTkwMDknIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTIiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1NOT01FRENUJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdEZWFkJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIxMiIgbG9jYXRvcj0iMjQ6MzEtMjQ6NDAiIG5hbWU9IlNOT01FRENUIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE1IiBsb2NhdG9yPSIyNToxLTI1OjU2IiBuYW1lPSJFUiIgaWQ9IkVSIiBkaXNwbGF5PSJFbWVyZ2VuY3kgcm9vbSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE1Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2RlICZxdW90O0VSJnF1b3Q7OiAnRVInIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1JvbGVDb2RlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdFbWVyZ2VuY3kgcm9vbSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMTQiIGxvY2F0b3I9IjI1OjIyLTI1OjMxIiBuYW1lPSJSb2xlQ29kZSIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNyIgbG9jYXRvcj0iMjY6MS0yNjo2MyIgbmFtZT0iSUNVIiBpZD0iSUNVIiBkaXNwbGF5PSJJbnRlbnNpdmUgY2FyZSB1bml0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTciPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7SUNVJnF1b3Q7OiAnSUNVJyBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtSb2xlQ29kZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGlzcGxheSAnSW50ZW5zaXZlIGNhcmUgdW5pdCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGNvZGVTeXN0ZW0gbG9jYWxJZD0iMTYiIGxvY2F0b3I9IjI2OjI0LTI2OjMzIiBuYW1lPSJSb2xlQ29kZSIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxOSIgbG9jYXRvcj0iMjc6MS0yNzo2NSIgbmFtZT0iQmlsbGluZyIgaWQ9ImJpbGxpbmciIGRpc3BsYXk9IkJpbGxpbmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxOSI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZSAmcXVvdDtCaWxsaW5nJnF1b3Q7OiAnYmlsbGluZycgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxOCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGlhZ25vc2lzIFJvbGUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRpc3BsYXkgJ0JpbGxpbmcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxjb2RlU3lzdGVtIGxvY2FsSWQ9IjE4IiBsb2NhdG9yPSIyNzozMi0yNzo0NyIgbmFtZT0iRGlhZ25vc2lzIFJvbGUiLz4KICAgICAgPC9kZWY+CiAgIDwvY29kZXM+CiAgIDxjb250ZXh0cz4KICAgICAgPGRlZiBsb2NhdG9yPSIzMToxLTMxOjE1IiBuYW1lPSJQYXRpZW50Ii8+CiAgIDwvY29udGV4dHM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjMxOjEtMzE6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjMxOjEtMzE6MTUiIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM4IiBsb2NhdG9yPSI2MDoxLTYxOjU5IiBuYW1lPSJMZW5ndGhJbkRheXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7TGVuZ3RoSW5EYXlzJnF1b3Q7KFZhbHVlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbCZsdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5kaWZmZXJlbmNlIGluIGRheXMgYmV0d2VlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5lbmQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNyIgbG9jYXRvcj0iNjE6Mi02MTo1OSIgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEaWZmZXJlbmNlQmV0d2VlbiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0IiBsb2NhdG9yPSI2MToyOS02MTo0MiIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzMiIGxvY2F0b3I9IjYxOjM4LTYxOjQyIiBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNiIgbG9jYXRvcj0iNjE6NDgtNjE6NTkiIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNSIgbG9jYXRvcj0iNjE6NTUtNjE6NTkiIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzIiIGxvY2F0b3I9IjYwOjM4LTYwOjU1IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSIzMSIgbG9jYXRvcj0iNjA6NDctNjA6NTQiIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC9vcGVyYW5kVHlwZVNwZWNpZmllcj4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0OSIgbG9jYXRvcj0iMzM6MS0zNzo2NSIgbmFtZT0iSW5wYXRpZW50IEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ5Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7SW5wYXRpZW50IEVuY291bnRlciZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bRW5jb3VudGVyOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtFbmNvdW50ZXIgSW5wYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBFbmNvdW50ZXJJbnBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcklucGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXR1czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidmaW5pc2hlZCc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCSAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TGVuZ3RoSW5EYXlzJnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVySW5wYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwIj4gJmx0Oz0gMTIwPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcklucGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYiPiBlbmRzIGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDgiIGxvY2F0b3I9IjM0OjItMzc6NjUiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjQiIGxvY2F0b3I9IjM0OjItMzQ6NTQiIGFsaWFzPSJFbmNvdW50ZXJJbnBhdGllbnQiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMyIgbG9jYXRvcj0iMzQ6Mi0zNDozNSIgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjM0OjE0LTM0OjM0IiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjQ3IiBsb2NhdG9yPSIzNTozLTM3OjY1IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDIiIGxvY2F0b3I9IjM1OjktMzY6NTYiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOCIgbG9jYXRvcj0iMzU6OS0zNTo0NiIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjYiIGxvY2F0b3I9IjM1OjktMzU6MzMiIHBhdGg9InN0YXR1cyIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjciIGxvY2F0b3I9IjM1OjM3LTM1OjQ2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZmluaXNoZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDEiIGxvY2F0b3I9IjM2OjktMzY6NTYiIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM5IiBsb2NhdG9yPSIzNjo5LTM2OjQ5IiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAiIGxvY2F0b3I9IjM2OjI0LTM2OjQ4IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJFbmNvdW50ZXJJbnBhdGllbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDAiIGxvY2F0b3I9IjM2OjU0LTM2OjU2IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2IiBsb2NhdG9yPSIzNzo4LTM3OjY1IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzNzozNC0zNzozNyIgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDQiIGxvY2F0b3I9IjM3OjgtMzc6MzIiIHBhdGg9InBlcmlvZCIgc2NvcGU9IkVuY291bnRlcklucGF0aWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NSIgbG9jYXRvcj0iMzc6NDYtMzc6NjUiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNjQiIGxvY2F0b3I9IjM5OjEtNDA6OTkiIG5hbWU9IlRvRGF0ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNjQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtUb0RhdGUmcXVvdDsoVmFsdWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTAiPgogICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI2MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz55ZWFyIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tb250aCBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5WYWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGF5IGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NyI+LCAwLCAwLCAwLCAwLCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dGltZXpvbmVvZmZzZXQgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2MyIgbG9jYXRvcj0iNDA6Mi00MDo5OSIgeHNpOnR5cGU9IkRhdGVUaW1lIj4KICAgICAgICAgICAgPHllYXIgbG9jYWxJZD0iNTIiIGxvY2F0b3I9IjQwOjExLTQwOjI1IiBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MSIgbG9jYXRvcj0iNDA6MjEtNDA6MjUiIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L3llYXI+CiAgICAgICAgICAgIDxtb250aCBsb2NhbElkPSI1NCIgbG9jYXRvcj0iNDA6MjgtNDA6NDMiIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MyIgbG9jYXRvcj0iNDA6MzktNDA6NDMiIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L21vbnRoPgogICAgICAgICAgICA8ZGF5IGxvY2FsSWQ9IjU2IiBsb2NhdG9yPSI0MDo0Ni00MDo1OSIgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NSIgbG9jYXRvcj0iNDA6NTUtNDA6NTkiIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L2RheT4KICAgICAgICAgICAgPGhvdXIgbG9jYWxJZD0iNTciIGxvY2F0b3I9IjQwOjYyIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDxtaW51dGUgbG9jYWxJZD0iNTgiIGxvY2F0b3I9IjQwOjY1IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDxzZWNvbmQgbG9jYWxJZD0iNTkiIGxvY2F0b3I9IjQwOjY4IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDxtaWxsaXNlY29uZCBsb2NhbElkPSI2MCIgbG9jYXRvcj0iNDA6NzEiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPHRpbWV6b25lT2Zmc2V0IGxvY2FsSWQ9IjYyIiBsb2NhdG9yPSI0MDo3NC00MDo5OCIgeHNpOnR5cGU9IlRpbWV6b25lT2Zmc2V0RnJvbSI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYxIiBsb2NhdG9yPSI0MDo5NC00MDo5OCIgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvdGltZXpvbmVPZmZzZXQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTAiIGxvY2F0b3I9IjM5OjMyLTM5OjM5IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzIiIGxvY2F0b3I9IjQyOjEtNDM6NTEiIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjcyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7Q2FsZW5kYXJBZ2VJbkRheXNBdCZxdW90OyhCaXJ0aERhdGVUaW1lIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjY1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIEFzT2YgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNjYiPgogICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmRheXMgYmV0d2VlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9EYXRlKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5CaXJ0aERhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+YW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkFzT2Y8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3MSIgbG9jYXRvcj0iNDM6Mi00Mzo1MSIgcHJlY2lzaW9uPSJEYXkiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2OCIgbG9jYXRvcj0iNDM6MTUtNDM6MzUiIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjciIGxvY2F0b3I9IjQzOjIyLTQzOjM0IiBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjcwIiBsb2NhdG9yPSI0Mzo0MC00Mzo1MSIgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2OSIgbG9jYXRvcj0iNDM6NDctNDM6NTAiIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjY1IiBsb2NhdG9yPSI0Mjo1My00Mjo2MCIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNjYiIGxvY2F0b3I9IjQyOjY4LTQyOjc1IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzciIGxvY2F0b3I9IjQ1OjEtNDY6NDQiIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3NyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O0NhbGVuZGFyQWdlSW5EYXlzJnF1b3Q7KEJpcnRoRGF0ZVRpbWUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzMiPgogICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkNhbGVuZGFyQWdlSW5EYXlzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkJpcnRoRGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXkoKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzYiIGxvY2F0b3I9IjQ2OjItNDY6NDQiIG5hbWU9IkNhbGVuZGFyQWdlSW5EYXlzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc0IiBsb2NhdG9yPSI0NjoyMi00NjozNCIgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3NSIgbG9jYXRvcj0iNDY6MzctNDY6NDMiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI3MyIgbG9jYXRvcj0iNDU6NTEtNDU6NTgiIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4NSIgbG9jYXRvcj0iNDg6MS00OTo1MyIgbmFtZT0iQ2FsZW5kYXJBZ2VJbk1vbnRoc0F0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4NSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O0NhbGVuZGFyQWdlSW5Nb250aHNBdCZxdW90OyhCaXJ0aERhdGVUaW1lIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijc4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIEFzT2YgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzkiPgogICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPm1vbnRocyBiZXR3ZWVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkJpcnRoRGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5hbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QXNPZjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg0IiBsb2NhdG9yPSI0OToyLTQ5OjUzIiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODEiIGxvY2F0b3I9IjQ5OjE3LTQ5OjM3IiBuYW1lPSJUb0RhdGUiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjgwIiBsb2NhdG9yPSI0OToyNC00OTozNiIgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MyIgbG9jYXRvcj0iNDk6NDItNDk6NTMiIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iODIiIGxvY2F0b3I9IjQ5OjQ5LTQ5OjUyIiBuYW1lPSJBc09mIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI3OCIgbG9jYXRvcj0iNDg6NTUtNDg6NjIiIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJBc09mIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9Ijc5IiBsb2NhdG9yPSI0ODo3MC00ODo3NyIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjkwIiBsb2NhdG9yPSI1MToxLTUyOjQ2IiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O0NhbGVuZGFyQWdlSW5Nb250aHMmcXVvdDsoQmlydGhEYXRlVGltZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4NiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q2FsZW5kYXJBZ2VJbk1vbnRoc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5CaXJ0aERhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvZGF5KCk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg5IiBsb2NhdG9yPSI1MjoyLTUyOjQ2IiBuYW1lPSJDYWxlbmRhckFnZUluTW9udGhzQXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijg3IiBsb2NhdG9yPSI1MjoyNC01MjozNiIgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4OCIgbG9jYXRvcj0iNTI6MzktNTI6NDUiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iQmlydGhEYXRlVGltZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI4NiIgbG9jYXRvcj0iNTE6NTMtNTE6NjAiIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5OCIgbG9jYXRvcj0iNTQ6MS01NTo1MiIgbmFtZT0iQ2FsZW5kYXJBZ2VJblllYXJzQXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijk4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7Q2FsZW5kYXJBZ2VJblllYXJzQXQmcXVvdDsoQmlydGhEYXRlVGltZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+LCBBc09mIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz55ZWFycyBiZXR3ZWVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkJpcnRoRGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5hbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QXNPZjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijk3IiBsb2NhdG9yPSI1NToyLTU1OjUyIiBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5NCIgbG9jYXRvcj0iNTU6MTYtNTU6MzYiIG5hbWU9IlRvRGF0ZSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTMiIGxvY2F0b3I9IjU1OjIzLTU1OjM1IiBuYW1lPSJCaXJ0aERhdGVUaW1lIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk2IiBsb2NhdG9yPSI1NTo0MS01NTo1MiIgbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5NSIgbG9jYXRvcj0iNTU6NDgtNTU6NTEiIG5hbWU9IkFzT2YiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJCaXJ0aERhdGVUaW1lIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjkxIiBsb2NhdG9yPSI1NDo1NC01NDo2MSIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkFzT2YiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iOTIiIGxvY2F0b3I9IjU0OjY5LTU0Ojc2IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAzIiBsb2NhdG9yPSI1NzoxLTU4OjQ1IiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwMyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O0NhbGVuZGFyQWdlSW5ZZWFycyZxdW90OyhCaXJ0aERhdGVUaW1lIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijk5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTAyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkNhbGVuZGFyQWdlSW5ZZWFyc0F0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QmlydGhEYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXkoKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTAyIiBsb2NhdG9yPSI1ODoyLTU4OjQ1IiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTAwIiBsb2NhdG9yPSI1ODoyMy01ODozNSIgbmFtZT0iQmlydGhEYXRlVGltZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDEiIGxvY2F0b3I9IjU4OjM4LTU4OjQ0IiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkJpcnRoRGF0ZVRpbWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iOTkiIGxvY2F0b3I9IjU3OjUyLTU3OjU5IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTI2IiBsb2NhdG9yPSI2MzoxLTY4OjUiIG5hbWU9IkVEIFZpc2l0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMjYiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtFRCBWaXNpdCZxdW90OyhUaGVFbmNvdW50ZXIgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTA3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTI1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KAogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0VuY291bnRlcjogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEVEVmlzaXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RURWaXNpdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGF0dXM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2ZpbmlzaGVkJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RURWaXNpdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVuZHMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4xIGhvdXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IG9yIGxlc3Mgb24gb3IgYmVmb3JlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0ludGVydmFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5UaGVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMjUiIGxvY2F0b3I9IjY0OjUtNjg6NSIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjQiIGxvY2F0b3I9IjY0OjIwLTY4OjUiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTA5IiBsb2NhdG9yPSI2NTo5LTY1OjU3IiBhbGlhcz0iRURWaXNpdCI+CiAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEwOCIgbG9jYXRvcj0iNjU6OS02NTo0OSIgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjY1OjIxLTY1OjQ4IiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxMjMiIGxvY2F0b3I9IjY2OjEzLTY3OjEyMCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExMyIgbG9jYXRvcj0iNjY6MTktNjY6NDUiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExMSIgbG9jYXRvcj0iNjY6MTktNjY6MzIiIHBhdGg9InN0YXR1cyIgc2NvcGU9IkVEVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExMiIgbG9jYXRvcj0iNjY6MzYtNjY6NDUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmaW5pc2hlZCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjIiIGxvY2F0b3I9IjY3OjIxLTY3OjEyMCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY3OjQxLTY3OjU0IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2NzozNi02NzozOSIgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTE1IiBsb2NhdG9yPSI2NzoyMS02NzozNCIgcGF0aD0icGVyaW9kIiBzY29wZT0iRURWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2Nzo0MS02Nzo1NCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2F0b3I9IjY3OjY5LTY3OjEyMCIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTIwIiBsb2NhdG9yPSI2Nzo2OS02NzoxMjAiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExOSIgbG9jYXRvcj0iNjc6NzgtNjc6MTIwIiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExOCIgbG9jYXRvcj0iNjc6MTAxLTY3OjExOSIgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExNyIgbG9jYXRvcj0iNjc6MTAxLTY3OjExMiIgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjEiIGxvY2F0b3I9IjY3OjQxLTY3OjQ2IiB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIxMjAiIGxvY2F0b3I9IjY3OjY5LTY3OjEyMCIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTE5IiBsb2NhdG9yPSI2Nzo3OC02NzoxMjAiIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTE4IiBsb2NhdG9yPSI2NzoxMDEtNjc6MTE5IiBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTE3IiBsb2NhdG9yPSI2NzoxMDEtNjc6MTEyIiBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI2Nzo0MS02Nzo1NCIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjY3OjQxLTY3OjU0IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTIwIiBsb2NhdG9yPSI2Nzo2OS02NzoxMjAiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExOSIgbG9jYXRvcj0iNjc6NzgtNjc6MTIwIiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjExOCIgbG9jYXRvcj0iNjc6MTAxLTY3OjExOSIgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExNyIgbG9jYXRvcj0iNjc6MTAxLTY3OjExMiIgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEwNyIgbG9jYXRvcj0iNjM6NDEtNjM6NTQiIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQ5IiBsb2NhdG9yPSI3MDoxLTc0OjExNiIgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNDkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtIb3NwaXRhbGl6YXRpb24mcXVvdDsoVGhlRW5jb3VudGVyIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEyNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE0OCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0VEIFZpc2l0JnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VGhlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IFg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5YPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5UaGVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICBlbHNlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9JbnRlcnZhbCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+WDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZW5kIG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0ludGVydmFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5UaGVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE0OCIgbG9jYXRvcj0iNzE6Mi03NDoxMTYiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTMwIiBsb2NhdG9yPSI3MToyLTcxOjMxIiBhbGlhcz0iWCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEyOSIgbG9jYXRvcj0iNzE6Mi03MToyOSIgbmFtZT0iRUQgVmlzaXQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEyOCIgbG9jYXRvcj0iNzE6MTUtNzE6MjYiIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSIxNDciIGxvY2F0b3I9IjcyOjUtNzQ6MTE2Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTQ2IiBsb2NhdG9yPSI3Mzo5LTc0OjExNiIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTMyIiBsb2NhdG9yPSI3MzoxMi03MzoyMCIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzMSIgbG9jYXRvcj0iNzM6MTIiIG5hbWU9IlgiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICA8dGhlbiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzNCIgbG9jYXRvcj0iNzM6MjctNzM6NDUiIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMzMiIGxvY2F0b3I9IjczOjI3LTczOjM4IiBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIxNDUiIGxvY2F0b3I9Ijc0OjE0LTc0OjExNiIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjEzOSIgbG9jYXRvcj0iNzQ6MjMtNzQ6NjMiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEzOCIgbG9jYXRvcj0iNzQ6MzItNzQ6NjMiIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTM3IiBsb2NhdG9yPSI3NDo1NS03NDo2MiIgcGF0aD0icGVyaW9kIiBzY29wZT0iWCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjE0NCIgbG9jYXRvcj0iNzQ6NjYtNzQ6MTE1IiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQzIiBsb2NhdG9yPSI3NDo3My03NDoxMTUiIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQyIiBsb2NhdG9yPSI3NDo5Ni03NDoxMTQiIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNDEiIGxvY2F0b3I9Ijc0Ojk2LTc0OjEwNyIgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjEyNyIgbG9jYXRvcj0iNzA6NDgtNzA6NjEiIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTY3IiBsb2NhdG9yPSI3NjoxLTgwOjY4IiBuYW1lPSJIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNjciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtIb3NwaXRhbGl6YXRpb24gTG9jYXRpb25zJnF1b3Q7KFRoZUVuY291bnRlciA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNTAiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNjYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiggPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtFRCBWaXNpdCZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRoZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiApPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBFREVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJldHVybgogICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVERW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBudWxsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5UaGVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bG9jYXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgIGVsc2UgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5mbGF0dGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+eyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RURFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bG9jYXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRoZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5sb2NhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IH08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTY2IiBsb2NhdG9yPSI3NzoyLTgwOjY4IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE1MyIgbG9jYXRvcj0iNzc6Mi03Nzo0MSIgYWxpYXM9IkVERW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTUyIiBsb2NhdG9yPSI3NzoyLTc3OjI5IiBuYW1lPSJFRCBWaXNpdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTUxIiBsb2NhdG9yPSI3NzoxNS03NzoyNiIgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmV0dXJuIGxvY2FsSWQ9IjE2NSIgbG9jYXRvcj0iNzg6NS04MDo2OCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE2NCIgbG9jYXRvcj0iNzk6OS04MDo2OCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTU1IiBsb2NhdG9yPSI3OToxMi03OTozMCIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1NCIgbG9jYXRvcj0iNzk6MTItNzk6MjIiIG5hbWU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMTU3IiBsb2NhdG9yPSI3OTozNy03OTo1NyIgcGF0aD0ibG9jYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTU2IiBsb2NhdG9yPSI3OTozNy03OTo0OCIgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjE2MyIgbG9jYXRvcj0iODA6MTQtODA6NjgiIHhzaTp0eXBlPSJGbGF0dGVuIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTYyIiBsb2NhdG9yPSI4MDoyMi04MDo2OCIgeHNpOnR5cGU9Ikxpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudCBsb2NhbElkPSIxNTkiIGxvY2F0b3I9IjgwOjI0LTgwOjQzIiBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9IkVERW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbG9jYWxJZD0iMTYxIiBsb2NhdG9yPSI4MDo0Ni04MDo2NiIgcGF0aD0ibG9jYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTYwIiBsb2NhdG9yPSI4MDo0Ni04MDo1NyIgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNTAiIGxvY2F0b3I9Ijc2OjU4LTc2OjcxIiBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE3MiIgbG9jYXRvcj0iODI6MS04Mzo0NiIgbmFtZT0iSG9zcGl0YWxpemF0aW9uIExlbmd0aCBvZiBTdGF5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNzIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtIb3NwaXRhbGl6YXRpb24gTGVuZ3RoIG9mIFN0YXkmcXVvdDsoVGhlRW5jb3VudGVyIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE2OCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE3MSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTcxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5MZW5ndGhJbkRheXMoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtIb3NwaXRhbGl6YXRpb24mcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5UaGVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTcxIiBsb2NhdG9yPSI4MzoyLTgzOjQ2IiBuYW1lPSJMZW5ndGhJbkRheXMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3MCIgbG9jYXRvcj0iODM6MTUtODM6NDUiIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTY5IiBsb2NhdG9yPSI4MzozMy04Mzo0NCIgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE2OCIgbG9jYXRvcj0iODI6NjMtODI6NzYiIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTc3IiBsb2NhdG9yPSI4NToxLTg2OjQxIiBuYW1lPSJIb3NwaXRhbCBBZG1pc3Npb24gVGltZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTc3Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7SG9zcGl0YWwgQWRtaXNzaW9uIFRpbWUmcXVvdDsoVGhlRW5jb3VudGVyIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE3MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE3NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTc2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0hvc3BpdGFsaXphdGlvbiZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRoZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE3NiIgbG9jYXRvcj0iODY6Mi04Njo0MSIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTc1IiBsb2NhdG9yPSI4NjoxMS04Njo0MSIgbmFtZT0iSG9zcGl0YWxpemF0aW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNzQiIGxvY2F0b3I9Ijg2OjI5LTg2OjQwIiBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTczIiBsb2NhdG9yPSI4NTo1Ni04NTo2OSIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxODQiIGxvY2F0b3I9Ijg4OjEtODk6NTEiIG5hbWU9Ikhvc3BpdGFsIERpc2NoYXJnZSBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxODQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtIb3NwaXRhbCBEaXNjaGFyZ2UgVGltZSZxdW90OyhUaGVFbmNvdW50ZXIgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTc4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTgzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmVuZCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9JbnRlcnZhbCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VGhlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTgzIiBsb2NhdG9yPSI4OToyLTg5OjUxIiB4c2k6dHlwZT0iRW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTgyIiBsb2NhdG9yPSI4OTo5LTg5OjUxIiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4MSIgbG9jYXRvcj0iODk6MzItODk6NTAiIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxODAiIGxvY2F0b3I9Ijg5OjMyLTg5OjQzIiBuYW1lPSJUaGVFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRoZUVuY291bnRlciI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIxNzgiIGxvY2F0b3I9Ijg4OjU2LTg4OjY5IiBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwMSIgbG9jYXRvcj0iOTE6MS05NToxMCIgbmFtZT0iSG9zcGl0YWwgQXJyaXZhbCBUaW1lIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMDEiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtIb3NwaXRhbCBBcnJpdmFsIFRpbWUmcXVvdDsoVGhlRW5jb3VudGVyIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjE4NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIwMCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9JbnRlcnZhbCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Rmlyc3QoCgkgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE4OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0hvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5UaGVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSG9zcGl0YWxMb2NhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c29ydCBieSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxOTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvSW50ZXJ2YWwoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTk4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIwMCIgbG9jYXRvcj0iOTI6Mi05NToxMCIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTk5IiBsb2NhdG9yPSI5MjoxMS05NToxMCIgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTgiIGxvY2F0b3I9IjkyOjM0LTk1OjkiIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxOTciIGxvY2F0b3I9IjkyOjM0LTk1OjIiIHhzaTp0eXBlPSJGaXJzdCI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTk2IiBsb2NhdG9yPSI5Mzo2LTk0OjUwIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjE4OSIgbG9jYXRvcj0iOTM6Ni05Mzo2NyIgYWxpYXM9Ikhvc3BpdGFsTG9jYXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxODgiIGxvY2F0b3I9IjkzOjYtOTM6NTAiIG5hbWU9Ikhvc3BpdGFsaXphdGlvbiBMb2NhdGlvbnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4NyIgbG9jYXRvcj0iOTM6MzYtOTM6NDciIG5hbWU9IlRoZUVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvcnQgbG9jYWxJZD0iMTk1IiBsb2NhdG9yPSI5NDo0LTk0OjUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ5IGxvY2FsSWQ9IjE5NCIgbG9jYXRvcj0iOTQ6MTItOTQ6NTAiIGRpcmVjdGlvbj0iYXNjIiB4c2k6dHlwZT0iQnlFeHByZXNzaW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTkzIiBsb2NhdG9yPSI5NDoxMi05NDo1MCIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTkyIiBsb2NhdG9yPSI5NDoyMS05NDo1MCIgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxOTEiIGxvY2F0b3I9Ijk0OjQ0LTk0OjQ5IiBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJJZGVudGlmaWVyUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J5PgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvcnQ+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVGhlRW5jb3VudGVyIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjE4NSIgbG9jYXRvcj0iOTE6NTQtOTE6NjciIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjU0IiBsb2NhdG9yPSI5NzoxLTEwODo4NSIgbmFtZT0iSG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNTQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24mcXVvdDsoVGhlRW5jb3VudGVyIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIwMiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VGhlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gVmlzaXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmxldCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk9ic1Zpc2l0OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkxhc3QoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bRW5jb3VudGVyOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtPYnNlcnZhdGlvbiBTZXJ2aWNlcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTGFzdE9iczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkxhc3RPYnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5lbmRzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+MSBob3VyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBvciBsZXNzIG9uIG9yIGJlZm9yZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VmlzaXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c29ydCBieSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZW5kIG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LAoJCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlZpc2l0U3RhcnQ6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29hbGVzY2UoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+T2JzVmlzaXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5WaXNpdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sCgkJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RURWaXNpdDogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5MYXN0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0VuY291bnRlcjogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IExhc3RFRDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkxhc3RFRDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVuZHMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4xIGhvdXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IG9yIGxlc3Mgb24gb3IgYmVmb3JlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlZpc2l0U3RhcnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c29ydCBieSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZW5kIG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Db2FsZXNjZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FRFZpc2l0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5WaXNpdFN0YXJ0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVuZCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VmlzaXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjUzIiBsb2NhdG9yPSI5ODoyLTEwODo4NSIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyMDQiIGxvY2F0b3I9Ijk4OjItOTg6MTkiIGFsaWFzPSJWaXNpdCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIwMyIgbG9jYXRvcj0iOTg6Mi05ODoxMyIgbmFtZT0iVGhlRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPGxldCBsb2NhbElkPSIyMjAiIGxvY2F0b3I9Ijk5OjctMTAyOjQiIGlkZW50aWZpZXI9Ik9ic1Zpc2l0Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjE5IiBsb2NhdG9yPSI5OToxNy0xMDI6NCIgeHNpOnR5cGU9Ikxhc3QiPgogICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIxOCIgbG9jYXRvcj0iOTk6MjItMTAxOjI1IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIwNiIgbG9jYXRvcj0iOTk6MjItOTk6NjQiIGFsaWFzPSJMYXN0T2JzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjA1IiBsb2NhdG9yPSI5OToyMi05OTo1NiIgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9Ijk5OjM0LTk5OjU1IiBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIyMTMiIGxvY2F0b3I9IjEwMDo1LTEwMDo3OSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwMDozMS0xMDA6NDQiIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwMDoyNi0xMDA6MjkiIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwOCIgbG9jYXRvcj0iMTAwOjExLTEwMDoyNCIgcGF0aD0icGVyaW9kIiBzY29wZT0iTGFzdE9icyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDA6MzEtMTAwOjQ0IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9InRydWUiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYXRvcj0iMTAwOjU5LTEwMDo3OSIgeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjExIiBsb2NhdG9yPSIxMDA6NTktMTAwOjc5IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIxMCIgbG9jYXRvcj0iMTAwOjY4LTEwMDo3OSIgcGF0aD0icGVyaW9kIiBzY29wZT0iVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjEyIiBsb2NhdG9yPSIxMDA6MzEtMTAwOjM2IiB2YWx1ZT0iMSIgdW5pdD0iaG91ciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIyMTEiIGxvY2F0b3I9IjEwMDo1OS0xMDA6NzkiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjEwIiBsb2NhdG9yPSIxMDA6NjgtMTAwOjc5IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTAwOjMxLTEwMDo0NCIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwMDozMS0xMDA6NDQiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMTEiIGxvY2F0b3I9IjEwMDo1OS0xMDA6NzkiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjEwIiBsb2NhdG9yPSIxMDA6NjgtMTAwOjc5IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJWaXNpdCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgPHNvcnQgbG9jYWxJZD0iMjE3IiBsb2NhdG9yPSIxMDE6NS0xMDE6MjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YnkgbG9jYWxJZD0iMjE2IiBsb2NhdG9yPSIxMDE6MTMtMTAxOjI1IiBkaXJlY3Rpb249ImFzYyIgeHNpOnR5cGU9IkJ5RXhwcmVzc2lvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIxNSIgbG9jYXRvcj0iMTAxOjEzLTEwMToyNSIgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjE0IiBsb2NhdG9yPSIxMDE6MjAtMTAxOjI1IiBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJJZGVudGlmaWVyUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L2J5PgogICAgICAgICAgICAgICAgICAgICA8L3NvcnQ+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvbGV0PgogICAgICAgICAgICA8bGV0IGxvY2FsSWQ9IjIyOCIgbG9jYXRvcj0iMTAzOjQtMTAzOjcyIiBpZGVudGlmaWVyPSJWaXNpdFN0YXJ0Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjI3IiBsb2NhdG9yPSIxMDM6MTYtMTAzOjcyIiB4c2k6dHlwZT0iQ29hbGVzY2UiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjMiIGxvY2F0b3I9IjEwMzoyNS0xMDM6NDgiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjIyIiBsb2NhdG9yPSIxMDM6MzQtMTAzOjQ4IiBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjIxIiBsb2NhdG9yPSIxMDM6MzQtMTAzOjQxIiBuYW1lPSJPYnNWaXNpdCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyNiIgbG9jYXRvcj0iMTAzOjUxLTEwMzo3MSIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMjUiIGxvY2F0b3I9IjEwMzo2MC0xMDM6NzEiIHBhdGg9InBlcmlvZCIgc2NvcGU9IlZpc2l0IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9sZXQ+CiAgICAgICAgICAgIDxsZXQgbG9jYWxJZD0iMjQyIiBsb2NhdG9yPSIxMDQ6NC0xMDc6NCIgaWRlbnRpZmllcj0iRURWaXNpdCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI0MSIgbG9jYXRvcj0iMTA0OjEzLTEwNzo0IiB4c2k6dHlwZT0iTGFzdCI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjQwIiBsb2NhdG9yPSIxMDQ6MTgtMTA2OjI1IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIzMCIgbG9jYXRvcj0iMTA0OjE4LTEwNDo2NSIgYWxpYXM9Ikxhc3RFRCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIyOSIgbG9jYXRvcj0iMTA0OjE4LTEwNDo1OCIgZGF0YVR5cGU9ImZoaXI6RW5jb3VudGVyIiBjb2RlUHJvcGVydHk9InR5cGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjEwNDozMC0xMDQ6NTciIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjIzNSIgbG9jYXRvcj0iMTA1OjUtMTA1OjY3IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTA1OjMwLTEwNTo0MyIgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTA1OjI1LTEwNToyOCIgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjMyIiBsb2NhdG9yPSIxMDU6MTEtMTA1OjIzIiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJMYXN0RUQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iMTA1OjMwLTEwNTo0MyIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2F0b3I9IjEwNTo1OC0xMDU6NjciIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iMTA1OjU4LTEwNTo2NyIgbmFtZT0iVmlzaXRTdGFydCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNCIgbG9jYXRvcj0iMTA1OjMwLTEwNTozNSIgdmFsdWU9IjEiIHVuaXQ9ImhvdXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMjMzIiBsb2NhdG9yPSIxMDU6NTgtMTA1OjY3IiBuYW1lPSJWaXNpdFN0YXJ0IiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjEwNTozMC0xMDU6NDMiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMDU6MzAtMTA1OjQzIiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjMzIiBsb2NhdG9yPSIxMDU6NTgtMTA1OjY3IiBuYW1lPSJWaXNpdFN0YXJ0IiB4c2k6dHlwZT0iUXVlcnlMZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgICAgICAgIDxzb3J0IGxvY2FsSWQ9IjIzOSIgbG9jYXRvcj0iMTA2OjUtMTA2OjI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ5IGxvY2FsSWQ9IjIzOCIgbG9jYXRvcj0iMTA2OjEzLTEwNjoyNSIgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMzciIGxvY2F0b3I9IjEwNjoxMy0xMDY6MjUiIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIzNiIgbG9jYXRvcj0iMTA2OjIwLTEwNjoyNSIgbmFtZT0icGVyaW9kIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9ieT4KICAgICAgICAgICAgICAgICAgICAgPC9zb3J0PgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L2xldD4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSIyNTIiIGxvY2F0b3I9IjEwODozLTEwODo4NSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1MSIgbG9jYXRvcj0iMTA4OjEwLTEwODo4NSIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjI0NyIgbG9jYXRvcj0iMTA4OjE5LTEwODo2MyIgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ1IiBsb2NhdG9yPSIxMDg6MjgtMTA4OjUwIiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NCIgbG9jYXRvcj0iMTA4OjM3LTEwODo1MCIgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI0MyIgbG9jYXRvcj0iMTA4OjM3LTEwODo0MyIgbmFtZT0iRURWaXNpdCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NiIgbG9jYXRvcj0iMTA4OjUzLTEwODo2MiIgbmFtZT0iVmlzaXRTdGFydCIgeHNpOnR5cGU9IlF1ZXJ5TGV0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIyNTAiIGxvY2F0b3I9IjEwODo2Ni0xMDg6ODQiIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0OSIgbG9jYXRvcj0iMTA4OjczLTEwODo4NCIgcGF0aD0icGVyaW9kIiBzY29wZT0iVmlzaXQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJUaGVFbmNvdW50ZXIiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjAyIiBsb2NhdG9yPSI5Nzo2My05Nzo3NiIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNTkiIGxvY2F0b3I9IjExMDoxLTExMTo2MCIgbmFtZT0iSG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uTGVuZ3Rob2ZTdGF5IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNTkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb25MZW5ndGhvZlN0YXkmcXVvdDsoRW5jb3VudGVyIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1OCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtMZW5ndGhJbkRheXMmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24mcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjU4IiBsb2NhdG9yPSIxMTE6Mi0xMTE6NjAiIG5hbWU9Ikxlbmd0aEluRGF5cyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjU3IiBsb2NhdG9yPSIxMTE6MTctMTExOjU5IiBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1NiIgbG9jYXRvcj0iMTExOjUwLTExMTo1OCIgbmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI1NSIgbG9jYXRvcj0iMTEwOjcyLTExMDo4NSIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMTgiIGxvY2F0b3I9IjE0MjoxLTE1MDoxMCIgbmFtZT0iTm9ybWFsaXplIE9uc2V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzMTgiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtOb3JtYWxpemUgT25zZXQmcXVvdDsob25zZXQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjY1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5DaG9pY2UmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkFnZTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5QZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUmFuZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuc3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMTciPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9uc2V0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuCgkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZVRpbWUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjcyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9uc2V0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZVRpbWUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9uc2V0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgllbHNlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9uc2V0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbgoJICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9JbnRlcnZhbCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b25zZXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5QZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJZWxzZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkFnZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbFs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YmlydGhEYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9RdWFudGl0eSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+b25zZXQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sCgkJICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5iaXJ0aERhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub1F1YW50aXR5KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5vbnNldDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkFnZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+MSB5ZWFyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxNCI+CgllbHNlIG51bGw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMxNyIgbG9jYXRvcj0iMTQzOjMtMTUwOjEwIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjgiIGxvY2F0b3I9IjE0Mzo2LTE0MzoyNyIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY2IiBsb2NhdG9yPSIxNDM6Ni0xNDM6MTAiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI2NyIgbG9jYXRvcj0iMTQzOjE1LTE0MzoyNyIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyNzkiIGxvY2F0b3I9IjE0NDo0LTE0NDoxMDciIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIyNzMiIGxvY2F0b3I9IjE0NDoxMy0xNDQ6NTgiIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjcyIiBsb2NhdG9yPSIxNDQ6MzYtMTQ0OjU3IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzAiIGxvY2F0b3I9IjE0NDozNi0xNDQ6NDAiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI3MSIgbG9jYXRvcj0iMTQ0OjQ1LTE0NDo1NyIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIyNzgiIGxvY2F0b3I9IjE0NDo2MS0xNDQ6MTA2IiBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3NyIgbG9jYXRvcj0iMTQ0Ojg0LTE0NDoxMDUiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3NSIgbG9jYXRvcj0iMTQ0Ojg0LTE0NDo4OCIgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjc2IiBsb2NhdG9yPSIxNDQ6OTMtMTQ0OjEwNSIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIzMTYiIGxvY2F0b3I9IjE0NTo3LTE1MDoxMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjgyIiBsb2NhdG9yPSIxNDU6MTAtMTQ1OjI5IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODAiIGxvY2F0b3I9IjE0NToxMC0xNDU6MTQiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI4MSIgbG9jYXRvcj0iMTQ1OjE5LTE0NToyOSIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjg3IiBsb2NhdG9yPSIxNDY6NC0xNDY6NDciIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjg2IiBsb2NhdG9yPSIxNDY6MjctMTQ2OjQ2IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODQiIGxvY2F0b3I9IjE0NjoyNy0xNDY6MzEiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI4NSIgbG9jYXRvcj0iMTQ2OjM2LTE0Njo0NiIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgIDxsb3cgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJsb3ciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzE1IiBsb2NhdG9yPSIxNDc6Ny0xNTA6MTAiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5MCIgbG9jYXRvcj0iMTQ3OjEwLTE0NzoyNiIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjg4IiBsb2NhdG9yPSIxNDc6MTAtMTQ3OjE0IiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyODkiIGxvY2F0b3I9IjE0NzoxOS0xNDc6MjYiIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjMxMyIgbG9jYXRvcj0iMTQ4OjQtMTQ5Ojk1IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjMwMCIgbG9jYXRvcj0iMTQ4OjEzLTE0ODo5MyIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NCIgbG9jYXRvcj0iMTQ4OjEzLTE0ODo0OSIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5MyIgbG9jYXRvcj0iMTQ4OjMyLTE0ODo0OCIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI5MiIgbG9jYXRvcj0iMTQ4OjMyLTE0ODozOCIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5OSIgbG9jYXRvcj0iMTQ4OjUzLTE0ODo5MyIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTgiIGxvY2F0b3I9IjE0ODo3Ni0xNDg6OTIiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NiIgbG9jYXRvcj0iMTQ4Ojc2LTE0ODo4MCIgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjk3IiBsb2NhdG9yPSIxNDg6ODUtMTQ4OjkyIiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sb3c+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoaWdoIGxvY2FsSWQ9IjMxMiIgbG9jYXRvcj0iMTQ5OjUtMTQ5Ojk0IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzEwIiBsb2NhdG9yPSIxNDk6NS0xNDk6ODUiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDQiIGxvY2F0b3I9IjE0OTo1LTE0OTo0MSIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwMyIgbG9jYXRvcj0iMTQ5OjI0LTE0OTo0MCIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMwMiIgbG9jYXRvcj0iMTQ5OjI0LTE0OTozMCIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwOSIgbG9jYXRvcj0iMTQ5OjQ1LTE0OTo4NSIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDgiIGxvY2F0b3I9IjE0OTo2OC0xNDk6ODQiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwNiIgbG9jYXRvcj0iMTQ5OjY4LTE0OTo3MiIgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzA3IiBsb2NhdG9yPSIxNDk6NzctMTQ5Ojg0IiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTEiIGxvY2F0b3I9IjE0OTo4OS0xNDk6OTQiIHZhbHVlPSIxIiB1bml0PSJ5ZWFyIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxNCIgbG9jYXRvcj0iMTUwOjctMTUwOjEwIiB4c2k6dHlwZT0iTnVsbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgPGxvd0Nsb3NlZEV4cHJlc3Npb24gcGF0aD0ibG93Q2xvc2VkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMxNSIgbG9jYXRvcj0iMTQ3OjctMTUwOjEwIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTAiIGxvY2F0b3I9IjE0NzoxMC0xNDc6MjYiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4OCIgbG9jYXRvcj0iMTQ3OjEwLTE0NzoxNCIgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjg5IiBsb2NhdG9yPSIxNDc6MTktMTQ3OjI2IiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIzMTMiIGxvY2F0b3I9IjE0ODo0LTE0OTo5NSIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIzMDAiIGxvY2F0b3I9IjE0ODoxMy0xNDg6OTMiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTQiIGxvY2F0b3I9IjE0ODoxMy0xNDg6NDkiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTMiIGxvY2F0b3I9IjE0ODozMi0xNDg6NDgiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyOTIiIGxvY2F0b3I9IjE0ODozMi0xNDg6MzgiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTkiIGxvY2F0b3I9IjE0ODo1My0xNDg6OTMiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk4IiBsb2NhdG9yPSIxNDg6NzYtMTQ4OjkyIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTYiIGxvY2F0b3I9IjE0ODo3Ni0xNDg6ODAiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI5NyIgbG9jYXRvcj0iMTQ4Ojg1LTE0ODo5MiIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIzMTIiIGxvY2F0b3I9IjE0OTo1LTE0OTo5NCIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMCIgbG9jYXRvcj0iMTQ5OjUtMTQ5Ojg1IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA0IiBsb2NhdG9yPSIxNDk6NS0xNDk6NDEiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDMiIGxvY2F0b3I9IjE0OToyNC0xNDk6NDAiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMDIiIGxvY2F0b3I9IjE0OToyNC0xNDk6MzAiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDkiIGxvY2F0b3I9IjE0OTo0NS0xNDk6ODUiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA4IiBsb2NhdG9yPSIxNDk6NjgtMTQ5Ojg0IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDYiIGxvY2F0b3I9IjE0OTo2OC0xNDk6NzIiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMwNyIgbG9jYXRvcj0iMTQ5Ojc3LTE0OTo4NCIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzExIiBsb2NhdG9yPSIxNDk6ODktMTQ5Ojk0IiB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTQiIGxvY2F0b3I9IjE1MDo3LTE1MDoxMCIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvbG93Q2xvc2VkRXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJoaWdoIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMxNSIgbG9jYXRvcj0iMTQ3OjctMTUwOjEwIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTAiIGxvY2F0b3I9IjE0NzoxMC0xNDc6MjYiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4OCIgbG9jYXRvcj0iMTQ3OjEwLTE0NzoxNCIgbmFtZT0ib25zZXQiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjg5IiBsb2NhdG9yPSIxNDc6MTktMTQ3OjI2IiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIzMTMiIGxvY2F0b3I9IjE0ODo0LTE0OTo5NSIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIzMDAiIGxvY2F0b3I9IjE0ODoxMy0xNDg6OTMiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTQiIGxvY2F0b3I9IjE0ODoxMy0xNDg6NDkiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTMiIGxvY2F0b3I9IjE0ODozMi0xNDg6NDgiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyOTIiIGxvY2F0b3I9IjE0ODozMi0xNDg6MzgiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTkiIGxvY2F0b3I9IjE0ODo1My0xNDg6OTMiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk4IiBsb2NhdG9yPSIxNDg6NzYtMTQ4OjkyIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTYiIGxvY2F0b3I9IjE0ODo3Ni0xNDg6ODAiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI5NyIgbG9jYXRvcj0iMTQ4Ojg1LTE0ODo5MiIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIzMTIiIGxvY2F0b3I9IjE0OTo1LTE0OTo5NCIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMCIgbG9jYXRvcj0iMTQ5OjUtMTQ5Ojg1IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA0IiBsb2NhdG9yPSIxNDk6NS0xNDk6NDEiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDMiIGxvY2F0b3I9IjE0OToyNC0xNDk6NDAiIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMDIiIGxvY2F0b3I9IjE0OToyNC0xNDk6MzAiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDkiIGxvY2F0b3I9IjE0OTo0NS0xNDk6ODUiIG5hbWU9IlRvUXVhbnRpdHkiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA4IiBsb2NhdG9yPSIxNDk6NjgtMTQ5Ojg0IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDYiIGxvY2F0b3I9IjE0OTo2OC0xNDk6NzIiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMwNyIgbG9jYXRvcj0iMTQ5Ojc3LTE0OTo4NCIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzExIiBsb2NhdG9yPSIxNDk6ODktMTQ5Ojk0IiB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTQiIGxvY2F0b3I9IjE1MDo3LTE1MDoxMCIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICAgICAgICAgICA8aGlnaENsb3NlZEV4cHJlc3Npb24gcGF0aD0iaGlnaENsb3NlZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMTUiIGxvY2F0b3I9IjE0Nzo3LTE1MDoxMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjkwIiBsb2NhdG9yPSIxNDc6MTAtMTQ3OjI2IiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODgiIGxvY2F0b3I9IjE0NzoxMC0xNDc6MTQiIG5hbWU9Im9uc2V0IiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjI4OSIgbG9jYXRvcj0iMTQ3OjE5LTE0NzoyNiIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMzEzIiBsb2NhdG9yPSIxNDg6NC0xNDk6OTUiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMzAwIiBsb2NhdG9yPSIxNDg6MTMtMTQ4OjkzIiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk0IiBsb2NhdG9yPSIxNDg6MTMtMTQ4OjQ5IiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjkzIiBsb2NhdG9yPSIxNDg6MzItMTQ4OjQ4IiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjkyIiBsb2NhdG9yPSIxNDg6MzItMTQ4OjM4IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk5IiBsb2NhdG9yPSIxNDg6NTMtMTQ4OjkzIiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5OCIgbG9jYXRvcj0iMTQ4Ojc2LTE0ODo5MiIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk2IiBsb2NhdG9yPSIxNDg6NzYtMTQ4OjgwIiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIyOTciIGxvY2F0b3I9IjE0ODo4NS0xNDg6OTIiIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMzEyIiBsb2NhdG9yPSIxNDk6NS0xNDk6OTQiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTAiIGxvY2F0b3I9IjE0OTo1LTE0OTo4NSIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwNCIgbG9jYXRvcj0iMTQ5OjUtMTQ5OjQxIiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAzIiBsb2NhdG9yPSIxNDk6MjQtMTQ5OjQwIiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzAyIiBsb2NhdG9yPSIxNDk6MjQtMTQ5OjMwIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA5IiBsb2NhdG9yPSIxNDk6NDUtMTQ5Ojg1IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwOCIgbG9jYXRvcj0iMTQ5OjY4LTE0OTo4NCIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA2IiBsb2NhdG9yPSIxNDk6NjgtMTQ5OjcyIiBuYW1lPSJvbnNldCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzMDciIGxvY2F0b3I9IjE0OTo3Ny0xNDk6ODQiIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMSIgbG9jYXRvcj0iMTQ5Ojg5LTE0OTo5NCIgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzE0IiBsb2NhdG9yPSIxNTA6Ny0xNTA6MTAiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2ludFR5cGUgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L2hpZ2hDbG9zZWRFeHByZXNzaW9uPgogICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJvbnNldCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNjUiIGxvY2F0b3I9IjE0Mjo0MS0xNDI6MTA5IiB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMjYwIiBsb2NhdG9yPSIxNDI6NDgtMTQyOjYwIiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMjYxIiBsb2NhdG9yPSIxNDI6NjMtMTQyOjcwIiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjI2MiIgbG9jYXRvcj0iMTQyOjczLTE0Mjo4MyIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIyNjMiIGxvY2F0b3I9IjE0Mjo4Ni0xNDI6OTUiIG5hbWU9ImZoaXI6UmFuZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIyNjQiIGxvY2F0b3I9IjE0Mjo5OC0xNDI6MTA4IiBuYW1lPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8L29wZXJhbmRUeXBlU3BlY2lmaWVyPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM5MiIgbG9jYXRvcj0iMTUyOjEtMTYyOjEwIiBuYW1lPSJOb3JtYWxpemUgQWJhdGVtZW50IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzOTIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtOb3JtYWxpemUgQWJhdGVtZW50JnF1b3Q7KGNvbmRpdGlvbiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMTkiPgogICAgICAgICAgICAgICAgICA8YTpzPkNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzkxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hYmF0ZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuCgkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZVRpbWUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmFiYXRlbWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5kYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9EYXRlVGltZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YWJhdGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJZWxzZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hYmF0ZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbgoJICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9JbnRlcnZhbCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YWJhdGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgllbHNlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWYgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmFiYXRlbWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5BZ2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuCgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbFs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YmlydGhEYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9RdWFudGl0eSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YWJhdGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkFnZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwKCQkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YmlydGhEYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9RdWFudGl0eSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YWJhdGVtZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkFnZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+MSB5ZWFyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJZWxzZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5hYmF0ZW1lbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuYm9vbGVhbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzg2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbFs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVuZCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O05vcm1hbGl6ZSBPbnNldCZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9uc2V0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YXNzZXJ0ZWREYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4NyI+CgllbHNlIG51bGw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzOTEiIGxvY2F0b3I9IjE1MzoyLTE2MjoxMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzIzIiBsb2NhdG9yPSIxNTM6NS0xNTM6NDAiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyMSIgbG9jYXRvcj0iMTUzOjUtMTUzOjIzIiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzIwIiBsb2NhdG9yPSIxNTM6NS0xNTM6MTMiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMyMiIgbG9jYXRvcj0iMTUzOjI4LTE1Mzo0MCIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIzMzYiIGxvY2F0b3I9IjE1NDo0LTE1NDoxMzUiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIzMjkiIGxvY2F0b3I9IjE1NDoxMy0xNTQ6NzIiIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzI4IiBsb2NhdG9yPSIxNTQ6MzYtMTU0OjcxIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjYiIGxvY2F0b3I9IjE1NDozNi0xNTQ6NTQiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMjUiIGxvY2F0b3I9IjE1NDozNi0xNTQ6NDQiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMyNyIgbG9jYXRvcj0iMTU0OjU5LTE1NDo3MSIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIzMzUiIGxvY2F0b3I9IjE1NDo3NS0xNTQ6MTM0IiBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzNCIgbG9jYXRvcj0iMTU0Ojk4LTE1NDoxMzMiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzMiIgbG9jYXRvcj0iMTU0Ojk4LTE1NDoxMTYiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMzEiIGxvY2F0b3I9IjE1NDo5OC0xNTQ6MTA2IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzMzMiIGxvY2F0b3I9IjE1NDoxMjEtMTU0OjEzMyIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIzOTAiIGxvY2F0b3I9IjE1NTo3LTE2MjoxMCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQwIiBsb2NhdG9yPSIxNTU6MTAtMTU1OjQzIiB4c2k6dHlwZT0iSXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzgiIGxvY2F0b3I9IjE1NToxMC0xNTU6MjgiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMzciIGxvY2F0b3I9IjE1NToxMC0xNTU6MTgiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8aXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMzOSIgbG9jYXRvcj0iMTU1OjMzLTE1NTo0MyIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMzQ2IiBsb2NhdG9yPSIxNTY6NC0xNTY6NjEiIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQ1IiBsb2NhdG9yPSIxNTY6MjctMTU2OjYwIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDMiIGxvY2F0b3I9IjE1NjoyNy0xNTY6NDUiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNDIiIGxvY2F0b3I9IjE1NjoyNy0xNTY6MzUiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM0NCIgbG9jYXRvcj0iMTU2OjUwLTE1Njo2MCIgbmFtZT0iZmhpcjpQZXJpb2QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjM4OSIgbG9jYXRvcj0iMTU3OjctMTYyOjEwIiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTAiIGxvY2F0b3I9IjE1NzoxMC0xNTc6NDAiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0OCIgbG9jYXRvcj0iMTU3OjEwLTE1NzoyOCIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM0NyIgbG9jYXRvcj0iMTU3OjEwLTE1NzoxOCIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzQ5IiBsb2NhdG9yPSIxNTc6MzMtMTU3OjQwIiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG93IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM3NSIgbG9jYXRvcj0iMTU4OjMtMTU5OjEwOCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIzNjEiIGxvY2F0b3I9IjE1ODoxMi0xNTg6MTA2IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzU0IiBsb2NhdG9yPSIxNTg6MTItMTU4OjQ4IiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzUzIiBsb2NhdG9yPSIxNTg6MzEtMTU4OjQ3IiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzUyIiBsb2NhdG9yPSIxNTg6MzEtMTU4OjM3IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzYwIiBsb2NhdG9yPSIxNTg6NTItMTU4OjEwNiIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTkiIGxvY2F0b3I9IjE1ODo3NS0xNTg6MTA1IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTciIGxvY2F0b3I9IjE1ODo3NS0xNTg6OTMiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNTYiIGxvY2F0b3I9IjE1ODo3NS0xNTg6ODMiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM1OCIgbG9jYXRvcj0iMTU4Ojk4LTE1ODoxMDUiIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMzc0IiBsb2NhdG9yPSIxNTk6NC0xNTk6MTA3IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzcyIiBsb2NhdG9yPSIxNTk6NC0xNTk6OTgiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNjUiIGxvY2F0b3I9IjE1OTo0LTE1OTo0MCIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2NCIgbG9jYXRvcj0iMTU5OjIzLTE1OTozOSIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM2MyIgbG9jYXRvcj0iMTU5OjIzLTE1OToyOSIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3MSIgbG9jYXRvcj0iMTU5OjQ0LTE1OTo5OCIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNzAiIGxvY2F0b3I9IjE1OTo2Ny0xNTk6OTciIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2OCIgbG9jYXRvcj0iMTU5OjY3LTE1OTo4NSIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM2NyIgbG9jYXRvcj0iMTU5OjY3LTE1OTo3NSIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzY5IiBsb2NhdG9yPSIxNTk6OTAtMTU5Ojk3IiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNzMiIGxvY2F0b3I9IjE1OToxMDItMTU5OjEwNyIgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICA8bG93Q2xvc2VkRXhwcmVzc2lvbiBwYXRoPSJsb3dDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzc1IiBsb2NhdG9yPSIxNTg6My0xNTk6MTA4IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjM2MSIgbG9jYXRvcj0iMTU4OjEyLTE1ODoxMDYiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTQiIGxvY2F0b3I9IjE1ODoxMi0xNTg6NDgiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTMiIGxvY2F0b3I9IjE1ODozMS0xNTg6NDciIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNTIiIGxvY2F0b3I9IjE1ODozMS0xNTg6MzciIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNjAiIGxvY2F0b3I9IjE1ODo1Mi0xNTg6MTA2IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1OSIgbG9jYXRvcj0iMTU4Ojc1LTE1ODoxMDUiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1NyIgbG9jYXRvcj0iMTU4Ojc1LTE1ODo5MyIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM1NiIgbG9jYXRvcj0iMTU4Ojc1LTE1ODo4MyIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzU4IiBsb2NhdG9yPSIxNTg6OTgtMTU4OjEwNSIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIzNzQiIGxvY2F0b3I9IjE1OTo0LTE1OToxMDciIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNzIiIGxvY2F0b3I9IjE1OTo0LTE1OTo5OCIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2NSIgbG9jYXRvcj0iMTU5OjQtMTU5OjQwIiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzY0IiBsb2NhdG9yPSIxNTk6MjMtMTU5OjM5IiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzYzIiBsb2NhdG9yPSIxNTk6MjMtMTU5OjI5IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzcxIiBsb2NhdG9yPSIxNTk6NDQtMTU5Ojk4IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3MCIgbG9jYXRvcj0iMTU5OjY3LTE1OTo5NyIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzY4IiBsb2NhdG9yPSIxNTk6NjctMTU5Ojg1IiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzY3IiBsb2NhdG9yPSIxNTk6NjctMTU5Ojc1IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNjkiIGxvY2F0b3I9IjE1OTo5MC0xNTk6OTciIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3MyIgbG9jYXRvcj0iMTU5OjEwMi0xNTk6MTA3IiB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvbG93Q2xvc2VkRXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJoaWdoIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM3NSIgbG9jYXRvcj0iMTU4OjMtMTU5OjEwOCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIzNjEiIGxvY2F0b3I9IjE1ODoxMi0xNTg6MTA2IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzU0IiBsb2NhdG9yPSIxNTg6MTItMTU4OjQ4IiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzUzIiBsb2NhdG9yPSIxNTg6MzEtMTU4OjQ3IiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzUyIiBsb2NhdG9yPSIxNTg6MzEtMTU4OjM3IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzYwIiBsb2NhdG9yPSIxNTg6NTItMTU4OjEwNiIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTkiIGxvY2F0b3I9IjE1ODo3NS0xNTg6MTA1IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTciIGxvY2F0b3I9IjE1ODo3NS0xNTg6OTMiIHBhdGg9ImFiYXRlbWVudCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNTYiIGxvY2F0b3I9IjE1ODo3NS0xNTg6ODMiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM1OCIgbG9jYXRvcj0iMTU4Ojk4LTE1ODoxMDUiIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMzc0IiBsb2NhdG9yPSIxNTk6NC0xNTk6MTA3IiB4c2k6dHlwZT0iQWRkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzcyIiBsb2NhdG9yPSIxNTk6NC0xNTk6OTgiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNjUiIGxvY2F0b3I9IjE1OTo0LTE1OTo0MCIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2NCIgbG9jYXRvcj0iMTU5OjIzLTE1OTozOSIgcGF0aD0iYmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM2MyIgbG9jYXRvcj0iMTU5OjIzLTE1OToyOSIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3MSIgbG9jYXRvcj0iMTU5OjQ0LTE1OTo5OCIgbmFtZT0iVG9RdWFudGl0eSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNzAiIGxvY2F0b3I9IjE1OTo2Ny0xNTk6OTciIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2OCIgbG9jYXRvcj0iMTU5OjY3LTE1OTo4NSIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM2NyIgbG9jYXRvcj0iMTU5OjY3LTE1OTo3NSIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzY5IiBsb2NhdG9yPSIxNTk6OTAtMTU5Ojk3IiBuYW1lPSJmaGlyOkFnZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNzMiIGxvY2F0b3I9IjE1OToxMDItMTU5OjEwNyIgdmFsdWU9IjEiIHVuaXQ9InllYXIiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgPGhpZ2hDbG9zZWRFeHByZXNzaW9uIHBhdGg9ImhpZ2hDbG9zZWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzc1IiBsb2NhdG9yPSIxNTg6My0xNTk6MTA4IiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjM2MSIgbG9jYXRvcj0iMTU4OjEyLTE1ODoxMDYiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTQiIGxvY2F0b3I9IjE1ODoxMi0xNTg6NDgiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTMiIGxvY2F0b3I9IjE1ODozMS0xNTg6NDciIHBhdGg9ImJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNTIiIGxvY2F0b3I9IjE1ODozMS0xNTg6MzciIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNjAiIGxvY2F0b3I9IjE1ODo1Mi0xNTg6MTA2IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1OSIgbG9jYXRvcj0iMTU4Ojc1LTE1ODoxMDUiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1NyIgbG9jYXRvcj0iMTU4Ojc1LTE1ODo5MyIgcGF0aD0iYWJhdGVtZW50IiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM1NiIgbG9jYXRvcj0iMTU4Ojc1LTE1ODo4MyIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzU4IiBsb2NhdG9yPSIxNTg6OTgtMTU4OjEwNSIgbmFtZT0iZmhpcjpBZ2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIzNzQiIGxvY2F0b3I9IjE1OTo0LTE1OToxMDciIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNzIiIGxvY2F0b3I9IjE1OTo0LTE1OTo5OCIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2NSIgbG9jYXRvcj0iMTU5OjQtMTU5OjQwIiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzY0IiBsb2NhdG9yPSIxNTk6MjMtMTU5OjM5IiBwYXRoPSJiaXJ0aERhdGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzYzIiBsb2NhdG9yPSIxNTk6MjMtMTU5OjI5IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzcxIiBsb2NhdG9yPSIxNTk6NDQtMTU5Ojk4IiBuYW1lPSJUb1F1YW50aXR5IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3MCIgbG9jYXRvcj0iMTU5OjY3LTE1OTo5NyIgc3RyaWN0PSJmYWxzZSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzY4IiBsb2NhdG9yPSIxNTk6NjctMTU5Ojg1IiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzY3IiBsb2NhdG9yPSIxNTk6NjctMTU5Ojc1IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNjkiIGxvY2F0b3I9IjE1OTo5MC0xNTk6OTciIG5hbWU9ImZoaXI6QWdlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3MyIgbG9jYXRvcj0iMTU5OjEwMi0xNTk6MTA3IiB2YWx1ZT0iMSIgdW5pdD0ieWVhciIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvaGlnaENsb3NlZEV4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMzg4IiBsb2NhdG9yPSIxNjA6Ny0xNjI6MTAiIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3OSIgbG9jYXRvcj0iMTYwOjEwLTE2MDo0NCIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzc3IiBsb2NhdG9yPSIxNjA6MTAtMTYwOjI4IiBwYXRoPSJhYmF0ZW1lbnQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzc2IiBsb2NhdG9yPSIxNjA6MTAtMTYwOjE4IiBuYW1lPSJjb25kaXRpb24iIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNzgiIGxvY2F0b3I9IjE2MDozMy0xNjA6NDQiIG5hbWU9ImZoaXI6Ym9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIzODYiIGxvY2F0b3I9IjE2MTo0LTE2MTo3OCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIzODMiIGxvY2F0b3I9IjE2MToxMy0xNjE6NTMiIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODIiIGxvY2F0b3I9IjE2MToyMC0xNjE6NTMiIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzgxIiBsb2NhdG9yPSIxNjE6MzgtMTYxOjUyIiBwYXRoPSJvbnNldCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzODAiIGxvY2F0b3I9IjE2MTozOC0xNjE6NDYiIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICAgICAgICAgICA8aGlnaCBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM4NSIgbG9jYXRvcj0iMTYxOjU2LTE2MTo3NyIgcGF0aD0iYXNzZXJ0ZWREYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM4NCIgbG9jYXRvcj0iMTYxOjU2LTE2MTo2NCIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICAgICAgICA8ZWxzZSB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODciIGxvY2F0b3I9IjE2Mjo3LTE2MjoxMCIgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iY29uZGl0aW9uIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjMxOSIgbG9jYXRvcj0iMTUyOjQ5LTE1Mjo1NyIgbmFtZT0iZmhpcjpDb25kaXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MDIiIGxvY2F0b3I9IjE2NDoxLTE2NTo5NiIgbmFtZT0iR2V0UHJldmFsZW5jZVBlcmlvZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDAyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7R2V0UHJldmFsZW5jZVBlcmlvZCZxdW90Oyhjb25kaXRpb24gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzkzIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Db25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MDEiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O05vcm1hbGl6ZSBPbnNldCZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9uc2V0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZW5kIG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Tm9ybWFsaXplIEFiYXRlbWVudCZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDAxIiBsb2NhdG9yPSIxNjU6My0xNjU6OTYiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+CiAgICAgICAgICAgIDxsb3cgbG9jYWxJZD0iMzk3IiBsb2NhdG9yPSIxNjU6MTItMTY1OjU0IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzOTYiIGxvY2F0b3I9IjE2NToyMS0xNjU6NTQiIG5hbWU9Ik5vcm1hbGl6ZSBPbnNldCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzk1IiBsb2NhdG9yPSIxNjU6MzktMTY1OjUzIiBwYXRoPSJvbnNldCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzOTQiIGxvY2F0b3I9IjE2NTozOS0xNjU6NDciIG5hbWU9ImNvbmRpdGlvbiIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICA8aGlnaCBsb2NhbElkPSI0MDAiIGxvY2F0b3I9IjE2NTo1Ny0xNjU6OTUiIHhzaTp0eXBlPSJFbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzOTkiIGxvY2F0b3I9IjE2NTo2NC0xNjU6OTUiIG5hbWU9Ik5vcm1hbGl6ZSBBYmF0ZW1lbnQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM5OCIgbG9jYXRvcj0iMTY1Ojg2LTE2NTo5NCIgbmFtZT0iY29uZGl0aW9uIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJjb25kaXRpb24iPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzkzIiBsb2NhdG9yPSIxNjQ6NDktMTY0OjU3IiBuYW1lPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQyNiIgbG9jYXRvcj0iMTY3OjEtMTcxOjQ4IiBuYW1lPSJOb3JtYWxpemUgSW50ZXJ2YWwiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQyNiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O05vcm1hbGl6ZSBJbnRlcnZhbCZxdW90OyhjaG9pY2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDA1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5DaG9pY2UmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDAzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDA0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLlBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4+PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDI1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmlmIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jaG9pY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGlzIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUi5kYXRlVGltZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5JbnRlcnZhbFs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9EYXRlVGltZSg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2hvaWNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuZGF0ZVRpbWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvRGF0ZVRpbWUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNob2ljZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLmRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJZWxzZQoJICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9JbnRlcnZhbCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y2hvaWNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkZISVIuUGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MjUiIGxvY2F0b3I9IjE2ODozLTE3MTo0OCIgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDA4IiBsb2NhdG9yPSIxNjg6Ni0xNjg6MjgiIHhzaTp0eXBlPSJJcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQwNiIgbG9jYXRvcj0iMTY4OjYtMTY4OjExIiBuYW1lPSJjaG9pY2UiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxpc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDA3IiBsb2NhdG9yPSIxNjg6MTYtMTY4OjI4IiBuYW1lPSJmaGlyOmRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjQxOSIgbG9jYXRvcj0iMTY5OjQtMTY5OjEwOSIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjQxMyIgbG9jYXRvcj0iMTY5OjEzLTE2OTo1OSIgbmFtZT0iVG9EYXRlVGltZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MTIiIGxvY2F0b3I9IjE2OTozNi0xNjk6NTgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQxMCIgbG9jYXRvcj0iMTY5OjM2LTE2OTo0MSIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQxMSIgbG9jYXRvcj0iMTY5OjQ2LTE2OTo1OCIgbmFtZT0iZmhpcjpkYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICAgICA8aGlnaCBsb2NhbElkPSI0MTgiIGxvY2F0b3I9IjE2OTo2Mi0xNjk6MTA4IiBuYW1lPSJUb0RhdGVUaW1lIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQxNyIgbG9jYXRvcj0iMTY5Ojg1LTE2OToxMDciIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQxNSIgbG9jYXRvcj0iMTY5Ojg1LTE2OTo5MCIgbmFtZT0iY2hvaWNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQxNiIgbG9jYXRvcj0iMTY5Ojk1LTE2OToxMDciIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iNDI0IiBsb2NhdG9yPSIxNzE6NC0xNzE6NDgiIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDIzIiBsb2NhdG9yPSIxNzE6MjctMTcxOjQ3IiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MjEiIGxvY2F0b3I9IjE3MToyNy0xNzE6MzIiIG5hbWU9ImNob2ljZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MjIiIGxvY2F0b3I9IjE3MTozNy0xNzE6NDciIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImNob2ljZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MDUiIGxvY2F0b3I9IjE2Nzo0NS0xNjc6NzgiIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSI0MDMiIGxvY2F0b3I9IjE2Nzo1Mi0xNjc6NjQiIG5hbWU9ImZoaXI6ZGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSI0MDQiIGxvY2F0b3I9IjE2Nzo2Ny0xNjc6NzciIG5hbWU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZFR5cGVTcGVjaWZpZXI+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDMyIiBsb2NhdG9yPSIxNzM6MS0xNzQ6MjIiIG5hbWU9IkdldElkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0MzIiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtHZXRJZCZxdW90Oyh1cmkgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDI3Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5TdHJpbmc8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQzMSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5MYXN0KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+U3BsaXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51cmk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPicvJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MzEiIGxvY2F0b3I9IjE3NDoyLTE3NDoyMiIgeHNpOnR5cGU9Ikxhc3QiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQzMCIgbG9jYXRvcj0iMTc0OjctMTc0OjIxIiB4c2k6dHlwZT0iU3BsaXQiPgogICAgICAgICAgICAgICA8c3RyaW5nVG9TcGxpdCBsb2NhbElkPSI0MjgiIGxvY2F0b3I9IjE3NDoxMy0xNzQ6MTUiIG5hbWU9InVyaSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPHNlcGFyYXRvciBsb2NhbElkPSI0MjkiIGxvY2F0b3I9IjE3NDoxOC0xNzQ6MjAiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIvIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmkiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDI3IiBsb2NhdG9yPSIxNzM6MjktMTczOjM0IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ1MCIgbG9jYXRvcj0iMTc2OjEtMTc4OjEwNyIgbmFtZT0iRW5jb3VudGVyRGlhZ25vc2lzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0NTAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtFbmNvdW50ZXJEaWFnbm9zaXMmcXVvdDsoRW5jb3VudGVyIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQzMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDQ5Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXIuZGlhZ25vc2lzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gRDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJldHVybiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0NvbmRpdGlvbl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBDb25kaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtHZXRJZCZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5EPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmVmZXJlbmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NDkiIGxvY2F0b3I9IjE3NzozLTE3ODoxMDciIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDM1IiBsb2NhdG9yPSIxNzc6My0xNzc6MjMiIGFsaWFzPSJEIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDM0IiBsb2NhdG9yPSIxNzc6My0xNzc6MjEiIHBhdGg9ImRpYWdub3NpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYWxJZD0iNDQ4IiBsb2NhdG9yPSIxNzg6NS0xNzg6MTA3Ij4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDQ3IiBsb2NhdG9yPSIxNzg6MTItMTc4OjEwNyIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NDYiIGxvY2F0b3I9IjE3ODoyNy0xNzg6MTA3IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQzNyIgbG9jYXRvcj0iMTc4OjI4LTE3ODo0OCIgYWxpYXM9IkNvbmRpdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQzNiIgbG9jYXRvcj0iMTc4OjI4LTE3ODozOCIgZGF0YVR5cGU9ImZoaXI6Q29uZGl0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI0NDUiIGxvY2F0b3I9IjE3ODo1MC0xNzg6MTA2IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NDAiIGxvY2F0b3I9IjE3ODo1Ni0xNzg6NzMiIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQzOSIgbG9jYXRvcj0iMTc4OjU2LTE3ODo2NyIgcGF0aD0iaWQiIHNjb3BlPSJDb25kaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ0NCIgbG9jYXRvcj0iMTc4Ojc3LTE3ODoxMDYiIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NDMiIGxvY2F0b3I9IjE3ODo4NS0xNzg6MTA1IiBwYXRoPSJyZWZlcmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDQyIiBsb2NhdG9yPSIxNzg6ODUtMTc4Ojk1IiBwYXRoPSJjb25kaXRpb24iIHNjb3BlPSJEIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0MzMiIGxvY2F0b3I9IjE3Njo0OC0xNzY6NTYiIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDgxIiBsb2NhdG9yPSIxODE6MS0xODQ6MTA2IiBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQ4MSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O1ByaW5jaXBhbERpYWdub3NpcyZxdW90OyhFbmNvdW50ZXIgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDUxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ4MCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDgwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c2luZ2xldG9uIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyLmRpYWdub3NpczwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yb2xlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gfiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvQ29uY2VwdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0JpbGxpbmcmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5EPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJhbms8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2MSI+ID0gMTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBQRDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkvLyZxdW90O0dldElkJnF1b3Q7KHVyaSBTdHJpbmcpOiByZXR1cm5zIHRoZSBsYXN0IFN0cmluZyBvZiBhIFNwbGl0IGJ5IC8gTGlzdCB0aGVyZWZvciBjYW5ub3QgdXNlIGluCgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDc4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zaW5nbGV0b24gZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPltDb25kaXRpb25dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gQ29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNvbmRpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7R2V0SWQmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UEQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29uZGl0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZWZlcmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ4MCIgbG9jYXRvcj0iMTgyOjItMTg0OjEwNiIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0NjYiIGxvY2F0b3I9IjE4MjoyLTE4Mjo5NSIgYWxpYXM9IlBEIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDY1IiBsb2NhdG9yPSIxODI6Mi0xODI6OTIiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDY0IiBsb2NhdG9yPSIxODI6MTgtMTgyOjkxIiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ1MyIgbG9jYXRvcj0iMTgyOjE5LTE4MjozOSIgYWxpYXM9IkQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NTIiIGxvY2F0b3I9IjE4MjoxOS0xODI6MzciIHBhdGg9ImRpYWdub3NpcyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI0NjMiIGxvY2F0b3I9IjE4Mjo0MS0xODI6OTAiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NTgiIGxvY2F0b3I9IjE4Mjo0Ny0xODI6NzUiIHhzaTp0eXBlPSJFcXVpdmFsZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ1NSIgbG9jYXRvcj0iMTgyOjQ3LTE4Mjo1MiIgcGF0aD0icm9sZSIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ1NyIgbG9jYXRvcj0iMTgyOjU2LTE4Mjo3NSIgeHNpOnR5cGU9IlRvQ29uY2VwdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ1NiIgbG9jYXRvcj0iMTgyOjY2LTE4Mjo3NCIgbmFtZT0iQmlsbGluZyIgeHNpOnR5cGU9IkNvZGVSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2MiIgbG9jYXRvcj0iMTgyOjgxLTE4Mjo5MCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlZ2VyIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2MCIgbG9jYXRvcj0iMTgyOjgxLTE4Mjo4NiIgcGF0aD0icmFuayIgc2NvcGU9IkQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2MSIgbG9jYXRvcj0iMTgyOjkwIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmV0dXJuIGxvY2FsSWQ9IjQ3OSIgbG9jYXRvcj0iMTg0OjMtMTg0OjEwNiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ3OCIgbG9jYXRvcj0iMTg0OjEwLTE4NDoxMDYiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDc3IiBsb2NhdG9yPSIxODQ6MjUtMTg0OjEwNiIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0NjgiIGxvY2F0b3I9IjE4NDoyNi0xODQ6NDYiIGFsaWFzPSJDb25kaXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NjciIGxvY2F0b3I9IjE4NDoyNi0xODQ6MzYiIGRhdGFUeXBlPSJmaGlyOkNvbmRpdGlvbiIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iNDc2IiBsb2NhdG9yPSIxODQ6NDgtMTg0OjEwNSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDcxIiBsb2NhdG9yPSIxODQ6NTQtMTg0OjcxIiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0NzAiIGxvY2F0b3I9IjE4NDo1NC0xODQ6NjUiIHBhdGg9ImlkIiBzY29wZT0iQ29uZGl0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NzUiIGxvY2F0b3I9IjE4NDo3NS0xODQ6MTA1IiBuYW1lPSJHZXRJZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDc0IiBsb2NhdG9yPSIxODQ6ODMtMTg0OjEwNCIgcGF0aD0icmVmZXJlbmNlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ3MyIgbG9jYXRvcj0iMTg0OjgzLTE4NDo5NCIgcGF0aD0iY29uZGl0aW9uIiBzY29wZT0iUEQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ1MSIgbG9jYXRvcj0iMTgxOjQ4LTE4MTo1NiIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0OTQiIGxvY2F0b3I9IjE4NzoxLTE5MDozIiBuYW1lPSJHZXRMb2NhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDk0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gR2V0TG9jYXRpb24ocmVmZXJlbmNlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ4MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+UmVmZXJlbmNlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDkzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KAogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bTG9jYXRpb25dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTG9jYXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+TG9jYXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkdldElkKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZWZlcmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmVmZXJlbmNlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDkzIiBsb2NhdG9yPSIxODg6My0xOTA6MyIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0OTIiIGxvY2F0b3I9IjE4ODoxOC0xOTA6MyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0ODQiIGxvY2F0b3I9IjE4OTo1LTE4OToyMyIgYWxpYXM9IkxvY2F0aW9uIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDgzIiBsb2NhdG9yPSIxODk6NS0xODk6MTQiIGRhdGFUeXBlPSJmaGlyOkxvY2F0aW9uIiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI0OTEiIGxvY2F0b3I9IjE4OToyNS0xODk6NzYiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ4NyIgbG9jYXRvcj0iMTg5OjMxLTE4OTo0NyIgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDg2IiBsb2NhdG9yPSIxODk6MzEtMTg5OjQxIiBwYXRoPSJpZCIgc2NvcGU9IkxvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0OTAiIGxvY2F0b3I9IjE4OTo1MS0xODk6NzYiIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0ODkiIGxvY2F0b3I9IjE4OTo1Ny0xODk6NzUiIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0ODgiIGxvY2F0b3I9IjE4OTo1Ny0xODk6NjUiIG5hbWU9InJlZmVyZW5jZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InJlZmVyZW5jZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI0ODIiIGxvY2F0b3I9IjE4NzozOS0xODc6NDciIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTA4IiBsb2NhdG9yPSIxOTc6MS0yMDA6MTAiIG5hbWU9IkdldEV4dGVuc2lvbnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUwOCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O0dldEV4dGVuc2lvbnMmcXVvdDsoZG9tYWluUmVzb3VyY2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDk1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Eb21haW5SZXNvdXJjZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIHVybCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0OTYiPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUwNyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTA3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZG9tYWluUmVzb3VyY2UuZXh0ZW5zaW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gRTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTA0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51cmw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4naHR0cDovL2hsNy5vcmcvZmhpci91cy9xaWNvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi8nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTA2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXR1cm4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTA1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MDciIGxvY2F0b3I9IjE5ODozLTIwMDoxMCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0OTgiIGxvY2F0b3I9IjE5ODozLTE5ODoyOCIgYWxpYXM9IkUiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0OTciIGxvY2F0b3I9IjE5ODozLTE5ODoyNiIgcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9ImRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iNTA0IiBsb2NhdG9yPSIxOTk6NC0xOTk6NzciIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUwMCIgbG9jYXRvcj0iMTk5OjEwLTE5OToxNCIgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTAzIiBsb2NhdG9yPSIxOTk6MTgtMTk5Ojc3IiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MDEiIGxvY2F0b3I9IjE5OToxOS0xOTk6NzAiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL3FpY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTAyIiBsb2NhdG9yPSIxOTk6NzQtMTk5Ojc2IiBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSI1MDYiIGxvY2F0b3I9IjIwMDozLTIwMDoxMCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUwNSIgbG9jYXRvcj0iMjAwOjEwIiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNDk1IiBsb2NhdG9yPSIxOTc6NDgtMTk3OjYxIiBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjQ5NiIgbG9jYXRvcj0iMTk3OjY4LTE5Nzo3MyIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MTUiIGxvY2F0b3I9IjIwMjoxLTIwMzo1MyIgbmFtZT0iR2V0RXh0ZW5zaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1MTUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtHZXRFeHRlbnNpb24mcXVvdDsoZG9tYWluUmVzb3VyY2UgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTA5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Eb21haW5SZXNvdXJjZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4sIHVybCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MTAiPgogICAgICAgICAgICAgICAgICA8YTpzPlN0cmluZzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUxNCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTE0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zaW5nbGV0b24gZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0dldEV4dGVuc2lvbnMmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTExIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kb21haW5SZXNvdXJjZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTE0IiBsb2NhdG9yPSIyMDM6My0yMDM6NTMiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTEzIiBsb2NhdG9yPSIyMDM6MTgtMjAzOjUzIiBuYW1lPSJHZXRFeHRlbnNpb25zIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MTEiIGxvY2F0b3I9IjIwMzozNC0yMDM6NDciIG5hbWU9ImRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MTIiIGxvY2F0b3I9IjIwMzo1MC0yMDM6NTIiIG5hbWU9InVybCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9ImRvbWFpblJlc291cmNlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjUwOSIgbG9jYXRvcj0iMjAyOjQ3LTIwMjo2MCIgbmFtZT0iZmhpcjpEb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InVybCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1MTAiIGxvY2F0b3I9IjIwMjo2Ny0yMDI6NzIiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTI5IiBsb2NhdG9yPSIyMTA6MS0yMTM6MTAiIG5hbWU9IkdldEJhc2VFeHRlbnNpb25zIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1MjkiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtHZXRCYXNlRXh0ZW5zaW9ucyZxdW90Oyhkb21haW5SZXNvdXJjZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MTYiPgogICAgICAgICAgICAgICAgICA8YTpzPkRvbWFpblJlc291cmNlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiwgdXJsIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUxNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTI4Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTE4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kb21haW5SZXNvdXJjZS5leHRlbnNpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBFPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnVybDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gKyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnVybDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTI4IiBsb2NhdG9yPSIyMTE6My0yMTM6MTAiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTE5IiBsb2NhdG9yPSIyMTE6My0yMTE6MjgiIGFsaWFzPSJFIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTE4IiBsb2NhdG9yPSIyMTE6My0yMTE6MjYiIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjUyNSIgbG9jYXRvcj0iMjEyOjQtMjEyOjY3IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MjEiIGxvY2F0b3I9IjIxMjoxMC0yMTI6MTQiIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUyNCIgbG9jYXRvcj0iMjEyOjE4LTIxMjo2NyIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTIyIiBsb2NhdG9yPSIyMTI6MTktMjEyOjYwIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uLyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTIzIiBsb2NhdG9yPSIyMTI6NjQtMjEyOjY2IiBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSI1MjciIGxvY2F0b3I9IjIxMzozLTIxMzoxMCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUyNiIgbG9jYXRvcj0iMjEzOjEwIiBuYW1lPSJFIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iZG9tYWluUmVzb3VyY2UiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTE2IiBsb2NhdG9yPSIyMTA6NTItMjEwOjY1IiBuYW1lPSJmaGlyOkRvbWFpblJlc291cmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0idXJsIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjUxNyIgbG9jYXRvcj0iMjEwOjcyLTIxMDo3NyIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1MzYiIGxvY2F0b3I9IjIxNToxLTIxNjo1NyIgbmFtZT0iR2V0QmFzZUV4dGVuc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTM2Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7R2V0QmFzZUV4dGVuc2lvbiZxdW90Oyhkb21haW5SZXNvdXJjZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MzAiPgogICAgICAgICAgICAgICAgICA8YTpzPkRvbWFpblJlc291cmNlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiwgdXJsIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUzMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPik6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTM1Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MzUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNpbmdsZXRvbiBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7R2V0QmFzZUV4dGVuc2lvbnMmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kb21haW5SZXNvdXJjZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTM1IiBsb2NhdG9yPSIyMTY6My0yMTY6NTciIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTM0IiBsb2NhdG9yPSIyMTY6MTgtMjE2OjU3IiBuYW1lPSJHZXRCYXNlRXh0ZW5zaW9ucyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTMyIiBsb2NhdG9yPSIyMTY6MzgtMjE2OjUxIiBuYW1lPSJkb21haW5SZXNvdXJjZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTMzIiBsb2NhdG9yPSIyMTY6NTQtMjE2OjU2IiBuYW1lPSJ1cmwiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJkb21haW5SZXNvdXJjZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1MzAiIGxvY2F0b3I9IjIxNTo1MS0yMTU6NjQiIG5hbWU9ImZoaXI6RG9tYWluUmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ1cmwiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iNTMxIiBsb2NhdG9yPSIyMTU6NzEtMjE1Ojc2IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU0MCIgbG9jYXRvcj0iMjIyOjEtMjIzOjU0IiBuYW1lPSJHZXRQcm92ZW5hbmNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1NDAiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtHZXRQcm92ZW5hbmNlJnF1b3Q7KHJlc291cmNlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUzNyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+UmVzb3VyY2U8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+KToKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MzkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c2luZ2xldG9uIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bUHJvdmVuYW5jZTogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dGFyZ2V0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXNvdXJjZS5pZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTM5IiBsb2NhdG9yPSIyMjM6My0yMjM6NTQiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTM4IiBsb2NhdG9yPSIyMjM6MTgtMjIzOjU0IiBkYXRhVHlwZT0iZmhpcjpQcm92ZW5hbmNlIiBjb2RlUHJvcGVydHk9InRhcmdldCIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICA8Y29kZXMgeHNpOnR5cGU9IlRvTGlzdCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2F0b3I9IjIyMzo0Mi0yMjM6NTIiIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9InJlc291cmNlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvY29kZXM+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJyZXNvdXJjZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1MzciIGxvY2F0b3I9IjIyMjo0Mi0yMjI6NDkiIG5hbWU9ImZoaXI6UmVzb3VyY2UiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1NjAiIGxvY2F0b3I9IjIyNToxLTIyOTo5NyIgbmFtZT0iR2V0TWVkaWNhdGlvbkNvZGUiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU2MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O0dldE1lZGljYXRpb25Db2RlJnF1b3Q7KHJlcXVlc3QgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTQxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5NZWRpY2F0aW9uUmVxdWVzdDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4pOgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU1OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTU5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NDUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXF1ZXN0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm1lZGljYXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNvZGVhYmxlQ29uY2VwdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4KCSAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NDciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmVxdWVzdDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tZWRpY2F0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYXMgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTQ4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Db2RlYWJsZUNvbmNlcHQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJZWxzZQoJICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c2luZ2xldG9uIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bTWVkaWNhdGlvbjogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2V0SWQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTUwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZXF1ZXN0PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm1lZGljYXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlJlZmVyZW5jZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZWZlcmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU1OSIgbG9jYXRvcj0iMjI2OjMtMjI5Ojk3IiB4c2k6dHlwZT0iSWYiPgogICAgICAgICAgICA8Y29uZGl0aW9uIGFzVHlwZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NDUiIGxvY2F0b3I9IjIyNjo2LTIyNjo0MiIgeHNpOnR5cGU9IklzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTQzIiBsb2NhdG9yPSIyMjY6Ni0yMjY6MjMiIHBhdGg9Im1lZGljYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTQyIiBsb2NhdG9yPSIyMjY6Ni0yMjY6MTIiIG5hbWU9InJlcXVlc3QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPGlzVHlwZVNwZWNpZmllciBsb2NhbElkPSI1NDQiIGxvY2F0b3I9IjIyNjoyOC0yMjY6NDIiIG5hbWU9ImZoaXI6Q29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9jb25kaXRpb24+CiAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjU0OSIgbG9jYXRvcj0iMjI3OjQtMjI3OjQwIiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NDciIGxvY2F0b3I9IjIyNzo0LTIyNzoyMSIgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1NDYiIGxvY2F0b3I9IjIyNzo0LTIyNzoxMCIgbmFtZT0icmVxdWVzdCIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjU0OCIgbG9jYXRvcj0iMjI3OjI2LTIyNzo0MCIgbmFtZT0iZmhpcjpDb2RlYWJsZUNvbmNlcHQiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSI1NTgiIGxvY2F0b3I9IjIyOTo0LTIyOTo5NyIgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1NTciIGxvY2F0b3I9IjIyOTo0LTIyOTo5MiIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NTYiIGxvY2F0b3I9IjIyOToyMC0yMjk6OTEiIGRhdGFUeXBlPSJmaGlyOk1lZGljYXRpb24iIGNvZGVQcm9wZXJ0eT0iaWQiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NTUiIGxvY2F0b3I9IjIyOTo0MC0yMjk6ODkiIG5hbWU9IkdldElkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NTQiIGxvY2F0b3I9IjIyOTo0Ni0yMjk6ODgiIHBhdGg9InJlZmVyZW5jZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1NTMiIGxvY2F0b3I9IjIyOTo0Ni0yMjk6NzgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU1MSIgbG9jYXRvcj0iMjI5OjQ3LTIyOTo2NCIgcGF0aD0ibWVkaWNhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1NTAiIGxvY2F0b3I9IjIyOTo0Ny0yMjk6NTMiIG5hbWU9InJlcXVlc3QiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSI1NTIiIGxvY2F0b3I9IjIyOTo2OS0yMjk6NzciIG5hbWU9ImZoaXI6UmVmZXJlbmNlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGVzPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0icmVxdWVzdCI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSI1NDEiIGxvY2F0b3I9IjIyNTo0NS0yMjU6NjEiIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-SupplementalDataElements_FHIR3-1.0.0.json b/fhir3/input/resources/library/library-SupplementalDataElements_FHIR3-1.0.0.json index 8aa576f8..bb4435c1 100644 --- a/fhir3/input/resources/library/library-SupplementalDataElements_FHIR3-1.0.0.json +++ b/fhir3/input/resources/library/library-SupplementalDataElements_FHIR3-1.0.0.json @@ -3,47 +3,100 @@ "id": "library-SupplementalDataElements-FHIR3-1.0.0", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-SupplementalDataElements-FHIR3-1.0.0</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">1.0.0</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Coverage</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n (flatten (\n Patient.extension Extension\n where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n return Extension.extension\n )) E\n where E.url = 'ombCategory'\n or E.url = 'detailed'\n return E.value as Coding\n\ndefine "SDE Payer":\n [Coverage: type in "Payer"] Payer\n return {\n code: Payer.type,\n period: Payer.period\n }\n\ndefine "SDE Race":\n (flatten (\n Patient.extension Extension\n where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n return Extension.extension\n )) E\n where E.url = 'ombCategory'\n or E.url = 'detailed'\n return E.value as Coding\n\ndefine "SDE Sex":\n case\n when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n else null\n end\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-SupplementalDataElements-FHIR3-1.0.0</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">1.0.0</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Coverage</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library SupplementalDataElements_FHIR3 version '1.0.0'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n\nvalueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'\nvalueset "Race": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'\nvalueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'\nvalueset "Payer": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n (flatten (\n Patient.extension Extension\n where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'\n return Extension.extension\n )) E\n where E.url = 'ombCategory'\n or E.url = 'detailed'\n return E.value as Coding\n\ndefine "SDE Payer":\n [Coverage: type in "Payer"] Payer\n return {\n code: Payer.type,\n period: Payer.period\n }\n\ndefine "SDE Race":\n (flatten (\n Patient.extension Extension\n where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'\n return Extension.extension\n )) E\n where E.url = 'ombCategory'\n or E.url = 'detailed'\n return E.value as Coding\n\ndefine "SDE Sex":\n case\n when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }\n when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }\n else null\n end\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "1.0.0", "name": "SupplementalDataElements_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" - } + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/Library/FHIR-ModelInfo|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/FHIRHelpers|3.0.0" } - ], - "dataRequirement": [ - { - "type": "Coverage", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" - } - ] + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1" } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L2luY2x1ZGVzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iT05DIEFkbWluaXN0cmF0aXZlIFNleCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJSYWNlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuODM2IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkV0aG5pY2l0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXllciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjM1OTEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRSI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmxhdHRlbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iRXh0ZW5zaW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJFcXVhbCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9tYkNhdGVnb3J5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBzdHJpY3Q9ImZhbHNlIiB4c2k6dHlwZT0iQXMiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpDb2RpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvcmV0dXJuPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlNERSBQYXllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUGF5ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6Q292ZXJhZ2UiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDxyZXR1cm4+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iVHVwbGUiPg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iY29kZSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InBlcmlvZCI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgcGF0aD0icGVyaW9kIiBzY29wZT0iUGF5ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkUiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkZsYXR0ZW4iPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IkV4dGVuc2lvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJleHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLXJhY2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHBhdGg9ImV4dGVuc2lvbiIgc2NvcGU9IkV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L3JldHVybj4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iZGV0YWlsZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgPHJldHVybj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkNvZGluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgPC9yZXR1cm4+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJtYWxlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgPC93aGVuPg0KICAgICAgICAgICAgICAgPHRoZW4gY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9InN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJkaXNwbGF5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgIDwvdGhlbj4NCiAgICAgICAgICAgIDwvY2FzZUl0ZW0+DQogICAgICAgICAgICA8Y2FzZUl0ZW0+DQogICAgICAgICAgICAgICA8d2hlbiB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICA8L3doZW4+DQogICAgICAgICAgICAgICA8dGhlbiBjbGFzc1R5cGU9InQ6Q29kZSIgeHNpOnR5cGU9Ikluc3RhbmNlIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50Pg0KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0ic3lzdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImRpc3BsYXkiPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICAgICAgICA8L2VsZW1lbnQ+DQogICAgICAgICAgICAgICA8L3RoZW4+DQogICAgICAgICAgICA8L2Nhc2VJdGVtPg0KICAgICAgICAgICAgPGVsc2UgYXNUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTnVsbCIvPg0KICAgICAgICAgICAgPC9lbHNlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836" } - ] + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } + } ], + "parameter": [ { + "name": "Patient", + "use": "out", + "min": 0, + "max": "1", + "type": "Patient" + }, { + "name": "SDE Ethnicity", + "use": "out", + "min": 0, + "max": "*", + "type": "Coding" + }, { + "name": "SDE Payer", + "use": "out", + "min": 0, + "max": "*", + "type": "Any" + }, { + "name": "SDE Race", + "use": "out", + "min": 0, + "max": "*", + "type": "Coding" + }, { + "name": "SDE Sex", + "use": "out", + "min": 0, + "max": "1", + "type": "Coding" + } ], + "dataRequirement": [ { + "type": "Coverage", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591" + } + } ] + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwoKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICczLjAuMCcgY2FsbGVkIEZISVJIZWxwZXJzCgp2YWx1ZXNldCAiT05DIEFkbWluaXN0cmF0aXZlIFNleCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEnCnZhbHVlc2V0ICJSYWNlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNicKdmFsdWVzZXQgIkV0aG5pY2l0eSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnCnZhbHVlc2V0ICJQYXllciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS4zNTkxJwoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIlNERSBFdGhuaWNpdHkiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtZXRobmljaXR5JwogICAgICAgIHJldHVybiBFeHRlbnNpb24uZXh0ZW5zaW9uCiAgKSkgRQogICAgd2hlcmUgRS51cmwgPSAnb21iQ2F0ZWdvcnknCiAgICAgIG9yIEUudXJsID0gJ2RldGFpbGVkJwogICAgcmV0dXJuIEUudmFsdWUgYXMgQ29kaW5nCgpkZWZpbmUgIlNERSBQYXllciI6CiAgICBbQ292ZXJhZ2U6IHR5cGUgaW4gIlBheWVyIl0gUGF5ZXIKICAgICAgcmV0dXJuIHsKICAgICAgICBjb2RlOiBQYXllci50eXBlLAogICAgICAgIHBlcmlvZDogUGF5ZXIucGVyaW9kCiAgICAgIH0KCmRlZmluZSAiU0RFIFJhY2UiOgogIChmbGF0dGVuICgKICAgIFBhdGllbnQuZXh0ZW5zaW9uIEV4dGVuc2lvbgogICAgICB3aGVyZSBFeHRlbnNpb24udXJsID0gJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZScKICAgICAgICByZXR1cm4gRXh0ZW5zaW9uLmV4dGVuc2lvbgogICkpIEUKICAgIHdoZXJlIEUudXJsID0gJ29tYkNhdGVnb3J5JwogICAgICBvciBFLnVybCA9ICdkZXRhaWxlZCcKICAgIHJldHVybiBFLnZhbHVlIGFzIENvZGluZwoKZGVmaW5lICJTREUgU2V4IjoKICBjYXNlCiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ21hbGUnIHRoZW4gQ29kZSB7IGNvZGU6ICdNJywgc3lzdGVtOiAnaHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcicsIGRpc3BsYXk6ICdNYWxlJyB9CiAgICB3aGVuIFBhdGllbnQuZ2VuZGVyID0gJ2ZlbWFsZScgdGhlbiBDb2RlIHsgY29kZTogJ0YnLCBzeXN0ZW06ICdodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJywgZGlzcGxheTogJ0ZlbWFsZScgfQogICAgZWxzZSBudWxsCiAgZW5kCg==" + }, { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjMiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGlkZW50aWZpZXIgaWQ9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4KICAgPHVzaW5ncz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4KICAgICAgPGRlZiBsb2NhbElkPSIxIiBsb2NhdG9yPSIzOjEtMzoyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMSI+CiAgICAgICAgICAgICAgIDxhOnM+dXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMiIgbG9jYXRvcj0iNToxLTU6NTQiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvaW5jbHVkZXM+CiAgIDx2YWx1ZVNldHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMyIgbG9jYXRvcj0iNzoxLTc6OTciIG5hbWU9Ik9OQyBBZG1pbmlzdHJhdGl2ZSBTZXgiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzIj4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtPTkMgQWRtaW5pc3RyYXRpdmUgU2V4JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0IiBsb2NhdG9yPSI4OjEtODo4MiIgbmFtZT0iUmFjZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExNDIyMi40LjExLjgzNiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1JhY2UmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzYnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUiIGxvY2F0b3I9Ijk6MS05Ojg3IiBuYW1lPSJFdGhuaWNpdHkiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtFdGhuaWNpdHkmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTQyMjIuNC4xMS44MzcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjYiIGxvY2F0b3I9IjEwOjEtMTA6ODQiIG5hbWU9IlBheWVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjYiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O1BheWVyJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTE0MjIyLjQuMTEuMzU5MSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdmFsdWVTZXRzPgogICA8Y29udGV4dHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTI6MS0xMjoxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhdG9yPSIxMjoxLTEyOjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMjoxLTEyOjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNCIgbG9jYXRvcj0iMTQ6MS0yMjoyOCIgbmFtZT0iU0RFIEV0aG5pY2l0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjM0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7U0RFIEV0aG5pY2l0eSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmZsYXR0ZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPigKICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50LmV4dGVuc2lvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEV4dGVuc2lvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkV4dGVuc2lvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnVybDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWV0aG5pY2l0eSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RXh0ZW5zaW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZXh0ZW5zaW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J29tYkNhdGVnb3J5JzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgIG9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51cmw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nZGV0YWlsZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnJldHVybiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29kaW5nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMyIgbG9jYXRvcj0iMTU6My0yMjoyOCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxOCIgbG9jYXRvcj0iMTU6My0xOTo2IiBhbGlhcz0iRSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE3IiBsb2NhdG9yPSIxNTozLTE5OjQiIHhzaTp0eXBlPSJGbGF0dGVuIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTYiIGxvY2F0b3I9IjE1OjEyLTE5OjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOCIgbG9jYXRvcj0iMTY6NS0xNjozMSIgYWxpYXM9IkV4dGVuc2lvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjciIGxvY2F0b3I9IjE2OjUtMTY6MjEiIHBhdGg9ImV4dGVuc2lvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMTIiIGxvY2F0b3I9IjE3OjctMTc6OTUiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEwIiBsb2NhdG9yPSIxNzoxMy0xNzoyNSIgcGF0aD0idXJsIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMSIgbG9jYXRvcj0iMTc6MjktMTc6OTUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NvcmUvU3RydWN0dXJlRGVmaW5pdGlvbi91cy1jb3JlLWV0aG5pY2l0eSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSIxNSIgbG9jYXRvcj0iMTg6OS0xODozNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjE0IiBsb2NhdG9yPSIxODoxNi0xODozNCIgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjI3IiBsb2NhdG9yPSIyMDo1LTIxOjI3IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMiIgbG9jYXRvcj0iMjA6MTEtMjA6MzEiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIwIiBsb2NhdG9yPSIyMDoxMS0yMDoxNSIgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjEiIGxvY2F0b3I9IjIwOjE5LTIwOjMxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjYiIGxvY2F0b3I9IjIxOjEwLTIxOjI3IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNCIgbG9jYXRvcj0iMjE6MTAtMjE6MTQiIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI1IiBsb2NhdG9yPSIyMToxOC0yMToyNyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYWxJZD0iMzIiIGxvY2F0b3I9IjIyOjUtMjI6MjgiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMSIgbG9jYXRvcj0iMjI6MTItMjI6MjgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5IiBsb2NhdG9yPSIyMjoxMi0yMjoxOCIgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzMCIgbG9jYXRvcj0iMjI6MjMtMjI6MjgiIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDQiIGxvY2F0b3I9IjI0OjEtMjk6NyIgbmFtZT0iU0RFIFBheWVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNDQiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtTREUgUGF5ZXImcXVvdDs6CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+W0NvdmVyYWdlOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz50eXBlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQYXllciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gUGF5ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz57CiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXllcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnR5cGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sCiAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBheWVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgIH08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDMiIGxvY2F0b3I9IjI1OjUtMjk6NyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzNiIgbG9jYXRvcj0iMjU6NS0yNTozNyIgYWxpYXM9IlBheWVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzUiIGxvY2F0b3I9IjI1OjUtMjU6MzEiIGRhdGFUeXBlPSJmaGlyOkNvdmVyYWdlIiBjb2RlUHJvcGVydHk9InR5cGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjI1OjI0LTI1OjMwIiBuYW1lPSJQYXllciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYWxJZD0iNDIiIGxvY2F0b3I9IjI2OjctMjk6NyI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQxIiBsb2NhdG9yPSIyNjoxNC0yOTo3IiB4c2k6dHlwZT0iVHVwbGUiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJjb2RlIj4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlIGxvY2FsSWQ9IjM4IiBsb2NhdG9yPSIyNzoxNS0yNzoyNCIgcGF0aD0idHlwZSIgc2NvcGU9IlBheWVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJwZXJpb2QiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYWxJZD0iNDAiIGxvY2F0b3I9IjI4OjE3LTI4OjI4IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJQYXllciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3MiIgbG9jYXRvcj0iMzE6MS0zOToyOCIgbmFtZT0iU0RFIFJhY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O1NERSBSYWNlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcxIj4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZmxhdHRlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KAogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudC5leHRlbnNpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBFeHRlbnNpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RXh0ZW5zaW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2h0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cmV0dXJuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RXh0ZW5zaW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZXh0ZW5zaW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dXJsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J29tYkNhdGVnb3J5JzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgIG9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz51cmw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nZGV0YWlsZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnJldHVybiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dmFsdWU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhcyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29kaW5nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3MSIgbG9jYXRvcj0iMzI6My0zOToyOCIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1NiIgbG9jYXRvcj0iMzI6My0zNjo2IiBhbGlhcz0iRSI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU1IiBsb2NhdG9yPSIzMjozLTM2OjQiIHhzaTp0eXBlPSJGbGF0dGVuIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTQiIGxvY2F0b3I9IjMyOjEyLTM2OjMiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDYiIGxvY2F0b3I9IjMzOjUtMzM6MzEiIGFsaWFzPSJFeHRlbnNpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NSIgbG9jYXRvcj0iMzM6NS0zMzoyMSIgcGF0aD0iZXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI1MCIgbG9jYXRvcj0iMzQ6Ny0zNDo5MCIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDgiIGxvY2F0b3I9IjM0OjEzLTM0OjI1IiBwYXRoPSJ1cmwiIHNjb3BlPSJFeHRlbnNpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ5IiBsb2NhdG9yPSIzNDoyOS0zNDo5MCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY29yZS9TdHJ1Y3R1cmVEZWZpbml0aW9uL3VzLWNvcmUtcmFjZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgICAgICAgPHJldHVybiBsb2NhbElkPSI1MyIgbG9jYXRvcj0iMzU6OS0zNTozNCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjUyIiBsb2NhdG9yPSIzNToxNi0zNTozNCIgcGF0aD0iZXh0ZW5zaW9uIiBzY29wZT0iRXh0ZW5zaW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjY1IiBsb2NhdG9yPSIzNzo1LTM4OjI3IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MCIgbG9jYXRvcj0iMzc6MTEtMzc6MzEiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU4IiBsb2NhdG9yPSIzNzoxMS0zNzoxNSIgcGF0aD0idXJsIiBzY29wZT0iRSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTkiIGxvY2F0b3I9IjM3OjE5LTM3OjMxIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0ib21iQ2F0ZWdvcnkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjQiIGxvY2F0b3I9IjM4OjEwLTM4OjI3IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MiIgbG9jYXRvcj0iMzg6MTAtMzg6MTQiIHBhdGg9InVybCIgc2NvcGU9IkUiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYzIiBsb2NhdG9yPSIzODoxOC0zODoyNyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9ImRldGFpbGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxyZXR1cm4gbG9jYWxJZD0iNzAiIGxvY2F0b3I9IjM5OjUtMzk6MjgiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI2OSIgbG9jYXRvcj0iMzk6MTItMzk6MjgiIHN0cmljdD0iZmFsc2UiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY3IiBsb2NhdG9yPSIzOToxMi0zOToxOCIgcGF0aD0idmFsdWUiIHNjb3BlPSJFIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSI2OCIgbG9jYXRvcj0iMzk6MjMtMzk6MjgiIG5hbWU9ImZoaXI6Q29kaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iOTMiIGxvY2F0b3I9IjQxOjEtNDY6NSIgbmFtZT0iU0RFIFNleCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkzIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7U0RFIFNleCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5MiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Y2FzZQogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmdlbmRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidtYWxlJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkNvZGUgeyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5jb2RlOiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J00nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN5c3RlbTogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidodHRwOi8vaGw3Lm9yZy9maGlyL3YzL0FkbWluaXN0cmF0aXZlR2VuZGVyJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kaXNwbGF5OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J01hbGUnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gfTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Z2VuZGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J2ZlbWFsZSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Db2RlIHsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidGJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zeXN0ZW06IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4naHR0cDovL2hsNy5vcmcvZmhpci92My9BZG1pbmlzdHJhdGl2ZUdlbmRlcic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGlzcGxheTogPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidGZW1hbGUnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gfTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTEiPgogICAgZWxzZSBudWxsCiAgZW5kPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5MiIgbG9jYXRvcj0iNDI6My00Njo1IiB4c2k6dHlwZT0iQ2FzZSI+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSI4MSIgbG9jYXRvcj0iNDM6NS00MzoxMjgiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSI3NiIgbG9jYXRvcj0iNDM6MTAtNDM6MzIiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc0IiBsb2NhdG9yPSI0MzoxMC00MzoyMyIgcGF0aD0iZ2VuZGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjczIiBsb2NhdG9yPSI0MzoxMC00MzoxNiIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc1IiBsb2NhdG9yPSI0MzoyNy00MzozMiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iODAiIGxvY2F0b3I9IjQzOjM5LTQzOjEyOCIgY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYWxJZD0iNzciIGxvY2F0b3I9IjQzOjUyLTQzOjU0IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzeXN0ZW0iPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYWxJZD0iNzgiIGxvY2F0b3I9IjQzOjY1LTQzOjEwOSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhbElkPSI3OSIgbG9jYXRvcj0iNDM6MTIxLTQzOjEyNiIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ik1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iOTAiIGxvY2F0b3I9IjQ0OjUtNDQ6MTMyIj4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iODUiIGxvY2F0b3I9IjQ0OjEwLTQ0OjM0IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MyIgbG9jYXRvcj0iNDQ6MTAtNDQ6MjMiIHBhdGg9ImdlbmRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI4MiIgbG9jYXRvcj0iNDQ6MTAtNDQ6MTYiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4NCIgbG9jYXRvcj0iNDQ6MjctNDQ6MzQiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJmZW1hbGUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iODkiIGxvY2F0b3I9IjQ0OjQxLTQ0OjEzMiIgY2xhc3NUeXBlPSJ0OkNvZGUiIHhzaTp0eXBlPSJJbnN0YW5jZSI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50IG5hbWU9ImNvZGUiPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYWxJZD0iODYiIGxvY2F0b3I9IjQ0OjU0LTQ0OjU2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iRiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICAgICA8ZWxlbWVudCBuYW1lPSJzeXN0ZW0iPgogICAgICAgICAgICAgICAgICAgICA8dmFsdWUgbG9jYWxJZD0iODciIGxvY2F0b3I9IjQ0OjY3LTQ0OjExMSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Imh0dHA6Ly9obDcub3JnL2ZoaXIvdjMvQWRtaW5pc3RyYXRpdmVHZW5kZXIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudD4KICAgICAgICAgICAgICAgICAgPGVsZW1lbnQgbmFtZT0iZGlzcGxheSI+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZSBsb2NhbElkPSI4OCIgbG9jYXRvcj0iNDQ6MTIzLTQ0OjEzMCIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkZlbWFsZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50PgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxlbHNlIGFzVHlwZT0idDpDb2RlIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5MSIgbG9jYXRvcj0iNDU6MTAtNDU6MTMiIHhzaTp0eXBlPSJOdWxsIi8+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-TJCOverall_FHIR3-3.6.000.json b/fhir3/input/resources/library/library-TJCOverall_FHIR3-3.6.000.json index 8be8c9e4..90ce9062 100644 --- a/fhir3/input/resources/library/library-TJCOverall_FHIR3-3.6.000.json +++ b/fhir3/input/resources/library/library-TJCOverall_FHIR3-3.6.000.json @@ -3,80 +3,207 @@ "id": "library-TJCOverall-FHIR3-3.6.000", "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-TJCOverall-FHIR3-3.6.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">3.6.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"3\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div xmlns=\"http://www.w3.org/1999/xhtml\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Patient</span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library TJCOverall_FHIR3 version '3.6.000'\n\nusing FHIR version '3.0.0'\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n//TODO: MATGlobalCommonFunctions_FHIR version '2.0.000' need to be updated to 4.0\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "LOINC": 'http://loinc.org'\n\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'\nvalueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'\nvalueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'\nvalueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'\nvalueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'\nvalueset "Ticagrelor Therapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion\n\t\t(["Procedure": "Comfort Measures"] InterventionPerformed\n\t\twhere InterventionPerformed.status = 'completed')\n\ndefine "All Stroke Encounter":\n\t"Non Elective Inpatient Encounter" NonElectiveEncounter\n where Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Hemorrhagic Stroke"\n or Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Ischemic Stroke"\n\ndefine "Ischemic Stroke Encounter":\n\t"Encounter with Principal Diagnosis and Age" EncounterWithAge\n\t\twhere Global.PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"\n\ndefine "Non Elective Inpatient Encounter":\n\t["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\n\t\twhere Global."LengthInDays"(NonElectiveEncounter.period)<= 120\n\t\t\tand NonElectiveEncounter.period ends during "Measurement Period"\n\ndefine "Ischemic Stroke Encounters with Discharge Disposition":\n\t( ( "Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\t\t\twhere IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\n\t\t)\n\t)\n\ndefine "Comfort Measures during Hospitalization":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Intervention Comfort Measures" ComfortMeasure\n\t\t\tsuch that Coalesce(start of FHIRHelpers.ToInterval(ComfortMeasure.performed), ComfortMeasure.authoredOn)during Global."HospitalizationWithObservation"(IschemicStrokeEncounter)\n\ndefine "Encounter with Principal Diagnosis and Age":\n\t"All Stroke Encounter" AllStrokeEncounter\n\t\twith ["Patient"] BirthDate\n\t\t\tsuch that Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(BirthDate.birthDate), start of FHIRHelpers.ToInterval(AllStrokeEncounter.period)) >= 18\n\ndefine function "CalendarDayOfOrDayAfter"(StartValue DateTime ):\n\tInterval(Global."ToDate"(StartValue), Global."ToDate"(StartValue + 2 days))\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-TJCOverall-FHIR3-3.6.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">3.6.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"3\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-SupplementalDataElements-FHIR3-1.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Data Requirements: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>ProcedureRequest</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Procedure</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>code</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Encounter</span></p><p style=\"margin-bottom: 5px;\"><b>code filter:</b><br/><span style=\"padding-left: 25px;\"><b>path: </b><span>type</span></span><br/><span style=\"padding-left: 25px;\"><b>valueset: </b><span>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424</span></span></p></div></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><div><p style=\"margin-bottom: 5px;\"><b>type: </b><span>Patient</span></p></div></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library TJCOverall_FHIR3 version '3.6.000'\n\nusing FHIR version '3.0.0'\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\n//TODO: MATGlobalCommonFunctions_FHIR version '2.0.000' need to be updated to 4.0\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\ninclude SupplementalDataElements_FHIR3 version '1.0.0' called SDE\n\ncodesystem "SNOMEDCT": 'http://snomed.info/sct/731000124108'\ncodesystem "LOINC": 'http://loinc.org'\n\nvalueset "Comfort Measures": 'http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45'\nvalueset "Discharge To Acute Care Facility": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87'\nvalueset "Discharged to Health Care Facility for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207'\nvalueset "Discharged to Home for Hospice Care": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209'\nvalueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Hemorrhagic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212'\nvalueset "Ischemic Stroke": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247'\nvalueset "Left Against Medical Advice": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308'\nvalueset "Non-Elective Inpatient Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424'\nvalueset "Patient Expired": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309'\nvalueset "Ticagrelor Therapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39'\nvalueset "Observation Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143'\n\ncode "Birth date": '21112-8' from "LOINC" display 'Birth date'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "Intervention Comfort Measures":\n\t(["ProcedureRequest": "Comfort Measures"] P\n\t\twhere P.intent = 'order')\n\t\tunion\n\t\t(["Procedure": "Comfort Measures"] InterventionPerformed\n\t\twhere InterventionPerformed.status = 'completed')\n\ndefine "All Stroke Encounter":\n\t"Non Elective Inpatient Encounter" NonElectiveEncounter\n where Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Hemorrhagic Stroke"\n or Global.PrincipalDiagnosis(NonElectiveEncounter).code in "Ischemic Stroke"\n\ndefine "Ischemic Stroke Encounter":\n\t"Encounter with Principal Diagnosis and Age" EncounterWithAge\n\t\twhere Global.PrincipalDiagnosis(EncounterWithAge).code in "Ischemic Stroke"\n\ndefine "Non Elective Inpatient Encounter":\n\t["Encounter": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\n\t\twhere Global."LengthInDays"(NonElectiveEncounter.period)<= 120\n\t\t\tand NonElectiveEncounter.period ends during "Measurement Period"\n\ndefine "Ischemic Stroke Encounters with Discharge Disposition":\n\t( ( "Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\t\t\twhere IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharge To Acute Care Facility"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Left Against Medical Advice"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Patient Expired"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Home for Hospice Care"\n\t\t\t\t\tor IschemicStrokeEncounter.hospitalization.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\n\t\t)\n\t)\n\ndefine "Comfort Measures during Hospitalization":\n\t"Ischemic Stroke Encounter" IschemicStrokeEncounter\n\t\twith "Intervention Comfort Measures" ComfortMeasure\n\t\t\tsuch that Coalesce(start of FHIRHelpers.ToInterval(ComfortMeasure.performed), ComfortMeasure.authoredOn)during Global."HospitalizationWithObservation"(IschemicStrokeEncounter)\n\ndefine "Encounter with Principal Diagnosis and Age":\n\t"All Stroke Encounter" AllStrokeEncounter\n\t\twith ["Patient"] BirthDate\n\t\t\tsuch that Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(BirthDate.birthDate), start of FHIRHelpers.ToInterval(AllStrokeEncounter.period)) >= 18\n\ndefine function "CalendarDayOfOrDayAfter"(StartValue DateTime ):\n\tInterval(Global."ToDate"(StartValue), Global."ToDate"(StartValue + 2 days))\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "3.6.000", "name": "TJCOverall_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/Library/FHIR-ModelInfo|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/FHIRHelpers|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/MATGlobalCommonFunctions_FHIR3|4.0.000" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/SupplementalDataElements_FHIR3|1.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://snomed.info/sct/731000124108" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://loinc.org" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.87" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.207" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.209" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.212" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.308" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.309" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.39" + } + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143" + } + } ], + "parameter": [ { + "name": "Measurement Period", + "use": "in", + "min": 0, + "max": "1", + "type": "Period" + }, { + "name": "Patient", + "use": "out", + "min": 0, + "max": "1", + "type": "Patient" + }, { + "name": "Intervention Comfort Measures", + "use": "out", + "min": 0, + "max": "*", + "type": "Any" + }, { + "name": "Non Elective Inpatient Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "All Stroke Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Encounter with Principal Diagnosis and Age", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Ischemic Stroke Encounter", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Ischemic Stroke Encounters with Discharge Disposition", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + }, { + "name": "Comfort Measures during Hospitalization", + "use": "out", + "min": 0, + "max": "*", + "type": "Encounter" + } ], + "dataRequirement": [ { + "type": "ProcedureRequest", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" + } ] + }, { + "type": "Procedure", + "codeFilter": [ { + "path": "code", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } ] + }, { + "type": "Encounter", + "codeFilter": [ { + "path": "type", + "valueSetReference": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" } - } - ], - "dataRequirement": [ - { - "type": "ProcedureRequest", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" - } - ] - }, - { - "type": "Procedure", - "codeFilter": [ - { - "path": "code", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45" - } - ] - }, - { - "type": "Encounter", - "codeFilter": [ - { - "path": "type", - "valueSetString": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424" - } - ] - }, - { - "type": "Patient" - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlRKQ092ZXJhbGxfRkhJUjMiIHZlcnNpb249IjMuNi4wMDAiLz4NCiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+DQogICA8dXNpbmdzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIi8+DQogICA8L3VzaW5ncz4NCiAgIDxpbmNsdWRlcz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIi8+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iR2xvYmFsIiBwYXRoPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIHZlcnNpb249IjQuMC4wMDAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJTREUiIHBhdGg9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiLz4NCiAgIDwvaW5jbHVkZXM+DQogICA8cGFyYW1ldGVycz4NCiAgICAgIDxkZWYgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPg0KICAgICAgICAgICAgPHBvaW50VHlwZSBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L3BhcmFtZXRlclR5cGVTcGVjaWZpZXI+DQogICAgICA8L2RlZj4NCiAgIDwvcGFyYW1ldGVycz4NCiAgIDxjb2RlU3lzdGVtcz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1QiIGlkPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvY29kZVN5c3RlbXM+DQogICA8dmFsdWVTZXRzPg0KICAgICAgPGRlZiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkRpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDciIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkVtZXJnZW5jeSBEZXBhcnRtZW50IFZpc2l0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MiIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJFbmNvdW50ZXIgSW5wYXRpZW50IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA4IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9Ik5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IEV4cGlyZWQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIi8+DQogICAgICA8ZGVmIG5hbWU9IlRpY2FncmVsb3IgVGhlcmFweSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgICAgPGRlZiBuYW1lPSJPYnNlcnZhdGlvbiBTZXJ2aWNlcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aCBkYXRlIiBpZD0iMjExMTItOCIgZGlzcGxheT0iQmlydGggZGF0ZSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8Y29kZVN5c3RlbSBuYW1lPSJMT0lOQyIvPg0KICAgICAgPC9kZWY+DQogICA8L2NvZGVzPg0KICAgPHN0YXRlbWVudHM+DQogICAgICA8ZGVmIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPg0KICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBcyI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUCI+DQogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImludGVudCIgc2NvcGU9IlAiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im9yZGVyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJbnRlcnZlbnRpb25QZXJmb3JtZWQiPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iRXF1YWwiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InN0YXR1cyIgc2NvcGU9IkludGVydmVudGlvblBlcmZvcm1lZCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iY29tcGxldGVkIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4NCiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlUmVxdWVzdCIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4NCiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPg0KICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9Ik5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJOb25FbGVjdGl2ZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgeHNpOnR5cGU9IlJldHJpZXZlIj4NCiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+DQogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMZW5ndGhJbkRheXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEyMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRW5kIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC93aGVyZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJBbGwgU3Ryb2tlIEVuY291bnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTm9uIEVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJIZW1vcnJoYWdpYyBTdHJva2UiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUHJpbmNpcGFsRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iQWxsU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkFsbCBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJCaXJ0aERhdGUiIHhzaTp0eXBlPSJXaXRoIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0RhdGVUaW1lIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iYmlydGhEYXRlIiBzY29wZT0iQmlydGhEYXRlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJwZXJpb2QiIHNjb3BlPSJBbGxTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxOCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+DQogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJFbmNvdW50ZXJXaXRoQWdlIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4NCiAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUHJpbmNpcGFsRGlhZ25vc2lzIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyV2l0aEFnZSIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJJc2NoZW1pYyBTdHJva2UiLz4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlcnMgd2l0aCBEaXNjaGFyZ2UgRGlzcG9zaXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4NCiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4NCiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJPciI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iT3IiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluVmFsdWVTZXQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iUGF0aWVudCBFeHBpcmVkIi8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+DQogICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJblZhbHVlU2V0Ij4NCiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iZGlzY2hhcmdlRGlzcG9zaXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9Imhvc3BpdGFsaXphdGlvbiIgc2NvcGU9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDwvY29kZT4NCiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiLz4NCiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgIDwvd2hlcmU+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+DQogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+DQogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGFsaWFzPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IldpdGgiPg0KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+DQogICAgICAgICAgICAgICA8c3VjaFRoYXQgeHNpOnR5cGU9IkluIj4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJDb2FsZXNjZSI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOlBlcmlvZCIgeHNpOnR5cGU9IkFzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmZvcm1lZCIgc2NvcGU9IkNvbWZvcnRNZWFzdXJlIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3N1Y2hUaGF0Pg0KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb3dDbG9zZWQ9ImZhbHNlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4NCiAgICAgICAgICAgIDxsb3cgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iU3RhcnRWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvbG93Pg0KICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJTdGFydFZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iU3RhcnRWYWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBUSkNPdmVyYWxsX0ZISVIzIHZlcnNpb24gJzMuNi4wMDAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKLy9UT0RPOiBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUiB2ZXJzaW9uICcyLjAuMDAwJyBuZWVkIHRvIGJlIHVwZGF0ZWQgdG8gNC4wCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzQuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4Jwpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwoKdmFsdWVzZXQgIkNvbWZvcnQgTWVhc3VyZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1Jwp2YWx1ZXNldCAiRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3Jwp2YWx1ZXNldCAiRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDcnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5Jwp2YWx1ZXNldCAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MicKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJJc2NoZW1pYyBTdHJva2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NycKdmFsdWVzZXQgIkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA4Jwp2YWx1ZXNldCAiTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCcKdmFsdWVzZXQgIlBhdGllbnQgRXhwaXJlZCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5Jwp2YWx1ZXNldCAiVGljYWdyZWxvciBUaGVyYXB5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOScKdmFsdWVzZXQgIk9ic2VydmF0aW9uIFNlcnZpY2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMnCgpjb2RlICJCaXJ0aCBkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIjoKCShbIlByb2NlZHVyZVJlcXVlc3QiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIFAKCQl3aGVyZSBQLmludGVudCA9ICdvcmRlcicpCgkJdW5pb24KCQkoWyJQcm9jZWR1cmUiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIEludGVydmVudGlvblBlcmZvcm1lZAoJCXdoZXJlIEludGVydmVudGlvblBlcmZvcm1lZC5zdGF0dXMgPSAnY29tcGxldGVkJykKCmRlZmluZSAiQWxsIFN0cm9rZSBFbmNvdW50ZXIiOgoJIk5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBOb25FbGVjdGl2ZUVuY291bnRlcgogICAgd2hlcmUgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSGVtb3JyaGFnaWMgU3Ryb2tlIgogICAgICBvciBHbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKE5vbkVsZWN0aXZlRW5jb3VudGVyKS5jb2RlIGluICJJc2NoZW1pYyBTdHJva2UiCgpkZWZpbmUgIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiOgoJIkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgRW5jb3VudGVyV2l0aEFnZQoJCXdoZXJlIEdsb2JhbC5QcmluY2lwYWxEaWFnbm9zaXMoRW5jb3VudGVyV2l0aEFnZSkuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKZGVmaW5lICJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6CglbIkVuY291bnRlciI6ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciJdIE5vbkVsZWN0aXZlRW5jb3VudGVyCgkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBEaXNwb3NpdGlvbiI6CgkoICggIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJCQl3aGVyZSBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiUGF0aWVudCBFeHBpcmVkIgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiCgkJCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiCgkJKQoJKQoKZGVmaW5lICJDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24iOgoJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIENvbWZvcnRNZWFzdXJlCgkJCXN1Y2ggdGhhdCBDb2FsZXNjZShzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKENvbWZvcnRNZWFzdXJlLnBlcmZvcm1lZCksIENvbWZvcnRNZWFzdXJlLmF1dGhvcmVkT24pZHVyaW5nIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIihJc2NoZW1pY1N0cm9rZUVuY291bnRlcikKCmRlZmluZSAiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIjoKCSJBbGwgU3Ryb2tlIEVuY291bnRlciIgQWxsU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCBbIlBhdGllbnQiXSBCaXJ0aERhdGUKCQkJc3VjaCB0aGF0IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShCaXJ0aERhdGUuYmlydGhEYXRlKSwgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChBbGxTdHJva2VFbmNvdW50ZXIucGVyaW9kKSkgPj0gMTgKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKFN0YXJ0VmFsdWUgRGF0ZVRpbWUgKToKCUludGVydmFsKEdsb2JhbC4iVG9EYXRlIihTdGFydFZhbHVlKSwgR2xvYmFsLiJUb0RhdGUiKFN0YXJ0VmFsdWUgKyAyIGRheXMpKQo=" - } - ] + } ] + }, { + "type": "Patient" + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBUSkNPdmVyYWxsX0ZISVIzIHZlcnNpb24gJzMuNi4wMDAnCgp1c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKLy9UT0RPOiBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUiB2ZXJzaW9uICcyLjAuMDAwJyBuZWVkIHRvIGJlIHVwZGF0ZWQgdG8gNC4wCmluY2x1ZGUgTUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzIHZlcnNpb24gJzQuMC4wMDAnIGNhbGxlZCBHbG9iYWwKaW5jbHVkZSBTdXBwbGVtZW50YWxEYXRhRWxlbWVudHNfRkhJUjMgdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREUKCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4Jwpjb2Rlc3lzdGVtICJMT0lOQyI6ICdodHRwOi8vbG9pbmMub3JnJwoKdmFsdWVzZXQgIkNvbWZvcnQgTWVhc3VyZXMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzEuMy42LjEuNC4xLjMzODk1LjEuMy4wLjQ1Jwp2YWx1ZXNldCAiRGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3Jwp2YWx1ZXNldCAiRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDcnCnZhbHVlc2V0ICJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5Jwp2YWx1ZXNldCAiRW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI5MicKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiSGVtb3JyaGFnaWMgU3Ryb2tlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInCnZhbHVlc2V0ICJJc2NoZW1pYyBTdHJva2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NycKdmFsdWVzZXQgIkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA4Jwp2YWx1ZXNldCAiTm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXIiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjQyNCcKdmFsdWVzZXQgIlBhdGllbnQgRXhwaXJlZCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMzA5Jwp2YWx1ZXNldCAiVGljYWdyZWxvciBUaGVyYXB5IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOScKdmFsdWVzZXQgIk9ic2VydmF0aW9uIFNlcnZpY2VzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMS4xNDMnCgpjb2RlICJCaXJ0aCBkYXRlIjogJzIxMTEyLTgnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIkludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzIjoKCShbIlByb2NlZHVyZVJlcXVlc3QiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIFAKCQl3aGVyZSBQLmludGVudCA9ICdvcmRlcicpCgkJdW5pb24KCQkoWyJQcm9jZWR1cmUiOiAiQ29tZm9ydCBNZWFzdXJlcyJdIEludGVydmVudGlvblBlcmZvcm1lZAoJCXdoZXJlIEludGVydmVudGlvblBlcmZvcm1lZC5zdGF0dXMgPSAnY29tcGxldGVkJykKCmRlZmluZSAiQWxsIFN0cm9rZSBFbmNvdW50ZXIiOgoJIk5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBOb25FbGVjdGl2ZUVuY291bnRlcgogICAgd2hlcmUgR2xvYmFsLlByaW5jaXBhbERpYWdub3NpcyhOb25FbGVjdGl2ZUVuY291bnRlcikuY29kZSBpbiAiSGVtb3JyaGFnaWMgU3Ryb2tlIgogICAgICBvciBHbG9iYWwuUHJpbmNpcGFsRGlhZ25vc2lzKE5vbkVsZWN0aXZlRW5jb3VudGVyKS5jb2RlIGluICJJc2NoZW1pYyBTdHJva2UiCgpkZWZpbmUgIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiOgoJIkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgRW5jb3VudGVyV2l0aEFnZQoJCXdoZXJlIEdsb2JhbC5QcmluY2lwYWxEaWFnbm9zaXMoRW5jb3VudGVyV2l0aEFnZSkuY29kZSBpbiAiSXNjaGVtaWMgU3Ryb2tlIgoKZGVmaW5lICJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciI6CglbIkVuY291bnRlciI6ICJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciJdIE5vbkVsZWN0aXZlRW5jb3VudGVyCgkJd2hlcmUgR2xvYmFsLiJMZW5ndGhJbkRheXMiKE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCk8PSAxMjAKCQkJYW5kIE5vbkVsZWN0aXZlRW5jb3VudGVyLnBlcmlvZCBlbmRzIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgoKZGVmaW5lICJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBEaXNwb3NpdGlvbiI6CgkoICggIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJCQl3aGVyZSBJc2NoZW1pY1N0cm9rZUVuY291bnRlci5ob3NwaXRhbGl6YXRpb24uZGlzY2hhcmdlRGlzcG9zaXRpb24gaW4gIkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiTGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlIgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiUGF0aWVudCBFeHBpcmVkIgoJCQkJCW9yIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyLmhvc3BpdGFsaXphdGlvbi5kaXNjaGFyZ2VEaXNwb3NpdGlvbiBpbiAiRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiCgkJCQkJb3IgSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIuaG9zcGl0YWxpemF0aW9uLmRpc2NoYXJnZURpc3Bvc2l0aW9uIGluICJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiCgkJKQoJKQoKZGVmaW5lICJDb21mb3J0IE1lYXN1cmVzIGR1cmluZyBIb3NwaXRhbGl6YXRpb24iOgoJIklzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXIiIElzY2hlbWljU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCAiSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIENvbWZvcnRNZWFzdXJlCgkJCXN1Y2ggdGhhdCBDb2FsZXNjZShzdGFydCBvZiBGSElSSGVscGVycy5Ub0ludGVydmFsKENvbWZvcnRNZWFzdXJlLnBlcmZvcm1lZCksIENvbWZvcnRNZWFzdXJlLmF1dGhvcmVkT24pZHVyaW5nIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIihJc2NoZW1pY1N0cm9rZUVuY291bnRlcikKCmRlZmluZSAiRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIjoKCSJBbGwgU3Ryb2tlIEVuY291bnRlciIgQWxsU3Ryb2tlRW5jb3VudGVyCgkJd2l0aCBbIlBhdGllbnQiXSBCaXJ0aERhdGUKCQkJc3VjaCB0aGF0IEdsb2JhbC4iQ2FsZW5kYXJBZ2VJblllYXJzQXQiKEZISVJIZWxwZXJzLlRvRGF0ZShCaXJ0aERhdGUuYmlydGhEYXRlKSwgc3RhcnQgb2YgRkhJUkhlbHBlcnMuVG9JbnRlcnZhbChBbGxTdHJva2VFbmNvdW50ZXIucGVyaW9kKSkgPj0gMTgKCmRlZmluZSBmdW5jdGlvbiAiQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiKFN0YXJ0VmFsdWUgRGF0ZVRpbWUgKToKCUludGVydmFsKEdsb2JhbC4iVG9EYXRlIihTdGFydFZhbHVlKSwgR2xvYmFsLiJUb0RhdGUiKFN0YXJ0VmFsdWUgKyAyIGRheXMpKQo=" + }, { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjMiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGlkZW50aWZpZXIgaWQ9IlRKQ092ZXJhbGxfRkhJUjMiIHZlcnNpb249IjMuNi4wMDAiLz4KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4KICAgPHVzaW5ncz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4KICAgICAgPGRlZiBsb2NhbElkPSIxIiBsb2NhdG9yPSIzOjEtMzoyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjMuMC4wIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMSI+CiAgICAgICAgICAgICAgIDxhOnM+dXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMiIgbG9jYXRvcj0iNDoxLTQ6NTQiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9IkZISVJIZWxwZXJzIiB2ZXJzaW9uPSIzLjAuMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMyIgbG9jYXRvcj0iNjoxLTY6NzAiIGxvY2FsSWRlbnRpZmllcj0iR2xvYmFsIiBwYXRoPSJNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMiIHZlcnNpb249IjQuMC4wMDAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIzIj4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPk1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjAwMCcgY2FsbGVkIEdsb2JhbDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0IiBsb2NhdG9yPSI3OjEtNzo2NSIgbG9jYWxJZGVudGlmaWVyPSJTREUiIHBhdGg9IlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMyIgdmVyc2lvbj0iMS4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPlN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnMS4wLjAnIGNhbGxlZCBTREU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvaW5jbHVkZXM+CiAgIDxwYXJhbWV0ZXJzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0IiBsb2NhdG9yPSIyODoxLTI4OjQ5IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNCI+CiAgICAgICAgICAgICAgIDxhOnM+cGFyYW1ldGVyICZxdW90O01lYXN1cmVtZW50IFBlcmlvZCZxdW90OyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWwmbHQ7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIzIiBsb2NhdG9yPSIyODozMi0yODo0OSIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgIDxwb2ludFR5cGUgbG9jYWxJZD0iMjIiIGxvY2F0b3I9IjI4OjQxLTI4OjQ4IiBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvZGVTeXN0ZW1zPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUiIGxvY2F0b3I9Ijk6MS05OjYwIiBuYW1lPSJTTk9NRURDVCIgaWQ9Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNSI+CiAgICAgICAgICAgICAgIDxhOnM+Y29kZXN5c3RlbSAmcXVvdDtTTk9NRURDVCZxdW90OzogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI2IiBsb2NhdG9yPSIxMDoxLTEwOjM4IiBuYW1lPSJMT0lOQyIgaWQ9Imh0dHA6Ly9sb2luYy5vcmciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI2Ij4KICAgICAgICAgICAgICAgPGE6cz5jb2Rlc3lzdGVtICZxdW90O0xPSU5DJnF1b3Q7OiAnaHR0cDovL2xvaW5jLm9yZyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvY29kZVN5c3RlbXM+CiAgIDx2YWx1ZVNldHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iNyIgbG9jYXRvcj0iMTI6MS0xMjo5NCIgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8xLjMuNi4xLjQuMS4zMzg5NS4xLjMuMC40NSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjciPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0NvbWZvcnQgTWVhc3VyZXMmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMS4zLjYuMS40LjEuMzM4OTUuMS4zLjAuNDUnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjgiIGxvY2F0b3I9IjEzOjEtMTM6MTE2IiBuYW1lPSJEaXNjaGFyZ2UgVG8gQWN1dGUgQ2FyZSBGYWNpbGl0eSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS44NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0Rpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5JnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjg3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5IiBsb2NhdG9yPSIxNDoxLTE0OjEzNiIgbmFtZT0iRGlzY2hhcmdlZCB0byBIZWFsdGggQ2FyZSBGYWNpbGl0eSBmb3IgSG9zcGljZSBDYXJlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwNyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0Rpc2NoYXJnZWQgdG8gSGVhbHRoIENhcmUgRmFjaWxpdHkgZm9yIEhvc3BpY2UgQ2FyZSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMDcnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEwIiBsb2NhdG9yPSIxNToxLTE1OjEyMCIgbmFtZT0iRGlzY2hhcmdlZCB0byBIb21lIGZvciBIb3NwaWNlIENhcmUiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjA5IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0Rpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjIwOSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTEiIGxvY2F0b3I9IjE2OjEtMTY6MTExIiBuYW1lPSJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBWaXNpdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yOTIiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMSI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7RW1lcmdlbmN5IERlcGFydG1lbnQgVmlzaXQmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjkyJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxMiIgbG9jYXRvcj0iMTc6MS0xNzoxMDAiIG5hbWU9IkVuY291bnRlciBJbnBhdGllbnQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDciIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxMiI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7RW5jb3VudGVyIElucGF0aWVudCZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjMwNyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTMiIGxvY2F0b3I9IjE4OjEtMTg6MTAzIiBuYW1lPSJIZW1vcnJoYWdpYyBTdHJva2UiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjEyIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTMiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O0hlbW9ycmhhZ2ljIFN0cm9rZSZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4yMTInPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE0IiBsb2NhdG9yPSIxOToxLTE5OjEwMCIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjI0NyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE0Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtJc2NoZW1pYyBTdHJva2UmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuMjQ3JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNSIgbG9jYXRvcj0iMjA6MS0yMDoxMTIiIG5hbWU9IkxlZnQgQWdhaW5zdCBNZWRpY2FsIEFkdmljZSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDgiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNSI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7TGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOCc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTYiIGxvY2F0b3I9IjIxOjEtMjE6MTE3IiBuYW1lPSJOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS40MjQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNiI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7Tm9uLUVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXImcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy4xMTcuMS43LjEuNDI0JzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIxNyIgbG9jYXRvcj0iMjI6MS0yMjoxMDAiIG5hbWU9IlBhdGllbnQgRXhwaXJlZCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjExNy4xLjcuMS4zMDkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNyI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7UGF0aWVudCBFeHBpcmVkJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuMTE3LjEuNy4xLjMwOSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTgiIGxvY2F0b3I9IjIzOjEtMjM6OTkiIG5hbWU9IlRpY2FncmVsb3IgVGhlcmFweSIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4zOSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE4Ij4KICAgICAgICAgICAgICAgPGE6cz52YWx1ZXNldCAmcXVvdDtUaWNhZ3JlbG9yIFRoZXJhcHkmcXVvdDs6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMzknPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE5IiBsb2NhdG9yPSIyNDoxLTI0OjEwMiIgbmFtZT0iT2JzZXJ2YXRpb24gU2VydmljZXMiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTEuMTQzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTkiPgogICAgICAgICAgICAgICA8YTpzPnZhbHVlc2V0ICZxdW90O09ic2VydmF0aW9uIFNlcnZpY2VzJnF1b3Q7OiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTExLjE0Myc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdmFsdWVTZXRzPgogICA8Y29kZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjEiIGxvY2F0b3I9IjI2OjEtMjY6NjIiIG5hbWU9IkJpcnRoIGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjEiPgogICAgICAgICAgICAgICA8YTpzPmNvZGUgJnF1b3Q7QmlydGggZGF0ZSZxdW90OzogJzIxMTEyLTgnIGZyb20gPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjAiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0xPSU5DJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkaXNwbGF5ICdCaXJ0aCBkYXRlJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8Y29kZVN5c3RlbSBsb2NhbElkPSIyMCIgbG9jYXRvcj0iMjY6MzUtMjY6NDEiIG5hbWU9IkxPSU5DIi8+CiAgICAgIDwvZGVmPgogICA8L2NvZGVzPgogICA8Y29udGV4dHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMzA6MS0zMDoxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhdG9yPSIzMDoxLTMwOjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIzMDoxLTMwOjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MCIgbG9jYXRvcj0iMzI6MS0zNzo1MSIgbmFtZT0iSW50ZXJ2ZW50aW9uIENvbWZvcnQgTWVhc3VyZXMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0ludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtQcm9jZWR1cmVSZXF1ZXN0JnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDb21mb3J0IE1lYXN1cmVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPl08L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBQPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmludGVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidvcmRlcic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCQl1bmlvbgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtQcm9jZWR1cmUmcXVvdDs6IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0NvbWZvcnQgTWVhc3VyZXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEludGVydmVudGlvblBlcmZvcm1lZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkludGVydmVudGlvblBlcmZvcm1lZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXR1czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidjb21wbGV0ZWQnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzOSIgbG9jYXRvcj0iMzM6Mi0zNzo1MSIgeHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzEiIGxvY2F0b3I9IjMzOjItMzQ6MjciIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjYiIGxvY2F0b3I9IjMzOjMtMzM6NDQiIGFsaWFzPSJQIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjUiIGxvY2F0b3I9IjMzOjMtMzM6NDIiIGRhdGFUeXBlPSJmaGlyOlByb2NlZHVyZVJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0iY29kZSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iMzM6MjQtMzM6NDEiIG5hbWU9IkNvbWZvcnQgTWVhc3VyZXMiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iMzAiIGxvY2F0b3I9IjM0OjMtMzQ6MjYiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4IiBsb2NhdG9yPSIzNDo5LTM0OjE2IiBwYXRoPSJpbnRlbnQiIHNjb3BlPSJQIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOSIgbG9jYXRvcj0iMzQ6MjAtMzQ6MjYiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJvcmRlciIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIHhzaTp0eXBlPSJMaXN0VHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgIDxlbGVtZW50VHlwZSB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBuYW1lPSJmaGlyOlByb2NlZHVyZVJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9lbGVtZW50VHlwZT4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzgiIGxvY2F0b3I9IjM2OjMtMzc6NTEiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzMiIGxvY2F0b3I9IjM2OjQtMzY6NTgiIGFsaWFzPSJJbnRlcnZlbnRpb25QZXJmb3JtZWQiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMiIgbG9jYXRvcj0iMzY6NC0zNjozNiIgZGF0YVR5cGU9ImZoaXI6UHJvY2VkdXJlIiBjb2RlUHJvcGVydHk9ImNvZGUiIGNvZGVDb21wYXJhdG9yPSJpbiIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGVzIGxvY2F0b3I9IjM2OjE4LTM2OjM1IiBuYW1lPSJDb21mb3J0IE1lYXN1cmVzIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjM3IiBsb2NhdG9yPSIzNzozLTM3OjUwIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNSIgbG9jYXRvcj0iMzc6OS0zNzozNiIgcGF0aD0ic3RhdHVzIiBzY29wZT0iSW50ZXJ2ZW50aW9uUGVyZm9ybWVkIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNiIgbG9jYXRvcj0iMzc6NDAtMzc6NTAiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJjb21wbGV0ZWQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIG5hbWU9ImZoaXI6UHJvY2VkdXJlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbmFtZT0iZmhpcjpQcm9jZWR1cmVSZXF1ZXN0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvZWxlbWVudFR5cGU+CiAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTUiIGxvY2F0b3I9IjQ4OjEtNTE6NjciIG5hbWU9Ik5vbiBFbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTUiPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSAmcXVvdDtOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5bJnF1b3Q7RW5jb3VudGVyJnF1b3Q7OiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOb24tRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5dPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gTm9uRWxlY3RpdmVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TGVuZ3RoSW5EYXlzJnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Tm9uRWxlY3RpdmVFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3Ij4mbHQ7PSAxMjA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCWFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob25FbGVjdGl2ZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTIiPiBlbmRzIGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTQiIGxvY2F0b3I9IjQ5OjItNTE6NjciIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDIiIGxvY2F0b3I9IjQ5OjItNDk6NzEiIGFsaWFzPSJOb25FbGVjdGl2ZUVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQxIiBsb2NhdG9yPSI0OToyLTQ5OjUwIiBkYXRhVHlwZT0iZmhpcjpFbmNvdW50ZXIiIGNvZGVQcm9wZXJ0eT0idHlwZSIgY29kZUNvbXBhcmF0b3I9ImluIiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbG9jYXRvcj0iNDk6MTYtNDk6NDkiIG5hbWU9Ik5vbi1FbGVjdGl2ZSBJbnBhdGllbnQgRW5jb3VudGVyIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjUzIiBsb2NhdG9yPSI1MDozLTUxOjY3IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDgiIGxvY2F0b3I9IjUwOjktNTA6NjQiIHhzaTp0eXBlPSJMZXNzT3JFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2IiBsb2NhdG9yPSI1MDo5LTUwOjU4IiBuYW1lPSJMZW5ndGhJbkRheXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDUiIGxvY2F0b3I9IjUwOjMxLTUwOjU3IiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJOb25FbGVjdGl2ZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NyIgbG9jYXRvcj0iNTA6NjItNTA6NjQiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMTIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUyIiBsb2NhdG9yPSI1MTo4LTUxOjY3IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSI1MTozNi01MTozOSIgeHNpOnR5cGU9IkVuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTAiIGxvY2F0b3I9IjUxOjgtNTE6MzQiIHBhdGg9InBlcmlvZCIgc2NvcGU9Ik5vbkVsZWN0aXZlRW5jb3VudGVyIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUxIiBsb2NhdG9yPSI1MTo0OC01MTo2NyIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI3MiIgbG9jYXRvcj0iMzk6MS00Mjo4MiIgbmFtZT0iQWxsIFN0cm9rZSBFbmNvdW50ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0FsbCBTdHJva2UgRW5jb3VudGVyJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNzEiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Tm9uIEVsZWN0aXZlIElucGF0aWVudCBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBOb25FbGVjdGl2ZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HbG9iYWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QcmluY2lwYWxEaWFnbm9zaXMoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPk5vbkVsZWN0aXZlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtIZW1vcnJoYWdpYyBTdHJva2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICBvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UHJpbmNpcGFsRGlhZ25vc2lzKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ob25FbGVjdGl2ZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmNvZGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SXNjaGVtaWMgU3Ryb2tlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNzEiIGxvY2F0b3I9IjQwOjItNDI6ODIiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTciIGxvY2F0b3I9IjQwOjItNDA6NTYiIGFsaWFzPSJOb25FbGVjdGl2ZUVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU2IiBsb2NhdG9yPSI0MDoyLTQwOjM1IiBuYW1lPSJOb24gRWxlY3RpdmUgSW5wYXRpZW50IEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSI3MCIgbG9jYXRvcj0iNDE6NS00Mjo4MiIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjMiIGxvY2F0b3I9IjQxOjExLTQxOjg2IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MSIgbG9jYXRvcj0iNDE6MTEtNDE6NjIiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjAiIGxvY2F0b3I9IjQxOjExLTQxOjU3IiBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU5IiBsb2NhdG9yPSI0MTozNy00MTo1NiIgbmFtZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSI2MiIgbG9jYXRvcj0iNDE6NjctNDE6ODYiIG5hbWU9IkhlbW9ycmhhZ2ljIFN0cm9rZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjkiIGxvY2F0b3I9IjQyOjEwLTQyOjgyIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2NyIgbG9jYXRvcj0iNDI6MTAtNDI6NjEiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjYiIGxvY2F0b3I9IjQyOjEwLTQyOjU2IiBuYW1lPSJQcmluY2lwYWxEaWFnbm9zaXMiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY1IiBsb2NhdG9yPSI0MjozNi00Mjo1NSIgbmFtZT0iTm9uRWxlY3RpdmVFbmNvdW50ZXIiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSI2OCIgbG9jYXRvcj0iNDI6NjYtNDI6ODIiIG5hbWU9IklzY2hlbWljIFN0cm9rZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5MiIgbG9jYXRvcj0iNjg6MS03MToxNDkiIG5hbWU9IkVuY291bnRlciB3aXRoIFByaW5jaXBhbCBEaWFnbm9zaXMgYW5kIEFnZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjkyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7RW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOTEiPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QWxsIFN0cm9rZSBFbmNvdW50ZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBBbGxTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgoJCTwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjkwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aXRoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlsmcXVvdDtQYXRpZW50JnF1b3Q7XTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IEJpcnRoRGF0ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJc3VjaCB0aGF0IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkdsb2JhbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0NhbGVuZGFyQWdlSW5ZZWFyc0F0JnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0RhdGUoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5CaXJ0aERhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5iaXJ0aERhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ub0ludGVydmFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWxsU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODgiPiA+PSAxODwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5MSIgbG9jYXRvcj0iNjk6Mi03MToxNDkiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNzQiIGxvY2F0b3I9IjY5OjItNjk6NDIiIGFsaWFzPSJBbGxTdHJva2VFbmNvdW50ZXIiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3MyIgbG9jYXRvcj0iNjk6Mi02OToyMyIgbmFtZT0iQWxsIFN0cm9rZSBFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmVsYXRpb25zaGlwIGxvY2FsSWQ9IjkwIiBsb2NhdG9yPSI3MDozLTcxOjE0OSIgYWxpYXM9IkJpcnRoRGF0ZSIgeHNpOnR5cGU9IldpdGgiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI3NSIgbG9jYXRvcj0iNzA6OC03MDoxOCIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgICAgICAgIDxzdWNoVGhhdCBsb2NhbElkPSI4OSIgbG9jYXRvcj0iNzE6MTQtNzE6MTQ5IiB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4NyIgbG9jYXRvcj0iNzE6MTQtNzE6MTQzIiBuYW1lPSJDYWxlbmRhckFnZUluWWVhcnNBdCIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvRGF0ZVRpbWUiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MSIgbG9jYXRvcj0iNzE6NDQtNzE6ODIiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4MCIgbG9jYXRvcj0iNzE6NjMtNzE6ODEiIHBhdGg9ImJpcnRoRGF0ZSIgc2NvcGU9IkJpcnRoRGF0ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4NiIgbG9jYXRvcj0iNzE6ODUtNzE6MTQyIiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4NSIgbG9jYXRvcj0iNzE6OTQtNzE6MTQyIiBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijg0IiBsb2NhdG9yPSI3MToxMTctNzE6MTQxIiBwYXRoPSJwZXJpb2QiIHNjb3BlPSJBbGxTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI4OCIgbG9jYXRvcj0iNzE6MTQ4LTcxOjE0OSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxOCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAyIiBsb2NhdG9yPSI0NDoxLTQ2Ojc3IiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTAyIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7SXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjEwMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtFbmNvdW50ZXIgd2l0aCBQcmluY2lwYWwgRGlhZ25vc2lzIGFuZCBBZ2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBFbmNvdW50ZXJXaXRoQWdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UHJpbmNpcGFsRGlhZ25vc2lzKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXJXaXRoQWdlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Y29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEwMSIgbG9jYXRvcj0iNDU6Mi00Njo3NyIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI5NCIgbG9jYXRvcj0iNDU6Mi00NTo2MiIgYWxpYXM9IkVuY291bnRlcldpdGhBZ2UiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI5MyIgbG9jYXRvcj0iNDU6Mi00NTo0NSIgbmFtZT0iRW5jb3VudGVyIHdpdGggUHJpbmNpcGFsIERpYWdub3NpcyBhbmQgQWdlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjEwMCIgbG9jYXRvcj0iNDY6My00Njo3NyIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTgiIGxvY2F0b3I9IjQ2OjktNDY6NTYiIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iOTciIGxvY2F0b3I9IjQ2OjktNDY6NTEiIG5hbWU9IlByaW5jaXBhbERpYWdub3NpcyIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTYiIGxvY2F0b3I9IjQ2OjM1LTQ2OjUwIiBuYW1lPSJFbmNvdW50ZXJXaXRoQWdlIiB4c2k6dHlwZT0iQWxpYXNSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iOTkiIGxvY2F0b3I9IjQ2OjYxLTQ2Ojc3IiBuYW1lPSJJc2NoZW1pYyBTdHJva2UiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEzNSIgbG9jYXRvcj0iNTM6MS02MToyIiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVycyB3aXRoIERpc2NoYXJnZSBEaXNwb3NpdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEzNSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0lzY2hlbWljIFN0cm9rZSBFbmNvdW50ZXJzIHdpdGggRGlzY2hhcmdlIERpc3Bvc2l0aW9uJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTM0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4oIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aG9zcGl0YWxpemF0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTA3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kaXNjaGFyZ2VEaXNwb3NpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGlzY2hhcmdlIFRvIEFjdXRlIENhcmUgRmFjaWxpdHkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCQkJCW9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SXNjaGVtaWNTdHJva2VFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aG9zcGl0YWxpemF0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kaXNjaGFyZ2VEaXNwb3NpdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TGVmdCBBZ2FpbnN0IE1lZGljYWwgQWR2aWNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCQkJb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjExNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5ob3NwaXRhbGl6YXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRpc2NoYXJnZURpc3Bvc2l0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQYXRpZW50IEV4cGlyZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJCQlvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmhvc3BpdGFsaXphdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ZGlzY2hhcmdlRGlzcG9zaXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBpbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0Rpc2NoYXJnZWQgdG8gSG9tZSBmb3IgSG9zcGljZSBDYXJlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCQkJb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Jc2NoZW1pY1N0cm9rZUVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5ob3NwaXRhbGl6YXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmRpc2NoYXJnZURpc3Bvc2l0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPgoJCSk8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CgkpPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMzQiIGxvY2F0b3I9IjU0OjItNjE6MiIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMDQiIGxvY2F0b3I9IjU0OjYtNTQ6NTYiIGFsaWFzPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEwMyIgbG9jYXRvcj0iNTQ6Ni01NDozMiIgbmFtZT0iSXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSBsb2NhbElkPSIxMzMiIGxvY2F0b3I9IjU1OjUtNTk6MTI1IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjciIGxvY2F0b3I9IjU1OjExLTU4OjEwOSIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTIxIiBsb2NhdG9yPSI1NToxMS01Nzo4OSIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTE1IiBsb2NhdG9yPSI1NToxMS01NjoxMDEiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjEwOSIgbG9jYXRvcj0iNTU6MTEtNTU6MTA4IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMDciIGxvY2F0b3I9IjU1OjExLTU1OjcwIiBwYXRoPSJkaXNjaGFyZ2VEaXNwb3NpdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxMDYiIGxvY2F0b3I9IjU1OjExLTU1OjQ5IiBwYXRoPSJob3NwaXRhbGl6YXRpb24iIHNjb3BlPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMTA4IiBsb2NhdG9yPSI1NTo3NS01NToxMDgiIG5hbWU9IkRpc2NoYXJnZSBUbyBBY3V0ZSBDYXJlIEZhY2lsaXR5IiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTQiIGxvY2F0b3I9IjU2OjktNTY6MTAxIiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTIiIGxvY2F0b3I9IjU2OjktNTY6NjgiIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExMSIgbG9jYXRvcj0iNTY6OS01Njo0NyIgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjExMyIgbG9jYXRvcj0iNTY6NzMtNTY6MTAxIiBuYW1lPSJMZWZ0IEFnYWluc3QgTWVkaWNhbCBBZHZpY2UiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTIwIiBsb2NhdG9yPSI1Nzo5LTU3Ojg5IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMTgiIGxvY2F0b3I9IjU3OjktNTc6NjgiIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjExNyIgbG9jYXRvcj0iNTc6OS01Nzo0NyIgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjExOSIgbG9jYXRvcj0iNTc6NzMtNTc6ODkiIG5hbWU9IlBhdGllbnQgRXhwaXJlZCIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjYiIGxvY2F0b3I9IjU4OjktNTg6MTA5IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMjQiIGxvY2F0b3I9IjU4OjktNTg6NjgiIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyMyIgbG9jYXRvcj0iNTg6OS01ODo0NyIgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjEyNSIgbG9jYXRvcj0iNTg6NzMtNTg6MTA5IiBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhvbWUgZm9yIEhvc3BpY2UgQ2FyZSIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzIiIGxvY2F0b3I9IjU5OjktNTk6MTI1IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMzAiIGxvY2F0b3I9IjU5OjktNTk6NjgiIHBhdGg9ImRpc2NoYXJnZURpc3Bvc2l0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEyOSIgbG9jYXRvcj0iNTk6OS01OTo0NyIgcGF0aD0iaG9zcGl0YWxpemF0aW9uIiBzY29wZT0iSXNjaGVtaWNTdHJva2VFbmNvdW50ZXIiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29kZT4KICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IGxvY2FsSWQ9IjEzMSIgbG9jYXRvcj0iNTk6NzMtNTk6MTI1IiBuYW1lPSJEaXNjaGFyZ2VkIHRvIEhlYWx0aCBDYXJlIEZhY2lsaXR5IGZvciBIb3NwaWNlIENhcmUiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTU0IiBsb2NhdG9yPSI2MzoxLTY2OjE3OCIgbmFtZT0iQ29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTU0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7Q29tZm9ydCBNZWFzdXJlcyBkdXJpbmcgSG9zcGl0YWxpemF0aW9uJnF1b3Q7OgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTUzIj4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SXNjaGVtaWMgU3Ryb2tlIEVuY291bnRlciZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IElzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KCQk8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndpdGggPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMzgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0ludGVydmVudGlvbiBDb21mb3J0IE1lYXN1cmVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gQ29tZm9ydE1lYXN1cmU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCXN1Y2ggdGhhdCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29hbGVzY2UoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9JbnRlcnZhbCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29tZm9ydE1lYXN1cmU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyZm9ybWVkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Q29tZm9ydE1lYXN1cmU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+YXV0aG9yZWRPbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTEiPmR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE0OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0hvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbiZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPklzY2hlbWljU3Ryb2tlRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNTMiIGxvY2F0b3I9IjY0OjItNjY6MTc4IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjEzNyIgbG9jYXRvcj0iNjQ6Mi02NDo1MiIgYWxpYXM9IklzY2hlbWljU3Ryb2tlRW5jb3VudGVyIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTM2IiBsb2NhdG9yPSI2NDoyLTY0OjI4IiBuYW1lPSJJc2NoZW1pYyBTdHJva2UgRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSIxNTIiIGxvY2F0b3I9IjY1OjMtNjY6MTc4IiBhbGlhcz0iQ29tZm9ydE1lYXN1cmUiIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTM4IiBsb2NhdG9yPSI2NTo4LTY1OjM4IiBuYW1lPSJJbnRlcnZlbnRpb24gQ29tZm9ydCBNZWFzdXJlcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjE1MSIgbG9jYXRvcj0iNjY6MTQtNjY6MTc4IiB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDciIGxvY2F0b3I9IjY2OjE0LTY2OjEwNyIgeHNpOnR5cGU9IkNvYWxlc2NlIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ0IiBsb2NhdG9yPSI2NjoyMy02Njo3OSIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQzIiBsb2NhdG9yPSI2NjozMi02Njo3OSIgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBhc1R5cGU9ImZoaXI6UGVyaW9kIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNDIiIGxvY2F0b3I9IjY2OjU1LTY2Ojc4IiBwYXRoPSJwZXJmb3JtZWQiIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvRGF0ZVRpbWUiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ2IiBsb2NhdG9yPSI2Njo4Mi02NjoxMDYiIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJDb21mb3J0TWVhc3VyZSIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNTAiIGxvY2F0b3I9IjY2OjExNS02NjoxNzgiIG5hbWU9Ikhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbiIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTQ5IiBsb2NhdG9yPSI2NjoxNTUtNjY6MTc3IiBuYW1lPSJJc2NoZW1pY1N0cm9rZUVuY291bnRlciIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9zdWNoVGhhdD4KICAgICAgICAgICAgPC9yZWxhdGlvbnNoaXA+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTY1IiBsb2NhdG9yPSI3MzoxLTc0Ojc2IiBuYW1lPSJDYWxlbmRhckRheU9mT3JEYXlBZnRlciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTY1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7Q2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXImcXVvdDsoU3RhcnRWYWx1ZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIxNTUiPgogICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiApOgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTY0Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNjQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HbG9iYWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7VG9EYXRlJnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+U3RhcnRWYWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4sIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HbG9iYWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7VG9EYXRlJnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5TdGFydFZhbHVlPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiArIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+MiBkYXlzPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTY0IiBsb2NhdG9yPSI3NDoyLTc0Ojc2IiBsb3dDbG9zZWQ9ImZhbHNlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIxNTgiIGxvY2F0b3I9Ijc0OjExLTc0OjM3IiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE1NyIgbG9jYXRvcj0iNzQ6MjctNzQ6MzYiIG5hbWU9IlN0YXJ0VmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICA8aGlnaCBsb2NhbElkPSIxNjMiIGxvY2F0b3I9Ijc0OjQwLTc0Ojc1IiBuYW1lPSJUb0RhdGUiIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE2MiIgbG9jYXRvcj0iNzQ6NTYtNzQ6NzQiIHhzaTp0eXBlPSJBZGQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjAiIGxvY2F0b3I9Ijc0OjU2LTc0OjY1IiBuYW1lPSJTdGFydFZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxNjEiIGxvY2F0b3I9Ijc0OjY5LTc0Ojc0IiB2YWx1ZT0iMiIgdW5pdD0iZGF5cyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlN0YXJ0VmFsdWUiPgogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMTU1IiBsb2NhdG9yPSI3Mzo1NC03Mzo2MSIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICA8L3N0YXRlbWVudHM+CjwvbGlicmFyeT4K" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-VTEICU_FHIR3-2.4.000.json b/fhir3/input/resources/library/library-VTEICU_FHIR3-2.4.000.json index 70567b22..1896c545 100644 --- a/fhir3/input/resources/library/library-VTEICU_FHIR3-2.4.000.json +++ b/fhir3/input/resources/library/library-VTEICU_FHIR3-2.4.000.json @@ -5,40 +5,24 @@ "status": "generated", "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-VTEICU-FHIR3-2.4.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">2.4.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"2\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library VTEICU_FHIR3 version '2.4.000'\n\n/*\nThis example is a work in progress and should not be considered a final specification\nor recommendation for guidance. This example will help guide and direct the process\nof finding conventions and usage patterns that meet the needs of the various stakeholders\nin the measure development community.\n*/\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude MATGlobalCommonFunctions_FHIR3 version '2.0.000' called Common\n\n// TODO: Determine how to reference a particular version of LOINC\ncodesystem "LOINC:2.46": 'http://loinc.org' version 'urn:hl7:version:2.46'\ncodesystem "SNOMEDCT:2016-03": 'http://snomed.info/sct/731000124108' version 'http://snomed.info/sct/731000124108/version/201603'\n\nvalueset "Intensive Care Unit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.23'\n\ncode "Birthdate": '21112-8' from "LOINC:2.46" display 'Birth date'\ncode "Dead": '419099009' from "SNOMEDCT:2016-03" display 'Dead'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine function "ToDate"(Value DateTime):\n\tDateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)\n\ndefine function "CalendarDayOfOrDayAfter"(StartValue DateTime):\n\tInterval[StartValue, ToDate(StartValue + 2 days))\n\ndefine function "Start of First ICU"(Encounter "Encounter"):\n\tstart of "First Intensive Care Unit"(Encounter).period\n\ndefine function "First Intensive Care Unit"(Encounter "Encounter"):\n\tFirst(Encounter.location L\n\t\t\twhere Common.GetLocation(L.location).type in "Intensive Care Unit"\n\t\t\t\tand L.period during Encounter.period\n\t\t\tsort by start of period\n\t)\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "2.4.000", "name": "VTEICU_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" - } - } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlZURUlDVV9GSElSMyIgdmVyc2lvbj0iMi40LjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJDb21tb24iIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iMi4wLjAwMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPGNvZGVTeXN0ZW1zPg0KICAgICAgPGRlZiBuYW1lPSJMT0lOQzoyLjQ2IiBpZD0iaHR0cDovL2xvaW5jLm9yZyIgdmVyc2lvbj0idXJuOmhsNzp2ZXJzaW9uOjIuNDYiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgICAgIDxkZWYgbmFtZT0iU05PTUVEQ1Q6MjAxNi0wMyIgaWQ9Imh0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4IiB2ZXJzaW9uPSJodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOC92ZXJzaW9uLzIwMTYwMyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC9jb2RlU3lzdGVtcz4NCiAgIDx2YWx1ZVNldHM+DQogICAgICA8ZGVmIG5hbWU9IkludGVuc2l2ZSBDYXJlIFVuaXQiIGlkPSJodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjExMTAuMjMiIGFjY2Vzc0xldmVsPSJQdWJsaWMiLz4NCiAgIDwvdmFsdWVTZXRzPg0KICAgPGNvZGVzPg0KICAgICAgPGRlZiBuYW1lPSJCaXJ0aGRhdGUiIGlkPSIyMTExMi04IiBkaXNwbGF5PSJCaXJ0aCBkYXRlIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IkxPSU5DOjIuNDYiLz4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJEZWFkIiBpZD0iNDE5MDk5MDA5IiBkaXNwbGF5PSJEZWFkIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4NCiAgICAgICAgIDxjb2RlU3lzdGVtIG5hbWU9IlNOT01FRENUOjIwMTYtMDMiLz4NCiAgICAgIDwvZGVmPg0KICAgPC9jb2Rlcz4NCiAgIDxzdGF0ZW1lbnRzPg0KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4NCiAgICAgICAgICAgIDxvcGVyYW5kIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IlRvRGF0ZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJEYXRlVGltZSI+DQogICAgICAgICAgICA8eWVhciBwcmVjaXNpb249IlllYXIiIHhzaTp0eXBlPSJEYXRlVGltZUNvbXBvbmVudEZyb20iPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICA8L3llYXI+DQogICAgICAgICAgICA8bW9udGggcHJlY2lzaW9uPSJNb250aCIgeHNpOnR5cGU9IkRhdGVUaW1lQ29tcG9uZW50RnJvbSI+DQogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4NCiAgICAgICAgICAgIDwvbW9udGg+DQogICAgICAgICAgICA8ZGF5IHByZWNpc2lvbj0iRGF5IiB4c2k6dHlwZT0iRGF0ZVRpbWVDb21wb25lbnRGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9kYXk+DQogICAgICAgICAgICA8aG91ciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+DQogICAgICAgICAgICA8bWludXRlIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDxzZWNvbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPg0KICAgICAgICAgICAgPG1pbGxpc2Vjb25kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4NCiAgICAgICAgICAgIDx0aW1lem9uZU9mZnNldCB4c2k6dHlwZT0iVGltZXpvbmVGcm9tIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC90aW1lem9uZU9mZnNldD4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlZhbHVlIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OkRhdGVUaW1lIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iQ2FsZW5kYXJEYXlPZk9yRGF5QWZ0ZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiBsb3dDbG9zZWQ9InRydWUiIGhpZ2hDbG9zZWQ9ImZhbHNlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPg0KICAgICAgICAgICAgPGxvdyBuYW1lPSJTdGFydFZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPGhpZ2ggbmFtZT0iVG9EYXRlIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFkZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJTdGFydFZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iU3RhcnRWYWx1ZSI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkZpcnN0IEludGVuc2l2ZSBDYXJlIFVuaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iTCI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InR5cGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldExvY2F0aW9uIiBsaWJyYXJ5TmFtZT0iQ29tbW9uIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG9jYXRpb24iIHNjb3BlPSJMIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkludGVuc2l2ZSBDYXJlIFVuaXQiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmNsdWRlZEluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9IkwiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9IklkZW50aWZpZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgIDwvYnk+DQogICAgICAgICAgICAgICA8L3NvcnQ+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJTdGFydCBvZiBGaXJzdCBJQ1UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU3RhcnQiPg0KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJGaXJzdCBJbnRlbnNpdmUgQ2FyZSBVbml0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgIDwvc3RhdGVtZW50cz4NCjwvbGlicmFyeT4NCg==" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBWVEVJQ1VfRkhJUjMgdmVyc2lvbiAnMi40LjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgQ29tbW9uCgovLyBUT0RPOiBEZXRlcm1pbmUgaG93IHRvIHJlZmVyZW5jZSBhIHBhcnRpY3VsYXIgdmVyc2lvbiBvZiBMT0lOQwpjb2Rlc3lzdGVtICJMT0lOQzoyLjQ2IjogJ2h0dHA6Ly9sb2luYy5vcmcnIHZlcnNpb24gJ3VybjpobDc6dmVyc2lvbjoyLjQ2Jwpjb2Rlc3lzdGVtICJTTk9NRURDVDoyMDE2LTAzIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4JyB2ZXJzaW9uICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOC92ZXJzaW9uLzIwMTYwMycKCnZhbHVlc2V0ICJJbnRlbnNpdmUgQ2FyZSBVbml0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4yMycKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQzoyLjQ2IiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1Q6MjAxNi0wMyIgZGlzcGxheSAnRGVhZCcKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lIGZ1bmN0aW9uICJUb0RhdGUiKFZhbHVlIERhdGVUaW1lKToKCURhdGVUaW1lKHllYXIgZnJvbSBWYWx1ZSwgbW9udGggZnJvbSBWYWx1ZSwgZGF5IGZyb20gVmFsdWUsIDAsIDAsIDAsIDAsIHRpbWV6b25lIGZyb20gVmFsdWUpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihTdGFydFZhbHVlIERhdGVUaW1lKToKCUludGVydmFsW1N0YXJ0VmFsdWUsIFRvRGF0ZShTdGFydFZhbHVlICsgMiBkYXlzKSkKCmRlZmluZSBmdW5jdGlvbiAiU3RhcnQgb2YgRmlyc3QgSUNVIihFbmNvdW50ZXIgIkVuY291bnRlciIpOgoJc3RhcnQgb2YgIkZpcnN0IEludGVuc2l2ZSBDYXJlIFVuaXQiKEVuY291bnRlcikucGVyaW9kCgpkZWZpbmUgZnVuY3Rpb24gIkZpcnN0IEludGVuc2l2ZSBDYXJlIFVuaXQiKEVuY291bnRlciAiRW5jb3VudGVyIik6CglGaXJzdChFbmNvdW50ZXIubG9jYXRpb24gTAoJCQl3aGVyZSBDb21tb24uR2V0TG9jYXRpb24oTC5sb2NhdGlvbikudHlwZSBpbiAiSW50ZW5zaXZlIENhcmUgVW5pdCIKCQkJCWFuZCBMLnBlcmlvZCBkdXJpbmcgRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIHBlcmlvZAoJKQo=" - } - ] + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBWVEVJQ1VfRkhJUjMgdmVyc2lvbiAnMi40LjAwMCcKCi8qClRoaXMgZXhhbXBsZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHNob3VsZCBub3QgYmUgY29uc2lkZXJlZCBhIGZpbmFsIHNwZWNpZmljYXRpb24Kb3IgcmVjb21tZW5kYXRpb24gZm9yIGd1aWRhbmNlLiBUaGlzIGV4YW1wbGUgd2lsbCBoZWxwIGd1aWRlIGFuZCBkaXJlY3QgdGhlIHByb2Nlc3MKb2YgZmluZGluZyBjb252ZW50aW9ucyBhbmQgdXNhZ2UgcGF0dGVybnMgdGhhdCBtZWV0IHRoZSBuZWVkcyBvZiB0aGUgdmFyaW91cyBzdGFrZWhvbGRlcnMKaW4gdGhlIG1lYXN1cmUgZGV2ZWxvcG1lbnQgY29tbXVuaXR5LgoqLwoKdXNpbmcgRkhJUiB2ZXJzaW9uICczLjAuMCcKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIE1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyB2ZXJzaW9uICcyLjAuMDAwJyBjYWxsZWQgQ29tbW9uCgovLyBUT0RPOiBEZXRlcm1pbmUgaG93IHRvIHJlZmVyZW5jZSBhIHBhcnRpY3VsYXIgdmVyc2lvbiBvZiBMT0lOQwpjb2Rlc3lzdGVtICJMT0lOQzoyLjQ2IjogJ2h0dHA6Ly9sb2luYy5vcmcnIHZlcnNpb24gJ3VybjpobDc6dmVyc2lvbjoyLjQ2Jwpjb2Rlc3lzdGVtICJTTk9NRURDVDoyMDE2LTAzIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QvNzMxMDAwMTI0MTA4JyB2ZXJzaW9uICdodHRwOi8vc25vbWVkLmluZm8vc2N0LzczMTAwMDEyNDEwOC92ZXJzaW9uLzIwMTYwMycKCnZhbHVlc2V0ICJJbnRlbnNpdmUgQ2FyZSBVbml0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4yMycKCmNvZGUgIkJpcnRoZGF0ZSI6ICcyMTExMi04JyBmcm9tICJMT0lOQzoyLjQ2IiBkaXNwbGF5ICdCaXJ0aCBkYXRlJwpjb2RlICJEZWFkIjogJzQxOTA5OTAwOScgZnJvbSAiU05PTUVEQ1Q6MjAxNi0wMyIgZGlzcGxheSAnRGVhZCcKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KCmNvbnRleHQgUGF0aWVudAoKZGVmaW5lIGZ1bmN0aW9uICJUb0RhdGUiKFZhbHVlIERhdGVUaW1lKToKCURhdGVUaW1lKHllYXIgZnJvbSBWYWx1ZSwgbW9udGggZnJvbSBWYWx1ZSwgZGF5IGZyb20gVmFsdWUsIDAsIDAsIDAsIDAsIHRpbWV6b25lb2Zmc2V0IGZyb20gVmFsdWUpCgpkZWZpbmUgZnVuY3Rpb24gIkNhbGVuZGFyRGF5T2ZPckRheUFmdGVyIihTdGFydFZhbHVlIERhdGVUaW1lKToKCUludGVydmFsW1N0YXJ0VmFsdWUsIFRvRGF0ZShTdGFydFZhbHVlICsgMiBkYXlzKSkKCmRlZmluZSBmdW5jdGlvbiAiU3RhcnQgb2YgRmlyc3QgSUNVIihFbmNvdW50ZXIgIkVuY291bnRlciIpOgoJc3RhcnQgb2YgIkZpcnN0IEludGVuc2l2ZSBDYXJlIFVuaXQiKEVuY291bnRlcikucGVyaW9kCgpkZWZpbmUgZnVuY3Rpb24gIkZpcnN0IEludGVuc2l2ZSBDYXJlIFVuaXQiKEVuY291bnRlciAiRW5jb3VudGVyIik6CglGaXJzdChFbmNvdW50ZXIubG9jYXRpb24gTAoJCQl3aGVyZSBDb21tb24uR2V0TG9jYXRpb24oTC5sb2NhdGlvbikudHlwZSBpbiAiSW50ZW5zaXZlIENhcmUgVW5pdCIKCQkJCWFuZCBMLnBlcmlvZCBkdXJpbmcgRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIHBlcmlvZAoJKQo=" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/library/library-VTEICU_FHIR3-3.1.000.json b/fhir3/input/resources/library/library-VTEICU_FHIR3-3.1.000.json index 794e364a..45f8fd45 100644 --- a/fhir3/input/resources/library/library-VTEICU_FHIR3-3.1.000.json +++ b/fhir3/input/resources/library/library-VTEICU_FHIR3-3.1.000.json @@ -5,40 +5,61 @@ "status": "generated", "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">library-VTEICU-FHIR3-3.1.000</td></tr><tr><th scope=\"row\"><b>Type: </b></th><td style=\"padding-right: 25px;\"> Logic Library </td></tr><tr><th scope=\"row\"><b>Version: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">3.1.000</td></tr><tr><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"2\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-FHIRHelpers-3.0.0</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>depends-on</span></p><p style=\"margin-bottom: 5px;\"><b>Resource: </b><br/><span><span style=\"padding-left: 25px;\"><b>reference: </b><span>Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>type: </b><span>text/cql</span></td></tr><tr><td colspan=\"2\" style=\"padding-left: 25px; padding-right: 25px;\"><pre><code class=\"language-cql\">library VTEICU_FHIR3 version '3.1.000'\n\nusing FHIR version '3.0.0'\n\ninclude FHIRHelpers version '3.0.0' called FHIRHelpers\ninclude MATGlobalCommonFunctions_FHIR3 version '4.0.000' called Global\n\nvalueset "Intensive Care Unit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.23'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine function "FromDayOfStartOfHospitalizationToDayAfterAdmission"(Encounter FHIR.Encounter ):\n\tInterval[Global."ToDate"(start of Global."HospitalizationWithObservation"(Encounter)), Global."ToDate"(start of Encounter.period + 2 days))\n\ndefine function "StartOfFirstICU"(Encounter FHIR.Encounter ):\n\tstart of "FirstICULocationPeriod"(Encounter)\n\ndefine function "FromDayOfStartOfHospitalizationToDayAfterFirstICU"(Encounter FHIR.Encounter ):\n\tInterval[Global."ToDate"(start of Global."HospitalizationWithObservation"(Encounter)), Global."ToDate"(StartOfFirstICU(Encounter)+ 2 days))\n\ndefine function "FirstICULocationPeriod"(Encounter FHIR.Encounter ):\n\t"FirstInpatientIntensiveCareUnit"(Encounter).period\n\ndefine function "FirstInpatientIntensiveCareUnit"(Encounter FHIR.Encounter ):\n\tFirst((Encounter.location)HospitalLocation\n\t\t\twhere Global.GetLocation(HospitalLocation.location).type in "Intensive Care Unit"\n\t\t\t\tand HospitalLocation.period during Encounter.period\n\t\t\tsort by start of period\n\t)\n</code></pre>\n \n \n </td>\n </tr>\n \n </table>\n</div>" }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" + } + } ], "version": "3.1.000", "name": "VTEICU_FHIR3", "status": "active", "experimental": true, "type": { - "coding": [ - { - "system": "http://hl7.org/fhir/codesystem-library-type.html", - "code": "logic-library" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/codesystem-library-type.html", + "code": "logic-library" + } ] }, - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" - } + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "http://hl7.org/fhir/Library/FHIR-ModelInfo|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/FHIRHelpers|3.0.0" + } + }, { + "type": "depends-on", + "resource": { + "reference": "Library/MATGlobalCommonFunctions_FHIR3|4.0.000" } - ], - "content": [ - { - "contentType": "application/elm+xml", - "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxsaWJyYXJ5IHhtbG5zPSJ1cm46aGw3LW9yZzplbG06cjEiIHhtbG5zOnQ9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6Zmhpcj0iaHR0cDovL2hsNy5vcmcvZmhpciIgeG1sbnM6cWRtNDM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY0XzMiIHhtbG5zOnFkbTUzPSJ1cm46aGVhbHRoaXQtZ292OnFkbTp2NV8zIiB4bWxuczphPSJ1cm46aGw3LW9yZzpjcWwtYW5ub3RhdGlvbnM6cjEiPg0KICAgPGlkZW50aWZpZXIgaWQ9IlZURUlDVV9GSElSMyIgdmVyc2lvbj0iMy4xLjAwMCIvPg0KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4NCiAgIDx1c2luZ3M+DQogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgIDwvdXNpbmdzPg0KICAgPGluY2x1ZGVzPg0KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJGSElSSGVscGVycyIgdmVyc2lvbj0iMy4wLjAiLz4NCiAgICAgIDxkZWYgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iNC4wLjAwMCIvPg0KICAgPC9pbmNsdWRlcz4NCiAgIDxwYXJhbWV0ZXJzPg0KICAgICAgPGRlZiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPg0KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9IkludGVydmFsVHlwZVNwZWNpZmllciI+DQogICAgICAgICAgICA8cG9pbnRUeXBlIG5hbWU9InQ6RGF0ZVRpbWUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4NCiAgICAgIDwvZGVmPg0KICAgPC9wYXJhbWV0ZXJzPg0KICAgPHZhbHVlU2V0cz4NCiAgICAgIDxkZWYgbmFtZT0iSW50ZW5zaXZlIENhcmUgVW5pdCIgaWQ9Imh0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4yMyIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIvPg0KICAgPC92YWx1ZVNldHM+DQogICA8c3RhdGVtZW50cz4NCiAgICAgIDxkZWYgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+DQogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJGcm9tRGF5T2ZTdGFydE9mSG9zcGl0YWxpemF0aW9uVG9EYXlBZnRlckFkbWlzc2lvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICA8bG93IG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICAgICA8ZGVmIG5hbWU9IkZpcnN0SW5wYXRpZW50SW50ZW5zaXZlQ2FyZVVuaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+DQogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRmlyc3QiPg0KICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iUXVlcnkiPg0KICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iSG9zcGl0YWxMb2NhdGlvbiI+DQogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJsb2NhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkFuZCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+DQogICAgICAgICAgICAgICAgICAgICA8Y29kZSBuYW1lPSJUb0NvbmNlcHQiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InR5cGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IkdldExvY2F0aW9uIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0ibG9jYXRpb24iIHNjb3BlPSJIb3NwaXRhbExvY2F0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPC9jb2RlPg0KICAgICAgICAgICAgICAgICAgICAgPHZhbHVlc2V0IG5hbWU9IkludGVuc2l2ZSBDYXJlIFVuaXQiLz4NCiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJbmNsdWRlZEluIj4NCiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InBlcmlvZCIgc2NvcGU9Ikhvc3BpdGFsTG9jYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPg0KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iVG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L3doZXJlPg0KICAgICAgICAgICAgICAgPHNvcnQ+DQogICAgICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPg0KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9InBlcmlvZCIgeHNpOnR5cGU9IklkZW50aWZpZXJSZWYiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgICAgICAgICAgIDwvYnk+DQogICAgICAgICAgICAgICA8L3NvcnQ+DQogICAgICAgICAgICA8L3NvdXJjZT4NCiAgICAgICAgIDwvZXhwcmVzc2lvbj4NCiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciI+DQogICAgICAgICAgICA8b3BlcmFuZFR5cGVTcGVjaWZpZXIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4NCiAgICAgICAgIDwvb3BlcmFuZD4NCiAgICAgIDwvZGVmPg0KICAgICAgPGRlZiBuYW1lPSJGaXJzdElDVUxvY2F0aW9uUGVyaW9kIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0icGVyaW9kIiB4c2k6dHlwZT0iUHJvcGVydHkiPg0KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJGaXJzdElucGF0aWVudEludGVuc2l2ZUNhcmVVbml0IiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgPC9zb3VyY2U+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iU3RhcnRPZkZpcnN0SUNVIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPg0KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlN0YXJ0Ij4NCiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkZpcnN0SUNVTG9jYXRpb25QZXJpb2QiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICA8L2V4cHJlc3Npb24+DQogICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiPg0KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+DQogICAgICAgICA8L29wZXJhbmQ+DQogICAgICA8L2RlZj4NCiAgICAgIDxkZWYgbmFtZT0iRnJvbURheU9mU3RhcnRPZkhvc3BpdGFsaXphdGlvblRvRGF5QWZ0ZXJGaXJzdElDVSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4NCiAgICAgICAgIDxleHByZXNzaW9uIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0iZmFsc2UiIHhzaTp0eXBlPSJJbnRlcnZhbCI+DQogICAgICAgICAgICA8bG93IG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdGFydCI+DQogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iIGxpYnJhcnlOYW1lPSJHbG9iYWwiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+DQogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+DQogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICAgICA8L29wZXJhbmQ+DQogICAgICAgICAgICA8L2xvdz4NCiAgICAgICAgICAgIDxoaWdoIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4NCiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBZGQiPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iU3RhcnRPZkZpcnN0SUNVIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPg0KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPg0KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjIiIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPg0KICAgICAgICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgICAgICAgPC9oaWdoPg0KICAgICAgICAgPC9leHByZXNzaW9uPg0KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4NCiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPg0KICAgICAgICAgPC9vcGVyYW5kPg0KICAgICAgPC9kZWY+DQogICA8L3N0YXRlbWVudHM+DQo8L2xpYnJhcnk+DQo=" - }, - { - "contentType": "text/cql", - "data": "bGlicmFyeSBWVEVJQ1VfRkhJUjMgdmVyc2lvbiAnMy4xLjAwMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcgY2FsbGVkIEdsb2JhbAoKdmFsdWVzZXQgIkludGVuc2l2ZSBDYXJlIFVuaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTEwLjIzJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgZnVuY3Rpb24gIkZyb21EYXlPZlN0YXJ0T2ZIb3NwaXRhbGl6YXRpb25Ub0RheUFmdGVyQWRtaXNzaW9uIihFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIgKToKCUludGVydmFsW0dsb2JhbC4iVG9EYXRlIihzdGFydCBvZiBHbG9iYWwuIkhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbiIoRW5jb3VudGVyKSksIEdsb2JhbC4iVG9EYXRlIihzdGFydCBvZiBFbmNvdW50ZXIucGVyaW9kICsgMiBkYXlzKSkKCmRlZmluZSBmdW5jdGlvbiAiU3RhcnRPZkZpcnN0SUNVIihFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIgKToKCXN0YXJ0IG9mICJGaXJzdElDVUxvY2F0aW9uUGVyaW9kIihFbmNvdW50ZXIpCgpkZWZpbmUgZnVuY3Rpb24gIkZyb21EYXlPZlN0YXJ0T2ZIb3NwaXRhbGl6YXRpb25Ub0RheUFmdGVyRmlyc3RJQ1UiKEVuY291bnRlciBGSElSLkVuY291bnRlciApOgoJSW50ZXJ2YWxbR2xvYmFsLiJUb0RhdGUiKHN0YXJ0IG9mIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIihFbmNvdW50ZXIpKSwgR2xvYmFsLiJUb0RhdGUiKFN0YXJ0T2ZGaXJzdElDVShFbmNvdW50ZXIpKyAyIGRheXMpKQoKZGVmaW5lIGZ1bmN0aW9uICJGaXJzdElDVUxvY2F0aW9uUGVyaW9kIihFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIgKToKCSJGaXJzdElucGF0aWVudEludGVuc2l2ZUNhcmVVbml0IihFbmNvdW50ZXIpLnBlcmlvZAoKZGVmaW5lIGZ1bmN0aW9uICJGaXJzdElucGF0aWVudEludGVuc2l2ZUNhcmVVbml0IihFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIgKToKCUZpcnN0KChFbmNvdW50ZXIubG9jYXRpb24pSG9zcGl0YWxMb2NhdGlvbgoJCQl3aGVyZSBHbG9iYWwuR2V0TG9jYXRpb24oSG9zcGl0YWxMb2NhdGlvbi5sb2NhdGlvbikudHlwZSBpbiAiSW50ZW5zaXZlIENhcmUgVW5pdCIKCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIHBlcmlvZAoJKQo=" + }, { + "type": "depends-on", + "resource": { + "reference": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.23" } - ] + } ], + "parameter": [ { + "name": "Measurement Period", + "use": "in", + "min": 0, + "max": "1", + "type": "Period" + }, { + "name": "Patient", + "use": "out", + "min": 0, + "max": "1", + "type": "Patient" + } ], + "content": [ { + "contentType": "text/cql", + "data": "bGlicmFyeSBWVEVJQ1VfRkhJUjMgdmVyc2lvbiAnMy4xLjAwMCcKCnVzaW5nIEZISVIgdmVyc2lvbiAnMy4wLjAnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzMuMC4wJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBNQVRHbG9iYWxDb21tb25GdW5jdGlvbnNfRkhJUjMgdmVyc2lvbiAnNC4wLjAwMCcgY2FsbGVkIEdsb2JhbAoKdmFsdWVzZXQgIkludGVuc2l2ZSBDYXJlIFVuaXQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTEwLjIzJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgZnVuY3Rpb24gIkZyb21EYXlPZlN0YXJ0T2ZIb3NwaXRhbGl6YXRpb25Ub0RheUFmdGVyQWRtaXNzaW9uIihFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIgKToKCUludGVydmFsW0dsb2JhbC4iVG9EYXRlIihzdGFydCBvZiBHbG9iYWwuIkhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbiIoRW5jb3VudGVyKSksIEdsb2JhbC4iVG9EYXRlIihzdGFydCBvZiBFbmNvdW50ZXIucGVyaW9kICsgMiBkYXlzKSkKCmRlZmluZSBmdW5jdGlvbiAiU3RhcnRPZkZpcnN0SUNVIihFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIgKToKCXN0YXJ0IG9mICJGaXJzdElDVUxvY2F0aW9uUGVyaW9kIihFbmNvdW50ZXIpCgpkZWZpbmUgZnVuY3Rpb24gIkZyb21EYXlPZlN0YXJ0T2ZIb3NwaXRhbGl6YXRpb25Ub0RheUFmdGVyRmlyc3RJQ1UiKEVuY291bnRlciBGSElSLkVuY291bnRlciApOgoJSW50ZXJ2YWxbR2xvYmFsLiJUb0RhdGUiKHN0YXJ0IG9mIEdsb2JhbC4iSG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIihFbmNvdW50ZXIpKSwgR2xvYmFsLiJUb0RhdGUiKFN0YXJ0T2ZGaXJzdElDVShFbmNvdW50ZXIpKyAyIGRheXMpKQoKZGVmaW5lIGZ1bmN0aW9uICJGaXJzdElDVUxvY2F0aW9uUGVyaW9kIihFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIgKToKCSJGaXJzdElucGF0aWVudEludGVuc2l2ZUNhcmVVbml0IihFbmNvdW50ZXIpLnBlcmlvZAoKZGVmaW5lIGZ1bmN0aW9uICJGaXJzdElucGF0aWVudEludGVuc2l2ZUNhcmVVbml0IihFbmNvdW50ZXIgRkhJUi5FbmNvdW50ZXIgKToKCUZpcnN0KChFbmNvdW50ZXIubG9jYXRpb24pSG9zcGl0YWxMb2NhdGlvbgoJCQl3aGVyZSBHbG9iYWwuR2V0TG9jYXRpb24oSG9zcGl0YWxMb2NhdGlvbi5sb2NhdGlvbikudHlwZSBpbiAiSW50ZW5zaXZlIENhcmUgVW5pdCIKCQkJCWFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgRW5jb3VudGVyLnBlcmlvZAoJCQlzb3J0IGJ5IHN0YXJ0IG9mIHBlcmlvZAoJKQo=" + }, { + "contentType": "application/elm+xml", + "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JWZXJzaW9uPSIxLjMiIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGlkZW50aWZpZXIgaWQ9IlZURUlDVV9GSElSMyIgdmVyc2lvbj0iMy4xLjAwMCIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9IjM6MS0zOjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iMy4wLjAiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxIj4KICAgICAgICAgICAgICAgPGE6cz51c2luZyBGSElSIHZlcnNpb24gJzMuMC4wJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyIiBsb2NhdG9yPSI1OjEtNTo1NCIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iRkhJUkhlbHBlcnMiIHZlcnNpb249IjMuMC4wIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnMy4wLjAnIGNhbGxlZCBGSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzIiBsb2NhdG9yPSI2OjEtNjo3MCIgbG9jYWxJZGVudGlmaWVyPSJHbG9iYWwiIHBhdGg9Ik1BVEdsb2JhbENvbW1vbkZ1bmN0aW9uc19GSElSMyIgdmVyc2lvbj0iNC4wLjAwMCI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+TUFUR2xvYmFsQ29tbW9uRnVuY3Rpb25zX0ZISVIzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMDAwJyBjYWxsZWQgR2xvYmFsPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8cGFyYW1ldGVycz4KICAgICAgPGRlZiBsb2NhbElkPSI3IiBsb2NhdG9yPSIxMDoxLTEwOjQ5IiBuYW1lPSJNZWFzdXJlbWVudCBQZXJpb2QiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3Ij4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgJnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjYiPgogICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkRhdGVUaW1lPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjYiIGxvY2F0b3I9IjEwOjMyLTEwOjQ5IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSI1IiBsb2NhdG9yPSIxMDo0MS0xMDo0OCIgbmFtZT0idDpEYXRlVGltZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L3BhcmFtZXRlclR5cGVTcGVjaWZpZXI+CiAgICAgIDwvZGVmPgogICA8L3BhcmFtZXRlcnM+CiAgIDx2YWx1ZVNldHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iNCIgbG9jYXRvcj0iODoxLTg6MTAwIiBuYW1lPSJJbnRlbnNpdmUgQ2FyZSBVbml0IiBpZD0iaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMTEwLjIzIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNCI+CiAgICAgICAgICAgICAgIDxhOnM+dmFsdWVzZXQgJnF1b3Q7SW50ZW5zaXZlIENhcmUgVW5pdCZxdW90OzogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTExMC4yMyc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdmFsdWVTZXRzPgogICA8Y29udGV4dHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iMTI6MS0xMjoxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhdG9yPSIxMjoxLTEyOjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhdG9yPSIxMjoxLTEyOjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMyIgbG9jYXRvcj0iMTQ6MS0xNToxNDAiIG5hbWU9IkZyb21EYXlPZlN0YXJ0T2ZIb3NwaXRhbGl6YXRpb25Ub0RheUFmdGVyQWRtaXNzaW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O0Zyb21EYXlPZlN0YXJ0T2ZIb3NwaXRhbGl6YXRpb25Ub0RheUFmdGVyQWRtaXNzaW9uJnF1b3Q7KEVuY291bnRlciA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gKToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIyIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkdsb2JhbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RvRGF0ZSZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HbG9iYWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtIb3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24mcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkdsb2JhbDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RvRGF0ZSZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjIgZGF5czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIyIiBsb2NhdG9yPSIxNToyLTE1OjE0MCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgPGxvdyBsb2NhbElkPSIxNCIgbG9jYXRvcj0iMTU6MTEtMTU6ODYiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTMiIGxvY2F0b3I9IjE1OjI3LTE1Ojg1IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIxMiIgbG9jYXRvcj0iMTU6MzYtMTU6ODUiIG5hbWU9Ikhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbiIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTEiIGxvY2F0b3I9IjE1Ojc2LTE1Ojg0IiBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iMjEiIGxvY2F0b3I9IjE1Ojg5LTE1OjEzOSIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMCIgbG9jYXRvcj0iMTU6MTA1LTE1OjEzOCIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE4IiBsb2NhdG9yPSIxNToxMDUtMTU6MTI5IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjE3IiBsb2NhdG9yPSIxNToxMTQtMTU6MTI5IiBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMTYiIGxvY2F0b3I9IjE1OjExNC0xNToxMjIiIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMTkiIGxvY2F0b3I9IjE1OjEzMy0xNToxMzgiIHZhbHVlPSIyIiB1bml0PSJkYXlzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjgiIGxvY2F0b3I9IjE0OjgwLTE0OjkzIiBuYW1lPSJmaGlyOkVuY291bnRlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUxIiBsb2NhdG9yPSIyNjoxLTMxOjIiIG5hbWU9IkZpcnN0SW5wYXRpZW50SW50ZW5zaXZlQ2FyZVVuaXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUxIj4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7Rmlyc3RJbnBhdGllbnRJbnRlbnNpdmVDYXJlVW5pdCZxdW90OyhFbmNvdW50ZXIgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjgiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiApOgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5GaXJzdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5sb2NhdGlvbjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ib3NwaXRhbExvY2F0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndoZXJlIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2V0TG9jYXRpb24oPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ib3NwaXRhbExvY2F0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+bG9jYXRpb248L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dHlwZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtJbnRlbnNpdmUgQ2FyZSBVbml0JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KCQkJCWFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Ib3NwaXRhbExvY2F0aW9uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyaW9kPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MyI+IGR1cmluZyA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkJCTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zb3J0IGJ5IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmlvZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CgkpPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTAiIGxvY2F0b3I9IjI3OjItMzE6MiIgeHNpOnR5cGU9IkZpcnN0Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI0OSIgbG9jYXRvcj0iMjc6OC0zMDoyNiIgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMSIgbG9jYXRvcj0iMjc6OC0yNzo0MyIgYWxpYXM9Ikhvc3BpdGFsTG9jYXRpb24iPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMCIgbG9jYXRvcj0iMjc6OC0yNzoyNyIgcGF0aD0ibG9jYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjkiIGxvY2F0b3I9IjI3OjktMjc6MTciIG5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjQ0IiBsb2NhdG9yPSIyODo0LTI5OjU1IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzgiIGxvY2F0b3I9IjI4OjEwLTI4Ojg0IiB4c2k6dHlwZT0iSW5WYWx1ZVNldCI+CiAgICAgICAgICAgICAgICAgICAgIDxjb2RlIG5hbWU9IlRvQ29uY2VwdCIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNiIgbG9jYXRvcj0iMjg6MTAtMjg6NTkiIHBhdGg9InR5cGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzUiIGxvY2F0b3I9IjI4OjEwLTI4OjU0IiBuYW1lPSJHZXRMb2NhdGlvbiIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQiIGxvY2F0b3I9IjI4OjI5LTI4OjUzIiBwYXRoPSJsb2NhdGlvbiIgc2NvcGU9Ikhvc3BpdGFsTG9jYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZXNldCBsb2NhbElkPSIzNyIgbG9jYXRvcj0iMjg6NjQtMjg6ODQiIG5hbWU9IkludGVuc2l2ZSBDYXJlIFVuaXQiIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQzIiBsb2NhdG9yPSIyOTo5LTI5OjU1IiB4c2k6dHlwZT0iSW5jbHVkZWRJbiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDAiIGxvY2F0b3I9IjI5OjktMjk6MzEiIHBhdGg9InBlcmlvZCIgc2NvcGU9Ikhvc3BpdGFsTG9jYXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDIiIGxvY2F0b3I9IjI5OjQwLTI5OjU1IiBwYXRoPSJwZXJpb2QiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDEiIGxvY2F0b3I9IjI5OjQwLTI5OjQ4IiBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDxzb3J0IGxvY2FsSWQ9IjQ4IiBsb2NhdG9yPSIzMDo0LTMwOjI2Ij4KICAgICAgICAgICAgICAgICAgPGJ5IGxvY2FsSWQ9IjQ3IiBsb2NhdG9yPSIzMDoxMi0zMDoyNiIgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NiIgbG9jYXRvcj0iMzA6MTItMzA6MjYiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDUiIGxvY2F0b3I9IjMwOjIxLTMwOjI2IiBuYW1lPSJwZXJpb2QiIHhzaTp0eXBlPSJJZGVudGlmaWVyUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICAgICAgICA8L2J5PgogICAgICAgICAgICAgICA8L3NvcnQ+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyOCIgbG9jYXRvcj0iMjY6NjEtMjY6NzQiIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTQiIGxvY2F0b3I9IjIzOjEtMjQ6NTIiIG5hbWU9IkZpcnN0SUNVTG9jYXRpb25QZXJpb2QiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiIHhzaTp0eXBlPSJGdW5jdGlvbkRlZiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjU0Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgZnVuY3Rpb24gJnF1b3Q7Rmlyc3RJQ1VMb2NhdGlvblBlcmlvZCZxdW90OyhFbmNvdW50ZXIgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjYiPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVIuRW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiApOgoJPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Rmlyc3RJbnBhdGllbnRJbnRlbnNpdmVDYXJlVW5pdCZxdW90Oyg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJpb2Q8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTMiIGxvY2F0b3I9IjI0OjItMjQ6NTIiIHBhdGg9InBlcmlvZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSI1MiIgbG9jYXRvcj0iMjQ6Mi0yNDo0NSIgbmFtZT0iRmlyc3RJbnBhdGllbnRJbnRlbnNpdmVDYXJlVW5pdCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjciIGxvY2F0b3I9IjI0OjM2LTI0OjQ0IiBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNiIgbG9jYXRvcj0iMjM6NTItMjM6NjUiIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTciIGxvY2F0b3I9IjE3OjEtMTg6NDUiIG5hbWU9IlN0YXJ0T2ZGaXJzdElDVSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNTciPgogICAgICAgICAgICAgICA8YTpzPmRlZmluZSBmdW5jdGlvbiAmcXVvdDtTdGFydE9mRmlyc3RJQ1UmcXVvdDsoRW5jb3VudGVyIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gKToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0ZpcnN0SUNVTG9jYXRpb25QZXJpb2QmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjU2IiBsb2NhdG9yPSIxODoyLTE4OjQ1IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU1IiBsb2NhdG9yPSIxODoxMS0xODo0NSIgbmFtZT0iRmlyc3RJQ1VMb2NhdGlvblBlcmlvZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjUiIGxvY2F0b3I9IjE4OjM2LTE4OjQ0IiBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkVuY291bnRlciI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNCIgbG9jYXRvcj0iMTc6NDUtMTc6NTgiIG5hbWU9ImZoaXI6RW5jb3VudGVyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNzIiIGxvY2F0b3I9IjIwOjEtMjE6MTQwIiBuYW1lPSJGcm9tRGF5T2ZTdGFydE9mSG9zcGl0YWxpemF0aW9uVG9EYXlBZnRlckZpcnN0SUNVIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI3MiI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lIGZ1bmN0aW9uICZxdW90O0Zyb21EYXlPZlN0YXJ0T2ZIb3NwaXRhbGl6YXRpb25Ub0RheUFmdGVyRmlyc3RJQ1UmcXVvdDsoRW5jb3VudGVyIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSLkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gKToKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjcxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+SW50ZXJ2YWxbPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HbG9iYWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtUb0RhdGUmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+R2xvYmFsPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uJnF1b3Q7KDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiwgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5HbG9iYWw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtUb0RhdGUmcXVvdDsoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5TdGFydE9mRmlyc3RJQ1UoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPisgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPjIgZGF5czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjcxIiBsb2NhdG9yPSIyMToyLTIxOjE0MCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJmYWxzZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgPGxvdyBsb2NhbElkPSI2NCIgbG9jYXRvcj0iMjE6MTEtMjE6ODYiIG5hbWU9IlRvRGF0ZSIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjMiIGxvY2F0b3I9IjIxOjI3LTIxOjg1IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2MiIgbG9jYXRvcj0iMjE6MzYtMjE6ODUiIG5hbWU9Ikhvc3BpdGFsaXphdGlvbldpdGhPYnNlcnZhdGlvbiIgbGlicmFyeU5hbWU9Ikdsb2JhbCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjEiIGxvY2F0b3I9IjIxOjc2LTIxOjg0IiBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iNzAiIGxvY2F0b3I9IjIxOjg5LTIxOjEzOSIgbmFtZT0iVG9EYXRlIiBsaWJyYXJ5TmFtZT0iR2xvYmFsIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI2OSIgbG9jYXRvcj0iMjE6MTA1LTIxOjEzOCIgeHNpOnR5cGU9IkFkZCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY3IiBsb2NhdG9yPSIyMToxMDUtMjE6MTMwIiBuYW1lPSJTdGFydE9mRmlyc3RJQ1UiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY2IiBsb2NhdG9yPSIyMToxMjEtMjE6MTI5IiBuYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjgiIGxvY2F0b3I9IjIxOjEzMy0yMToxMzgiIHZhbHVlPSIyIiB1bml0PSJkYXlzIiB4c2k6dHlwZT0iUXVhbnRpdHkiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRW5jb3VudGVyIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjU4IiBsb2NhdG9yPSIyMDo3OS0yMDo5MiIgbmFtZT0iZmhpcjpFbmNvdW50ZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9vcGVyYW5kPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg==" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/measure/measure-EXM104_FHIR3-8.1.000.json b/fhir3/input/resources/measure/measure-EXM104_FHIR3-8.1.000.json index 03826394..f197d18d 100644 --- a/fhir3/input/resources/measure/measure-EXM104_FHIR3-8.1.000.json +++ b/fhir3/input/resources/measure/measure-EXM104_FHIR3-8.1.000.json @@ -4,28 +4,27 @@ "meta": { "versionId": "4", "lastUpdated": "2019-09-13T20:33:19.546+00:00", - "profile": [ - "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" - ] + "profile": [ "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" ] }, "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table style=\"width: 60%; border-bottom: none;\" class=\"header_table\"> <!-- <tr th:if=\"${resource.hasId()}\" style=\"vertical-align: top;\"><th style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Id: </span></th><td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.id}\"></td></tr> --><tr style=\"vertical-align: top;\"><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Title</span></td><td colspan=\"1\" style=\"width:60%\"><h1 style=\"font-size:10px\">Discharged on Antithrombotic Therapy</h1></td><td scope=\"row\" style=\"background-color:#656565; width:10%\"><span class=\"td_label\">Measure ID</span></td><td colspan=\"1\" style=\"width:10%\"><h1 style=\"font-size:10px\">EXM104</h1></td></tr> <!-- <th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'CMS'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Identifier (Measure Authoring Tool)</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Version number</span></td><td style=\"width:30%\" th:narrative=\"${resource.version}\"></td></tr></th:block><th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'NQF'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">NQF Number</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">GUID</span></td><td style=\"width:30%\" th:narrative=\"${resource.url}\"></td></tr></th:block> --><tr style=\"vertical-align: top;\"><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Description</span></td><td colspan=\"3\" style=\"width:80%\"><div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><pre><p>Ischemic stroke patients prescribed or continuing to take antithrombotic therapy at hospital discharge</p>\n</pre>\n </div>\n </td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measurement Period</span></td>\n <td colspan=\"3\" style=\"width:80%\">January 1 - December 31</td>\n </tr>\n <!-- <tr>\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Steward</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td>\n </tr>\n <tr>\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Developer</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td>\n </tr> -->\n <!-- <tr th:if=\"${resource.hasDisclaimer()}\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Disclaimer</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.disclaimer}\"></pre>\n </div>\n </td>\n </tr> -->\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Copyright and Disclaimer Notice</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>These performance measures are not clinical guidelines and do not establish a standard of medical care, and have not been tested for all potential applications. The measures and specifications are provided without warranty.</pre>\n <br/>\n <pre>HEDIS%26reg; is a registered trademark of the National Committee for Quality Assurance (NCQA). The HEDIS measures and specifications are owned by NCQA. NCQA holds a copyright in the HEDIS measures and specifications and may rescind or alter these measures and specifications at any time. Users of the HEDIS measures and specifications shall not have the right to alter, enhance or otherwise modify the HEDIS measures and specifications, and shall not disassemble, recompile or reverse engineer the HEDIS measures and specifications. Anyone desiring to use or reproduce the materials, subject to licensed user restrictions, without modification for an internal, non-commercial purpose may do so without obtaining any approval from NCQA. Use of the Rules for Allowable Adjustments of HEDIS to make permitted adjustments of the materials does not constitute a modification. All other uses, including a commercial use, or any external reproduction, distribution and publication must be approved by NCQA and are subject to a license at the discretion of NCQA.\n\nHEDIS measures and specifications are not clinical guidelines, do not establish a standard of medical care and have not been tested for all potential applications. The measures and specifications are provided “as is” without warranty of any kind. NCQA makes no representations, warranties or endorsements about the quality of any product, test or protocol identified as numerator compliant or otherwise identified as meeting the requirements of a HEDIS measure or specification. NCQA also makes no representations, warranties or endorsements about the quality of any organization or clinician who uses or reports performance measures. NCQA has no liability to anyone who relies on HEDIS measures and specifications or data reflective of performance under such measures and specifications.\n\nCalculated measure results, based on unadjusted HEDIS specifications, may not be termed “Health Plan HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Uncertified, Unaudited Health Plan HEDIS Rates.”\n\nCalculated measure results, based on adjusted HEDIS specifications, may not be termed “Adjusted HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Adjusted, Uncertified, Unaudited HEDIS Rates.”\n\nLimited proprietary coding is contained in the measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. NCQA disclaims all liability for use or accuracy of any coding contained in the specifications.\n\nThe American Medical Association holds a copyright to the CPT%26reg; codes contained in the measures specifications.\n\nThe American Hospital Association holds a copyright to the Uniform Bill Codes (UB) contained in the measure specifications. The UB Codes in the HEDIS specifications are included with the permission of the AHA. The UB Codes contained in the HEDIS specifications may be used by health plans and other health care delivery organizations for the purpose of calculating and reporting HEDIS measure results or using HEDIS measure results for their internal quality improvement purposes. All other uses of the UB Codes require a license from the AHA. Anyone desiring to use the UB Codes in a commercial Product(s) to generate HEDIS results, or for any other commercial use, must obtain a commercial use license directly from the AHA. To inquire about licensing, contact ub04@healthforum.com.\n\nSome measure specifications contain coding from LOINC%26reg; (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright %26copy; 1995-2019, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/terms-of-use.\n\n\"SNOMED” and “SNOMED CT” are registered trademarks of the International Health Terminology Standards Development Organization (IHTSDO).\n\n“HL7” is the registered trademark of Health Level Seven International.\n\n%26copy; 2019 by the National Committee for Quality Assurance, all rights reserved.</pre>\n </div>\n </td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Clinical Recommendation Statement</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><p>Clinical trial results suggest that antithrombotic therapy should be prescribed at discharge following acute ischemic stroke to reduce stroke mortality and morbidity as long as no contraindications exist</p>\n</div>\n </td>\n </tr>\n \n <tr style=\"vertical-align: top;\">\n <td rowspan=\"8\" scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">References</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Adams HP, del Zoppo G, Alberts MJ, Bhatt DL, Brass L, Furlan A, Grubb RL, Higashida RT, Jauch EC, Kidwell C, Lyden PD, Morgenstern LB, Qureshi AI, Rosenwasser RH, Scott PA, Wijdicks E. Guidelines for the Early Management of Adults with Ischemic Stroke: A Guideline From the American Heart Association/American Stroke Association Stroke Council, Clinical CardiologyCouncil, Cardiovascular Radiology and Intervention Council, and the Atherosclerotic Peripheral Vascular Disease and Quality of Care Outcomes in Research Interdisciplinary Working Groups. Stroke. 2007;38:1655-1711.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Adams H, Adams R, Del Zoppo G, Goldstein LB. Guidelines for the Early Management of Patients With Ischemic Stroke: Guidelines Update A Scientific Statement From the Stroke Council of the American Heart Association/American Stroke Association. Stroke Vol. 36, 2005: 916:923.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Albers GW, Amarenco P, Easton JD, Sacco RL, Teal P. Antithrombotic and Thrombolytic Therapy for Ischemic Stroke. Chest Vol. 119, 2001: 300-320.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Brott TG, Clark WM, Grotta JC, et al. Stroke the first hours. Guidelines for acute treatment. Consensus Statement. National Stroke Association. 2000.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Chen ZM, Sandercock P, Pan HC, et al. Indications for early aspirin use in acute ischemic stroke: a combined analysis of 40,000 randomized patients from the Chinese acute stroke trial and the international stroke trial. On behalf of the CAST and IST collaborative groups, Stroke 2000;31:1240-1249.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Coull BM, Williams LS, Goldstein LB, et al. Anticoagulants and Antiplatelet Agents in Acute Ischemic Stroke. Report of the Joint Stroke Guideline Development Committee of the American Academy of Neurology and the American Stroke Association (a Division of the American Heart Association) Stroke. 2002;33:1934 - 1942.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Guideline on the Use of Aspirin as Secondary Prophylaxis for Vascular Disease in Primary Care, Centre for Health Services Research University of Newcastle upon Tyne, %26amp; Centre for Health Economics of York, 1998.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Kernan, W.N., B. Ovbiagele, H. R. Black, D. M. Bravata, M. I. Chimowitz, M. D. Ezekowitz, M. C. Fang, M. Fisher, K. L. Furie, D. V. Heck, S. C. Johnston, S. E. Kasner, S. J. Kittner, P. H. Mitchell, M. W. Rich, D. Richardson, L. H. Schwamm, J. A. Wilson. \"Guidelines for the Prevention of Stroke in Patients with Stroke and Transient Ischemic Attack: A Guideline for Healthcare Professionals from the American Heart Association/American Stroke Association.\" [in eng.] Stroke 45, no. 7 (May 2014): 2160-223. </pre>\n </div>\n </td>\n </tr>\n \n <tr>\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Characteristics</span></td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Scoring</span></td>\n <td colspan=\"3\" style=\"width:80%\">Proportion</td>\n </tr>\n <!-- <tr th:if=\"${resource.hasCompositeScoring()}\">\n <td style=\"width:20%\" scope=\"row\"><span class=\"td_label\">Composite Scoring</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.compositeScoring.getText().substring(0, 1).toUpperCase() + resource.compositeScoring.getText().substring(1)}\"></td>\n </tr> -->\n \n <tr style=\"vertical-align: top;\">\n <td rowspan=\"1\" scope=\"row\" style=\"width:20%\"><span>Type</span></td>\n <td colspan=\"3\" style=\"width:80%\">Process</td>\n </tr>\n \n <!-- <tr th:if=\"${resource.hasStatus()}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Status</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.status.toString().substring(0, 1).toUpperCase() + resource.status.toString().substring(1).toLowerCase()}\"></td>\n </tr>\n <tr th:if=\"${resource.hasPurpose()}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Purpose</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.purpose}\"></td>\n </tr>\n <tr th:if=\"${resource.hasUsage()}\" style=\"vertical-align: top;\" >\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Usage</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.usage}\"></td>\n </tr>\n <th:block th:each=\"context, iter : ${resource.useContext}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Use Context</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${context}\"></td>\n </tr>\n </th:block>\n <th:block th:each=\"topics, iter : ${resource.topic}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Topic</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${topics}\"></td>\n </tr>\n </th:block>\n <th:block th:each=\"cont, iter : ${resource.contributor}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Contributor</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <b><span th:narrative=\"${cont.type.toCode()}\"></span>: </b><span th:narrative=\"${cont.name}\"></span>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"lib, iter : ${resource.library}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Library</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <p th:if=\"${lib.hasIdentifier()}\"><b>identifier: </b><span th:narrative=\"${lib.identifier}\"></span></p>\n <p th:if=\"${lib.hasReference()}\"><b>reference: </b><span th:narrative=\"${lib.reference}\"></span></p>\n <p th:if=\"${lib.hasDisplay()}\"><b>display: </b><span th:narrative=\"${lib.display}\"></span></p>\n </td>\n </tr>\n </th:block> -->\n \n <!-- <tr th:if=\"${resource.hasRateAggregation()}\" >\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rate Aggregation</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.rateAggregation}\"></pre>\n </div>\n </td>\n </tr>\n <tr th:if=\"${resource.hasRationale()}\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rationale</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.rationale}\"></pre>\n </div>\n </td>\n </tr> -->\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Improvement Notation</span></td>\n <td colspan=\"3\" style=\"width:80%\">A higher rate indicates better performance.</td>\n \n </tr>\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Guidance</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><p>The \"Non-elective Inpatient Encounter\" value set intends to capture all non-scheduled hospitalizations. This value set is a subset of the \"Inpatient encounter\" value set, excluding concepts that specifically refer to elective hospital admissions. Non-elective admissions include emergency, urgent and unplanned admissions.</p>\n<p>The \"Medication, Discharge\" datatype refers to the discharge medication list and is intended to express medications ordered for post-discharge use.</p>\n</div>\n </td>\n </tr>\n <tr>\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Definitions</span></td>\n </tr>\n \n \n <!-- <th:block th:each=\"groups, iter : ${resource.uniquePopulationGroup}\" >\n <tr style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\" th:text=\"${groups.identifier.value}\"></span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${pops.description}\"></pre>\n </div>\n </td>\n </tr>\n </th:block> -->\n </table>\n <table style=\"width: 60%; border-top: none; border-bottom: none\" class=\"header_table\">\n \n </table>\n <table style=\"width: 60%; border-top: none;\" class=\"header_table\">\n <!-- <th:block th:each=\"supples, iter : ${resource.supplementalData}\">\n <tr>\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Supplemental Data:</b></th>\n <td style=\"width:80%\" colspan=\"3\" >\n <p style=\"margin-bottom: 5px;\" th:narrative=\"${supples.identifier}\"></p>\n <p style=\"margin-bottom: 5px;\" th:each=\"uses : ${supples.usage}\">\n <b>usage: </b>\n <span th:narrative=\"${uses}\"></span>\n </p>\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasCriteria()}\">\n <b>criteria: </b>\n <span th:narrative=\"${supples.criteria}\"></span>\n </p>\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasPath()}\">\n <b>path: </b>\n <span th:narrative=\"${supples.path}\"></span>\n </p>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"param, iter : ${resource.parameter}\">\n <tr style=\"vertical-align: top;\">\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Parameter: </b></th>\n <td style=\"width:80%\" colspan=\"3\" >\n <span th:if=\"${param.hasName()}\">\n <b>name: </b>\n <span th:narrative=\"${param.name}\"></span>\n <br/>\n </span>\n <b>use: </b>\n <span th:narrative=\"${param.use.toCode()}\"></span>\n <br/>\n <span th:if=\"${param.hasMin()}\">\n <b>minimum cardinality: </b>\n <span th:narrative=\"${param.min}\"></span>\n <br/>\n </span>\n <span th:if=\"${param.hasMax()}\">\n <b>maximum cardinality: </b>\n <span th:narrative=\"${param.max}\"></span>\n <br/>\n </span>\n <b>type: </b>\n <span th:narrative=\"${param.type}\"></span>\n <br/>\n <span th:if=\"${param.hasDocumentation()}\">\n <b>documentation: </b>\n <span th:narrative=\"${param.documentation}\"></span>\n <br/>\n </span>\n <span th:if=\"${param.hasProfile()}\">\n <b>profile: </b>\n <span th:narrative=\"${param.profile}\"></span>\n <br/>\n </span>\n <p style=\"margin-bottom: 5px;\"></p>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"dataReq, iter : ${resource.dataRequirement}\">\n <tr style=\"vertical-align: top;\">\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\" ><b>Data Requirements: </b></th>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${dataReq}\"></td>\n </tr>\n </th:block> -->\n </table>\n <h2><a name=\"toc\">Table of Contents</a></h2>\n <ul style=\"padding-left: 50px;\">\n <li><a href=\"#d1e405\">Population Criteria</a></li>\n <li><a href=\"#d1e649\">Definitions</a></li>\n <li><a href=\"#d1e650\">Functions</a></li>\n <li><a href=\"#d1e555\">Terminology</a></li>\n <li><a href=\"#d1e647\">Data Criteria (QDM Data Elements)</a></li>\n <li><a href=\"#d1e767\">Supplemental Data Elements</a></li>\n <li><a href=\"#d1e879\">Risk Adjustment Variables</a></li>\n </ul>\n <div style=\"float:left; background:teal; height:3px; width:80%\"></div>\n \n <h3><a name=\"d1e649\" href=\"#toc\">Definitions</a></h3>\n \n <h3><a name=\"d1e650\" href=\"#toc\">Functions</a></h3>\n \n <h3><a name=\"d1e555\" href=\"#toc\">Terminology</a></h3>\n <div>\n <ul style=\"padding-left: 50px;\">\n \n </ul>\n </div>\n <h3><a name=\"d1e647\" href=\"#toc\">Data Criteria (QDM Data Elements)</a></h3>\n <div>\n <ul style=\"padding-left: 50px;\">\n \n </ul>\n </div>\n <h3><a name=\"d1e767\" href=\"#toc\">Supplemental Data Elements</a></h3>\n \n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li>None</li>\n </ul>\n </div>\n <h3><a name=\"d1e879\" href=\"#toc\">Risk Adjustment Variables</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li>None</li>\n </ul>\n </div>\n <div style=\"float:left; background:teal; height:3px; width:80%\"></div>\n <table>\n \n <!-- <th:block th:each=\"con, iter : ${resource.content}\">\n <tr th:if=\"${con.contentType == 'text/cql'}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Content</span></td>\n <td style=\"width:80%\" ><b>type: </b><span th:text=\"${con.contentType}\"></span></td>\n </tr>\n <tr th:if=\"${con.contentType == 'text/cql'}\">\n <td style=\"width:100%\" colspan=\"2\" >\n <th:block th:if=\"${con.getData() != null }\" >\n <pre><code th:class=\"${con.contentType == 'text/cql' ? 'language-cql' : 'language-xml'}\" th:text=\"${new java.lang.String(con.getData())}\"></code></pre>\n </th:block>\n <th:block th:if=\"${con.getData() == null }\" >\n <span><i>%26lt;content is empty%26gt;</i></span>\n </th:block>\n </td>\n </tr>\n </th:block > -->\n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table style=\"width: 60%; border-bottom: none;\" class=\"header_table\"> <!-- <tr th:if=\"${resource.hasId()}\" style=\"vertical-align: top;\"><th style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Id: </span></th><td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.id}\"></td></tr> --><tr style=\"vertical-align: top;\"><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Title</span></td><td colspan=\"1\" style=\"width:60%\"><h1 style=\"font-size:10px\">Discharged on Antithrombotic Therapy</h1></td><td scope=\"row\" style=\"background-color:#656565; width:10%\"><span class=\"td_label\">Measure ID</span></td><td colspan=\"1\" style=\"width:10%\"><h1 style=\"font-size:10px\">EXM104</h1></td></tr> <!-- <th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'CMS'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Identifier (Measure Authoring Tool)</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Version number</span></td><td style=\"width:30%\" th:narrative=\"${resource.version}\"></td></tr></th:block><th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'NQF'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">NQF Number</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">GUID</span></td><td style=\"width:30%\" th:narrative=\"${resource.url}\"></td></tr></th:block> --><tr style=\"vertical-align: top;\"><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Description</span></td><td colspan=\"3\" style=\"width:80%\"><div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><pre><p>Ischemic stroke patients prescribed or continuing to take antithrombotic therapy at hospital discharge</p>\n</pre>\n </div>\n </td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measurement Period</span></td>\n <td colspan=\"3\" style=\"width:80%\">January 1 - December 31</td>\n </tr>\n <!-- <tr>\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Steward</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td>\n </tr>\n <tr>\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Developer</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td>\n </tr> -->\n <!-- <tr th:if=\"${resource.hasDisclaimer()}\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Disclaimer</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.disclaimer}\"></pre>\n </div>\n </td>\n </tr> -->\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Copyright and Disclaimer Notice</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>These performance measures are not clinical guidelines and do not establish a standard of medical care, and have not been tested for all potential applications. The measures and specifications are provided without warranty.</pre>\n <br/>\n <pre>HEDIS%26reg; is a registered trademark of the National Committee for Quality Assurance (NCQA). The HEDIS measures and specifications are owned by NCQA. NCQA holds a copyright in the HEDIS measures and specifications and may rescind or alter these measures and specifications at any time. Users of the HEDIS measures and specifications shall not have the right to alter, enhance or otherwise modify the HEDIS measures and specifications, and shall not disassemble, recompile or reverse engineer the HEDIS measures and specifications. Anyone desiring to use or reproduce the materials, subject to licensed user restrictions, without modification for an internal, non-commercial purpose may do so without obtaining any approval from NCQA. Use of the Rules for Allowable Adjustments of HEDIS to make permitted adjustments of the materials does not constitute a modification. All other uses, including a commercial use, or any external reproduction, distribution and publication must be approved by NCQA and are subject to a license at the discretion of NCQA.\n\nHEDIS measures and specifications are not clinical guidelines, do not establish a standard of medical care and have not been tested for all potential applications. The measures and specifications are provided “as is” without warranty of any kind. NCQA makes no representations, warranties or endorsements about the quality of any product, test or protocol identified as numerator compliant or otherwise identified as meeting the requirements of a HEDIS measure or specification. NCQA also makes no representations, warranties or endorsements about the quality of any organization or clinician who uses or reports performance measures. NCQA has no liability to anyone who relies on HEDIS measures and specifications or data reflective of performance under such measures and specifications.\n\nCalculated measure results, based on unadjusted HEDIS specifications, may not be termed “Health Plan HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Uncertified, Unaudited Health Plan HEDIS Rates.”\n\nCalculated measure results, based on adjusted HEDIS specifications, may not be termed “Adjusted HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Adjusted, Uncertified, Unaudited HEDIS Rates.”\n\nLimited proprietary coding is contained in the measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. NCQA disclaims all liability for use or accuracy of any coding contained in the specifications.\n\nThe American Medical Association holds a copyright to the CPT%26reg; codes contained in the measures specifications.\n\nThe American Hospital Association holds a copyright to the Uniform Bill Codes (UB) contained in the measure specifications. The UB Codes in the HEDIS specifications are included with the permission of the AHA. The UB Codes contained in the HEDIS specifications may be used by health plans and other health care delivery organizations for the purpose of calculating and reporting HEDIS measure results or using HEDIS measure results for their internal quality improvement purposes. All other uses of the UB Codes require a license from the AHA. Anyone desiring to use the UB Codes in a commercial Product(s) to generate HEDIS results, or for any other commercial use, must obtain a commercial use license directly from the AHA. To inquire about licensing, contact ub04@healthforum.com.\n\nSome measure specifications contain coding from LOINC%26reg; (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright %26copy; 1995-2019, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/terms-of-use.\n\n"SNOMED” and “SNOMED CT” are registered trademarks of the International Health Terminology Standards Development Organization (IHTSDO).\n\n“HL7” is the registered trademark of Health Level Seven International.\n\n%26copy; 2019 by the National Committee for Quality Assurance, all rights reserved.</pre>\n </div>\n </td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Clinical Recommendation Statement</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><p>Clinical trial results suggest that antithrombotic therapy should be prescribed at discharge following acute ischemic stroke to reduce stroke mortality and morbidity as long as no contraindications exist</p>\n</div>\n </td>\n </tr>\n \n <tr style=\"vertical-align: top;\">\n <td rowspan=\"8\" scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">References</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Adams HP, del Zoppo G, Alberts MJ, Bhatt DL, Brass L, Furlan A, Grubb RL, Higashida RT, Jauch EC, Kidwell C, Lyden PD, Morgenstern LB, Qureshi AI, Rosenwasser RH, Scott PA, Wijdicks E. Guidelines for the Early Management of Adults with Ischemic Stroke: A Guideline From the American Heart Association/American Stroke Association Stroke Council, Clinical CardiologyCouncil, Cardiovascular Radiology and Intervention Council, and the Atherosclerotic Peripheral Vascular Disease and Quality of Care Outcomes in Research Interdisciplinary Working Groups. Stroke. 2007;38:1655-1711.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Adams H, Adams R, Del Zoppo G, Goldstein LB. Guidelines for the Early Management of Patients With Ischemic Stroke: Guidelines Update A Scientific Statement From the Stroke Council of the American Heart Association/American Stroke Association. Stroke Vol. 36, 2005: 916:923.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Albers GW, Amarenco P, Easton JD, Sacco RL, Teal P. Antithrombotic and Thrombolytic Therapy for Ischemic Stroke. Chest Vol. 119, 2001: 300-320.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Brott TG, Clark WM, Grotta JC, et al. Stroke the first hours. Guidelines for acute treatment. Consensus Statement. National Stroke Association. 2000.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Chen ZM, Sandercock P, Pan HC, et al. Indications for early aspirin use in acute ischemic stroke: a combined analysis of 40,000 randomized patients from the Chinese acute stroke trial and the international stroke trial. On behalf of the CAST and IST collaborative groups, Stroke 2000;31:1240-1249.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Coull BM, Williams LS, Goldstein LB, et al. Anticoagulants and Antiplatelet Agents in Acute Ischemic Stroke. Report of the Joint Stroke Guideline Development Committee of the American Academy of Neurology and the American Stroke Association (a Division of the American Heart Association) Stroke. 2002;33:1934 - 1942.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Guideline on the Use of Aspirin as Secondary Prophylaxis for Vascular Disease in Primary Care, Centre for Health Services Research University of Newcastle upon Tyne, %26amp; Centre for Health Economics of York, 1998.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Kernan, W.N., B. Ovbiagele, H. R. Black, D. M. Bravata, M. I. Chimowitz, M. D. Ezekowitz, M. C. Fang, M. Fisher, K. L. Furie, D. V. Heck, S. C. Johnston, S. E. Kasner, S. J. Kittner, P. H. Mitchell, M. W. Rich, D. Richardson, L. H. Schwamm, J. A. Wilson. "Guidelines for the Prevention of Stroke in Patients with Stroke and Transient Ischemic Attack: A Guideline for Healthcare Professionals from the American Heart Association/American Stroke Association." [in eng.] Stroke 45, no. 7 (May 2014): 2160-223. </pre>\n </div>\n </td>\n </tr>\n \n <tr>\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Characteristics</span></td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Scoring</span></td>\n <td colspan=\"3\" style=\"width:80%\">Proportion</td>\n </tr>\n <!-- <tr th:if=\"${resource.hasCompositeScoring()}\">\n <td style=\"width:20%\" scope=\"row\"><span class=\"td_label\">Composite Scoring</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.compositeScoring.getText().substring(0, 1).toUpperCase() + resource.compositeScoring.getText().substring(1)}\"></td>\n </tr> -->\n \n <tr style=\"vertical-align: top;\">\n <td rowspan=\"1\" scope=\"row\" style=\"width:20%\"><span>Type</span></td>\n <td colspan=\"3\" style=\"width:80%\">Process</td>\n </tr>\n \n <!-- <tr th:if=\"${resource.hasStatus()}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Status</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.status.toString().substring(0, 1).toUpperCase() + resource.status.toString().substring(1).toLowerCase()}\"></td>\n </tr>\n <tr th:if=\"${resource.hasPurpose()}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Purpose</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.purpose}\"></td>\n </tr>\n <tr th:if=\"${resource.hasUsage()}\" style=\"vertical-align: top;\" >\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Usage</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.usage}\"></td>\n </tr>\n <th:block th:each=\"context, iter : ${resource.useContext}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Use Context</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${context}\"></td>\n </tr>\n </th:block>\n <th:block th:each=\"topics, iter : ${resource.topic}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Topic</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${topics}\"></td>\n </tr>\n </th:block>\n <th:block th:each=\"cont, iter : ${resource.contributor}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Contributor</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <b><span th:narrative=\"${cont.type.toCode()}\"></span>: </b><span th:narrative=\"${cont.name}\"></span>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"lib, iter : ${resource.library}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Library</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <p th:if=\"${lib.hasIdentifier()}\"><b>identifier: </b><span th:narrative=\"${lib.identifier}\"></span></p>\n <p th:if=\"${lib.hasReference()}\"><b>reference: </b><span th:narrative=\"${lib.reference}\"></span></p>\n <p th:if=\"${lib.hasDisplay()}\"><b>display: </b><span th:narrative=\"${lib.display}\"></span></p>\n </td>\n </tr>\n </th:block> -->\n \n <!-- <tr th:if=\"${resource.hasRateAggregation()}\" >\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rate Aggregation</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.rateAggregation}\"></pre>\n </div>\n </td>\n </tr>\n <tr th:if=\"${resource.hasRationale()}\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rationale</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.rationale}\"></pre>\n </div>\n </td>\n </tr> -->\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Improvement Notation</span></td>\n <td colspan=\"3\" style=\"width:80%\">A higher rate indicates better performance.</td>\n \n </tr>\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Guidance</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><p>The "Non-elective Inpatient Encounter" value set intends to capture all non-scheduled hospitalizations. This value set is a subset of the "Inpatient encounter" value set, excluding concepts that specifically refer to elective hospital admissions. Non-elective admissions include emergency, urgent and unplanned admissions.</p>\n<p>The "Medication, Discharge" datatype refers to the discharge medication list and is intended to express medications ordered for post-discharge use.</p>\n</div>\n </td>\n </tr>\n <tr>\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Definitions</span></td>\n </tr>\n \n \n <!-- <th:block th:each=\"groups, iter : ${resource.uniquePopulationGroup}\" >\n <tr style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\" th:text=\"${groups.identifier.value}\"></span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${pops.description}\"></pre>\n </div>\n </td>\n </tr>\n </th:block> -->\n </table>\n <table style=\"width: 60%; border-top: none; border-bottom: none\" class=\"header_table\">\n \n </table>\n <table style=\"width: 60%; border-top: none;\" class=\"header_table\">\n <!-- <th:block th:each=\"supples, iter : ${resource.supplementalData}\">\n <tr>\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Supplemental Data:</b></th>\n <td style=\"width:80%\" colspan=\"3\" >\n <p style=\"margin-bottom: 5px;\" th:narrative=\"${supples.identifier}\"></p>\n <p style=\"margin-bottom: 5px;\" th:each=\"uses : ${supples.usage}\">\n <b>usage: </b>\n <span th:narrative=\"${uses}\"></span>\n </p>\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasCriteria()}\">\n <b>criteria: </b>\n <span th:narrative=\"${supples.criteria}\"></span>\n </p>\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasPath()}\">\n <b>path: </b>\n <span th:narrative=\"${supples.path}\"></span>\n </p>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"param, iter : ${resource.parameter}\">\n <tr style=\"vertical-align: top;\">\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Parameter: </b></th>\n <td style=\"width:80%\" colspan=\"3\" >\n <span th:if=\"${param.hasName()}\">\n <b>name: </b>\n <span th:narrative=\"${param.name}\"></span>\n <br/>\n </span>\n <b>use: </b>\n <span th:narrative=\"${param.use.toCode()}\"></span>\n <br/>\n <span th:if=\"${param.hasMin()}\">\n <b>minimum cardinality: </b>\n <span th:narrative=\"${param.min}\"></span>\n <br/>\n </span>\n <span th:if=\"${param.hasMax()}\">\n <b>maximum cardinality: </b>\n <span th:narrative=\"${param.max}\"></span>\n <br/>\n </span>\n <b>type: </b>\n <span th:narrative=\"${param.type}\"></span>\n <br/>\n <span th:if=\"${param.hasDocumentation()}\">\n <b>documentation: </b>\n <span th:narrative=\"${param.documentation}\"></span>\n <br/>\n </span>\n <span th:if=\"${param.hasProfile()}\">\n <b>profile: </b>\n <span th:narrative=\"${param.profile}\"></span>\n <br/>\n </span>\n <p style=\"margin-bottom: 5px;\"></p>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"dataReq, iter : ${resource.dataRequirement}\">\n <tr style=\"vertical-align: top;\">\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\" ><b>Data Requirements: </b></th>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${dataReq}\"></td>\n </tr>\n </th:block> -->\n </table>\n <h2><a name=\"toc\">Table of Contents</a></h2>\n <ul style=\"padding-left: 50px;\">\n <li><a href=\"#d1e405\">Population Criteria</a></li>\n <li><a href=\"#d1e649\">Definitions</a></li>\n <li><a href=\"#d1e650\">Functions</a></li>\n <li><a href=\"#d1e555\">Terminology</a></li>\n <li><a href=\"#d1e647\">Data Criteria (QDM Data Elements)</a></li>\n <li><a href=\"#d1e767\">Supplemental Data Elements</a></li>\n <li><a href=\"#d1e879\">Risk Adjustment Variables</a></li>\n </ul>\n <div style=\"float:left; background:teal; height:3px; width:80%\"/>\n \n <h3><a name=\"d1e649\" href=\"#toc\">Definitions</a></h3>\n \n <h3><a name=\"d1e650\" href=\"#toc\">Functions</a></h3>\n \n <h3><a name=\"d1e555\" href=\"#toc\">Terminology</a></h3>\n <div>\n <ul style=\"padding-left: 50px;\">\n \n </ul>\n </div>\n <h3><a name=\"d1e647\" href=\"#toc\">Data Criteria (QDM Data Elements)</a></h3>\n <div>\n <ul style=\"padding-left: 50px;\">\n \n </ul>\n </div>\n <h3><a name=\"d1e767\" href=\"#toc\">Supplemental Data Elements</a></h3>\n \n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li>None</li>\n </ul>\n </div>\n <h3><a name=\"d1e879\" href=\"#toc\">Risk Adjustment Variables</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li>None</li>\n </ul>\n </div>\n <div style=\"float:left; background:teal; height:3px; width:80%\"/>\n <table>\n \n <!-- <th:block th:each=\"con, iter : ${resource.content}\">\n <tr th:if=\"${con.contentType == 'text/cql'}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Content</span></td>\n <td style=\"width:80%\" ><b>type: </b><span th:text=\"${con.contentType}\"></span></td>\n </tr>\n <tr th:if=\"${con.contentType == 'text/cql'}\">\n <td style=\"width:100%\" colspan=\"2\" >\n <th:block th:if=\"${con.getData() != null }\" >\n <pre><code th:class=\"${con.contentType == 'text/cql' ? 'language-cql' : 'language-xml'}\" th:text=\"${new java.lang.String(con.getData())}\"></code></pre>\n </th:block>\n <th:block th:if=\"${con.getData() == null }\" >\n <span><i>%26lt;content is empty%26gt;</i></span>\n </th:block>\n </td>\n </tr>\n </th:block > -->\n </table>\n</div>" }, - "extension": [ - { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", - "valueCode": "boolean" + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", + "valueCode": "boolean" + }, { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" } - ], + } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-exm104-FHIR3", - "identifier": [ - { - "use": "official", - "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms", - "value": "104" - } - ], + "identifier": [ { + "use": "official", + "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms", + "value": "104" + } ], "version": "8.1.000", "name": "EXM104", "title": "Discharged on Antithrombotic Therapy", @@ -40,250 +39,181 @@ "start": "2019-01-01", "end": "2019-12-31" }, - "useContext": [ - { - "code": { - "code": "program" - }, - "valueCodeableConcept": { - "text": "eligible-provider" - } - } - ], - "jurisdiction": [ - { - "coding": [ - { - "system": "urn:iso:std:iso:3166", - "code": "US" - } - ] - } - ], - "topic": [ - { - "coding": [ - { - "system": "http://loinc.org", - "code": "57024-2", - "display": "Health Quality Measure Document" - } - ] - } - ], - "contributor": [ - { - "type": "author", - "name": "National Committee for Quality Assurance" - } - ], - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://www.ncqa.org/" - } - ] - } - ], - "copyright": "Measure specifications are in the Public Domain. LOINC(R) is a registered trademark of the Regenstrief Institute. This material contains SNOMED Clinical Terms(R) (SNOMED CT(C)) copyright 2004-2017 International Health Terminology Standards Development Organization. All rights reserved.", - "relatedArtifact": [ - { - "type": "citation", - "citation": "Adams HP, del Zoppo G, Alberts MJ, Bhatt DL, Brass L, Furlan A, Grubb RL, Higashida RT, Jauch EC, Kidwell C, Lyden PD, Morgenstern LB, Qureshi AI, Rosenwasser RH, Scott PA, Wijdicks E. Guidelines for the Early Management of Adults with Ischemic Stroke: A Guideline From the American Heart Association/American Stroke Association Stroke Council, Clinical CardiologyCouncil, Cardiovascular Radiology and Intervention Council, and the Atherosclerotic Peripheral Vascular Disease and Quality of Care Outcomes in Research Interdisciplinary Working Groups. Stroke. 2007;38:1655-1711." + "useContext": [ { + "code": { + "code": "program" }, - { - "type": "citation", - "citation": "Adams H, Adams R, Del Zoppo G, Goldstein LB. Guidelines for the Early Management of Patients With Ischemic Stroke: Guidelines Update A Scientific Statement From the Stroke Council of the American Heart Association/American Stroke Association. Stroke Vol. 36, 2005: 916:923." - }, - { - "type": "citation", - "citation": "Albers GW, Amarenco P, Easton JD, Sacco RL, Teal P. Antithrombotic and Thrombolytic Therapy for Ischemic Stroke. Chest Vol. 119, 2001: 300-320." - }, - { - "type": "citation", - "citation": "Brott TG, Clark WM, Grotta JC, et al. Stroke the first hours. Guidelines for acute treatment. Consensus Statement. National Stroke Association. 2000." - }, - { - "type": "citation", - "citation": "Chen ZM, Sandercock P, Pan HC, et al. Indications for early aspirin use in acute ischemic stroke: a combined analysis of 40,000 randomized patients from the Chinese acute stroke trial and the international stroke trial. On behalf of the CAST and IST collaborative groups, Stroke 2000;31:1240-1249." - }, - { - "type": "citation", - "citation": "Coull BM, Williams LS, Goldstein LB, et al. Anticoagulants and Antiplatelet Agents in Acute Ischemic Stroke. Report of the Joint Stroke Guideline Development Committee of the American Academy of Neurology and the American Stroke Association (a Division of the American Heart Association) Stroke. 2002;33:1934 - 1942." - }, - { - "type": "citation", - "citation": "Guideline on the Use of Aspirin as Secondary Prophylaxis for Vascular Disease in Primary Care, Centre for Health Services Research University of Newcastle upon Tyne, & Centre for Health Economics of York, 1998." - }, - { - "type": "citation", - "citation": "Kernan, W.N., B. Ovbiagele, H. R. Black, D. M. Bravata, M. I. Chimowitz, M. D. Ezekowitz, M. C. Fang, M. Fisher, K. L. Furie, D. V. Heck, S. C. Johnston, S. E. Kasner, S. J. Kittner, P. H. Mitchell, M. W. Rich, D. Richardson, L. H. Schwamm, J. A. Wilson. \"Guidelines for the Prevention of Stroke in Patients with Stroke and Transient Ischemic Attack: A Guideline for Healthcare Professionals from the American Heart Association/American Stroke Association.\" [in eng.] Stroke 45, no. 7 (May 2014): 2160-223. " - } - ], - "library": [ - { - "reference": "Library/library-EXM104-FHIR3-8.1.000" + "valueCodeableConcept": { + "text": "eligible-provider" } - ], + } ], + "jurisdiction": [ { + "coding": [ { + "system": "urn:iso:std:iso:3166", + "code": "US" + } ] + } ], + "topic": [ { + "coding": [ { + "system": "http://loinc.org", + "code": "57024-2", + "display": "Health Quality Measure Document" + } ] + } ], + "contributor": [ { + "type": "author", + "name": "National Committee for Quality Assurance" + } ], + "contact": [ { + "telecom": [ { + "system": "url", + "value": "http://www.ncqa.org/" + } ] + } ], + "copyright": "Measure specifications are in the Public Domain. LOINC(R) is a registered trademark of the Regenstrief Institute. This material contains SNOMED Clinical Terms(R) (SNOMED CT(C)) copyright 2004-2017 International Health Terminology Standards Development Organization. All rights reserved.", + "relatedArtifact": [ { + "type": "citation", + "citation": "Adams HP, del Zoppo G, Alberts MJ, Bhatt DL, Brass L, Furlan A, Grubb RL, Higashida RT, Jauch EC, Kidwell C, Lyden PD, Morgenstern LB, Qureshi AI, Rosenwasser RH, Scott PA, Wijdicks E. Guidelines for the Early Management of Adults with Ischemic Stroke: A Guideline From the American Heart Association/American Stroke Association Stroke Council, Clinical CardiologyCouncil, Cardiovascular Radiology and Intervention Council, and the Atherosclerotic Peripheral Vascular Disease and Quality of Care Outcomes in Research Interdisciplinary Working Groups. Stroke. 2007;38:1655-1711." + }, { + "type": "citation", + "citation": "Adams H, Adams R, Del Zoppo G, Goldstein LB. Guidelines for the Early Management of Patients With Ischemic Stroke: Guidelines Update A Scientific Statement From the Stroke Council of the American Heart Association/American Stroke Association. Stroke Vol. 36, 2005: 916:923." + }, { + "type": "citation", + "citation": "Albers GW, Amarenco P, Easton JD, Sacco RL, Teal P. Antithrombotic and Thrombolytic Therapy for Ischemic Stroke. Chest Vol. 119, 2001: 300-320." + }, { + "type": "citation", + "citation": "Brott TG, Clark WM, Grotta JC, et al. Stroke the first hours. Guidelines for acute treatment. Consensus Statement. National Stroke Association. 2000." + }, { + "type": "citation", + "citation": "Chen ZM, Sandercock P, Pan HC, et al. Indications for early aspirin use in acute ischemic stroke: a combined analysis of 40,000 randomized patients from the Chinese acute stroke trial and the international stroke trial. On behalf of the CAST and IST collaborative groups, Stroke 2000;31:1240-1249." + }, { + "type": "citation", + "citation": "Coull BM, Williams LS, Goldstein LB, et al. Anticoagulants and Antiplatelet Agents in Acute Ischemic Stroke. Report of the Joint Stroke Guideline Development Committee of the American Academy of Neurology and the American Stroke Association (a Division of the American Heart Association) Stroke. 2002;33:1934 - 1942." + }, { + "type": "citation", + "citation": "Guideline on the Use of Aspirin as Secondary Prophylaxis for Vascular Disease in Primary Care, Centre for Health Services Research University of Newcastle upon Tyne, & Centre for Health Economics of York, 1998." + }, { + "type": "citation", + "citation": "Kernan, W.N., B. Ovbiagele, H. R. Black, D. M. Bravata, M. I. Chimowitz, M. D. Ezekowitz, M. C. Fang, M. Fisher, K. L. Furie, D. V. Heck, S. C. Johnston, S. E. Kasner, S. J. Kittner, P. H. Mitchell, M. W. Rich, D. Richardson, L. H. Schwamm, J. A. Wilson. \"Guidelines for the Prevention of Stroke in Patients with Stroke and Transient Ischemic Attack: A Guideline for Healthcare Professionals from the American Heart Association/American Stroke Association.\" [in eng.] Stroke 45, no. 7 (May 2014): 2160-223. " + } ], + "library": [ { + "reference": "Library/library-EXM104-FHIR3-8.1.000" + } ], "disclaimer": "These performance measures are not clinical guidelines and do not establish a standard of medical care, and have not been tested for all potential applications. The measures and specifications are provided without warranty.", "scoring": { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-scoring", - "code": "proportion" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/measure-scoring", + "code": "proportion" + } ] }, - "type": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-type", - "code": "process" - } - ] - } - ], + "type": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-type", + "code": "process" + } ] + } ], "rateAggregation": "none", "rationale": "The effectiveness of antithrombotic agents in reducing stroke mortality, stroke-related morbidity and recurrence rates has been studied in several large clinical trials. While the use of these agents for patients with acute ischemic stroke and transient ischemic attacks continues to be the subject of study, substantial evidence is available from completed studies. Data at this time suggest that antithrombotic therapy should be prescribed at discharge following acute ischemic stroke to reduce stroke mortality and morbidity as long as no contraindications exist.\n\nFor patients with a stroke due to a cardioembolic source (eg atrial fibrillation, mechanical heart valve), warfarin is recommended unless contraindicated. In recent years, novel oral anticoagulant agents (NOACs) have been developed and approved by the U.S. Food and Drug Administration (FDA) for stroke prevention, and may be considered as an alternative to warfarin for select patients. Anticoagulation therapy is not generally recommended for secondary stroke prevention in patients presumed to have a non-cardioembolic stroke.\nAnticoagulants at doses to prevent venous thromboembolism are insufficient antithrombotic therapy to prevent recurrent ischemic stroke or TIA.", "clinicalRecommendationStatement": "Clinical trial results suggest that antithrombotic therapy should be prescribed at discharge following acute ischemic stroke to reduce stroke mortality and morbidity as long as no contraindications exist", "improvementNotation": "increase", "guidance": "The \"Non-elective Inpatient Encounter\" value set intends to capture all non-scheduled hospitalizations. This value set is a subset of the \"Inpatient encounter\" value set, excluding concepts that specifically refer to elective hospital admissions. Non-elective admissions include emergency, urgent and unplanned admissions.\n\nThe \"Medication, Discharge\" datatype refers to the discharge medication list and is intended to express medications ordered for post-discharge use.", - "group": [ - { + "group": [ { + "identifier": { + "value": "group-1" + }, + "population": [ { "identifier": { - "value": "group-1" + "value": "initial-population-identifier" }, - "population": [ - { - "identifier": { - "value": "initial-population-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "initial-population", - "display": "Initial Population" - } - ] - }, - "criteria": "Initial Population" - }, - { - "identifier": { - "value": "numerator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "numerator", - "display": "Numerator" - } - ] - }, - "criteria": "Numerator" - }, - { - "identifier": { - "value": "denominator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator", - "display": "Denominator" - } - ] - }, - "criteria": "Denominator" - }, - { - "identifier": { - "value": "denominator-exclusions-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator-exclusion", - "display": "Denominator Exclusion" - } - ] - }, - "criteria": "Denominator Exclusion" - } - ] - } - ], - "supplementalData": [ - { - "identifier": { - "value": "sde-ethnicity" + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population", + "display": "Initial Population" + } ] }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Ethnicity" - }, - { + "criteria": "Initial Population" + }, { "identifier": { - "value": "sde-payer" + "value": "numerator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Payer" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "numerator", + "display": "Numerator" + } ] + }, + "criteria": "Numerator" + }, { "identifier": { - "value": "sde-race" + "value": "denominator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Race" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator", + "display": "Denominator" + } ] + }, + "criteria": "Denominator" + }, { "identifier": { - "value": "sde-sex" + "value": "denominator-exclusions-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Sex" - } - ] -} + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator-exclusion", + "display": "Denominator Exclusion" + } ] + }, + "criteria": "Denominator Exclusion" + } ] + } ], + "supplementalData": [ { + "identifier": { + "value": "sde-ethnicity" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Ethnicity" + }, { + "identifier": { + "value": "sde-payer" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Payer" + }, { + "identifier": { + "value": "sde-race" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Race" + }, { + "identifier": { + "value": "sde-sex" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Sex" + } ] +} \ No newline at end of file diff --git a/fhir3/input/resources/measure/measure-EXM105_FHIR3-8.0.000.json b/fhir3/input/resources/measure/measure-EXM105_FHIR3-8.0.000.json index a070b6b0..bfdcfa3e 100644 --- a/fhir3/input/resources/measure/measure-EXM105_FHIR3-8.0.000.json +++ b/fhir3/input/resources/measure/measure-EXM105_FHIR3-8.0.000.json @@ -4,28 +4,27 @@ "meta": { "versionId": "5", "lastUpdated": "2019-12-04T17:52:12.092-07:00", - "profile": [ - "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" - ] + "profile": [ "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" ] }, "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"header_table\">\r\n <tbody>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">eCQM Title</span></td>\r\n <td colspan=\"3\" style=\"width:80%\"><h1 style=\"font-size:10px\">Discharged on Statin Medication</h1></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">eCQM Identifier (Measure Authoring Tool)</span></td>\r\n <td style=\"width:30%\">105</td>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">eCQM Version number</span></td>\r\n <td style=\"width:30%\">8.1.000</td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">NQF Number</span></td>\r\n <td style=\"width:30%\">Not Applicable</td>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">GUID</span></td>\r\n <td>1f503318-bb8d-4b91-af63-223ae0a2328e</td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measurement Period</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">January 1, 20XX through December 31, 20XX</td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Steward</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">The Joint Commission</td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Developer</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">The Joint Commission</td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Endorsed By</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">None</td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Description</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Ischemic stroke patients who are prescribed or continuing to take statin medication at hospital discharge</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Copyright</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>LOINC(R) copyright 2004-2018 Regenstrief Institute, Inc. \r\n This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2018 International Health Terminology Standards Development Organisation. All Rights Reserved.\r\n \r\n Measure specifications are in the Public Domain.</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Disclaimer</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>These performance measures are not clinical guidelines and do not establish a standard of medical care, and have not been tested for all potential applications. The measures and specifications are provided without warranty.</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Scoring</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">Proportion</td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Type</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">Process</td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Stratification</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>None</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Risk Adjustment</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>None</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Rate Aggregation</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>None</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Rationale</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>There is an extensive and consistent body of evidence supporting the use of statins for secondary prevention in patients with clinically evident atherosclerotic cardiovascular disease (ASCVD), which includes individuals with ischemic stroke due to large artery atherosclerosis, individuals with ischemic stroke due to intrinsic small vessel disease, and individuals with ischemic stroke not directly due to atherosclerosis but with clinically evident atherosclerotic disease in an uninvolved cerebral or noncerebral bed. Both women and men with clinical ASCVD are at increased risk for recurrent ASCVD and ASCVD death. High-intensity statin therapy should be initiated or continued as first-line therapy in women and men less than or equal to 75 years of age who have clinical ASCVD, unless contraindicated. In patients with clinical ASCVD and a contraindication to high-intensity statin therapy, moderate-intensity therapy should be considered as an alternative if it can be tolerated. In individuals greater than 75 years of age, the potential for ASCVD risk reduction benefits, adverse effects, drug-drug interactions, and patient preferences should be considered, and statin therapy individualized based on these considerations (Stone, 2013).</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Clinical Recommendation Statement</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>For patients with stroke of atherosclerotic origin, intensive lipid lowering therapy with statins should be initiated</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Improvement Notation</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Improvement noted as an increase in rate</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Amarenco, P., Bogousslavsky, J., Callahan, A., III, et al. (2006, August 10). High-dose atorvastatin after stroke or transient ischemic attack. New England Journal of Medicine, 355(6), 549-559. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Biffi, A., Devan, W. J., Anderson, C. D., et al. (2011, May). Statin treatment and functional outcome after ischemic stroke: Case-control and meta-analysis. Stroke, 42(5), 1314-1319. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Centers for Disease Control and Prevention. (2009, May 1). Prevalence and most common causes of disability among adults—United States, 2005. Morbidity and Mortality Weekly Report, 58(16), 421-426. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Chan, P. S., Nallamothu, B. K., Gurm, H. S., et al. (2007, May 8). Incremental benefit and cost-effectiveness of high-dose statin therapy in high-risk patients with coronary artery disease. Circulation, 115(18), 2398-2409. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Culver, A. L., Ockene, I. S., Balasubramanian, R., et al. (2012, January 23). Statin use and risk of diabetes mellitus in postmenopausal women in the Women's Health Initiative. Archives of Internal Medicine, 172(2), 144-152. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Feher, A., Pusch, G., Koltai, K., et al. (2011, April 14). Statin therapy in the primary and the secondary prevention of ischaemic cerebrovascular diseases. International Journal of Cardiology, 148(2), 131-138. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Grundy, S. M., Cleeman, J. I., Merz, C. N., et al. (2004, July 13). Implications of recent clinical trials for the National Cholesterol Education Program Adult Treatment Panel III Guidelines. Circulation, 110(2), 227-239. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Kernan, W. N., Ovbiagele, B., Black, H. R., et al. (2014, May). Guidelines for the prevention of stroke in patients with stroke and transient ischemic attack: A guideline for health care professionals from the American Heart Association/American Stroke Association. Stroke, 45(7), 2160-2223. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Kostis, W. J., Cheng, J. Q., Dobrzynski, J. M., et al. (2012, February 7). Meta-analysis of statin effects in women versus men. Journal of the American College of Cardiology, 59(6), 572-582.</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Lazar, L. D., Pletcher, M. J., Coxson, P. G., et al. (2011, July 12). Cost-effectiveness of statin therapy for primary prevention in a low-cost statin era. Circulation, 124(2), 146-153.</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Mitka, M. (2012, March 7). Some question use of statins to reduce cardiovascular risks in healthy women. JAMA, 307(9), 893-894. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>National Cholesterol Education Program Expert Panel on Detection, Evaluation, and Adults Treatment of High Blood Cholesterol in Adults. (2002, December 17). Third report of the National Cholesterol Education Program (NCEP) Expert Panel on Detection, Evaluation, and Treatment of High Blood Cholesterol in Adults (Adult Treatment Panel III)—Final report. Circulation, 106(25), 3143-3421. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Powers, W. J., Rabinstein, A. A., Ackerson, T., et al. (2018, January). 2018 guidelines for the early management of patients with acute ischemic stroke: A guideline for health care professionals from the American Heart Association/American Stroke Association. Stroke, 49, e44-e47. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Rodriguez-Yanez, M., Agulla, J., Rodriguez-Gonzalez, R., et al. (2008, June). Statins and stroke. Therapeutic Advances in Cardiovascular Disease, 2(3), 157-166. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Roger, V. L., Go, A. S., Lloyd-Jones, D. M., et al. (2012, January 3). Heart disease and stroke statistics—2012 update: A report from the American Heart Association. Circulation, 125(1), e2-e220. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Schellinger, P. D., Bryan, R. N., Caplan, L. R., et al. (2010, July 13). Evidence-based guideline: The role of diffusion and perfusion MRI for the diagnosis of acute ischemic stroke: Report of the Therapeutics and Technology Assessment Subcommittee of the American Academy of Neurology. Neurology, 75(2), 177-185.</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Squizzato, A., Romualdi, E., Dentali, F., et al. (2011). Statins for acute ischemic stroke. Cochrane Database of Systematic Reviews, 8, CD007551. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Stone, N. J., Robinson, J., Lichtenstein, A. H., et al. (2013, November). Guideline on the treatment of blood cholesterol to reduce atherosclerotic cardiovascular disease in adults: A report of the American College of Cardiology/American Heart Association Task Force on Practice Guidelines. Circulation, 11, 1-84. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Van Dis, F. J., Keilson, L. M., Rundell, C. A., et al. (1996, June). Direct measurement of serum low-density lipoprotein cholesterol in patients with acute myocardial infarction on admission to the emergency room. American Journal of Cardiology, 77(14), 1232-1234. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Weiss, R., Harder, M., %26amp; Rowe, J. (2003, May). The relationship between nonfasting and fasting lipid measurements in patients with or without type 2 diabetes mellitus receiving treatment with 3-hydroxy-3-methylglutaryl-coenzyme a reductase inhibitors. Clinical Therapeutics, 25(5), 1490-1497. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Definition</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>None</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Guidance</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>The \"Non-elective Inpatient Encounter\" value set intends to capture all non-scheduled hospitalizations. This value set is a subset of the \"Inpatient Encounter\" value set, excluding concepts that specifically refer to elective hospital admissions. Non-elective Inpatient Encounters include emergency, urgent, and unplanned admissions.\r\n \r\n The \"Medication, Discharge\" datatype refers to the discharge medication list and is intended to express medications ordered for post-discharge use.</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Transmission Format</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>TBD</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Initial Population</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Inpatient hospitalizations for patients age 18 and older, discharged from inpatient care (non-elective admissions) with a principal diagnosis of ischemic or hemorrhagic stroke and a length of stay less than or equal to 120 days that ends during measurement period</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Denominator</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Inpatient hospitalizations for patients with a principal diagnosis of ischemic stroke</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Denominator Exclusions</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Inpatient hospitalizations for patients admitted for elective carotid intervention. This exclusion is implicitly modeled by only including non-elective hospitalizations.\r\n Inpatient hospitalizations for patients discharged to another hospital\r\n Inpatient hospitalizations for patients who left against medical advice\r\n Inpatient hospitalizations for patients who expired\r\n Inpatient hospitalizations for patients discharged to home for hospice care\r\n Inpatient hospitalizations for patients discharged to a health care facility for hospice care\r\n Inpatient hospitalizations for patients with comfort measures documented</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Numerator</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Inpatient hospitalizations for patients prescribed or continuing to take statin medication at hospital discharge</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Numerator Exclusions</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Not Applicable</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Denominator Exceptions</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Inpatient hospitalizations for patients with a reason for not prescribing statin medication at discharge\r\n Inpatient hospitalizations for patients with a maximum LDL-c result of less than 70 mg/dL %26lt;= 30 days prior to arrival or any time during the hospital stay\r\n Inpatient hospitalizations for patients with a statin allergy.</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Supplemental Data Elements</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>For every patient evaluated by this measure also identify payer, race, ethnicity and sex</pre>\r\n </div></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <h2><a name=\"toc\">Table of Contents</a></h2>\r\n <ul style=\"padding-left: 50px;\">\r\n <li><a href=\"#d1e405\">Population Criteria</a></li>\r\n <li><a href=\"#d1e649\">Definitions</a></li>\r\n <li><a href=\"#d1e650\">Functions</a></li>\r\n <li><a href=\"#d1e555\">Terminology</a></li>\r\n <li><a href=\"#d1e647\">Data Criteria (QDM Data Elements)</a></li>\r\n <li><a href=\"#d1e767\">Supplemental Data Elements</a></li>\r\n <li><a href=\"#d1e879\">Risk Adjustment Variables</a></li>\r\n </ul>\r\n <div style=\"float:left; background:teal; height:3px; width:80%\"></div>\r\n <h3><a name=\"d1e405\" href=\"#toc\">Population Criteria</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left:10px;\">\r\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"test-initialPopulation_235\" type=\"checkbox\"/><label for=\"test-initialPopulation_235\" class=\"list-header\"><strong>Initial Population</strong></label>\r\n <ul class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul>\r\n <li style=\"padding-left: 0px;\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC.\"Encounter with Principal Diagnosis and Age\"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div></li>\r\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"test-denominator_118\" type=\"checkbox\"/><label for=\"test-denominator_118\" class=\"list-header\"><strong>Denominator</strong></label>\r\n <ul class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul>\r\n <li style=\"padding-left: 0px;\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC.\"Ischemic Stroke Encounter\"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div></li>\r\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"test-denominatorExclusions_715\" type=\"checkbox\"/><label for=\"test-denominatorExclusions_715\" class=\"list-header\"><strong>Denominator Exclusions</strong></label>\r\n <ul class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul>\r\n <li style=\"padding-left: 0px;\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC.\"Ischemic Stroke Encounters with Discharge Disposition\"\r\n union TJC.\"Comfort Measures during Hospitalization\"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div></li>\r\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"test-numerator_500\" type=\"checkbox\"/><label for=\"test-numerator_500\" class=\"list-header\"><strong>Numerator</strong></label>\r\n <ul class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul>\r\n <li style=\"padding-left: 0px;\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC.\"Ischemic Stroke Encounter\" IschemicStrokeEncounter\r\n with \"Statin at Discharge\" DischargeStatin\r\n such that DischargeStatin.authorDatetime during IschemicStrokeEncounter.relevantPeriod</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div></li>\r\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"test-numeratorExclusions_564\" type=\"checkbox\"/><label for=\"test-numeratorExclusions_564\" class=\"list-header\"><strong>Numerator Exclusions</strong></label>\r\n <ul class=\"code\">\r\n <li>\r\n <div id=\"test-None_340\">\r\n <strong class=\"cql-class\">None</strong>\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div></li>\r\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"test-denominatorExceptions_547\" type=\"checkbox\"/><label for=\"test-denominatorExceptions_547\" class=\"list-header\"><strong>Denominator Exceptions</strong></label>\r\n <ul class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul>\r\n <li style=\"padding-left: 0px;\">\r\n <div>\r\n <pre class=\"cql-definition-body\">( TJC.\"Ischemic Stroke Encounter\" IschemicStrokeEncounter\r\n with \"Statin Not Given at Discharge\" NoDischargeStatin\r\n such that NoDischargeStatin.authorDatetime during IschemicStrokeEncounter.relevantPeriod\r\n )\r\n union ( TJC.\"Ischemic Stroke Encounter\" IschemicStrokeEncounter\r\n with \"Statin Allergy\" StatinAllergy\r\n such that StatinAllergy.prevalencePeriod starts on or before end of IschemicStrokeEncounter.relevantPeriod\r\n )\r\n union \"Encounter with Max LDL less than 70 mg per dL\"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div></li>\r\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"test-stratum_849\" type=\"checkbox\"/><label for=\"test-stratum_849\" class=\"list-header\"><strong>Stratification</strong></label>\r\n <ul class=\"code\">\r\n <li>\r\n <div id=\"test-None_719\">\r\n <strong class=\"cql-class\">None</strong>\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e649\" href=\"#toc\">Definitions</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Denominator_105\" type=\"checkbox\"/>\r\n <label for=\"test-Denominator_105\" class=\"list-header\"><strong> Denominator</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC.\"Ischemic Stroke Encounter\"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Denominator_Exceptions_100\" type=\"checkbox\"/>\r\n <label for=\"test-Denominator_Exceptions_100\" class=\"list-header\"><strong> Denominator Exceptions</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">( TJC.\"Ischemic Stroke Encounter\" IschemicStrokeEncounter\r\n with \"Statin Not Given at Discharge\" NoDischargeStatin\r\n such that NoDischargeStatin.authorDatetime during IschemicStrokeEncounter.relevantPeriod\r\n )\r\n union ( TJC.\"Ischemic Stroke Encounter\" IschemicStrokeEncounter\r\n with \"Statin Allergy\" StatinAllergy\r\n such that StatinAllergy.prevalencePeriod starts on or before end of IschemicStrokeEncounter.relevantPeriod\r\n )\r\n union \"Encounter with Max LDL less than 70 mg per dL\"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Denominator_Exclusions_204\" type=\"checkbox\"/>\r\n <label for=\"test-Denominator_Exclusions_204\" class=\"list-header\"><strong> Denominator Exclusions</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC.\"Ischemic Stroke Encounters with Discharge Disposition\"\r\n union TJC.\"Comfort Measures during Hospitalization\"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Encounter_with_Max_LDL_less_than_70_mg_per_dL_460\" type=\"checkbox\"/>\r\n <label for=\"test-Encounter_with_Max_LDL_less_than_70_mg_per_dL_460\" class=\"list-header\"><strong> Encounter with Max LDL less than 70 mg per dL</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC.\"Ischemic Stroke Encounter\" IschemicStrokeEncounter\r\n where Max([\"Laboratory Test, Performed\": \"LDL-c\"] Ldl\r\n where Ldl.resultDatetime during Interval[Global.\"ToDate\"(start of IschemicStrokeEncounter.relevantPeriod - 30 days), end of IschemicStrokeEncounter.relevantPeriod]\r\n return Ldl.result as Quantity\r\n )%26lt; 70 'mg/dL'</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Initial_Population_603\" type=\"checkbox\"/>\r\n <label for=\"test-Initial_Population_603\" class=\"list-header\"><strong> Initial Population</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC.\"Encounter with Principal Diagnosis and Age\"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Numerator_889\" type=\"checkbox\"/>\r\n <label for=\"test-Numerator_889\" class=\"list-header\"><strong> Numerator</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC.\"Ischemic Stroke Encounter\" IschemicStrokeEncounter\r\n with \"Statin at Discharge\" DischargeStatin\r\n such that DischargeStatin.authorDatetime during IschemicStrokeEncounter.relevantPeriod</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-SDE_Ethnicity_86\" type=\"checkbox\"/>\r\n <label for=\"test-SDE_Ethnicity_86\" class=\"list-header\"><strong> SDE Ethnicity</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">[\"Patient Characteristic Ethnicity\": \"Ethnicity\"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-SDE_Payer_85\" type=\"checkbox\"/>\r\n <label for=\"test-SDE_Payer_85\" class=\"list-header\"><strong> SDE Payer</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">[\"Patient Characteristic Payer\": \"Payer\"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-SDE_Race_499\" type=\"checkbox\"/>\r\n <label for=\"test-SDE_Race_499\" class=\"list-header\"><strong> SDE Race</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">[\"Patient Characteristic Race\": \"Race\"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-SDE_Sex_77\" type=\"checkbox\"/>\r\n <label for=\"test-SDE_Sex_77\" class=\"list-header\"><strong> SDE Sex</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">[\"Patient Characteristic Sex\": \"ONC Administrative Sex\"] </pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Statin_Allergy_455\" type=\"checkbox\"/>\r\n <label for=\"test-Statin_Allergy_455\" class=\"list-header\"><strong> Statin Allergy</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">[\"Allergy/Intolerance\": \"Statin Allergen\"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Statin_at_Discharge_136\" type=\"checkbox\"/>\r\n <label for=\"test-Statin_at_Discharge_136\" class=\"list-header\"><strong> Statin at Discharge</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">[\"Medication, Discharge\": \"Statin Grouper\"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Statin_Not_Given_at_Discharge_73\" type=\"checkbox\"/>\r\n <label for=\"test-Statin_Not_Given_at_Discharge_73\" class=\"list-header\"><strong> Statin Not Given at Discharge</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">[\"Medication, Not Discharged\": \"Statin Grouper\"] NoStatinDischarge\r\n where NoStatinDischarge.negationRationale in \"Medical Reason\"\r\n or NoStatinDischarge.negationRationale in \"Patient Refusal\"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-TJC.All_Stroke_Encounter_654\" type=\"checkbox\"/>\r\n <label for=\"test-TJC.All_Stroke_Encounter_654\" class=\"list-header\"><strong> TJC.All Stroke Encounter</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\"Non Elective Inpatient Encounter\" NonElectiveEncounter\r\n where NonElectiveEncounter.principalDiagnosis in \"Hemorrhagic Stroke\"\r\n or NonElectiveEncounter.principalDiagnosis in \"Ischemic Stroke\"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-TJC.Comfort_Measures_during_Hospitalization_603\" type=\"checkbox\"/>\r\n <label for=\"test-TJC.Comfort_Measures_during_Hospitalization_603\" class=\"list-header\"><strong> TJC.Comfort Measures during Hospitalization</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\"Ischemic Stroke Encounter\" IschemicStrokeEncounter\r\n with \"Intervention Comfort Measures\" ComfortMeasure\r\n such that Coalesce(start of ComfortMeasure.relevantPeriod, ComfortMeasure.authorDatetime)during Global.\"HospitalizationWithObservation\"(IschemicStrokeEncounter)</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-TJC.Encounter_with_Principal_Diagnosis_and_Age_702\" type=\"checkbox\"/>\r\n <label for=\"test-TJC.Encounter_with_Principal_Diagnosis_and_Age_702\" class=\"list-header\"><strong> TJC.Encounter with Principal Diagnosis and Age</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\"All Stroke Encounter\" AllStrokeEncounter\r\n with [\"Patient Characteristic Birthdate\": \"Birth date\"] BirthDate\r\n such that Global.\"CalendarAgeInYearsAt\"(BirthDate.birthDatetime, start of AllStrokeEncounter.relevantPeriod)%26gt;= 18</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-TJC.Intervention_Comfort_Measures_365\" type=\"checkbox\"/>\r\n <label for=\"test-TJC.Intervention_Comfort_Measures_365\" class=\"list-header\"><strong> TJC.Intervention Comfort Measures</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">[\"Intervention, Order\": \"Comfort Measures\"]\r\n union [\"Intervention, Performed\": \"Comfort Measures\"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-TJC.Ischemic_Stroke_Encounter_432\" type=\"checkbox\"/>\r\n <label for=\"test-TJC.Ischemic_Stroke_Encounter_432\" class=\"list-header\"><strong> TJC.Ischemic Stroke Encounter</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\"Encounter with Principal Diagnosis and Age\" EncounterWithAge\r\n where EncounterWithAge.principalDiagnosis in \"Ischemic Stroke\"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-TJC.Ischemic_Stroke_Encounters_with_Discharge_Disposition_985\" type=\"checkbox\"/>\r\n <label for=\"test-TJC.Ischemic_Stroke_Encounters_with_Discharge_Disposition_985\" class=\"list-header\"><strong> TJC.Ischemic Stroke Encounters with Discharge Disposition</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">( ( \"Ischemic Stroke Encounter\" IschemicStrokeEncounter\r\n where IschemicStrokeEncounter.dischargeDisposition in \"Discharge To Acute Care Facility\"\r\n or IschemicStrokeEncounter.dischargeDisposition in \"Left Against Medical Advice\"\r\n or IschemicStrokeEncounter.dischargeDisposition in \"Patient Expired\"\r\n or IschemicStrokeEncounter.dischargeDisposition in \"Discharged to Home for Hospice Care\"\r\n or IschemicStrokeEncounter.dischargeDisposition in \"Discharged to Health Care Facility for Hospice Care\"\r\n )\r\n )</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-TJC.Non_Elective_Inpatient_Encounter_610\" type=\"checkbox\"/>\r\n <label for=\"test-TJC.Non_Elective_Inpatient_Encounter_610\" class=\"list-header\"><strong> TJC.Non Elective Inpatient Encounter</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">[\"Encounter, Performed\": \"Non-Elective Inpatient Encounter\"] NonElectiveEncounter\r\n where Global.\"LengthInDays\"(NonElectiveEncounter.relevantPeriod)%26lt;= 120\r\n and NonElectiveEncounter.relevantPeriod ends during \"Measurement Period\"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e650\" href=\"#toc\">Functions</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Global.CalendarAgeInYearsAt_913\" type=\"checkbox\"/>\r\n <label for=\"test-Global.CalendarAgeInYearsAt_913\" class=\"list-header\"><strong> Global.CalendarAgeInYearsAt(BirthDateTime DateTime, AsOf DateTime)</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">years between ToDate(BirthDateTime)and ToDate(AsOf)</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Global.HospitalizationWithObservation_692\" type=\"checkbox\"/>\r\n <label for=\"test-Global.HospitalizationWithObservation_692\" class=\"list-header\"><strong> Global.HospitalizationWithObservation(Encounter \"Encounter, Performed\")</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">Encounter Visit\r\n let ObsVisit: Last([\"Encounter, Performed\": \"Observation Services\"] LastObs\r\n where LastObs.relevantPeriod ends 1 hour or less on or before start of Visit.relevantPeriod\r\n sort by \r\n end of relevantPeriod\r\n ),\r\n VisitStart: Coalesce(start of ObsVisit.relevantPeriod, start of Visit.relevantPeriod),\r\n EDVisit: Last([\"Encounter, Performed\": \"Emergency Department Visit\"] LastED\r\n where LastED.relevantPeriod ends 1 hour or less on or before VisitStart\r\n sort by \r\n end of relevantPeriod\r\n )\r\n return Interval[Coalesce(start of EDVisit.relevantPeriod, VisitStart), \r\n end of Visit.relevantPeriod]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Global.LengthInDays_732\" type=\"checkbox\"/>\r\n <label for=\"test-Global.LengthInDays_732\" class=\"list-header\"><strong> Global.LengthInDays(Value Interval%26lt;DateTime%26gt;)</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">difference in days between start of Value and end of Value</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Global.ToDate_606\" type=\"checkbox\"/>\r\n <label for=\"test-Global.ToDate_606\" class=\"list-header\"><strong> Global.ToDate(Value DateTime)</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">DateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e555\" href=\"#toc\">Terminology</a></h3>\r\n <div>\r\n <ul style=\"padding-left: 50px;\">\r\n <li style=\"width:80%\">code \"Birth date\" (\"LOINC Code (21112-8)\")</li>\r\n <li>valueset \"Comfort Measures\" (1.3.6.1.4.1.33895.1.3.0.45)</li>\r\n <li>valueset \"Discharge To Acute Care Facility\" (2.16.840.1.113883.3.117.1.7.1.87)</li>\r\n <li>valueset \"Discharged to Health Care Facility for Hospice Care\" (2.16.840.1.113883.3.117.1.7.1.207)</li>\r\n <li>valueset \"Discharged to Home for Hospice Care\" (2.16.840.1.113883.3.117.1.7.1.209)</li>\r\n <li>valueset \"Emergency Department Visit\" (2.16.840.1.113883.3.117.1.7.1.292)</li>\r\n <li>valueset \"Ethnicity\" (2.16.840.1.114222.4.11.837)</li>\r\n <li>valueset \"Hemorrhagic Stroke\" (2.16.840.1.113883.3.117.1.7.1.212)</li>\r\n <li>valueset \"Ischemic Stroke\" (2.16.840.1.113883.3.117.1.7.1.247)</li>\r\n <li>valueset \"LDL-c\" (2.16.840.1.113883.3.117.1.7.1.215)</li>\r\n <li>valueset \"Left Against Medical Advice\" (2.16.840.1.113883.3.117.1.7.1.308)</li>\r\n <li>valueset \"Medical Reason\" (2.16.840.1.113883.3.117.1.7.1.473)</li>\r\n <li>valueset \"Non-Elective Inpatient Encounter\" (2.16.840.1.113883.3.117.1.7.1.424)</li>\r\n <li>valueset \"Observation Services\" (2.16.840.1.113762.1.4.1111.143)</li>\r\n <li>valueset \"ONC Administrative Sex\" (2.16.840.1.113762.1.4.1)</li>\r\n <li>valueset \"Patient Expired\" (2.16.840.1.113883.3.117.1.7.1.309)</li>\r\n <li>valueset \"Patient Refusal\" (2.16.840.1.113883.3.117.1.7.1.93)</li>\r\n <li>valueset \"Payer\" (2.16.840.1.114222.4.11.3591)</li>\r\n <li>valueset \"Race\" (2.16.840.1.114222.4.11.836)</li>\r\n <li>valueset \"Statin Allergen\" (2.16.840.1.113762.1.4.1110.42)</li>\r\n <li>valueset \"Statin Grouper\" (2.16.840.1.113762.1.4.1110.19)</li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e647\" href=\"#toc\">Data Criteria (QDM Data Elements)</a></h3>\r\n <ul style=\"padding-left: 50px;\">\r\n <li style=\"width:80%\">\"Allergy/Intolerance: Statin Allergen\" using \"Statin Allergen (2.16.840.1.113762.1.4.1110.42)\"</li>\r\n <li style=\"width:80%\">\"Encounter, Performed: Emergency Department Visit\" using \"Emergency Department Visit (2.16.840.1.113883.3.117.1.7.1.292)\"</li>\r\n <li style=\"width:80%\">\"Encounter, Performed: Non-Elective Inpatient Encounter\" using \"Non-Elective Inpatient Encounter (2.16.840.1.113883.3.117.1.7.1.424)\"</li>\r\n <li style=\"width:80%\">\"Encounter, Performed: Observation Services\" using \"Observation Services (2.16.840.1.113762.1.4.1111.143)\"</li>\r\n <li style=\"width:80%\">\"Intervention, Order: Comfort Measures\" using \"Comfort Measures (1.3.6.1.4.1.33895.1.3.0.45)\"</li>\r\n <li style=\"width:80%\">\"Intervention, Performed: Comfort Measures\" using \"Comfort Measures (1.3.6.1.4.1.33895.1.3.0.45)\"</li>\r\n <li style=\"width:80%\">\"Laboratory Test, Performed: LDL-c\" using \"LDL-c (2.16.840.1.113883.3.117.1.7.1.215)\"</li>\r\n <li style=\"width:80%\">\"Medication, Discharge: Statin Grouper\" using \"Statin Grouper (2.16.840.1.113762.1.4.1110.19)\"</li>\r\n <li style=\"width:80%\">\"Medication, Not Discharged: Statin Grouper\" using \"Statin Grouper (2.16.840.1.113762.1.4.1110.19)\"</li>\r\n <li style=\"width:80%\">\"Patient Characteristic Ethnicity: Ethnicity\" using \"Ethnicity (2.16.840.1.114222.4.11.837)\"</li>\r\n <li style=\"width:80%\">\"Patient Characteristic Payer: Payer\" using \"Payer (2.16.840.1.114222.4.11.3591)\"</li>\r\n <li style=\"width:80%\">\"Patient Characteristic Race: Race\" using \"Race (2.16.840.1.114222.4.11.836)\"</li>\r\n <li style=\"width:80%\">\"Patient Characteristic Sex: ONC Administrative Sex\" using \"ONC Administrative Sex (2.16.840.1.113762.1.4.1)\"</li>\r\n <li style=\"width:80%\">\"Patient Characteristic Birthdate: Birth date\" using \"Birth date (LOINC Code 21112-8)\"</li>\r\n </ul>\r\n <h3><a name=\"d1e767\" href=\"#toc\">Supplemental Data Elements</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 25px;\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-SDE_Ethnicity_971\" type=\"checkbox\"/>\r\n <label for=\"test-SDE_Ethnicity_971\" class=\"list-header\"><strong> SDE Ethnicity</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">[\"Patient Characteristic Ethnicity\": \"Ethnicity\"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-SDE_Payer_645\" type=\"checkbox\"/>\r\n <label for=\"test-SDE_Payer_645\" class=\"list-header\"><strong> SDE Payer</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">[\"Patient Characteristic Payer\": \"Payer\"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-SDE_Race_2\" type=\"checkbox\"/>\r\n <label for=\"test-SDE_Race_2\" class=\"list-header\"><strong> SDE Race</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">[\"Patient Characteristic Race\": \"Race\"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-SDE_Sex_690\" type=\"checkbox\"/>\r\n <label for=\"test-SDE_Sex_690\" class=\"list-header\"><strong> SDE Sex</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">[\"Patient Characteristic Sex\": \"ONC Administrative Sex\"] </pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e879\" href=\"#toc\">Risk Adjustment Variables</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 25px;\">\r\n <li>None</li>\r\n </ul>\r\n </div>\r\n <div style=\"float:left; background:teal; height:3px; width:80%\"></div>\r\n <table class=\"header_table\">\r\n <tbody>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Set</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>eMeasure Stroke (eSTK)</pre>\r\n </div></td>\r\n </tr>\r\n </tbody>\r\n </table></div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"header_table\">\r\n <tbody>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">eCQM Title</span></td>\r\n <td colspan=\"3\" style=\"width:80%\"><h1 style=\"font-size:10px\">Discharged on Statin Medication</h1></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">eCQM Identifier (Measure Authoring Tool)</span></td>\r\n <td style=\"width:30%\">105</td>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">eCQM Version number</span></td>\r\n <td style=\"width:30%\">8.1.000</td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">NQF Number</span></td>\r\n <td style=\"width:30%\">Not Applicable</td>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">GUID</span></td>\r\n <td>1f503318-bb8d-4b91-af63-223ae0a2328e</td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measurement Period</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">January 1, 20XX through December 31, 20XX</td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Steward</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">The Joint Commission</td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Developer</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">The Joint Commission</td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Endorsed By</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">None</td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Description</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Ischemic stroke patients who are prescribed or continuing to take statin medication at hospital discharge</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Copyright</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>LOINC(R) copyright 2004-2018 Regenstrief Institute, Inc. \r\n This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2018 International Health Terminology Standards Development Organisation. All Rights Reserved.\r\n \r\n Measure specifications are in the Public Domain.</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Disclaimer</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>These performance measures are not clinical guidelines and do not establish a standard of medical care, and have not been tested for all potential applications. The measures and specifications are provided without warranty.</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Scoring</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">Proportion</td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Type</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">Process</td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Stratification</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>None</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Risk Adjustment</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>None</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Rate Aggregation</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>None</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Rationale</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>There is an extensive and consistent body of evidence supporting the use of statins for secondary prevention in patients with clinically evident atherosclerotic cardiovascular disease (ASCVD), which includes individuals with ischemic stroke due to large artery atherosclerosis, individuals with ischemic stroke due to intrinsic small vessel disease, and individuals with ischemic stroke not directly due to atherosclerosis but with clinically evident atherosclerotic disease in an uninvolved cerebral or noncerebral bed. Both women and men with clinical ASCVD are at increased risk for recurrent ASCVD and ASCVD death. High-intensity statin therapy should be initiated or continued as first-line therapy in women and men less than or equal to 75 years of age who have clinical ASCVD, unless contraindicated. In patients with clinical ASCVD and a contraindication to high-intensity statin therapy, moderate-intensity therapy should be considered as an alternative if it can be tolerated. In individuals greater than 75 years of age, the potential for ASCVD risk reduction benefits, adverse effects, drug-drug interactions, and patient preferences should be considered, and statin therapy individualized based on these considerations (Stone, 2013).</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Clinical Recommendation Statement</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>For patients with stroke of atherosclerotic origin, intensive lipid lowering therapy with statins should be initiated</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Improvement Notation</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Improvement noted as an increase in rate</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Amarenco, P., Bogousslavsky, J., Callahan, A., III, et al. (2006, August 10). High-dose atorvastatin after stroke or transient ischemic attack. New England Journal of Medicine, 355(6), 549-559. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Biffi, A., Devan, W. J., Anderson, C. D., et al. (2011, May). Statin treatment and functional outcome after ischemic stroke: Case-control and meta-analysis. Stroke, 42(5), 1314-1319. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Centers for Disease Control and Prevention. (2009, May 1). Prevalence and most common causes of disability among adults—United States, 2005. Morbidity and Mortality Weekly Report, 58(16), 421-426. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Chan, P. S., Nallamothu, B. K., Gurm, H. S., et al. (2007, May 8). Incremental benefit and cost-effectiveness of high-dose statin therapy in high-risk patients with coronary artery disease. Circulation, 115(18), 2398-2409. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Culver, A. L., Ockene, I. S., Balasubramanian, R., et al. (2012, January 23). Statin use and risk of diabetes mellitus in postmenopausal women in the Women's Health Initiative. Archives of Internal Medicine, 172(2), 144-152. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Feher, A., Pusch, G., Koltai, K., et al. (2011, April 14). Statin therapy in the primary and the secondary prevention of ischaemic cerebrovascular diseases. International Journal of Cardiology, 148(2), 131-138. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Grundy, S. M., Cleeman, J. I., Merz, C. N., et al. (2004, July 13). Implications of recent clinical trials for the National Cholesterol Education Program Adult Treatment Panel III Guidelines. Circulation, 110(2), 227-239. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Kernan, W. N., Ovbiagele, B., Black, H. R., et al. (2014, May). Guidelines for the prevention of stroke in patients with stroke and transient ischemic attack: A guideline for health care professionals from the American Heart Association/American Stroke Association. Stroke, 45(7), 2160-2223. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Kostis, W. J., Cheng, J. Q., Dobrzynski, J. M., et al. (2012, February 7). Meta-analysis of statin effects in women versus men. Journal of the American College of Cardiology, 59(6), 572-582.</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Lazar, L. D., Pletcher, M. J., Coxson, P. G., et al. (2011, July 12). Cost-effectiveness of statin therapy for primary prevention in a low-cost statin era. Circulation, 124(2), 146-153.</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Mitka, M. (2012, March 7). Some question use of statins to reduce cardiovascular risks in healthy women. JAMA, 307(9), 893-894. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>National Cholesterol Education Program Expert Panel on Detection, Evaluation, and Adults Treatment of High Blood Cholesterol in Adults. (2002, December 17). Third report of the National Cholesterol Education Program (NCEP) Expert Panel on Detection, Evaluation, and Treatment of High Blood Cholesterol in Adults (Adult Treatment Panel III)—Final report. Circulation, 106(25), 3143-3421. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Powers, W. J., Rabinstein, A. A., Ackerson, T., et al. (2018, January). 2018 guidelines for the early management of patients with acute ischemic stroke: A guideline for health care professionals from the American Heart Association/American Stroke Association. Stroke, 49, e44-e47. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Rodriguez-Yanez, M., Agulla, J., Rodriguez-Gonzalez, R., et al. (2008, June). Statins and stroke. Therapeutic Advances in Cardiovascular Disease, 2(3), 157-166. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Roger, V. L., Go, A. S., Lloyd-Jones, D. M., et al. (2012, January 3). Heart disease and stroke statistics—2012 update: A report from the American Heart Association. Circulation, 125(1), e2-e220. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Schellinger, P. D., Bryan, R. N., Caplan, L. R., et al. (2010, July 13). Evidence-based guideline: The role of diffusion and perfusion MRI for the diagnosis of acute ischemic stroke: Report of the Therapeutics and Technology Assessment Subcommittee of the American Academy of Neurology. Neurology, 75(2), 177-185.</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Squizzato, A., Romualdi, E., Dentali, F., et al. (2011). Statins for acute ischemic stroke. Cochrane Database of Systematic Reviews, 8, CD007551. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Stone, N. J., Robinson, J., Lichtenstein, A. H., et al. (2013, November). Guideline on the treatment of blood cholesterol to reduce atherosclerotic cardiovascular disease in adults: A report of the American College of Cardiology/American Heart Association Task Force on Practice Guidelines. Circulation, 11, 1-84. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Van Dis, F. J., Keilson, L. M., Rundell, C. A., et al. (1996, June). Direct measurement of serum low-density lipoprotein cholesterol in patients with acute myocardial infarction on admission to the emergency room. American Journal of Cardiology, 77(14), 1232-1234. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Reference</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Weiss, R., Harder, M., %26amp; Rowe, J. (2003, May). The relationship between nonfasting and fasting lipid measurements in patients with or without type 2 diabetes mellitus receiving treatment with 3-hydroxy-3-methylglutaryl-coenzyme a reductase inhibitors. Clinical Therapeutics, 25(5), 1490-1497. </pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Definition</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>None</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Guidance</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>The "Non-elective Inpatient Encounter" value set intends to capture all non-scheduled hospitalizations. This value set is a subset of the "Inpatient Encounter" value set, excluding concepts that specifically refer to elective hospital admissions. Non-elective Inpatient Encounters include emergency, urgent, and unplanned admissions.\r\n \r\n The "Medication, Discharge" datatype refers to the discharge medication list and is intended to express medications ordered for post-discharge use.</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Transmission Format</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>TBD</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Initial Population</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Inpatient hospitalizations for patients age 18 and older, discharged from inpatient care (non-elective admissions) with a principal diagnosis of ischemic or hemorrhagic stroke and a length of stay less than or equal to 120 days that ends during measurement period</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Denominator</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Inpatient hospitalizations for patients with a principal diagnosis of ischemic stroke</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Denominator Exclusions</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Inpatient hospitalizations for patients admitted for elective carotid intervention. This exclusion is implicitly modeled by only including non-elective hospitalizations.\r\n Inpatient hospitalizations for patients discharged to another hospital\r\n Inpatient hospitalizations for patients who left against medical advice\r\n Inpatient hospitalizations for patients who expired\r\n Inpatient hospitalizations for patients discharged to home for hospice care\r\n Inpatient hospitalizations for patients discharged to a health care facility for hospice care\r\n Inpatient hospitalizations for patients with comfort measures documented</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Numerator</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Inpatient hospitalizations for patients prescribed or continuing to take statin medication at hospital discharge</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Numerator Exclusions</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Not Applicable</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Denominator Exceptions</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Inpatient hospitalizations for patients with a reason for not prescribing statin medication at discharge\r\n Inpatient hospitalizations for patients with a maximum LDL-c result of less than 70 mg/dL %26lt;= 30 days prior to arrival or any time during the hospital stay\r\n Inpatient hospitalizations for patients with a statin allergy.</pre>\r\n </div></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Supplemental Data Elements</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>For every patient evaluated by this measure also identify payer, race, ethnicity and sex</pre>\r\n </div></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <h2><a name=\"toc\">Table of Contents</a></h2>\r\n <ul style=\"padding-left: 50px;\">\r\n <li><a href=\"#d1e405\">Population Criteria</a></li>\r\n <li><a href=\"#d1e649\">Definitions</a></li>\r\n <li><a href=\"#d1e650\">Functions</a></li>\r\n <li><a href=\"#d1e555\">Terminology</a></li>\r\n <li><a href=\"#d1e647\">Data Criteria (QDM Data Elements)</a></li>\r\n <li><a href=\"#d1e767\">Supplemental Data Elements</a></li>\r\n <li><a href=\"#d1e879\">Risk Adjustment Variables</a></li>\r\n </ul>\r\n <div style=\"float:left; background:teal; height:3px; width:80%\"/>\r\n <h3><a name=\"d1e405\" href=\"#toc\">Population Criteria</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left:10px;\">\r\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"test-initialPopulation_235\" type=\"checkbox\"/><label for=\"test-initialPopulation_235\" class=\"list-header\"><strong>Initial Population</strong></label>\r\n <ul class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul>\r\n <li style=\"padding-left: 0px;\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC."Encounter with Principal Diagnosis and Age"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div></li>\r\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"test-denominator_118\" type=\"checkbox\"/><label for=\"test-denominator_118\" class=\"list-header\"><strong>Denominator</strong></label>\r\n <ul class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul>\r\n <li style=\"padding-left: 0px;\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC."Ischemic Stroke Encounter"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div></li>\r\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"test-denominatorExclusions_715\" type=\"checkbox\"/><label for=\"test-denominatorExclusions_715\" class=\"list-header\"><strong>Denominator Exclusions</strong></label>\r\n <ul class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul>\r\n <li style=\"padding-left: 0px;\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC."Ischemic Stroke Encounters with Discharge Disposition"\r\n union TJC."Comfort Measures during Hospitalization"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div></li>\r\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"test-numerator_500\" type=\"checkbox\"/><label for=\"test-numerator_500\" class=\"list-header\"><strong>Numerator</strong></label>\r\n <ul class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul>\r\n <li style=\"padding-left: 0px;\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\r\n with "Statin at Discharge" DischargeStatin\r\n such that DischargeStatin.authorDatetime during IschemicStrokeEncounter.relevantPeriod</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div></li>\r\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"test-numeratorExclusions_564\" type=\"checkbox\"/><label for=\"test-numeratorExclusions_564\" class=\"list-header\"><strong>Numerator Exclusions</strong></label>\r\n <ul class=\"code\">\r\n <li>\r\n <div id=\"test-None_340\">\r\n <strong class=\"cql-class\">None</strong>\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div></li>\r\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"test-denominatorExceptions_547\" type=\"checkbox\"/><label for=\"test-denominatorExceptions_547\" class=\"list-header\"><strong>Denominator Exceptions</strong></label>\r\n <ul class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul>\r\n <li style=\"padding-left: 0px;\">\r\n <div>\r\n <pre class=\"cql-definition-body\">( TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\r\n with "Statin Not Given at Discharge" NoDischargeStatin\r\n such that NoDischargeStatin.authorDatetime during IschemicStrokeEncounter.relevantPeriod\r\n )\r\n union ( TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\r\n with "Statin Allergy" StatinAllergy\r\n such that StatinAllergy.prevalencePeriod starts on or before end of IschemicStrokeEncounter.relevantPeriod\r\n )\r\n union "Encounter with Max LDL less than 70 mg per dL"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div></li>\r\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"test-stratum_849\" type=\"checkbox\"/><label for=\"test-stratum_849\" class=\"list-header\"><strong>Stratification</strong></label>\r\n <ul class=\"code\">\r\n <li>\r\n <div id=\"test-None_719\">\r\n <strong class=\"cql-class\">None</strong>\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e649\" href=\"#toc\">Definitions</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Denominator_105\" type=\"checkbox\"/>\r\n <label for=\"test-Denominator_105\" class=\"list-header\"><strong> Denominator</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC."Ischemic Stroke Encounter"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Denominator_Exceptions_100\" type=\"checkbox\"/>\r\n <label for=\"test-Denominator_Exceptions_100\" class=\"list-header\"><strong> Denominator Exceptions</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">( TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\r\n with "Statin Not Given at Discharge" NoDischargeStatin\r\n such that NoDischargeStatin.authorDatetime during IschemicStrokeEncounter.relevantPeriod\r\n )\r\n union ( TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\r\n with "Statin Allergy" StatinAllergy\r\n such that StatinAllergy.prevalencePeriod starts on or before end of IschemicStrokeEncounter.relevantPeriod\r\n )\r\n union "Encounter with Max LDL less than 70 mg per dL"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Denominator_Exclusions_204\" type=\"checkbox\"/>\r\n <label for=\"test-Denominator_Exclusions_204\" class=\"list-header\"><strong> Denominator Exclusions</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC."Ischemic Stroke Encounters with Discharge Disposition"\r\n union TJC."Comfort Measures during Hospitalization"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Encounter_with_Max_LDL_less_than_70_mg_per_dL_460\" type=\"checkbox\"/>\r\n <label for=\"test-Encounter_with_Max_LDL_less_than_70_mg_per_dL_460\" class=\"list-header\"><strong> Encounter with Max LDL less than 70 mg per dL</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\r\n where Max(["Laboratory Test, Performed": "LDL-c"] Ldl\r\n where Ldl.resultDatetime during Interval[Global."ToDate"(start of IschemicStrokeEncounter.relevantPeriod - 30 days), end of IschemicStrokeEncounter.relevantPeriod]\r\n return Ldl.result as Quantity\r\n )%26lt; 70 'mg/dL'</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Initial_Population_603\" type=\"checkbox\"/>\r\n <label for=\"test-Initial_Population_603\" class=\"list-header\"><strong> Initial Population</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC."Encounter with Principal Diagnosis and Age"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Numerator_889\" type=\"checkbox\"/>\r\n <label for=\"test-Numerator_889\" class=\"list-header\"><strong> Numerator</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter\r\n with "Statin at Discharge" DischargeStatin\r\n such that DischargeStatin.authorDatetime during IschemicStrokeEncounter.relevantPeriod</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-SDE_Ethnicity_86\" type=\"checkbox\"/>\r\n <label for=\"test-SDE_Ethnicity_86\" class=\"list-header\"><strong> SDE Ethnicity</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">["Patient Characteristic Ethnicity": "Ethnicity"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-SDE_Payer_85\" type=\"checkbox\"/>\r\n <label for=\"test-SDE_Payer_85\" class=\"list-header\"><strong> SDE Payer</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">["Patient Characteristic Payer": "Payer"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-SDE_Race_499\" type=\"checkbox\"/>\r\n <label for=\"test-SDE_Race_499\" class=\"list-header\"><strong> SDE Race</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">["Patient Characteristic Race": "Race"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-SDE_Sex_77\" type=\"checkbox\"/>\r\n <label for=\"test-SDE_Sex_77\" class=\"list-header\"><strong> SDE Sex</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">["Patient Characteristic Sex": "ONC Administrative Sex"] </pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Statin_Allergy_455\" type=\"checkbox\"/>\r\n <label for=\"test-Statin_Allergy_455\" class=\"list-header\"><strong> Statin Allergy</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">["Allergy/Intolerance": "Statin Allergen"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Statin_at_Discharge_136\" type=\"checkbox\"/>\r\n <label for=\"test-Statin_at_Discharge_136\" class=\"list-header\"><strong> Statin at Discharge</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">["Medication, Discharge": "Statin Grouper"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Statin_Not_Given_at_Discharge_73\" type=\"checkbox\"/>\r\n <label for=\"test-Statin_Not_Given_at_Discharge_73\" class=\"list-header\"><strong> Statin Not Given at Discharge</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">["Medication, Not Discharged": "Statin Grouper"] NoStatinDischarge\r\n where NoStatinDischarge.negationRationale in "Medical Reason"\r\n or NoStatinDischarge.negationRationale in "Patient Refusal"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-TJC.All_Stroke_Encounter_654\" type=\"checkbox\"/>\r\n <label for=\"test-TJC.All_Stroke_Encounter_654\" class=\"list-header\"><strong> TJC.All Stroke Encounter</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">"Non Elective Inpatient Encounter" NonElectiveEncounter\r\n where NonElectiveEncounter.principalDiagnosis in "Hemorrhagic Stroke"\r\n or NonElectiveEncounter.principalDiagnosis in "Ischemic Stroke"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-TJC.Comfort_Measures_during_Hospitalization_603\" type=\"checkbox\"/>\r\n <label for=\"test-TJC.Comfort_Measures_during_Hospitalization_603\" class=\"list-header\"><strong> TJC.Comfort Measures during Hospitalization</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">"Ischemic Stroke Encounter" IschemicStrokeEncounter\r\n with "Intervention Comfort Measures" ComfortMeasure\r\n such that Coalesce(start of ComfortMeasure.relevantPeriod, ComfortMeasure.authorDatetime)during Global."HospitalizationWithObservation"(IschemicStrokeEncounter)</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-TJC.Encounter_with_Principal_Diagnosis_and_Age_702\" type=\"checkbox\"/>\r\n <label for=\"test-TJC.Encounter_with_Principal_Diagnosis_and_Age_702\" class=\"list-header\"><strong> TJC.Encounter with Principal Diagnosis and Age</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">"All Stroke Encounter" AllStrokeEncounter\r\n with ["Patient Characteristic Birthdate": "Birth date"] BirthDate\r\n such that Global."CalendarAgeInYearsAt"(BirthDate.birthDatetime, start of AllStrokeEncounter.relevantPeriod)%26gt;= 18</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-TJC.Intervention_Comfort_Measures_365\" type=\"checkbox\"/>\r\n <label for=\"test-TJC.Intervention_Comfort_Measures_365\" class=\"list-header\"><strong> TJC.Intervention Comfort Measures</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">["Intervention, Order": "Comfort Measures"]\r\n union ["Intervention, Performed": "Comfort Measures"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-TJC.Ischemic_Stroke_Encounter_432\" type=\"checkbox\"/>\r\n <label for=\"test-TJC.Ischemic_Stroke_Encounter_432\" class=\"list-header\"><strong> TJC.Ischemic Stroke Encounter</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">"Encounter with Principal Diagnosis and Age" EncounterWithAge\r\n where EncounterWithAge.principalDiagnosis in "Ischemic Stroke"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-TJC.Ischemic_Stroke_Encounters_with_Discharge_Disposition_985\" type=\"checkbox\"/>\r\n <label for=\"test-TJC.Ischemic_Stroke_Encounters_with_Discharge_Disposition_985\" class=\"list-header\"><strong> TJC.Ischemic Stroke Encounters with Discharge Disposition</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">( ( "Ischemic Stroke Encounter" IschemicStrokeEncounter\r\n where IschemicStrokeEncounter.dischargeDisposition in "Discharge To Acute Care Facility"\r\n or IschemicStrokeEncounter.dischargeDisposition in "Left Against Medical Advice"\r\n or IschemicStrokeEncounter.dischargeDisposition in "Patient Expired"\r\n or IschemicStrokeEncounter.dischargeDisposition in "Discharged to Home for Hospice Care"\r\n or IschemicStrokeEncounter.dischargeDisposition in "Discharged to Health Care Facility for Hospice Care"\r\n )\r\n )</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-TJC.Non_Elective_Inpatient_Encounter_610\" type=\"checkbox\"/>\r\n <label for=\"test-TJC.Non_Elective_Inpatient_Encounter_610\" class=\"list-header\"><strong> TJC.Non Elective Inpatient Encounter</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">["Encounter, Performed": "Non-Elective Inpatient Encounter"] NonElectiveEncounter\r\n where Global."LengthInDays"(NonElectiveEncounter.relevantPeriod)%26lt;= 120\r\n and NonElectiveEncounter.relevantPeriod ends during "Measurement Period"</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e650\" href=\"#toc\">Functions</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Global.CalendarAgeInYearsAt_913\" type=\"checkbox\"/>\r\n <label for=\"test-Global.CalendarAgeInYearsAt_913\" class=\"list-header\"><strong> Global.CalendarAgeInYearsAt(BirthDateTime DateTime, AsOf DateTime)</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">years between ToDate(BirthDateTime)and ToDate(AsOf)</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Global.HospitalizationWithObservation_692\" type=\"checkbox\"/>\r\n <label for=\"test-Global.HospitalizationWithObservation_692\" class=\"list-header\"><strong> Global.HospitalizationWithObservation(Encounter "Encounter, Performed")</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">Encounter Visit\r\n let ObsVisit: Last(["Encounter, Performed": "Observation Services"] LastObs\r\n where LastObs.relevantPeriod ends 1 hour or less on or before start of Visit.relevantPeriod\r\n sort by \r\n end of relevantPeriod\r\n ),\r\n VisitStart: Coalesce(start of ObsVisit.relevantPeriod, start of Visit.relevantPeriod),\r\n EDVisit: Last(["Encounter, Performed": "Emergency Department Visit"] LastED\r\n where LastED.relevantPeriod ends 1 hour or less on or before VisitStart\r\n sort by \r\n end of relevantPeriod\r\n )\r\n return Interval[Coalesce(start of EDVisit.relevantPeriod, VisitStart), \r\n end of Visit.relevantPeriod]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Global.LengthInDays_732\" type=\"checkbox\"/>\r\n <label for=\"test-Global.LengthInDays_732\" class=\"list-header\"><strong> Global.LengthInDays(Value Interval%26lt;DateTime%26gt;)</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">difference in days between start of Value and end of Value</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-Global.ToDate_606\" type=\"checkbox\"/>\r\n <label for=\"test-Global.ToDate_606\" class=\"list-header\"><strong> Global.ToDate(Value DateTime)</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">DateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezone from Value)</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e555\" href=\"#toc\">Terminology</a></h3>\r\n <div>\r\n <ul style=\"padding-left: 50px;\">\r\n <li style=\"width:80%\">code "Birth date" ("LOINC Code (21112-8)")</li>\r\n <li>valueset "Comfort Measures" (1.3.6.1.4.1.33895.1.3.0.45)</li>\r\n <li>valueset "Discharge To Acute Care Facility" (2.16.840.1.113883.3.117.1.7.1.87)</li>\r\n <li>valueset "Discharged to Health Care Facility for Hospice Care" (2.16.840.1.113883.3.117.1.7.1.207)</li>\r\n <li>valueset "Discharged to Home for Hospice Care" (2.16.840.1.113883.3.117.1.7.1.209)</li>\r\n <li>valueset "Emergency Department Visit" (2.16.840.1.113883.3.117.1.7.1.292)</li>\r\n <li>valueset "Ethnicity" (2.16.840.1.114222.4.11.837)</li>\r\n <li>valueset "Hemorrhagic Stroke" (2.16.840.1.113883.3.117.1.7.1.212)</li>\r\n <li>valueset "Ischemic Stroke" (2.16.840.1.113883.3.117.1.7.1.247)</li>\r\n <li>valueset "LDL-c" (2.16.840.1.113883.3.117.1.7.1.215)</li>\r\n <li>valueset "Left Against Medical Advice" (2.16.840.1.113883.3.117.1.7.1.308)</li>\r\n <li>valueset "Medical Reason" (2.16.840.1.113883.3.117.1.7.1.473)</li>\r\n <li>valueset "Non-Elective Inpatient Encounter" (2.16.840.1.113883.3.117.1.7.1.424)</li>\r\n <li>valueset "Observation Services" (2.16.840.1.113762.1.4.1111.143)</li>\r\n <li>valueset "ONC Administrative Sex" (2.16.840.1.113762.1.4.1)</li>\r\n <li>valueset "Patient Expired" (2.16.840.1.113883.3.117.1.7.1.309)</li>\r\n <li>valueset "Patient Refusal" (2.16.840.1.113883.3.117.1.7.1.93)</li>\r\n <li>valueset "Payer" (2.16.840.1.114222.4.11.3591)</li>\r\n <li>valueset "Race" (2.16.840.1.114222.4.11.836)</li>\r\n <li>valueset "Statin Allergen" (2.16.840.1.113762.1.4.1110.42)</li>\r\n <li>valueset "Statin Grouper" (2.16.840.1.113762.1.4.1110.19)</li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e647\" href=\"#toc\">Data Criteria (QDM Data Elements)</a></h3>\r\n <ul style=\"padding-left: 50px;\">\r\n <li style=\"width:80%\">"Allergy/Intolerance: Statin Allergen" using "Statin Allergen (2.16.840.1.113762.1.4.1110.42)"</li>\r\n <li style=\"width:80%\">"Encounter, Performed: Emergency Department Visit" using "Emergency Department Visit (2.16.840.1.113883.3.117.1.7.1.292)"</li>\r\n <li style=\"width:80%\">"Encounter, Performed: Non-Elective Inpatient Encounter" using "Non-Elective Inpatient Encounter (2.16.840.1.113883.3.117.1.7.1.424)"</li>\r\n <li style=\"width:80%\">"Encounter, Performed: Observation Services" using "Observation Services (2.16.840.1.113762.1.4.1111.143)"</li>\r\n <li style=\"width:80%\">"Intervention, Order: Comfort Measures" using "Comfort Measures (1.3.6.1.4.1.33895.1.3.0.45)"</li>\r\n <li style=\"width:80%\">"Intervention, Performed: Comfort Measures" using "Comfort Measures (1.3.6.1.4.1.33895.1.3.0.45)"</li>\r\n <li style=\"width:80%\">"Laboratory Test, Performed: LDL-c" using "LDL-c (2.16.840.1.113883.3.117.1.7.1.215)"</li>\r\n <li style=\"width:80%\">"Medication, Discharge: Statin Grouper" using "Statin Grouper (2.16.840.1.113762.1.4.1110.19)"</li>\r\n <li style=\"width:80%\">"Medication, Not Discharged: Statin Grouper" using "Statin Grouper (2.16.840.1.113762.1.4.1110.19)"</li>\r\n <li style=\"width:80%\">"Patient Characteristic Ethnicity: Ethnicity" using "Ethnicity (2.16.840.1.114222.4.11.837)"</li>\r\n <li style=\"width:80%\">"Patient Characteristic Payer: Payer" using "Payer (2.16.840.1.114222.4.11.3591)"</li>\r\n <li style=\"width:80%\">"Patient Characteristic Race: Race" using "Race (2.16.840.1.114222.4.11.836)"</li>\r\n <li style=\"width:80%\">"Patient Characteristic Sex: ONC Administrative Sex" using "ONC Administrative Sex (2.16.840.1.113762.1.4.1)"</li>\r\n <li style=\"width:80%\">"Patient Characteristic Birthdate: Birth date" using "Birth date (LOINC Code 21112-8)"</li>\r\n </ul>\r\n <h3><a name=\"d1e767\" href=\"#toc\">Supplemental Data Elements</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 25px;\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-SDE_Ethnicity_971\" type=\"checkbox\"/>\r\n <label for=\"test-SDE_Ethnicity_971\" class=\"list-header\"><strong> SDE Ethnicity</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">["Patient Characteristic Ethnicity": "Ethnicity"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-SDE_Payer_645\" type=\"checkbox\"/>\r\n <label for=\"test-SDE_Payer_645\" class=\"list-header\"><strong> SDE Payer</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">["Patient Characteristic Payer": "Payer"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-SDE_Race_2\" type=\"checkbox\"/>\r\n <label for=\"test-SDE_Race_2\" class=\"list-header\"><strong> SDE Race</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">["Patient Characteristic Race": "Race"]</pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"test-SDE_Sex_690\" type=\"checkbox\"/>\r\n <label for=\"test-SDE_Sex_690\" class=\"list-header\"><strong> SDE Sex</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">["Patient Characteristic Sex": "ONC Administrative Sex"] </pre>\r\n </div></li>\r\n </ul>%26nbsp;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e879\" href=\"#toc\">Risk Adjustment Variables</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 25px;\">\r\n <li>None</li>\r\n </ul>\r\n </div>\r\n <div style=\"float:left; background:teal; height:3px; width:80%\"/>\r\n <table class=\"header_table\">\r\n <tbody>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Set</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>eMeasure Stroke (eSTK)</pre>\r\n </div></td>\r\n </tr>\r\n </tbody>\r\n </table></div>" }, - "extension": [ - { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", - "valueCode": "Encounter" + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", + "valueCode": "Encounter" + }, { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" } - ], + } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-EXM105-FHIR3-8.0.000", - "identifier": [ - { - "use": "official", - "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms", - "value": "105" - } - ], + "identifier": [ { + "use": "official", + "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms", + "value": "105" + } ], "version": "8.0.000", "name": "EXM105", "title": "Discharged on Statin Medication", @@ -40,316 +39,229 @@ "start": "2019-01-01", "end": "2019-12-31" }, - "useContext": [ - { - "code": { - "code": "program" - }, - "valueCodeableConcept": { - "text": "eligible-provider" - } - } - ], - "jurisdiction": [ - { - "coding": [ - { - "system": "urn:iso:std:iso:3166", - "code": "US" - } - ] - } - ], - "topic": [ - { - "coding": [ - { - "code": "57024-2" - } - ] + "useContext": [ { + "code": { + "code": "program" + }, + "valueCodeableConcept": { + "text": "eligible-provider" } - ], - "contributor": [ - { - "type": "author", - "name": "National Committee for Quality Assurance" + } ], + "jurisdiction": [ { + "coding": [ { + "system": "urn:iso:std:iso:3166", + "code": "US" + } ] + } ], + "topic": [ { + "coding": [ { + "code": "57024-2" + } ] + } ], + "contributor": [ { + "type": "author", + "name": "National Committee for Quality Assurance" + } ], + "contact": [ { + "telecom": [ { + "system": "url", + "value": "http://www.ncqa.org/" + } ] + } ], + "copyright": "Measure specifications are in the Public Domain. LOINC(R) is a registered trademark of the Regenstrief Institute. This material contains SNOMED Clinical Terms(R) (SNOMED CT(C)) copyright 2004-2017 International Health Terminology Standards Development Organization. All rights reserved.", + "relatedArtifact": [ { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" } - ], - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://www.ncqa.org/" - } - ] + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" } - ], - "copyright": "Measure specifications are in the Public Domain. LOINC(R) is a registered trademark of the Regenstrief Institute. This material contains SNOMED Clinical Terms(R) (SNOMED CT(C)) copyright 2004-2017 International Health Terminology Standards Development Organization. All rights reserved.", - "relatedArtifact": [ - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-TJCOverall-FHIR3-3.6.000" - } - }, - { - "type": "depends-on", - "url": "urn:hl7-org:elm-types:r1" - }, - { - "type": "depends-on", - "url": "http://hl7.org/fhir|3.0.0" - }, - { - "type": "citation", - "citation": "Amarenco, P., Bogousslavsky, J., Callahan, A., III, et al. (2006, August 10). High-dose atorvastatin after stroke or transient ischemic attack. New England Journal of Medicine, 355(6), 549-559. " - }, - { - "type": "citation", - "citation": "Biffi, A., Devan, W. J., Anderson, C. D., et al. (2011, May). Statin treatment and functional outcome after ischemic stroke: Case-control and meta-analysis. Stroke, 42(5), 1314-1319." - }, - { - "type": "citation", - "citation": "Centers for Disease Control and Prevention. (2009, May 1). Prevalence and most common causes of disability among adults—United States, 2005. Morbidity and Mortality Weekly Report, 58(16), 421-426." - }, - { - "type": "citation", - "citation": "Chan, P. S., Nallamothu, B. K., Gurm, H. S., et al. (2007, May 8). Incremental benefit and cost-effectiveness of high-dose statin therapy in high-risk patients with coronary artery disease. Circulation, 115(18), 2398-2409." - }, - { - "type": "citation", - "citation": "Culver, A. L., Ockene, I. S., Balasubramanian, R., et al. (2012, January 23). Statin use and risk of diabetes mellitus in postmenopausal women in the Women's Health Initiative. Archives of Internal Medicine, 172(2), 144-152." - }, - { - "type": "citation", - "citation": "Feher, A., Pusch, G., Koltai, K., et al. (2011, April 14). Statin therapy in the primary and the secondary prevention of ischaemic cerebrovascular diseases. International Journal of Cardiology, 148(2), 131-138." - }, - { - "type": "citation", - "citation": "Grundy, S. M., Cleeman, J. I., Merz, C. N., et al. (2004, July 13). Implications of recent clinical trials for the National Cholesterol Education Program Adult Treatment Panel III Guidelines. Circulation, 110(2), 227-239." - }, - { - "type": "citation", - "citation": "Kernan, W. N., Ovbiagele, B., Black, H. R., et al. (2014, May). Guidelines for the prevention of stroke in patients with stroke and transient ischemic attack: A guideline for health care professionals from the American Heart Association/American Stroke Association. Stroke, 45(7), 2160-2223. " - }, - { - "type": "citation", - "citation": "Kostis, W. J., Cheng, J. Q., Dobrzynski, J. M., et al. (2012, February 7). Meta-analysis of statin effects in women versus men. Journal of the American College of Cardiology, 59(6), 572-582." - }, - { - "type": "citation", - "citation": "Lazar, L. D., Pletcher, M. J., Coxson, P. G., et al. (2011, July 12). Cost-effectiveness of statin therapy for primary prevention in a low-cost statin era. Circulation, 124(2), 146-153." - }, - { - "type": "citation", - "citation": "Mitka, M. (2012, March 7). Some question use of statins to reduce cardiovascular risks in healthy women. JAMA, 307(9), 893-894." - }, - { - "type": "citation", - "citation": "National Cholesterol Education Program Expert Panel on Detection, Evaluation, and Adults Treatment of High Blood Cholesterol in Adults. (2002, December 17). Third report of the National Cholesterol Education Program (NCEP) Expert Panel on Detection, Evaluation, and Treatment of High Blood Cholesterol in Adults (Adult Treatment Panel III)—Final report. Circulation, 106(25), 3143-3421. " - }, - { - "type": "citation", - "citation": "Powers, W. J., Rabinstein, A. A., Ackerson, T., et al. (2018, January). 2018 guidelines for the early management of patients with acute ischemic stroke: A guideline for health care professionals from the American Heart Association/American Stroke Association. Stroke, 49, e44-e47." - }, - { - "type": "citation", - "citation": "Rodriguez-Yanez, M., Agulla, J., Rodriguez-Gonzalez, R., et al. (2008, June). Statins and stroke. Therapeutic Advances in Cardiovascular Disease, 2(3), 157-166." - }, - { - "type": "citation", - "citation": "Roger, V. L., Go, A. S., Lloyd-Jones, D. M., et al. (2012, January 3). Heart disease and stroke statistics—2012 update: A report from the American Heart Association. Circulation, 125(1), e2-e220." - }, - { - "type": "citation", - "citation": "Schellinger, P. D., Bryan, R. N., Caplan, L. R., et al. (2010, July 13). Evidence-based guideline: The role of diffusion and perfusion MRI for the diagnosis of acute ischemic stroke: Report of the Therapeutics and Technology Assessment Subcommittee of the American Academy of Neurology. Neurology, 75(2), 177-185." - }, - { - "type": "citation", - "citation": "Squizzato, A., Romualdi, E., Dentali, F., et al. (2011). Statins for acute ischemic stroke. Cochrane Database of Systematic Reviews, 8, CD007551." - }, - { - "type": "citation", - "citation": "Stone, N. J., Robinson, J., Lichtenstein, A. H., et al. (2013, November). Guideline on the treatment of blood cholesterol to reduce atherosclerotic cardiovascular disease in adults: A report of the American College of Cardiology/American Heart Association Task Force on Practice Guidelines. Circulation, 11, 1-84." - }, - { - "type": "citation", - "citation": "Van Dis, F. J., Keilson, L. M., Rundell, C. A., et al. (1996, June). Direct measurement of serum low-density lipoprotein cholesterol in patients with acute myocardial infarction on admission to the emergency room. American Journal of Cardiology, 77(14), 1232-1234." - }, - { - "type": "citation", - "citation": "Weiss, R., Harder, M., & Rowe, J. (2003, May). The relationship between nonfasting and fasting lipid measurements in patients with or without type 2 diabetes mellitus receiving treatment with 3-hydroxy-3-methylglutaryl-coenzyme a reductase inhibitors. Clinical Therapeutics, 25(5), 1490-1497." + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" } - ], - "library": [ - { - "reference": "Library/library-EXM105-FHIR3-8.0.000" + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-TJCOverall-FHIR3-3.6.000" } - ], + }, { + "type": "depends-on", + "url": "urn:hl7-org:elm-types:r1" + }, { + "type": "depends-on", + "url": "http://hl7.org/fhir|3.0.0" + }, { + "type": "citation", + "citation": "Amarenco, P., Bogousslavsky, J., Callahan, A., III, et al. (2006, August 10). High-dose atorvastatin after stroke or transient ischemic attack. New England Journal of Medicine, 355(6), 549-559. " + }, { + "type": "citation", + "citation": "Biffi, A., Devan, W. J., Anderson, C. D., et al. (2011, May). Statin treatment and functional outcome after ischemic stroke: Case-control and meta-analysis. Stroke, 42(5), 1314-1319." + }, { + "type": "citation", + "citation": "Centers for Disease Control and Prevention. (2009, May 1). Prevalence and most common causes of disability among adults—United States, 2005. Morbidity and Mortality Weekly Report, 58(16), 421-426." + }, { + "type": "citation", + "citation": "Chan, P. S., Nallamothu, B. K., Gurm, H. S., et al. (2007, May 8). Incremental benefit and cost-effectiveness of high-dose statin therapy in high-risk patients with coronary artery disease. Circulation, 115(18), 2398-2409." + }, { + "type": "citation", + "citation": "Culver, A. L., Ockene, I. S., Balasubramanian, R., et al. (2012, January 23). Statin use and risk of diabetes mellitus in postmenopausal women in the Women's Health Initiative. Archives of Internal Medicine, 172(2), 144-152." + }, { + "type": "citation", + "citation": "Feher, A., Pusch, G., Koltai, K., et al. (2011, April 14). Statin therapy in the primary and the secondary prevention of ischaemic cerebrovascular diseases. International Journal of Cardiology, 148(2), 131-138." + }, { + "type": "citation", + "citation": "Grundy, S. M., Cleeman, J. I., Merz, C. N., et al. (2004, July 13). Implications of recent clinical trials for the National Cholesterol Education Program Adult Treatment Panel III Guidelines. Circulation, 110(2), 227-239." + }, { + "type": "citation", + "citation": "Kernan, W. N., Ovbiagele, B., Black, H. R., et al. (2014, May). Guidelines for the prevention of stroke in patients with stroke and transient ischemic attack: A guideline for health care professionals from the American Heart Association/American Stroke Association. Stroke, 45(7), 2160-2223. " + }, { + "type": "citation", + "citation": "Kostis, W. J., Cheng, J. Q., Dobrzynski, J. M., et al. (2012, February 7). Meta-analysis of statin effects in women versus men. Journal of the American College of Cardiology, 59(6), 572-582." + }, { + "type": "citation", + "citation": "Lazar, L. D., Pletcher, M. J., Coxson, P. G., et al. (2011, July 12). Cost-effectiveness of statin therapy for primary prevention in a low-cost statin era. Circulation, 124(2), 146-153." + }, { + "type": "citation", + "citation": "Mitka, M. (2012, March 7). Some question use of statins to reduce cardiovascular risks in healthy women. JAMA, 307(9), 893-894." + }, { + "type": "citation", + "citation": "National Cholesterol Education Program Expert Panel on Detection, Evaluation, and Adults Treatment of High Blood Cholesterol in Adults. (2002, December 17). Third report of the National Cholesterol Education Program (NCEP) Expert Panel on Detection, Evaluation, and Treatment of High Blood Cholesterol in Adults (Adult Treatment Panel III)—Final report. Circulation, 106(25), 3143-3421. " + }, { + "type": "citation", + "citation": "Powers, W. J., Rabinstein, A. A., Ackerson, T., et al. (2018, January). 2018 guidelines for the early management of patients with acute ischemic stroke: A guideline for health care professionals from the American Heart Association/American Stroke Association. Stroke, 49, e44-e47." + }, { + "type": "citation", + "citation": "Rodriguez-Yanez, M., Agulla, J., Rodriguez-Gonzalez, R., et al. (2008, June). Statins and stroke. Therapeutic Advances in Cardiovascular Disease, 2(3), 157-166." + }, { + "type": "citation", + "citation": "Roger, V. L., Go, A. S., Lloyd-Jones, D. M., et al. (2012, January 3). Heart disease and stroke statistics—2012 update: A report from the American Heart Association. Circulation, 125(1), e2-e220." + }, { + "type": "citation", + "citation": "Schellinger, P. D., Bryan, R. N., Caplan, L. R., et al. (2010, July 13). Evidence-based guideline: The role of diffusion and perfusion MRI for the diagnosis of acute ischemic stroke: Report of the Therapeutics and Technology Assessment Subcommittee of the American Academy of Neurology. Neurology, 75(2), 177-185." + }, { + "type": "citation", + "citation": "Squizzato, A., Romualdi, E., Dentali, F., et al. (2011). Statins for acute ischemic stroke. Cochrane Database of Systematic Reviews, 8, CD007551." + }, { + "type": "citation", + "citation": "Stone, N. J., Robinson, J., Lichtenstein, A. H., et al. (2013, November). Guideline on the treatment of blood cholesterol to reduce atherosclerotic cardiovascular disease in adults: A report of the American College of Cardiology/American Heart Association Task Force on Practice Guidelines. Circulation, 11, 1-84." + }, { + "type": "citation", + "citation": "Van Dis, F. J., Keilson, L. M., Rundell, C. A., et al. (1996, June). Direct measurement of serum low-density lipoprotein cholesterol in patients with acute myocardial infarction on admission to the emergency room. American Journal of Cardiology, 77(14), 1232-1234." + }, { + "type": "citation", + "citation": "Weiss, R., Harder, M., & Rowe, J. (2003, May). The relationship between nonfasting and fasting lipid measurements in patients with or without type 2 diabetes mellitus receiving treatment with 3-hydroxy-3-methylglutaryl-coenzyme a reductase inhibitors. Clinical Therapeutics, 25(5), 1490-1497." + } ], + "library": [ { + "reference": "Library/library-EXM105-FHIR3-8.0.000" + } ], "disclaimer": "These performance measures are not clinical guidelines and do not establish a standard of medical care, and have not been tested for all potential applications. The measures and specifications are provided without warranty.", "scoring": { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-scoring", - "code": "proportion" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/measure-scoring", + "code": "proportion" + } ] }, - "type": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-type", - "code": "process" - } - ] - } - ], + "type": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-type", + "code": "process" + } ] + } ], "rateAggregation": "none", "rationale": "There is an extensive and consistent body of evidence supporting the use of statins for secondary prevention in patients with clinically evident atherosclerotic cardiovascular disease (ASCVD), which includes individuals with ischemic stroke due to large artery atherosclerosis, individuals with ischemic stroke due to intrinsic small vessel disease, and individuals with ischemic stroke not directly due to atherosclerosis but with clinically evident atherosclerotic disease in an uninvolved cerebral or noncerebral bed. Both women and men with clinical ASCVD are at increased risk for recurrent ASCVD and ASCVD death. High-intensity statin therapy should be initiated or continued as first-line therapy in women and men less than or equal to 75 years of age who have clinical ASCVD, unless contraindicated. In patients with clinical ASCVD and a contraindication to high-intensity statin therapy, moderate-intensity therapy should be considered as an alternative if it can be tolerated. In individuals greater than 75 years of age, the potential for ASCVD risk reduction benefits, adverse effects, drug-drug interactions, and patient preferences should be considered, and statin therapy individualized based on these considerations (Stone, 2013).", "clinicalRecommendationStatement": "For patients with stroke of atherosclerotic origin, intensive lipid lowering therapy with statins should be initiated", "improvementNotation": "increase", "guidance": "The \"Non-elective Inpatient Encounter\" value set intends to capture all non-scheduled hospitalizations. This value set is a subset of the \"Inpatient encounter\" value set, excluding concepts that specifically refer to elective hospital admissions. Non-elective admissions include emergency, urgent and unplanned admissions.\n\nThe \"Medication, Discharge\" datatype refers to the discharge medication list and is intended to express medications ordered for post-discharge use.", - "group": [ - { + "group": [ { + "identifier": { + "value": "group-1" + }, + "population": [ { "identifier": { - "value": "group-1" + "value": "initial-population" }, - "population": [ - { - "identifier": { - "value": "initial-population" - }, - "code": { - "coding": [ - { - "code": "initial-population" - } - ] - }, - "criteria": "Initial Population" - }, - { - "identifier": { - "value": "numerator" - }, - "code": { - "coding": [ - { - "code": "numerator" - } - ] - }, - "criteria": "Numerator" - }, - { - "identifier": { - "value": "denominator" - }, - "code": { - "coding": [ - { - "code": "denominator" - } - ] - }, - "criteria": "Denominator" - }, - { - "identifier": { - "value": "denominator-exclusion" - }, - "code": { - "coding": [ - { - "code": "denominator-exclusion" - } - ] - }, - "criteria": "Denominator Exclusion" - } - ] - } - ], - "supplementalData": [ - { - "identifier": { - "value": "sde-ethnicity" + "code": { + "coding": [ { + "code": "initial-population" + } ] }, - "usage": [ - { - "coding": [ - { - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Ethnicity" - }, - { + "criteria": "Initial Population" + }, { "identifier": { - "value": "sde-payer" + "value": "numerator" }, - "usage": [ - { - "coding": [ - { - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Payer" - }, - { + "code": { + "coding": [ { + "code": "numerator" + } ] + }, + "criteria": "Numerator" + }, { "identifier": { - "value": "sde-race" + "value": "denominator" }, - "usage": [ - { - "coding": [ - { - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Race" - }, - { + "code": { + "coding": [ { + "code": "denominator" + } ] + }, + "criteria": "Denominator" + }, { "identifier": { - "value": "sde-sex" + "value": "denominator-exclusion" }, - "usage": [ - { - "coding": [ - { - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Sex" - } - ] + "code": { + "coding": [ { + "code": "denominator-exclusion" + } ] + }, + "criteria": "Denominator Exclusion" + } ] + } ], + "supplementalData": [ { + "identifier": { + "value": "sde-ethnicity" + }, + "usage": [ { + "coding": [ { + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Ethnicity" + }, { + "identifier": { + "value": "sde-payer" + }, + "usage": [ { + "coding": [ { + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Payer" + }, { + "identifier": { + "value": "sde-race" + }, + "usage": [ { + "coding": [ { + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Race" + }, { + "identifier": { + "value": "sde-sex" + }, + "usage": [ { + "coding": [ { + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Sex" + } ] } \ No newline at end of file diff --git a/fhir3/input/resources/measure/measure-EXM108_FHIR3-7.4.000.json b/fhir3/input/resources/measure/measure-EXM108_FHIR3-7.4.000.json index 4cd17441..fac7ab54 100644 --- a/fhir3/input/resources/measure/measure-EXM108_FHIR3-7.4.000.json +++ b/fhir3/input/resources/measure/measure-EXM108_FHIR3-7.4.000.json @@ -4,38 +4,34 @@ "meta": { "versionId": "4", "lastUpdated": "2019-09-13T19:28:07.582+00:00", - "profile": [ - "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" - ] + "profile": [ "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" ] }, "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table style=\"width: 60%; border-bottom: none;\" class=\"header_table\"> <!-- <tr th:if=\"${resource.hasId()}\" style=\"vertical-align: top;\"><th style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Id: </span></th><td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.id}\"></td></tr> --> <!-- <th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'CMS'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Identifier (Measure Authoring Tool)</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Version number</span></td><td style=\"width:30%\" th:narrative=\"${resource.version}\"></td></tr></th:block><th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'NQF'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">NQF Number</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">GUID</span></td><td style=\"width:30%\" th:narrative=\"${resource.url}\"></td></tr></th:block> --><tr><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measurement Period</span></td><td colspan=\"3\" style=\"width:80%\">null - null</td></tr> <!-- <tr><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Steward</span></td><td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td></tr><tr><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Developer</span></td><td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td></tr> --> <!-- <tr th:if=\"${resource.hasDisclaimer()}\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Disclaimer</span></td><td style=\"width:80%\" colspan=\"3\"><div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><pre th:text=\"${resource.disclaimer}\"></pre>\n </div>\n </td>\n </tr> -->\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Copyright and Disclaimer Notice</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n \n \n <pre>HEDIS%26reg; is a registered trademark of the National Committee for Quality Assurance (NCQA). The HEDIS measures and specifications are owned by NCQA. NCQA holds a copyright in the HEDIS measures and specifications and may rescind or alter these measures and specifications at any time. Users of the HEDIS measures and specifications shall not have the right to alter, enhance or otherwise modify the HEDIS measures and specifications, and shall not disassemble, recompile or reverse engineer the HEDIS measures and specifications. Anyone desiring to use or reproduce the materials, subject to licensed user restrictions, without modification for an internal, non-commercial purpose may do so without obtaining any approval from NCQA. Use of the Rules for Allowable Adjustments of HEDIS to make permitted adjustments of the materials does not constitute a modification. All other uses, including a commercial use, or any external reproduction, distribution and publication must be approved by NCQA and are subject to a license at the discretion of NCQA.\n\nHEDIS measures and specifications are not clinical guidelines, do not establish a standard of medical care and have not been tested for all potential applications. The measures and specifications are provided “as is” without warranty of any kind. NCQA makes no representations, warranties or endorsements about the quality of any product, test or protocol identified as numerator compliant or otherwise identified as meeting the requirements of a HEDIS measure or specification. NCQA also makes no representations, warranties or endorsements about the quality of any organization or clinician who uses or reports performance measures. NCQA has no liability to anyone who relies on HEDIS measures and specifications or data reflective of performance under such measures and specifications.\n\nCalculated measure results, based on unadjusted HEDIS specifications, may not be termed “Health Plan HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Uncertified, Unaudited Health Plan HEDIS Rates.”\n\nCalculated measure results, based on adjusted HEDIS specifications, may not be termed “Adjusted HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Adjusted, Uncertified, Unaudited HEDIS Rates.”\n\nLimited proprietary coding is contained in the measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. NCQA disclaims all liability for use or accuracy of any coding contained in the specifications.\n\nThe American Medical Association holds a copyright to the CPT%26reg; codes contained in the measures specifications.\n\nThe American Hospital Association holds a copyright to the Uniform Bill Codes (UB) contained in the measure specifications. The UB Codes in the HEDIS specifications are included with the permission of the AHA. The UB Codes contained in the HEDIS specifications may be used by health plans and other health care delivery organizations for the purpose of calculating and reporting HEDIS measure results or using HEDIS measure results for their internal quality improvement purposes. All other uses of the UB Codes require a license from the AHA. Anyone desiring to use the UB Codes in a commercial Product(s) to generate HEDIS results, or for any other commercial use, must obtain a commercial use license directly from the AHA. To inquire about licensing, contact ub04@healthforum.com.\n\nSome measure specifications contain coding from LOINC%26reg; (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright %26copy; 1995-2019, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/terms-of-use.\n\n\"SNOMED” and “SNOMED CT” are registered trademarks of the International Health Terminology Standards Development Organization (IHTSDO).\n\n“HL7” is the registered trademark of Health Level Seven International.\n\n%26copy; 2019 by the National Committee for Quality Assurance, all rights reserved.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr>\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Characteristics</span></td>\n </tr>\n \n <!-- <tr th:if=\"${resource.hasCompositeScoring()}\">\n <td style=\"width:20%\" scope=\"row\"><span class=\"td_label\">Composite Scoring</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.compositeScoring.getText().substring(0, 1).toUpperCase() + resource.compositeScoring.getText().substring(1)}\"></td>\n </tr> -->\n \n <!-- <tr th:if=\"${resource.hasStatus()}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Status</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.status.toString().substring(0, 1).toUpperCase() + resource.status.toString().substring(1).toLowerCase()}\"></td>\n </tr>\n <tr th:if=\"${resource.hasPurpose()}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Purpose</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.purpose}\"></td>\n </tr>\n <tr th:if=\"${resource.hasUsage()}\" style=\"vertical-align: top;\" >\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Usage</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.usage}\"></td>\n </tr>\n <th:block th:each=\"context, iter : ${resource.useContext}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Use Context</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${context}\"></td>\n </tr>\n </th:block>\n <th:block th:each=\"topics, iter : ${resource.topic}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Topic</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${topics}\"></td>\n </tr>\n </th:block>\n <th:block th:each=\"cont, iter : ${resource.contributor}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Contributor</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <b><span th:narrative=\"${cont.type.toCode()}\"></span>: </b><span th:narrative=\"${cont.name}\"></span>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"lib, iter : ${resource.library}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Library</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <p th:if=\"${lib.hasIdentifier()}\"><b>identifier: </b><span th:narrative=\"${lib.identifier}\"></span></p>\n <p th:if=\"${lib.hasReference()}\"><b>reference: </b><span th:narrative=\"${lib.reference}\"></span></p>\n <p th:if=\"${lib.hasDisplay()}\"><b>display: </b><span th:narrative=\"${lib.display}\"></span></p>\n </td>\n </tr>\n </th:block> -->\n \n <!-- <tr th:if=\"${resource.hasRateAggregation()}\" >\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rate Aggregation</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.rateAggregation}\"></pre>\n </div>\n </td>\n </tr>\n <tr th:if=\"${resource.hasRationale()}\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rationale</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.rationale}\"></pre>\n </div>\n </td>\n </tr> -->\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Improvement Notation</span></td>\n \n \n </tr>\n \n <tr>\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Definitions</span></td>\n </tr>\n \n \n <!-- <th:block th:each=\"groups, iter : ${resource.uniquePopulationGroup}\" >\n <tr style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\" th:text=\"${groups.identifier.value}\"></span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${pops.description}\"></pre>\n </div>\n </td>\n </tr>\n </th:block> -->\n </table>\n <table style=\"width: 60%; border-top: none; border-bottom: none\" class=\"header_table\">\n \n </table>\n <table style=\"width: 60%; border-top: none;\" class=\"header_table\">\n <!-- <th:block th:each=\"supples, iter : ${resource.supplementalData}\">\n <tr>\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Supplemental Data:</b></th>\n <td style=\"width:80%\" colspan=\"3\" >\n <p style=\"margin-bottom: 5px;\" th:narrative=\"${supples.identifier}\"></p>\n <p style=\"margin-bottom: 5px;\" th:each=\"uses : ${supples.usage}\">\n <b>usage: </b>\n <span th:narrative=\"${uses}\"></span>\n </p>\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasCriteria()}\">\n <b>criteria: </b>\n <span th:narrative=\"${supples.criteria}\"></span>\n </p>\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasPath()}\">\n <b>path: </b>\n <span th:narrative=\"${supples.path}\"></span>\n </p>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"param, iter : ${resource.parameter}\">\n <tr style=\"vertical-align: top;\">\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Parameter: </b></th>\n <td style=\"width:80%\" colspan=\"3\" >\n <span th:if=\"${param.hasName()}\">\n <b>name: </b>\n <span th:narrative=\"${param.name}\"></span>\n <br/>\n </span>\n <b>use: </b>\n <span th:narrative=\"${param.use.toCode()}\"></span>\n <br/>\n <span th:if=\"${param.hasMin()}\">\n <b>minimum cardinality: </b>\n <span th:narrative=\"${param.min}\"></span>\n <br/>\n </span>\n <span th:if=\"${param.hasMax()}\">\n <b>maximum cardinality: </b>\n <span th:narrative=\"${param.max}\"></span>\n <br/>\n </span>\n <b>type: </b>\n <span th:narrative=\"${param.type}\"></span>\n <br/>\n <span th:if=\"${param.hasDocumentation()}\">\n <b>documentation: </b>\n <span th:narrative=\"${param.documentation}\"></span>\n <br/>\n </span>\n <span th:if=\"${param.hasProfile()}\">\n <b>profile: </b>\n <span th:narrative=\"${param.profile}\"></span>\n <br/>\n </span>\n <p style=\"margin-bottom: 5px;\"></p>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"dataReq, iter : ${resource.dataRequirement}\">\n <tr style=\"vertical-align: top;\">\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\" ><b>Data Requirements: </b></th>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${dataReq}\"></td>\n </tr>\n </th:block> -->\n </table>\n <h2><a name=\"toc\">Table of Contents</a></h2>\n <ul style=\"padding-left: 50px;\">\n <li><a href=\"#d1e405\">Population Criteria</a></li>\n <li><a href=\"#d1e649\">Definitions</a></li>\n <li><a href=\"#d1e650\">Functions</a></li>\n <li><a href=\"#d1e555\">Terminology</a></li>\n <li><a href=\"#d1e647\">Data Criteria (QDM Data Elements)</a></li>\n <li><a href=\"#d1e767\">Supplemental Data Elements</a></li>\n <li><a href=\"#d1e879\">Risk Adjustment Variables</a></li>\n </ul>\n <div style=\"float:left; background:teal; height:3px; width:80%\"></div>\n \n <h3><a name=\"d1e649\" href=\"#toc\">Definitions</a></h3>\n \n <h3><a name=\"d1e650\" href=\"#toc\">Functions</a></h3>\n \n <h3><a name=\"d1e555\" href=\"#toc\">Terminology</a></h3>\n <div>\n <ul style=\"padding-left: 50px;\">\n \n </ul>\n </div>\n <h3><a name=\"d1e647\" href=\"#toc\">Data Criteria (QDM Data Elements)</a></h3>\n <div>\n <ul style=\"padding-left: 50px;\">\n \n </ul>\n </div>\n <h3><a name=\"d1e767\" href=\"#toc\">Supplemental Data Elements</a></h3>\n \n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li>None</li>\n </ul>\n </div>\n <h3><a name=\"d1e879\" href=\"#toc\">Risk Adjustment Variables</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li>None</li>\n </ul>\n </div>\n <div style=\"float:left; background:teal; height:3px; width:80%\"></div>\n <table>\n \n <!-- <th:block th:each=\"con, iter : ${resource.content}\">\n <tr th:if=\"${con.contentType == 'text/cql'}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Content</span></td>\n <td style=\"width:80%\" ><b>type: </b><span th:text=\"${con.contentType}\"></span></td>\n </tr>\n <tr th:if=\"${con.contentType == 'text/cql'}\">\n <td style=\"width:100%\" colspan=\"2\" >\n <th:block th:if=\"${con.getData() != null }\" >\n <pre><code th:class=\"${con.contentType == 'text/cql' ? 'language-cql' : 'language-xml'}\" th:text=\"${new java.lang.String(con.getData())}\"></code></pre>\n </th:block>\n <th:block th:if=\"${con.getData() == null }\" >\n <span><i>%26lt;content is empty%26gt;</i></span>\n </th:block>\n </td>\n </tr>\n </th:block > -->\n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table style=\"width: 60%; border-bottom: none;\" class=\"header_table\"> <!-- <tr th:if=\"${resource.hasId()}\" style=\"vertical-align: top;\"><th style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Id: </span></th><td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.id}\"></td></tr> --> <!-- <th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'CMS'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Identifier (Measure Authoring Tool)</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Version number</span></td><td style=\"width:30%\" th:narrative=\"${resource.version}\"></td></tr></th:block><th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'NQF'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">NQF Number</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">GUID</span></td><td style=\"width:30%\" th:narrative=\"${resource.url}\"></td></tr></th:block> --><tr><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measurement Period</span></td><td colspan=\"3\" style=\"width:80%\">null - null</td></tr> <!-- <tr><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Steward</span></td><td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td></tr><tr><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Developer</span></td><td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td></tr> --> <!-- <tr th:if=\"${resource.hasDisclaimer()}\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Disclaimer</span></td><td style=\"width:80%\" colspan=\"3\"><div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><pre th:text=\"${resource.disclaimer}\"></pre>\n </div>\n </td>\n </tr> -->\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Copyright and Disclaimer Notice</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n \n \n <pre>HEDIS%26reg; is a registered trademark of the National Committee for Quality Assurance (NCQA). The HEDIS measures and specifications are owned by NCQA. NCQA holds a copyright in the HEDIS measures and specifications and may rescind or alter these measures and specifications at any time. Users of the HEDIS measures and specifications shall not have the right to alter, enhance or otherwise modify the HEDIS measures and specifications, and shall not disassemble, recompile or reverse engineer the HEDIS measures and specifications. Anyone desiring to use or reproduce the materials, subject to licensed user restrictions, without modification for an internal, non-commercial purpose may do so without obtaining any approval from NCQA. Use of the Rules for Allowable Adjustments of HEDIS to make permitted adjustments of the materials does not constitute a modification. All other uses, including a commercial use, or any external reproduction, distribution and publication must be approved by NCQA and are subject to a license at the discretion of NCQA.\n\nHEDIS measures and specifications are not clinical guidelines, do not establish a standard of medical care and have not been tested for all potential applications. The measures and specifications are provided “as is” without warranty of any kind. NCQA makes no representations, warranties or endorsements about the quality of any product, test or protocol identified as numerator compliant or otherwise identified as meeting the requirements of a HEDIS measure or specification. NCQA also makes no representations, warranties or endorsements about the quality of any organization or clinician who uses or reports performance measures. NCQA has no liability to anyone who relies on HEDIS measures and specifications or data reflective of performance under such measures and specifications.\n\nCalculated measure results, based on unadjusted HEDIS specifications, may not be termed “Health Plan HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Uncertified, Unaudited Health Plan HEDIS Rates.”\n\nCalculated measure results, based on adjusted HEDIS specifications, may not be termed “Adjusted HEDIS rates” until the logic used to produce the measure results has been certified by NCQA and has been audited and designated reportable by an NCQA-Certified Auditor. Such results should be referred to as “Adjusted, Uncertified, Unaudited HEDIS Rates.”\n\nLimited proprietary coding is contained in the measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. NCQA disclaims all liability for use or accuracy of any coding contained in the specifications.\n\nThe American Medical Association holds a copyright to the CPT%26reg; codes contained in the measures specifications.\n\nThe American Hospital Association holds a copyright to the Uniform Bill Codes (UB) contained in the measure specifications. The UB Codes in the HEDIS specifications are included with the permission of the AHA. The UB Codes contained in the HEDIS specifications may be used by health plans and other health care delivery organizations for the purpose of calculating and reporting HEDIS measure results or using HEDIS measure results for their internal quality improvement purposes. All other uses of the UB Codes require a license from the AHA. Anyone desiring to use the UB Codes in a commercial Product(s) to generate HEDIS results, or for any other commercial use, must obtain a commercial use license directly from the AHA. To inquire about licensing, contact ub04@healthforum.com.\n\nSome measure specifications contain coding from LOINC%26reg; (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright %26copy; 1995-2019, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/terms-of-use.\n\n"SNOMED” and “SNOMED CT” are registered trademarks of the International Health Terminology Standards Development Organization (IHTSDO).\n\n“HL7” is the registered trademark of Health Level Seven International.\n\n%26copy; 2019 by the National Committee for Quality Assurance, all rights reserved.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr>\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Characteristics</span></td>\n </tr>\n \n <!-- <tr th:if=\"${resource.hasCompositeScoring()}\">\n <td style=\"width:20%\" scope=\"row\"><span class=\"td_label\">Composite Scoring</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.compositeScoring.getText().substring(0, 1).toUpperCase() + resource.compositeScoring.getText().substring(1)}\"></td>\n </tr> -->\n \n <!-- <tr th:if=\"${resource.hasStatus()}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Status</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.status.toString().substring(0, 1).toUpperCase() + resource.status.toString().substring(1).toLowerCase()}\"></td>\n </tr>\n <tr th:if=\"${resource.hasPurpose()}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Purpose</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.purpose}\"></td>\n </tr>\n <tr th:if=\"${resource.hasUsage()}\" style=\"vertical-align: top;\" >\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Usage</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.usage}\"></td>\n </tr>\n <th:block th:each=\"context, iter : ${resource.useContext}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Use Context</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${context}\"></td>\n </tr>\n </th:block>\n <th:block th:each=\"topics, iter : ${resource.topic}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Topic</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${topics}\"></td>\n </tr>\n </th:block>\n <th:block th:each=\"cont, iter : ${resource.contributor}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Contributor</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <b><span th:narrative=\"${cont.type.toCode()}\"></span>: </b><span th:narrative=\"${cont.name}\"></span>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"lib, iter : ${resource.library}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Library</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <p th:if=\"${lib.hasIdentifier()}\"><b>identifier: </b><span th:narrative=\"${lib.identifier}\"></span></p>\n <p th:if=\"${lib.hasReference()}\"><b>reference: </b><span th:narrative=\"${lib.reference}\"></span></p>\n <p th:if=\"${lib.hasDisplay()}\"><b>display: </b><span th:narrative=\"${lib.display}\"></span></p>\n </td>\n </tr>\n </th:block> -->\n \n <!-- <tr th:if=\"${resource.hasRateAggregation()}\" >\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rate Aggregation</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.rateAggregation}\"></pre>\n </div>\n </td>\n </tr>\n <tr th:if=\"${resource.hasRationale()}\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rationale</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.rationale}\"></pre>\n </div>\n </td>\n </tr> -->\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Improvement Notation</span></td>\n \n \n </tr>\n \n <tr>\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Definitions</span></td>\n </tr>\n \n \n <!-- <th:block th:each=\"groups, iter : ${resource.uniquePopulationGroup}\" >\n <tr style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\" th:text=\"${groups.identifier.value}\"></span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${pops.description}\"></pre>\n </div>\n </td>\n </tr>\n </th:block> -->\n </table>\n <table style=\"width: 60%; border-top: none; border-bottom: none\" class=\"header_table\">\n \n </table>\n <table style=\"width: 60%; border-top: none;\" class=\"header_table\">\n <!-- <th:block th:each=\"supples, iter : ${resource.supplementalData}\">\n <tr>\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Supplemental Data:</b></th>\n <td style=\"width:80%\" colspan=\"3\" >\n <p style=\"margin-bottom: 5px;\" th:narrative=\"${supples.identifier}\"></p>\n <p style=\"margin-bottom: 5px;\" th:each=\"uses : ${supples.usage}\">\n <b>usage: </b>\n <span th:narrative=\"${uses}\"></span>\n </p>\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasCriteria()}\">\n <b>criteria: </b>\n <span th:narrative=\"${supples.criteria}\"></span>\n </p>\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasPath()}\">\n <b>path: </b>\n <span th:narrative=\"${supples.path}\"></span>\n </p>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"param, iter : ${resource.parameter}\">\n <tr style=\"vertical-align: top;\">\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Parameter: </b></th>\n <td style=\"width:80%\" colspan=\"3\" >\n <span th:if=\"${param.hasName()}\">\n <b>name: </b>\n <span th:narrative=\"${param.name}\"></span>\n <br/>\n </span>\n <b>use: </b>\n <span th:narrative=\"${param.use.toCode()}\"></span>\n <br/>\n <span th:if=\"${param.hasMin()}\">\n <b>minimum cardinality: </b>\n <span th:narrative=\"${param.min}\"></span>\n <br/>\n </span>\n <span th:if=\"${param.hasMax()}\">\n <b>maximum cardinality: </b>\n <span th:narrative=\"${param.max}\"></span>\n <br/>\n </span>\n <b>type: </b>\n <span th:narrative=\"${param.type}\"></span>\n <br/>\n <span th:if=\"${param.hasDocumentation()}\">\n <b>documentation: </b>\n <span th:narrative=\"${param.documentation}\"></span>\n <br/>\n </span>\n <span th:if=\"${param.hasProfile()}\">\n <b>profile: </b>\n <span th:narrative=\"${param.profile}\"></span>\n <br/>\n </span>\n <p style=\"margin-bottom: 5px;\"></p>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"dataReq, iter : ${resource.dataRequirement}\">\n <tr style=\"vertical-align: top;\">\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\" ><b>Data Requirements: </b></th>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${dataReq}\"></td>\n </tr>\n </th:block> -->\n </table>\n <h2><a name=\"toc\">Table of Contents</a></h2>\n <ul style=\"padding-left: 50px;\">\n <li><a href=\"#d1e405\">Population Criteria</a></li>\n <li><a href=\"#d1e649\">Definitions</a></li>\n <li><a href=\"#d1e650\">Functions</a></li>\n <li><a href=\"#d1e555\">Terminology</a></li>\n <li><a href=\"#d1e647\">Data Criteria (QDM Data Elements)</a></li>\n <li><a href=\"#d1e767\">Supplemental Data Elements</a></li>\n <li><a href=\"#d1e879\">Risk Adjustment Variables</a></li>\n </ul>\n <div style=\"float:left; background:teal; height:3px; width:80%\"/>\n \n <h3><a name=\"d1e649\" href=\"#toc\">Definitions</a></h3>\n \n <h3><a name=\"d1e650\" href=\"#toc\">Functions</a></h3>\n \n <h3><a name=\"d1e555\" href=\"#toc\">Terminology</a></h3>\n <div>\n <ul style=\"padding-left: 50px;\">\n \n </ul>\n </div>\n <h3><a name=\"d1e647\" href=\"#toc\">Data Criteria (QDM Data Elements)</a></h3>\n <div>\n <ul style=\"padding-left: 50px;\">\n \n </ul>\n </div>\n <h3><a name=\"d1e767\" href=\"#toc\">Supplemental Data Elements</a></h3>\n \n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li>None</li>\n </ul>\n </div>\n <h3><a name=\"d1e879\" href=\"#toc\">Risk Adjustment Variables</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li>None</li>\n </ul>\n </div>\n <div style=\"float:left; background:teal; height:3px; width:80%\"/>\n <table>\n \n <!-- <th:block th:each=\"con, iter : ${resource.content}\">\n <tr th:if=\"${con.contentType == 'text/cql'}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Content</span></td>\n <td style=\"width:80%\" ><b>type: </b><span th:text=\"${con.contentType}\"></span></td>\n </tr>\n <tr th:if=\"${con.contentType == 'text/cql'}\">\n <td style=\"width:100%\" colspan=\"2\" >\n <th:block th:if=\"${con.getData() != null }\" >\n <pre><code th:class=\"${con.contentType == 'text/cql' ? 'language-cql' : 'language-xml'}\" th:text=\"${new java.lang.String(con.getData())}\"></code></pre>\n </th:block>\n <th:block th:if=\"${con.getData() == null }\" >\n <span><i>%26lt;content is empty%26gt;</i></span>\n </th:block>\n </td>\n </tr>\n </th:block > -->\n </table>\n</div>" }, - "extension": [ - { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", - "valueCode": "boolean" + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", + "valueCode": "boolean" + }, { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" } - ], + } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-exm104-FHIR3", - "identifier": [ - { - "type": { - "coding": [ - { - "code": "NQF" - } - ] - }, - "value": "0371" + "identifier": [ { + "type": { + "coding": [ { + "code": "NQF" + } ] }, - { - "use": "official", - "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms", - "value": "108" - } - ], + "value": "0371" + }, { + "use": "official", + "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms", + "value": "108" + } ], "version": "7.4.000", "name": "EXM108", "title": "Venous Thromboembolism Prophylaxis", @@ -50,243 +46,176 @@ "start": "2019-01-01", "end": "2019-12-31" }, - "useContext": [ - { - "code": { - "code": "program" - }, - "valueCodeableConcept": { - "text": "eligible-provider" - } - } - ], - "jurisdiction": [ - { - "coding": [ - { - "system": "urn:iso:std:iso:3166", - "code": "US" - } - ] - } - ], - "topic": [ - { - "coding": [ - { - "system": "http://loinc.org", - "code": "57024-2", - "display": "Health Quality Measure Document" - } - ] - } - ], - "contributor": [ - { - "type": "author", - "name": "National Committee for Quality Assurance" - } - ], - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://www.ncqa.org/" - } - ] - } - ], - "copyright": "Measure specifications are in the Public Domain. LOINC(R) is a registered trademark of the Regenstrief Institute. This material contains SNOMED Clinical Terms(R) (SNOMED CT(C)) copyright 2004-2017 International Health Terminology Standards Development Organization. All rights reserved.", - "relatedArtifact": [ - { - "type": "citation", - "citation": "Cohen AT, Tapson VF, Bergmann JF, et al. Venous thromboembolism risk and prophylaxis in the acute hospital care setting (ENDORSE study): a multinational cross-sectional study. Lancet. 2008;371:387-394." - }, - { - "type": "citation", - "citation": "\t\nGeerts WH, Bergqvist D, Pineo GF, Heit JA, Samama CM, Lassen MR, Colwell CW. Prevention of venous thromboembolism. The Eighth ACCP Conference on antithrombotic and thrombolytic therapy. Chest. 2008; 133:381S-453S" - }, - { - "type": "citation", - "citation": "Guyatt, G.H., Akl, E.A., Crowther, M., Gutterman, D., Schunemann, H. Antithrombotic Therapy and Prevention of Thrombosis, 9th edition: American College of Chest Physicians Evidence-Based Clinical Practice Guidelines. CHEST 2012; 141(2)(Supp):7S-47S" - }, - { - "type": "citation", - "citation": "Kearon C, Akl EA, Comerota AJ, Prandoni P, Bounameaux H, Goldhaber SZ, Nelson ME, Wells PS, Gould MK, Dentali F, Crowther M, Kahn SR. Antithrombotic therapy for VTE disease: Antithrombotic Therapy and Prevention of Thrombosis, 9th Edition: American College of Chest Physicians Evidence-based Clinical Practice Guidelines. CHEST 2012 Feb; 141(2) (Supp):e419S-94S. " - }, - { - "type": "citation", - "citation": "National Quality Forum. National Voluntary Consensus Standards for Prevention and Care of Venous Thromboembolism: Policy, Preferred Practices, and Initial Performance Measures. A Consensus Report. Washington, DC. NQF; 2006" + "useContext": [ { + "code": { + "code": "program" }, - { - "type": "citation", - "citation": "\t\nShojania KG, Duncan BW, McDonald DM, et al. (Eds.). (2001). Making healthcare safer; A critical analysis of patient safety practices (Evidence Report/Technology Assessment No. 43). Prepared by the University of California at San Francisco-Stanford Evidenced-based Practice Center under Contract no. 290-97-0013 (AHRQ Publication NO.01-E058). Rockville, MD:Agency for Healthcare Research and Quality." + "valueCodeableConcept": { + "text": "eligible-provider" } - ], - "library": [ - { - "reference": "Library/library-EXM108-FHIR3-7.4.000" - } - ], + } ], + "jurisdiction": [ { + "coding": [ { + "system": "urn:iso:std:iso:3166", + "code": "US" + } ] + } ], + "topic": [ { + "coding": [ { + "system": "http://loinc.org", + "code": "57024-2", + "display": "Health Quality Measure Document" + } ] + } ], + "contributor": [ { + "type": "author", + "name": "National Committee for Quality Assurance" + } ], + "contact": [ { + "telecom": [ { + "system": "url", + "value": "http://www.ncqa.org/" + } ] + } ], + "copyright": "Measure specifications are in the Public Domain. LOINC(R) is a registered trademark of the Regenstrief Institute. This material contains SNOMED Clinical Terms(R) (SNOMED CT(C)) copyright 2004-2017 International Health Terminology Standards Development Organization. All rights reserved.", + "relatedArtifact": [ { + "type": "citation", + "citation": "Cohen AT, Tapson VF, Bergmann JF, et al. Venous thromboembolism risk and prophylaxis in the acute hospital care setting (ENDORSE study): a multinational cross-sectional study. Lancet. 2008;371:387-394." + }, { + "type": "citation", + "citation": "\t\nGeerts WH, Bergqvist D, Pineo GF, Heit JA, Samama CM, Lassen MR, Colwell CW. Prevention of venous thromboembolism. The Eighth ACCP Conference on antithrombotic and thrombolytic therapy. Chest. 2008; 133:381S-453S" + }, { + "type": "citation", + "citation": "Guyatt, G.H., Akl, E.A., Crowther, M., Gutterman, D., Schunemann, H. Antithrombotic Therapy and Prevention of Thrombosis, 9th edition: American College of Chest Physicians Evidence-Based Clinical Practice Guidelines. CHEST 2012; 141(2)(Supp):7S-47S" + }, { + "type": "citation", + "citation": "Kearon C, Akl EA, Comerota AJ, Prandoni P, Bounameaux H, Goldhaber SZ, Nelson ME, Wells PS, Gould MK, Dentali F, Crowther M, Kahn SR. Antithrombotic therapy for VTE disease: Antithrombotic Therapy and Prevention of Thrombosis, 9th Edition: American College of Chest Physicians Evidence-based Clinical Practice Guidelines. CHEST 2012 Feb; 141(2) (Supp):e419S-94S. " + }, { + "type": "citation", + "citation": "National Quality Forum. National Voluntary Consensus Standards for Prevention and Care of Venous Thromboembolism: Policy, Preferred Practices, and Initial Performance Measures. A Consensus Report. Washington, DC. NQF; 2006" + }, { + "type": "citation", + "citation": "\t\nShojania KG, Duncan BW, McDonald DM, et al. (Eds.). (2001). Making healthcare safer; A critical analysis of patient safety practices (Evidence Report/Technology Assessment No. 43). Prepared by the University of California at San Francisco-Stanford Evidenced-based Practice Center under Contract no. 290-97-0013 (AHRQ Publication NO.01-E058). Rockville, MD:Agency for Healthcare Research and Quality." + } ], + "library": [ { + "reference": "Library/library-EXM108-FHIR3-7.4.000" + } ], "disclaimer": "These performance measures are not clinical guidelines and do not establish a standard of medical care, and have not been tested for all potential applications. The measures and specifications are provided without warranty", "scoring": { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-scoring", - "code": "proportion" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/measure-scoring", + "code": "proportion" + } ] }, - "type": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-type", - "code": "process" - } - ] - } - ], + "type": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-type", + "code": "process" + } ] + } ], "riskAdjustment": "none", "rateAggregation": "none", "rationale": "Hospitalized patients at high-risk for VTE may develop an asymptomatic deep vein thrombosis (DVT), and die from pulmonary embolism (PE) even before the diagnosis is suspected. The majority of fatal events occur as sudden or abrupt death, underscoring the importance of prevention as the most critical action step for reducing death from PE (Geerts, et al, 2008).\n\nThe estimated annual incidence of deep-vein thrombosis (DVT) and pulmonary embolism (PE), known collectively as venous thromboembolism (VTE), is approximately 900,000 (Geerts, et al, 2008). Approximately two-thirds of cases of DVT or PE are associated with recent hospitalization. This is consistent with the 2001 report by The Agency for Healthcare Research and Quality (AHRQ). AHRQ indicates that \"the appropriate application of effective preventive measures in hospitals has major potential for improving patient safety by reducing the incidence of venous thromboembolism\" (Shojania, 2001).\n\nDespite its proven effectiveness, rates of appropriate thromboprophylaxis remain low in both medical and surgical patients. A recent analysis from the ENDORSE survey, which evaluated prophylaxis rates in 17,084 major surgery patients, found that more than one third of patients at risk for VTE (38%) did not receive prophylaxis and that rates varied by surgery type (Cohen, et al., 2008).\n\nIn a review of evidence-based patient safety practices, the Agency for Healthcare Research and Quality defined thromboprophylaxis against VTE as the \"number one patient safety practice\" for hospitalized patients (Shojania, 2001). Updated \"safe practices\" published by the National Quality Forum (NQF) recommend routine evaluation of hospitalized patients for risk of VTE and use of appropriate prophylaxis (National Quality Forum. National Voluntary Consensus Standards for Prevention and Care of Venous Thromboembolism, 2006).\n\nAs noted by the ACCP, a vast number of randomized clinical trials provide irrefutable evidence that thromboprophylaxis reduces VTE events, and there are studies that have also shown that fatal PE is prevented by thromboprophylaxis (Geerts, et al. 2008).\n\nSome select surgeries have previously been monitored in the Surgical Care Improvement Project; since performance on these surgeries has achieved very high levels, they are not included in this measure.", "clinicalRecommendationStatement": "Failure to recognize and protect patients at risk for venous thromboembolism (VTE) increases the chances for acutely ill hospitalized patients at high risk for developing a deep vein thrombosis or dying from a pulmonary emboli. Screening all patients is the only evidence based practice in reducing incidence of disease. All hospitalized patients should be evaluated for primary VTE prophylaxis, and given appropriate prophylaxis when indicated.", "improvementNotation": "increase", "guidance": "When low dose unfractionated heparin is administered for VTE Prophylaxis, the intended administration route for low dose unfractionated heparin is subcutaneous.\n\nReasons for no pharmacological and no mechanical VTE prophylaxis must be explicitly documented by the MD/APN/PA or pharmacist and linked with VTE prophylaxis. Ambulation alone is not a sufficient reason for not administering VTE prophylaxis. In order for ambulation/patient ambulating to be considered as an acceptable reason, there needs to be explicit documentation, e.g., \"patient out of bed and ambulating in halls - no VTE prophylaxis needed.\"", - "group": [ - { + "group": [ { + "identifier": { + "value": "group-1" + }, + "population": [ { "identifier": { - "value": "group-1" + "value": "initial-population-identifier" }, - "population": [ - { - "identifier": { - "value": "initial-population-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "initial-population", - "display": "Initial Population" - } - ] - }, - "criteria": "Initial Population" - }, - { - "identifier": { - "value": "numerator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "numerator", - "display": "Numerator" - } - ] - }, - "criteria": "Numerator" - }, - { - "identifier": { - "value": "denominator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator", - "display": "Denominator" - } - ] - }, - "criteria": "Denominator" - }, - { - "identifier": { - "value": "denominator-exclusions-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator-exclusion", - "display": "Denominator Exclusion" - } - ] - }, - "criteria": "Denominator Exclusions" - } - ] - } - ], - "supplementalData": [ - { - "identifier": { - "value": "sde-ethnicity" + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population", + "display": "Initial Population" + } ] }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Ethnicity" - }, - { + "criteria": "Initial Population" + }, { "identifier": { - "value": "sde-payer" + "value": "numerator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Payer" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "numerator", + "display": "Numerator" + } ] + }, + "criteria": "Numerator" + }, { "identifier": { - "value": "sde-race" + "value": "denominator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Race" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator", + "display": "Denominator" + } ] + }, + "criteria": "Denominator" + }, { "identifier": { - "value": "sde-sex" + "value": "denominator-exclusions-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Sex" - } - ] -} + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator-exclusion", + "display": "Denominator Exclusion" + } ] + }, + "criteria": "Denominator Exclusions" + } ] + } ], + "supplementalData": [ { + "identifier": { + "value": "sde-ethnicity" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Ethnicity" + }, { + "identifier": { + "value": "sde-payer" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Payer" + }, { + "identifier": { + "value": "sde-race" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Race" + }, { + "identifier": { + "value": "sde-sex" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Sex" + } ] +} \ No newline at end of file diff --git a/fhir3/input/resources/measure/measure-EXM117_FHIR3-8.3.000.json b/fhir3/input/resources/measure/measure-EXM117_FHIR3-8.3.000.json index 3fea12c9..d16afd28 100644 --- a/fhir3/input/resources/measure/measure-EXM117_FHIR3-8.3.000.json +++ b/fhir3/input/resources/measure/measure-EXM117_FHIR3-8.3.000.json @@ -3,27 +3,26 @@ "id": "measure-EXM117-FHIR3-8.3.000", "meta": { "versionId": "1", - "profile": [ - "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" - ] + "profile": [ "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" ] }, "text": { "status": "generated" }, - "extension": [ - { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", - "valueCode": "boolean" + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", + "valueCode": "boolean" + }, { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" } - ], + } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-exm117-FHIR3", - "identifier": [ - { - "use": "official", - "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms", - "value": "117" - } - ], + "identifier": [ { + "use": "official", + "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms", + "value": "117" + } ], "version": "8.3.000", "name": "EXM117", "title": "Childhood Immunization Status", @@ -39,241 +38,174 @@ "start": "2018-01-01", "end": "2018-12-31" }, - "useContext": [ - { - "code": { - "code": "program" - }, - "valueCodeableConcept": { - "text": "eligible-provider" - } - } - ], - "jurisdiction": [ - { - "coding": [ - { - "system": "urn:iso:std:iso:3166", - "code": "US" - } - ] - } - ], - "topic": [ - { - "coding": [ - { - "system": "http://loinc.org", - "code": "57024-2", - "display": "Health Quality Measure Document" - } - ] - } - ], - "contributor": [ - { - "type": "author", - "name": "National Committee for Quality Assurance" - } - ], - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://www.ncqa.org/" - } - ] - } - ], - "copyright": "This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.", - "relatedArtifact": [ - { - "type": "citation", - "citation": "Centers for Disease Control and Prevention. \"Infant Immunizations FAQs.\" 2017a. Available at https://www.cdc.gov/vaccines/parents/parent-questions.html" + "useContext": [ { + "code": { + "code": "program" }, - { - "type": "citation", - "citation": "Centers for Disease Control and Prevention. \"Vaccines & Immunizations: Why Are Childhood Vaccines So Important?\" 2017b. Available at https://www.cdc.gov/vaccines/vac-gen/howvpd.htm" - }, - { - "type": "citation", - "citation": "Centers for Disease Control and Prevention. \"Recommended Immunization Schedule for Children and Adolescents Aged 18 Years or Younger, United States, 2018.\" 2018. Available at https://www.cdc.gov/vaccines/schedules/downloads/child/0-18yrs-child-combined-schedule.pdf" - }, - { - "type": "citation", - "citation": "HealthyChildren. \"Safety & Prevention: Why Immunize Your Child.\" 2015. Available at https://www.healthychildren.org/english/safety-prevention/immunizations/Pages/Why-Immunize-Your-Child.aspx" - }, - { - "type": "citation", - "citation": "National Institute of Allergy and Infectious Diseases. \"Vaccine Benefits.\" 2014. Available at https://www.niaid.nih.gov/research/vaccine-benefits" - }, - { - "type": "citation", - "citation": "Zhou, F., A. Shefer, J. Wenger, et al. \"Economic Evaluation of the Routine Childhood Immunization Program in the United States, 2009.\" \"Pediatrics\", vol. 133, no. 4, April 2014. doi:10.1542/peds.2013-0698d " + "valueCodeableConcept": { + "text": "eligible-provider" } - ], - "library": [ - { - "reference": "Library/library-EXM117-FHIR3-8.3.000" - } - ], + } ], + "jurisdiction": [ { + "coding": [ { + "system": "urn:iso:std:iso:3166", + "code": "US" + } ] + } ], + "topic": [ { + "coding": [ { + "system": "http://loinc.org", + "code": "57024-2", + "display": "Health Quality Measure Document" + } ] + } ], + "contributor": [ { + "type": "author", + "name": "National Committee for Quality Assurance" + } ], + "contact": [ { + "telecom": [ { + "system": "url", + "value": "http://www.ncqa.org/" + } ] + } ], + "copyright": "This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.", + "relatedArtifact": [ { + "type": "citation", + "citation": "Centers for Disease Control and Prevention. \"Infant Immunizations FAQs.\" 2017a. Available at https://www.cdc.gov/vaccines/parents/parent-questions.html" + }, { + "type": "citation", + "citation": "Centers for Disease Control and Prevention. \"Vaccines & Immunizations: Why Are Childhood Vaccines So Important?\" 2017b. Available at https://www.cdc.gov/vaccines/vac-gen/howvpd.htm" + }, { + "type": "citation", + "citation": "Centers for Disease Control and Prevention. \"Recommended Immunization Schedule for Children and Adolescents Aged 18 Years or Younger, United States, 2018.\" 2018. Available at https://www.cdc.gov/vaccines/schedules/downloads/child/0-18yrs-child-combined-schedule.pdf" + }, { + "type": "citation", + "citation": "HealthyChildren. \"Safety & Prevention: Why Immunize Your Child.\" 2015. Available at https://www.healthychildren.org/english/safety-prevention/immunizations/Pages/Why-Immunize-Your-Child.aspx" + }, { + "type": "citation", + "citation": "National Institute of Allergy and Infectious Diseases. \"Vaccine Benefits.\" 2014. Available at https://www.niaid.nih.gov/research/vaccine-benefits" + }, { + "type": "citation", + "citation": "Zhou, F., A. Shefer, J. Wenger, et al. \"Economic Evaluation of the Routine Childhood Immunization Program in the United States, 2009.\" \"Pediatrics\", vol. 133, no. 4, April 2014. doi:10.1542/peds.2013-0698d " + } ], + "library": [ { + "reference": "Library/library-EXM117-FHIR3-8.3.000" + } ], "disclaimer": "The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND. Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].", "scoring": { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-scoring", - "code": "proportion" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/measure-scoring", + "code": "proportion" + } ] }, - "type": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-type", - "code": "process" - } - ] - } - ], + "type": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-type", + "code": "process" + } ] + } ], "rationale": "Infants and toddlers are particularly vulnerable to infectious diseases because their immune systems have not built up the necessary defenses to fight infection (Centers for Disease Control and Prevention 2017a). Most childhood vaccines are between 90 and 99 percent effective in preventing diseases (HealthyChildren 2015). Vaccination of each U.S. birth cohort with the current childhood immunization schedule prevents approximately 42,000 deaths and 20 million cases of disease and saves nearly $14 billion in direct costs and $69 billion in societal costs each year (Zhou 2014). Immunizing a child not only protects that child's health but also the health of the community, especially for those who are not immunized or are unable to be immunized due to other health complications (Centers for Disease Control and Prevention 2017b). When the majority of the community is immunized against a disease, other members of the community are also protected because herd immunity shields them. (National Institute of Allergy and Infectious Diseases 2014).", "clinicalRecommendationStatement": "Advisory Committee on Immunization Practices (ACIP) Recommended Immunization Schedule for Children and Adolescents Aged 18 Years or Younger, United States, 2018 (Centers for Disease Control and Prevention 2018). Hepatitis B (HepB) \"Minimum age: birth\" \"Birth Dose (Monovalent HepB vaccine only): -- Mother is HBsAg-Negative: 1 dose within 24 hours of birth for medically stable infants >2,000 grams. Infants <2,000 grams administer 1 dose at chronological age 1 month or hospital discharge. -- Mother is HBsAg-Positive: Give HepB vaccine and 0.5 mL of HBIG (at separate anatomic sites) within 12 hours of birth, regardless of birth weight. Test for HBsAg and anti-HBs at age 9–12 months. If HepB series is delayed, test 1–2 months after final dose. -- Mother’s HBsAg status is unknown: Give HepB vaccine within 12 hours of birth, regardless of birth weight. For infants <2,000 grams, give 0.5 mL of HBIG in addition to HepB vaccine within 12 hours of birth. Determine mother’s HBsAg status as soon as possible. If mother is HBsAg-positive, give 0.5 mL of HBIG to infants >2,000 grams as soon as possible, but no later than 7 days of age. Routine Series: -- A complete series is 3 doses at 0, 1–2, and 6–18 months. (Monovalent HepB vaccine should be used for doses given before age 6 weeks.) -- Infants who did not receive a birth dose should begin the series as soon as feasible. -- Administration of 4 doses is permitted when a combination vaccine containing HepB is used after the birth dose. -- Minimum age for the final (3rd or 4th) dose: 24 weeks. -- Minimum Intervals: Dose 1 to Dose 2: 4 weeks / Dose 2 to Dose 3: 8 weeks / Dose 1 to Dose 3: 16 weeks. (When 4 doses are given, substitute \"Dose 4\" for \"Dose 3\" in these calculations.).\" Diptheria, tetanus, acellular pertussis vaccinations (DTap) \"Minimum age: 6 weeks [4 years for Kinrix or Quadracel]\" \"Routine Vaccination: -- 5-dose series at 2, 4, 6, and 15–18 months, and 4–6 years. Prospectively: A 4th dose may be given as early as age 12 months if at least 6 months have elapsed since the 3rd dose. Retrospectively: A 4th dose that was inadvertently given as early as 12 months may be counted if at least 4 months have elapsed since the 3rd dose.\" Hib (Haemophilus influenzae type b) \"Minimum age: 6 weeks\" \"Routine Vaccination: -- ActHIB, Hiberix, or Pentacel: 4-dose series at 2, 4, 6, and 12–15 months. -- PedvaxHIB: 3-dose series at 2, 4, and 12–15 months.\" Polio (IPV) \"Minimum age: 6 weeks\" -- 4-dose series at ages 2, 4, 6–18 months, and 4–6 years. Administer the final dose on or after the 4th birthday and at least 6 months after the previous dose.\" Measles, mumps, rubella (MMR) \"Minimum age: 12 months for routine vaccination\" \"Routine Vaccination: -- 2-dose series at 12–15 months and 4–6 years. -- The 2nd dose may be given as early as 4 weeks after the 1st dose.\" Pneumococcal conjugate (PCV13) \"Minimum age: 6 weeks [PCV13]\" \"Routine vaccination with PCV13: -- 4-dose series at 2, 4, 6, and 12–15 months.\" Varicella (Var) \"Minimum age: 12 months\" \"Routine Vaccination: -- 2-dose series: 12–15 months and 4–6 years. -- The 2nd dose may be given as early as 3 months after the 1st dose (a dose given after a 4-week interval may be counted).\" Hepatitis A (HepA) \"Minimum age: 12 months\" \"Routine Vaccination: -- 2 doses, separated by 6-18 months, between the 1st and 2nd birthdays. (A series begun before the 2nd birthday should be completed even if the child turns 2 before the second dose is given.)\" Rotavirus (RV) \"Minimum age: 6 weeks\" \"Routine Vaccination: Rotarix: 2-dose series at 2 and 4 months. RotaTeq: 3-dose series at 2, 4, and 6 months. If any dose in the series is either RotaTeq or unknown, default to 3-dose series.\" Influenza (inactivated influenza vaccine (IIV) \"Minimum age: 6 months\" \"Routine Vaccination: -- Administer an age-appropriate formulation and dose of influenza vaccine annually. Children 6 months–8 years who did not receive at least 2 doses of influenza vaccine before July 1, 2017 should receive 2 doses separated by at least 4 weeks.\" ", "improvementNotation": "increase", "guidance": "For the MMR, hepatitis B, VZV and hepatitis A vaccines, numerator inclusion criteria include: evidence of receipt of the recommended vaccine; documented history of the illness; or, a seropositive test result for the antigen. For the DTaP, IPV, HiB, pneumococcal conjugate, rotavirus, and influenza vaccines, numerator inclusion criteria include only evidence of receipt of the recommended vaccine. Patients may be included in the numerator for a particular antigen if they had an anaphylactic reaction to the vaccine. Patients may be included in the numerator for the DTaP vaccine if they have encephalopathy. Patients may be included in the numerator for the IPV vaccine if they have had an anaphylactic reaction to streptomycin, polymyxin B, or neomycin. Patients may be included in the numerator for the influenza, MMR, or VZV vaccines if they have cancer of lymphoreticular or histiocytic tissue, multiple myeloma, leukemia, have had an anaphylactic reaction to neomycin, have Immunodefiency, or have HIV. Patients may be included in the numerator for the hepatitis B vaccine if they have had an anaphylactic reaction to common baker's yeast. The measure allows a grace period by measuring compliance with these recommendations between birth and age two.", - "group": [ - { + "group": [ { + "identifier": { + "value": "group-1" + }, + "population": [ { "identifier": { - "value": "group-1" + "value": "initial-population-identifier" }, - "population": [ - { - "identifier": { - "value": "initial-population-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "initial-population", - "display": "Initial Population" - } - ] - }, - "criteria": "Initial Population" - }, - { - "identifier": { - "value": "numerator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "numerator", - "display": "Numerator" - } - ] - }, - "criteria": "Numerator" - }, - { - "identifier": { - "value": "denominator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator", - "display": "Denominator" - } - ] - }, - "criteria": "Denominator" - }, - { - "identifier": { - "value": "denominator-exclusions-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator-exclusion", - "display": "Denominator Exclusion" - } - ] - }, - "criteria": "Denominator Exclusion" - } - ] - } - ], - "supplementalData": [ - { - "identifier": { - "value": "sde-ethnicity" + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population", + "display": "Initial Population" + } ] }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Ethnicity" - }, - { + "criteria": "Initial Population" + }, { "identifier": { - "value": "sde-payer" + "value": "numerator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Payer" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "numerator", + "display": "Numerator" + } ] + }, + "criteria": "Numerator" + }, { "identifier": { - "value": "sde-race" + "value": "denominator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Race" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator", + "display": "Denominator" + } ] + }, + "criteria": "Denominator" + }, { "identifier": { - "value": "sde-sex" + "value": "denominator-exclusions-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Sex" - } - ] -} + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator-exclusion", + "display": "Denominator Exclusion" + } ] + }, + "criteria": "Denominator Exclusion" + } ] + } ], + "supplementalData": [ { + "identifier": { + "value": "sde-ethnicity" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Ethnicity" + }, { + "identifier": { + "value": "sde-payer" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Payer" + }, { + "identifier": { + "value": "sde-race" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Race" + }, { + "identifier": { + "value": "sde-sex" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Sex" + } ] +} \ No newline at end of file diff --git a/fhir3/input/resources/measure/measure-EXM124_FHIR3-7.2.000.json b/fhir3/input/resources/measure/measure-EXM124_FHIR3-7.2.000.json index 166f0ed8..b49a55a3 100644 --- a/fhir3/input/resources/measure/measure-EXM124_FHIR3-7.2.000.json +++ b/fhir3/input/resources/measure/measure-EXM124_FHIR3-7.2.000.json @@ -4,33 +4,31 @@ "meta": { "versionId": "4", "lastUpdated": "2019-08-16T22:54:16.130+00:00", - "profile": [ - "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" - ] + "profile": [ "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" ] }, "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Measure/measure-exm124-FHIR3</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Type: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-type</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>process</span></span></span></span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"2\" scope=\"row\"><b>Identifier: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>system: </b><span>http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms</span><br/><b>value: </b><span>130</span></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><b>system: </b><span>http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/nqf</span><br/><b>value: </b><span>0034</span></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Title: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Cervical Cancer Screening</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Description: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Percentage of women 21-64 years of age who were screened for cervical cancer using either of the following criteria: <br> * Women age 21-64 who had cervical cytology performed every 3 years <br.* Women age 30-64 who had cervical cytology/human papillomavirus (HPV) co-testing performed every 5 years</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Purpose: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Women 23-64 years of age with a visit during the measurement period</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Use Context: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"padding-left: 25px; margin-bottom: 5px;\"><b>code: </b><span>program</span></p><p style=\"padding-left: 25px; margin-bottom: 5px;\"><b>value: </b><br/><span><span style=\"padding-left: 25px;\"><b>text: </b><span>eligible-provider</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Topic: </b></th><td style=\"padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://loinc.org</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>57024-2</span><br/></span><span style=\"padding-left: 25px;\"><b>display: </b><span>Health Quality Measure Document</span></span></span></span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Contributor: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b><span>author</span>: </b><span>National Committee for Quality Assurance</span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>Howlader, N., Noone, A.M., Krapcho, M., Miller, D., Bishop, K., Altekruse, S.F., Kosary, C.L., Yu, M., Ruhl, J., Tatalovich, Z., Mariotto, A., Lewis, D.R., Chen, H.S., Feuer, E.J., and Cronin, K.A. 2016. \"SEER Cancer Statistics Review, 1975-2013.\" National Cancer Institute. (December 5, 2016) http://seer.cancer.gov/csr/1975_2013/</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>National Business Group on Health. 2011. \"Pathways to Managing Cancer in the Workplace.\" (May 8, 2012). http://www.tcyh.org/employers/downloads/Pathways_Managing_Cancer_2011.pdf</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>Feig S. 2011. Comparison of Costs and Benefits of Breast Cancer Screening with Mammography, Ultrasonagraphy, and MRI. Obstetrics and Gynecology Clinics of North America. 38(1):179-96.</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>U.S. Preventive Services Task Force (USPSTF). 2016. \"Screening for Breast Cancer: U.S. Preventive Services Task Force Recommendation Statement.\" Ann Intern Med. 164(4):279-296. doi:10.7326/M15-2886.</span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Library: </b></th><td><p style=\"padding-left: 25px; padding-right: 25px;\"><b>reference: </b><span>Library/library-exm124-FHIR3</span></p></td></tr><tr><th scope=\"row\"><b>Disclaimer: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND. <br> Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</td></tr><tr><th scope=\"row\"><b>Scoring: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-scoring</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>proportion</span></span></span></span></td></tr><tr><th scope=\"row\"><b>Rationale: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Breast cancer is one of the most common types of cancers, accounting for 15 percent of all new cancer diagnoses in the U.S. (Howlader et al, 2016). In 2013, over 3 million women were estimated to be living with breast cancer in the U.S. and it is estimated that 12 percent of women will be diagnosed with breast cancer at some point during their lifetime (Howlader et al, 2016). <br> While there are other factors that affect a woman's risk of developing breast cancer, advancing age is a primary risk factor. Breast cancer is most frequently diagnosed among women ages 55-64; the median age at diagnosis is 62 years (Howlader et al, 2016). The chance of a woman being diagnosed with breast cancer in a given year increases with age. By age 40, the chances are 1 in 235; by age 50 it becomes 1 in 54; by age 60, it is 1 in 25 (National Business Group on Health, 2011). <br> In the U.S., costs associated with a diagnosis of breast cancer range from $451 to $2,520, factoring in continued testing, multiple office visits and procedures. The total costs related to breast cancer add up to nearly $7 billion per year in the U.S., including $2 billion spent on late-stage treatment (National Business Group on Health, 2011). If breast cancer is detected through mammography screening and diagnosed in its earliest stages, treatment may be less expensive (Feig, 2011).</td></tr><tr><th scope=\"row\"><b>Clinical Recommendation: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">The U.S. Preventive Services Task Force (USPSTF) recommends biennial screening mammography for women aged 50-74 years (B recommendation). <br> The decision to start screening mammography in women prior to age 50 years should be an individual one. Women who place a higher value on the potential benefit than the potential harms may choose to begin biennial screening between the ages of 40 and 49 years (C recommendation). (USPSTF, 2016) <br> The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of screening mammography in women aged 75 years or older (I statement). (USPSTF, 2016) <br> The USPSTF concludes that the current evidence is insufficient to assess the benefits and harms of digital breast tomosynthesis (DBT) as a primary screening method for breast cancer (I Statement). (USPSTF, 2016) <br> The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of adjunctive screening for breast cancer using breast ultrasonography, magnetic resonance imaging, DBT, or other methods in women identified to have dense breasts on an otherwise negative screening mammogram (I statement). (USPSTF, 2016)</td></tr><tr><th scope=\"row\"><b>Guidance: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">To ensure the measure is only looking for a cervical cytology test only after a woman turns 21 years of age, the youngest age in the initial population is 23. <br> Patient self-report for procedures as well as diagnostic studies should be recorded in 'Procedure, Performed' template or 'Diagnostic Study, Performed' template in QRDA-1. <br> Include only cytology and HPV \"co-testing\"; in co-testing, both cytology and HPV tests are performed (i.e., the samples are collected and both tests are ordered, regardless of the cytology result) on the same date of service. Do not include reflex testing. In addition, if the medical record indicates the HPV test was performed only after determining the cytology result, this is considered reflex testing and does not meet criteria for the measure.</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Group:</b></th><td><p style=\"padding-left: 25px; padding-right: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>group-1</span><br/></span></p></td></tr><tr style=\"vertical-align: top;\"><td colspan=\"2\"><table style=\"margin-bottom: 5px; width: 100%\"><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\" style=\"padding-left: 25px;\"><b>Population:</b></th><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>initial-population-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Initial Population</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>numerator-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Numerator</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>denominator-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Denominator</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>denominator-exclusions-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Denominator Exclusion</span></p></td></tr></table></td></tr><tr><th rowspan=\"4\" scope=\"row\"><b>Supplemental Data:</b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-ethnicity</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Ethnicity</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-payer</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Payer</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-race</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Race</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-sex</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Sex</span></p></td></tr></table></div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Measure/measure-exm124-FHIR3</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Type: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-type</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>process</span></span></span></span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"2\" scope=\"row\"><b>Identifier: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>system: </b><span>http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms</span><br/><b>value: </b><span>130</span></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><b>system: </b><span>http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/nqf</span><br/><b>value: </b><span>0034</span></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Title: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Cervical Cancer Screening</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Description: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Percentage of women 21-64 years of age who were screened for cervical cancer using either of the following criteria: <br> * Women age 21-64 who had cervical cytology performed every 3 years <br.* Women age 30-64 who had cervical cytology/human papillomavirus (HPV) co-testing performed every 5 years</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Purpose: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Women 23-64 years of age with a visit during the measurement period</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Use Context: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"padding-left: 25px; margin-bottom: 5px;\"><b>code: </b><span>program</span></p><p style=\"padding-left: 25px; margin-bottom: 5px;\"><b>value: </b><br/><span><span style=\"padding-left: 25px;\"><b>text: </b><span>eligible-provider</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Topic: </b></th><td style=\"padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://loinc.org</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>57024-2</span><br/></span><span style=\"padding-left: 25px;\"><b>display: </b><span>Health Quality Measure Document</span></span></span></span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Contributor: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b><span>author</span>: </b><span>National Committee for Quality Assurance</span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>Howlader, N., Noone, A.M., Krapcho, M., Miller, D., Bishop, K., Altekruse, S.F., Kosary, C.L., Yu, M., Ruhl, J., Tatalovich, Z., Mariotto, A., Lewis, D.R., Chen, H.S., Feuer, E.J., and Cronin, K.A. 2016. "SEER Cancer Statistics Review, 1975-2013." National Cancer Institute. (December 5, 2016) http://seer.cancer.gov/csr/1975_2013/</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>National Business Group on Health. 2011. "Pathways to Managing Cancer in the Workplace." (May 8, 2012). http://www.tcyh.org/employers/downloads/Pathways_Managing_Cancer_2011.pdf</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>Feig S. 2011. Comparison of Costs and Benefits of Breast Cancer Screening with Mammography, Ultrasonagraphy, and MRI. Obstetrics and Gynecology Clinics of North America. 38(1):179-96.</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>U.S. Preventive Services Task Force (USPSTF). 2016. "Screening for Breast Cancer: U.S. Preventive Services Task Force Recommendation Statement." Ann Intern Med. 164(4):279-296. doi:10.7326/M15-2886.</span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Library: </b></th><td><p style=\"padding-left: 25px; padding-right: 25px;\"><b>reference: </b><span>Library/library-exm124-FHIR3</span></p></td></tr><tr><th scope=\"row\"><b>Disclaimer: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. <br> Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</td></tr><tr><th scope=\"row\"><b>Scoring: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-scoring</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>proportion</span></span></span></span></td></tr><tr><th scope=\"row\"><b>Rationale: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Breast cancer is one of the most common types of cancers, accounting for 15 percent of all new cancer diagnoses in the U.S. (Howlader et al, 2016). In 2013, over 3 million women were estimated to be living with breast cancer in the U.S. and it is estimated that 12 percent of women will be diagnosed with breast cancer at some point during their lifetime (Howlader et al, 2016). <br> While there are other factors that affect a woman's risk of developing breast cancer, advancing age is a primary risk factor. Breast cancer is most frequently diagnosed among women ages 55-64; the median age at diagnosis is 62 years (Howlader et al, 2016). The chance of a woman being diagnosed with breast cancer in a given year increases with age. By age 40, the chances are 1 in 235; by age 50 it becomes 1 in 54; by age 60, it is 1 in 25 (National Business Group on Health, 2011). <br> In the U.S., costs associated with a diagnosis of breast cancer range from $451 to $2,520, factoring in continued testing, multiple office visits and procedures. The total costs related to breast cancer add up to nearly $7 billion per year in the U.S., including $2 billion spent on late-stage treatment (National Business Group on Health, 2011). If breast cancer is detected through mammography screening and diagnosed in its earliest stages, treatment may be less expensive (Feig, 2011).</td></tr><tr><th scope=\"row\"><b>Clinical Recommendation: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">The U.S. Preventive Services Task Force (USPSTF) recommends biennial screening mammography for women aged 50-74 years (B recommendation). <br> The decision to start screening mammography in women prior to age 50 years should be an individual one. Women who place a higher value on the potential benefit than the potential harms may choose to begin biennial screening between the ages of 40 and 49 years (C recommendation). (USPSTF, 2016) <br> The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of screening mammography in women aged 75 years or older (I statement). (USPSTF, 2016) <br> The USPSTF concludes that the current evidence is insufficient to assess the benefits and harms of digital breast tomosynthesis (DBT) as a primary screening method for breast cancer (I Statement). (USPSTF, 2016) <br> The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of adjunctive screening for breast cancer using breast ultrasonography, magnetic resonance imaging, DBT, or other methods in women identified to have dense breasts on an otherwise negative screening mammogram (I statement). (USPSTF, 2016)</td></tr><tr><th scope=\"row\"><b>Guidance: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">To ensure the measure is only looking for a cervical cytology test only after a woman turns 21 years of age, the youngest age in the initial population is 23. <br> Patient self-report for procedures as well as diagnostic studies should be recorded in 'Procedure, Performed' template or 'Diagnostic Study, Performed' template in QRDA-1. <br> Include only cytology and HPV "co-testing"; in co-testing, both cytology and HPV tests are performed (i.e., the samples are collected and both tests are ordered, regardless of the cytology result) on the same date of service. Do not include reflex testing. In addition, if the medical record indicates the HPV test was performed only after determining the cytology result, this is considered reflex testing and does not meet criteria for the measure.</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Group:</b></th><td><p style=\"padding-left: 25px; padding-right: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>group-1</span><br/></span></p></td></tr><tr style=\"vertical-align: top;\"><td colspan=\"2\"><table style=\"margin-bottom: 5px; width: 100%\"><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\" style=\"padding-left: 25px;\"><b>Population:</b></th><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>initial-population-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Initial Population</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>numerator-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Numerator</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>denominator-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Denominator</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>denominator-exclusions-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Denominator Exclusion</span></p></td></tr></table></td></tr><tr><th rowspan=\"4\" scope=\"row\"><b>Supplemental Data:</b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-ethnicity</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Ethnicity</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-payer</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Payer</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-race</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Race</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-sex</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Sex</span></p></td></tr></table></div>" }, - "extension": [ - { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", - "valueCode": "boolean" + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", + "valueCode": "boolean" + }, { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" } - ], + } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-exm124-FHIR3", - "identifier": [ - { - "use": "official", - "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms", - "value": "124" - }, - { - "use": "official", - "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/nqf", - "value": "0034" - } - ], + "identifier": [ { + "use": "official", + "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms", + "value": "124" + }, { + "use": "official", + "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/nqf", + "value": "0034" + } ], "version": "7.2.000", "name": "EXM124", "title": "Cervical Cancer Screening", @@ -46,233 +44,168 @@ "start": "2019-01-01", "end": "2019-12-31" }, - "useContext": [ - { - "code": { - "code": "program" - }, - "valueCodeableConcept": { - "text": "eligible-provider" - } - } - ], - "jurisdiction": [ - { - "coding": [ - { - "system": "urn:iso:std:iso:3166", - "code": "US" - } - ] - } - ], - "topic": [ - { - "coding": [ - { - "system": "http://loinc.org", - "code": "57024-2", - "display": "Health Quality Measure Document" - } - ] - } - ], - "contributor": [ - { - "type": "author", - "name": "National Committee for Quality Assurance" - } - ], - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://www.ncqa.org/" - } - ] - } - ], - "copyright": "This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. <br> Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. <br> CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.", - "relatedArtifact": [ - { - "type": "citation", - "citation": "Howlader, N., Noone, A.M., Krapcho, M., Miller, D., Bishop, K., Altekruse, S.F., Kosary, C.L., Yu, M., Ruhl, J., Tatalovich, Z., Mariotto, A., Lewis, D.R., Chen, H.S., Feuer, E.J., and Cronin, K.A. 2016. \"SEER Cancer Statistics Review, 1975-2013.\" National Cancer Institute. (December 5, 2016) http://seer.cancer.gov/csr/1975_2013/" - }, - { - "type": "citation", - "citation": "National Business Group on Health. 2011. \"Pathways to Managing Cancer in the Workplace.\" (May 8, 2012). http://www.tcyh.org/employers/downloads/Pathways_Managing_Cancer_2011.pdf" + "useContext": [ { + "code": { + "code": "program" }, - { - "type": "citation", - "citation": "Feig S. 2011. Comparison of Costs and Benefits of Breast Cancer Screening with Mammography, Ultrasonagraphy, and MRI. Obstetrics and Gynecology Clinics of North America. 38(1):179-96." - }, - { - "type": "citation", - "citation": "U.S. Preventive Services Task Force (USPSTF). 2016. \"Screening for Breast Cancer: U.S. Preventive Services Task Force Recommendation Statement.\" Ann Intern Med. 164(4):279-296. doi:10.7326/M15-2886." - } - ], - "library": [ - { - "reference": "Library/library-EXM124-FHIR3-7.2.000" + "valueCodeableConcept": { + "text": "eligible-provider" } - ], + } ], + "jurisdiction": [ { + "coding": [ { + "system": "urn:iso:std:iso:3166", + "code": "US" + } ] + } ], + "topic": [ { + "coding": [ { + "system": "http://loinc.org", + "code": "57024-2", + "display": "Health Quality Measure Document" + } ] + } ], + "contributor": [ { + "type": "author", + "name": "National Committee for Quality Assurance" + } ], + "contact": [ { + "telecom": [ { + "system": "url", + "value": "http://www.ncqa.org/" + } ] + } ], + "copyright": "This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. <br> Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. <br> CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.", + "relatedArtifact": [ { + "type": "citation", + "citation": "Howlader, N., Noone, A.M., Krapcho, M., Miller, D., Bishop, K., Altekruse, S.F., Kosary, C.L., Yu, M., Ruhl, J., Tatalovich, Z., Mariotto, A., Lewis, D.R., Chen, H.S., Feuer, E.J., and Cronin, K.A. 2016. \"SEER Cancer Statistics Review, 1975-2013.\" National Cancer Institute. (December 5, 2016) http://seer.cancer.gov/csr/1975_2013/" + }, { + "type": "citation", + "citation": "National Business Group on Health. 2011. \"Pathways to Managing Cancer in the Workplace.\" (May 8, 2012). http://www.tcyh.org/employers/downloads/Pathways_Managing_Cancer_2011.pdf" + }, { + "type": "citation", + "citation": "Feig S. 2011. Comparison of Costs and Benefits of Breast Cancer Screening with Mammography, Ultrasonagraphy, and MRI. Obstetrics and Gynecology Clinics of North America. 38(1):179-96." + }, { + "type": "citation", + "citation": "U.S. Preventive Services Task Force (USPSTF). 2016. \"Screening for Breast Cancer: U.S. Preventive Services Task Force Recommendation Statement.\" Ann Intern Med. 164(4):279-296. doi:10.7326/M15-2886." + } ], + "library": [ { + "reference": "Library/library-EXM124-FHIR3-7.2.000" + } ], "disclaimer": "The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND. <br> Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].", "scoring": { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-scoring", - "code": "proportion" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/measure-scoring", + "code": "proportion" + } ] }, - "type": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-type", - "code": "process" - } - ] - } - ], + "type": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-type", + "code": "process" + } ] + } ], "rationale": "Breast cancer is one of the most common types of cancers, accounting for 15 percent of all new cancer diagnoses in the U.S. (Howlader et al, 2016). In 2013, over 3 million women were estimated to be living with breast cancer in the U.S. and it is estimated that 12 percent of women will be diagnosed with breast cancer at some point during their lifetime (Howlader et al, 2016). <br> While there are other factors that affect a woman's risk of developing breast cancer, advancing age is a primary risk factor. Breast cancer is most frequently diagnosed among women ages 55-64; the median age at diagnosis is 62 years (Howlader et al, 2016). The chance of a woman being diagnosed with breast cancer in a given year increases with age. By age 40, the chances are 1 in 235; by age 50 it becomes 1 in 54; by age 60, it is 1 in 25 (National Business Group on Health, 2011). <br> In the U.S., costs associated with a diagnosis of breast cancer range from $451 to $2,520, factoring in continued testing, multiple office visits and procedures. The total costs related to breast cancer add up to nearly $7 billion per year in the U.S., including $2 billion spent on late-stage treatment (National Business Group on Health, 2011). If breast cancer is detected through mammography screening and diagnosed in its earliest stages, treatment may be less expensive (Feig, 2011).", "clinicalRecommendationStatement": "The U.S. Preventive Services Task Force (USPSTF) recommends biennial screening mammography for women aged 50-74 years (B recommendation). <br> The decision to start screening mammography in women prior to age 50 years should be an individual one. Women who place a higher value on the potential benefit than the potential harms may choose to begin biennial screening between the ages of 40 and 49 years (C recommendation). (USPSTF, 2016) <br> The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of screening mammography in women aged 75 years or older (I statement). (USPSTF, 2016) <br> The USPSTF concludes that the current evidence is insufficient to assess the benefits and harms of digital breast tomosynthesis (DBT) as a primary screening method for breast cancer (I Statement). (USPSTF, 2016) <br> The USPSTF concludes that the current evidence is insufficient to assess the balance of benefits and harms of adjunctive screening for breast cancer using breast ultrasonography, magnetic resonance imaging, DBT, or other methods in women identified to have dense breasts on an otherwise negative screening mammogram (I statement). (USPSTF, 2016)", "improvementNotation": "increase", "guidance": "To ensure the measure is only looking for a cervical cytology test only after a woman turns 21 years of age, the youngest age in the initial population is 23. <br> Patient self-report for procedures as well as diagnostic studies should be recorded in 'Procedure, Performed' template or 'Diagnostic Study, Performed' template in QRDA-1. <br> Include only cytology and HPV \"co-testing\"; in co-testing, both cytology and HPV tests are performed (i.e., the samples are collected and both tests are ordered, regardless of the cytology result) on the same date of service. Do not include reflex testing. In addition, if the medical record indicates the HPV test was performed only after determining the cytology result, this is considered reflex testing and does not meet criteria for the measure.", - "group": [ - { + "group": [ { + "identifier": { + "value": "group-1" + }, + "population": [ { "identifier": { - "value": "group-1" + "value": "initial-population-identifier" }, - "population": [ - { - "identifier": { - "value": "initial-population-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "initial-population", - "display": "Initial Population" - } - ] - }, - "criteria": "Initial Population" - }, - { - "identifier": { - "value": "numerator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "numerator", - "display": "Numerator" - } - ] - }, - "criteria": "Numerator" - }, - { - "identifier": { - "value": "denominator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator", - "display": "Denominator" - } - ] - }, - "criteria": "Denominator" - }, - { - "identifier": { - "value": "denominator-exclusions-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator-exclusion", - "display": "Denominator Exclusion" - } - ] - }, - "criteria": "Denominator Exclusion" - } - ] - } - ], - "supplementalData": [ - { - "identifier": { - "value": "sde-ethnicity" + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population", + "display": "Initial Population" + } ] }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Ethnicity" - }, - { + "criteria": "Initial Population" + }, { "identifier": { - "value": "sde-payer" + "value": "numerator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Payer" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "numerator", + "display": "Numerator" + } ] + }, + "criteria": "Numerator" + }, { "identifier": { - "value": "sde-race" + "value": "denominator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Race" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator", + "display": "Denominator" + } ] + }, + "criteria": "Denominator" + }, { "identifier": { - "value": "sde-sex" + "value": "denominator-exclusions-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Sex" - } - ] -} + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator-exclusion", + "display": "Denominator Exclusion" + } ] + }, + "criteria": "Denominator Exclusion" + } ] + } ], + "supplementalData": [ { + "identifier": { + "value": "sde-ethnicity" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Ethnicity" + }, { + "identifier": { + "value": "sde-payer" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Payer" + }, { + "identifier": { + "value": "sde-race" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Race" + }, { + "identifier": { + "value": "sde-sex" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Sex" + } ] +} \ No newline at end of file diff --git a/fhir3/input/resources/measure/measure-EXM125_FHIR3-7.2.000.json b/fhir3/input/resources/measure/measure-EXM125_FHIR3-7.2.000.json index 6b45b060..155a6621 100644 --- a/fhir3/input/resources/measure/measure-EXM125_FHIR3-7.2.000.json +++ b/fhir3/input/resources/measure/measure-EXM125_FHIR3-7.2.000.json @@ -4,33 +4,31 @@ "meta": { "versionId": "4", "lastUpdated": "2019-08-16T22:25:16.512+00:00", - "profile": [ - "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" - ] + "profile": [ "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" ] }, "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Measure/measure-exm125-FHIR3</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Type: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-type</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>process</span></span></span></span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"2\" scope=\"row\"><b>Identifier: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>system: </b><span>http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms</span><br/><b>value: </b><span>146</span></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><b>system: </b><span>http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/nqf</span><br/><b>value: </b><span>0002</span></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Title: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Breast Cancer Screening</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Description: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Percentage of women 50-74 years of age who had a mammogram to screen for breast cancer</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Purpose: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Women 51-74 years of age with a visit during the measurement period</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Use Context: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"padding-left: 25px; margin-bottom: 5px;\"><b>code: </b><span>program</span></p><p style=\"padding-left: 25px; margin-bottom: 5px;\"><b>value: </b><br/><span><span style=\"padding-left: 25px;\"><b>text: </b><span>eligibile-provider</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Topic: </b></th><td style=\"padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://loinc.org</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>57024-2</span><br/></span><span style=\"padding-left: 25px;\"><b>display: </b><span>Health Quality Measure Document</span></span></span></span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Contributor: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b><span>author</span>: </b><span>National Committee for Quality Assurance</span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"5\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>American Cancer Society. 2010. Cancer Facts & Figures 2010. Atlanta: American Cancer Society.</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>National Cancer Institute. 2010. \"Breast Cancer Screening.\" http://www.cancer.gov/cancertopics/pdq/screening/breast/healthprofessional</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>National Business Group on Health. 2011. Pathways to Managing Cancer in the Workplace. Washington: National Business Group on Health.</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>U.S. Preventive Services Task Force (USPSTF). 2009. 1) \"Screening for breast cancer: U.S. Preventive Services Task Force recommendation statement.\" 2) \"December 2009 addendum.\" Ann Intern Med 151(10):716-726.</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>BreastCancer.org. 2012. U.S. Breast Cancer Statistics. www.breastcancer.org/symptoms/understand_bc/statistics.jsp</span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Library: </b></th><td><p style=\"padding-left: 25px; padding-right: 25px;\"><b>reference: </b><span>Library/library-exm125-FHIR3</span></p></td></tr><tr><th scope=\"row\"><b>Disclaimer: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND.</td></tr><tr><th scope=\"row\"><b>Scoring: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-scoring</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>proportion</span></span></span></span></td></tr><tr><th scope=\"row\"><b>Rationale: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Breast cancer is one of the most common types of cancers, accounting for a quarter of all new cancer diagnoses for women in the U.S. (BreastCancer.Org, 2011). It ranks as the second leading cause of cancer-related mortality in women, accounting for nearly 40,000 estimated deaths in 2013 (American Cancer Society, 2011). <br> According to the National Cancer Institute's Surveillance Epidemiology and End Results program, the chance of a woman being diagnosed with breast cancer in a given year increases with age. By age 30, it is one in 2,212. By age 40, the chances increase to one in 235, by age 50, it becomes one in 54, and, by age 60, it is one in 25. From 2004 to 2008, the median age at the time of breast cancer diagnosis was 61 years among adult women (Tangka et al, 2010). <br> In the U.S., costs associated with a diagnosis of breast cancer range from $451 to $2,520, factoring in continued testing, multiple office visits, and varying procedures. The total costs related to breast cancer add up to nearly $7 billion per year in the U.S., including $2 billion spent on late-stage treatment (Lavigne et al, 2008; Boykoff et al, 2009).</td></tr><tr><th scope=\"row\"><b>Clinical Recommendation: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">The U.S. Preventive Services Task Force (USPSTF) recommends biennial screening mammography for women aged 50-74 years (B recommendation). The decision to start regular, biennial screening mammography before the age of 50 years should be an individual one and take patient context into account, including the patient's values regarding specific benefits and harms (C recommendation). The Task Force concludes the evidence is insufficient to assess the additional benefits and harms of screening mammography in women 75 years and older (I statement). <br> U.S. Preventive Services Task Force (2009) <br> Grade: B recommendation. The USPSTF recommends biennial screening mammography for women aged 50 to 74 years. <br> Grade: C recommendation. The decision to start regular, biennial screening mammography before the age of 50 years should be an individual one and take patient context into account, including the patient's values regarding specific benefits and harms. <br> Grade: I Statement. The USPSTF concludes that the current evidence is insufficient to assess the additional benefits and harms of screening mammography in women 75 years or older. <br> Grade: D recommendation. The USPSTF recommends against teaching breast self-examination (BSE). <br> Grade: I Statement. The USPSTF concludes that the current evidence is insufficient to assess the additional benefits and harms of clinical breast examination (CBE) beyond screening mammography in women 40 years or older. <br> Grade: I Statement. The USPSTF concludes that the current evidence is insufficient to assess the additional benefits and harms of either digital mammography or magnetic resonance imaging (MRI) instead of film mammography as screening modalities for breast cancer.</td></tr><tr><th scope=\"row\"><b>Guidance: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Patient self-report for procedures as well as diagnostic studies should be recorded in 'Procedure, Performed' template or 'Diagnostic Study, Performed' template in QRDA-1. Patient self-report is not allowed for laboratory tests. <br> This measure evaluates primary screening. Do not count biopsies, breast ultrasounds, MRIs or tomosynthesis (3D mammography), because they are not appropriate methods for primary breast cancer screening.</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Group:</b></th><td><p style=\"padding-left: 25px; padding-right: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>group-1</span><br/></span></p></td></tr><tr style=\"vertical-align: top;\"><td colspan=\"2\"><table style=\"margin-bottom: 5px; width: 100%\"><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\" style=\"padding-left: 25px;\"><b>Population:</b></th><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>initial-population-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Initial Population</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>numerator-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Numerator</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>denominator-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Denominator</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>denominator-exclusions-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Denominator Exclusion</span></p></td></tr></table></td></tr><tr><th rowspan=\"4\" scope=\"row\"><b>Supplemental Data:</b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-ethnicity</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Ethnicity</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-payer</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Payer</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-race</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Race</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-sex</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Sex</span></p></td></tr></table></div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Measure/measure-exm125-FHIR3</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Type: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-type</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>process</span></span></span></span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"2\" scope=\"row\"><b>Identifier: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>system: </b><span>http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms</span><br/><b>value: </b><span>146</span></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><b>system: </b><span>http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/nqf</span><br/><b>value: </b><span>0002</span></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Title: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Breast Cancer Screening</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Description: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Percentage of women 50-74 years of age who had a mammogram to screen for breast cancer</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Purpose: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Women 51-74 years of age with a visit during the measurement period</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Use Context: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"padding-left: 25px; margin-bottom: 5px;\"><b>code: </b><span>program</span></p><p style=\"padding-left: 25px; margin-bottom: 5px;\"><b>value: </b><br/><span><span style=\"padding-left: 25px;\"><b>text: </b><span>eligibile-provider</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Topic: </b></th><td style=\"padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://loinc.org</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>57024-2</span><br/></span><span style=\"padding-left: 25px;\"><b>display: </b><span>Health Quality Measure Document</span></span></span></span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Contributor: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b><span>author</span>: </b><span>National Committee for Quality Assurance</span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"5\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>American Cancer Society. 2010. Cancer Facts & Figures 2010. Atlanta: American Cancer Society.</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>National Cancer Institute. 2010. "Breast Cancer Screening." http://www.cancer.gov/cancertopics/pdq/screening/breast/healthprofessional</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>National Business Group on Health. 2011. Pathways to Managing Cancer in the Workplace. Washington: National Business Group on Health.</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>U.S. Preventive Services Task Force (USPSTF). 2009. 1) "Screening for breast cancer: U.S. Preventive Services Task Force recommendation statement." 2) "December 2009 addendum." Ann Intern Med 151(10):716-726.</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>BreastCancer.org. 2012. U.S. Breast Cancer Statistics. www.breastcancer.org/symptoms/understand_bc/statistics.jsp</span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Library: </b></th><td><p style=\"padding-left: 25px; padding-right: 25px;\"><b>reference: </b><span>Library/library-exm125-FHIR3</span></p></td></tr><tr><th scope=\"row\"><b>Disclaimer: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.</td></tr><tr><th scope=\"row\"><b>Scoring: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-scoring</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>proportion</span></span></span></span></td></tr><tr><th scope=\"row\"><b>Rationale: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Breast cancer is one of the most common types of cancers, accounting for a quarter of all new cancer diagnoses for women in the U.S. (BreastCancer.Org, 2011). It ranks as the second leading cause of cancer-related mortality in women, accounting for nearly 40,000 estimated deaths in 2013 (American Cancer Society, 2011). <br> According to the National Cancer Institute's Surveillance Epidemiology and End Results program, the chance of a woman being diagnosed with breast cancer in a given year increases with age. By age 30, it is one in 2,212. By age 40, the chances increase to one in 235, by age 50, it becomes one in 54, and, by age 60, it is one in 25. From 2004 to 2008, the median age at the time of breast cancer diagnosis was 61 years among adult women (Tangka et al, 2010). <br> In the U.S., costs associated with a diagnosis of breast cancer range from $451 to $2,520, factoring in continued testing, multiple office visits, and varying procedures. The total costs related to breast cancer add up to nearly $7 billion per year in the U.S., including $2 billion spent on late-stage treatment (Lavigne et al, 2008; Boykoff et al, 2009).</td></tr><tr><th scope=\"row\"><b>Clinical Recommendation: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">The U.S. Preventive Services Task Force (USPSTF) recommends biennial screening mammography for women aged 50-74 years (B recommendation). The decision to start regular, biennial screening mammography before the age of 50 years should be an individual one and take patient context into account, including the patient's values regarding specific benefits and harms (C recommendation). The Task Force concludes the evidence is insufficient to assess the additional benefits and harms of screening mammography in women 75 years and older (I statement). <br> U.S. Preventive Services Task Force (2009) <br> Grade: B recommendation. The USPSTF recommends biennial screening mammography for women aged 50 to 74 years. <br> Grade: C recommendation. The decision to start regular, biennial screening mammography before the age of 50 years should be an individual one and take patient context into account, including the patient's values regarding specific benefits and harms. <br> Grade: I Statement. The USPSTF concludes that the current evidence is insufficient to assess the additional benefits and harms of screening mammography in women 75 years or older. <br> Grade: D recommendation. The USPSTF recommends against teaching breast self-examination (BSE). <br> Grade: I Statement. The USPSTF concludes that the current evidence is insufficient to assess the additional benefits and harms of clinical breast examination (CBE) beyond screening mammography in women 40 years or older. <br> Grade: I Statement. The USPSTF concludes that the current evidence is insufficient to assess the additional benefits and harms of either digital mammography or magnetic resonance imaging (MRI) instead of film mammography as screening modalities for breast cancer.</td></tr><tr><th scope=\"row\"><b>Guidance: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Patient self-report for procedures as well as diagnostic studies should be recorded in 'Procedure, Performed' template or 'Diagnostic Study, Performed' template in QRDA-1. Patient self-report is not allowed for laboratory tests. <br> This measure evaluates primary screening. Do not count biopsies, breast ultrasounds, MRIs or tomosynthesis (3D mammography), because they are not appropriate methods for primary breast cancer screening.</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Group:</b></th><td><p style=\"padding-left: 25px; padding-right: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>group-1</span><br/></span></p></td></tr><tr style=\"vertical-align: top;\"><td colspan=\"2\"><table style=\"margin-bottom: 5px; width: 100%\"><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\" style=\"padding-left: 25px;\"><b>Population:</b></th><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>initial-population-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Initial Population</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>numerator-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Numerator</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>denominator-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Denominator</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>denominator-exclusions-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Denominator Exclusion</span></p></td></tr></table></td></tr><tr><th rowspan=\"4\" scope=\"row\"><b>Supplemental Data:</b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-ethnicity</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Ethnicity</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-payer</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Payer</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-race</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Race</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-sex</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Sex</span></p></td></tr></table></div>" }, - "extension": [ - { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", - "valueCode": "boolean" + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", + "valueCode": "boolean" + }, { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" } - ], + } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-exm125-FHIR3", - "identifier": [ - { - "use": "official", - "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms", - "value": "146" - }, - { - "use": "official", - "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/nqf", - "value": "0002" - } - ], + "identifier": [ { + "use": "official", + "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms", + "value": "146" + }, { + "use": "official", + "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/nqf", + "value": "0002" + } ], "version": "6.2.000", "name": "EXM125", "title": "Breast Cancer Screening", @@ -46,237 +44,171 @@ "start": "2019-01-01", "end": "2019-12-31" }, - "useContext": [ - { - "code": { - "code": "program" - }, - "valueCodeableConcept": { - "text": "eligibile-provider" - } - } - ], - "jurisdiction": [ - { - "coding": [ - { - "system": "urn:iso:std:iso:3166", - "code": "US" - } - ] - } - ], - "topic": [ - { - "coding": [ - { - "system": "http://loinc.org", - "code": "57024-2", - "display": "Health Quality Measure Document" - } - ] - } - ], - "contributor": [ - { - "type": "author", - "name": "National Committee for Quality Assurance" - } - ], - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://www.ncqa.org/" - } - ] - } - ], - "copyright": "This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). The Measure is copyrighted but can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses must be approved by NCQA and are subject to a license at the discretion of NCQA. NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. <br> Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any CPT or other codes contained in the specifications. <br> CPT(R) contained in the Measure specifications is copyright 2004-2016 American Medical Association. LOINC(R) copyright 2004-2016 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2016 International Health Terminology Standards Development Organisation. ICD-10 copyright 2016 World Health Organization. All Rights Reserved. <br> The American Hospital Association holds a copyright to the National Uniform Billing Committee (NUBC) codes contained in the measure specifications. The NUBC codes in the specifications are included with the permission of the AHA. The NUBC codes contained in the specifications may be used by health plans and other health care delivery organizations for the purpose of calculating and reporting Measure results or using Measure results for their internal quality improvement purposes. All other uses of the NUBC codes require a license from the AHA. Anyone desiring to use the NUBC codes in a commercial product to generate Measure results, or for any other commercial use, must obtain a commercial use license directly from the AHA. To inquire about licensing, contact ub04@healthforum.com.", - "relatedArtifact": [ - { - "type": "citation", - "citation": "American Cancer Society. 2010. Cancer Facts & Figures 2010. Atlanta: American Cancer Society." - }, - { - "type": "citation", - "citation": "National Cancer Institute. 2010. \"Breast Cancer Screening.\" http://www.cancer.gov/cancertopics/pdq/screening/breast/healthprofessional" - }, - { - "type": "citation", - "citation": "National Business Group on Health. 2011. Pathways to Managing Cancer in the Workplace. Washington: National Business Group on Health." - }, - { - "type": "citation", - "citation": "U.S. Preventive Services Task Force (USPSTF). 2009. 1) \"Screening for breast cancer: U.S. Preventive Services Task Force recommendation statement.\" 2) \"December 2009 addendum.\" Ann Intern Med 151(10):716-726." + "useContext": [ { + "code": { + "code": "program" }, - { - "type": "citation", - "citation": "BreastCancer.org. 2012. U.S. Breast Cancer Statistics. www.breastcancer.org/symptoms/understand_bc/statistics.jsp" + "valueCodeableConcept": { + "text": "eligibile-provider" } - ], - "library": [ - { - "reference": "Library/library-EXM125-FHIR3-7.2.000" - } - ], + } ], + "jurisdiction": [ { + "coding": [ { + "system": "urn:iso:std:iso:3166", + "code": "US" + } ] + } ], + "topic": [ { + "coding": [ { + "system": "http://loinc.org", + "code": "57024-2", + "display": "Health Quality Measure Document" + } ] + } ], + "contributor": [ { + "type": "author", + "name": "National Committee for Quality Assurance" + } ], + "contact": [ { + "telecom": [ { + "system": "url", + "value": "http://www.ncqa.org/" + } ] + } ], + "copyright": "This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). The Measure is copyrighted but can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses must be approved by NCQA and are subject to a license at the discretion of NCQA. NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. <br> Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any CPT or other codes contained in the specifications. <br> CPT(R) contained in the Measure specifications is copyright 2004-2016 American Medical Association. LOINC(R) copyright 2004-2016 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2016 International Health Terminology Standards Development Organisation. ICD-10 copyright 2016 World Health Organization. All Rights Reserved. <br> The American Hospital Association holds a copyright to the National Uniform Billing Committee (NUBC) codes contained in the measure specifications. The NUBC codes in the specifications are included with the permission of the AHA. The NUBC codes contained in the specifications may be used by health plans and other health care delivery organizations for the purpose of calculating and reporting Measure results or using Measure results for their internal quality improvement purposes. All other uses of the NUBC codes require a license from the AHA. Anyone desiring to use the NUBC codes in a commercial product to generate Measure results, or for any other commercial use, must obtain a commercial use license directly from the AHA. To inquire about licensing, contact ub04@healthforum.com.", + "relatedArtifact": [ { + "type": "citation", + "citation": "American Cancer Society. 2010. Cancer Facts & Figures 2010. Atlanta: American Cancer Society." + }, { + "type": "citation", + "citation": "National Cancer Institute. 2010. \"Breast Cancer Screening.\" http://www.cancer.gov/cancertopics/pdq/screening/breast/healthprofessional" + }, { + "type": "citation", + "citation": "National Business Group on Health. 2011. Pathways to Managing Cancer in the Workplace. Washington: National Business Group on Health." + }, { + "type": "citation", + "citation": "U.S. Preventive Services Task Force (USPSTF). 2009. 1) \"Screening for breast cancer: U.S. Preventive Services Task Force recommendation statement.\" 2) \"December 2009 addendum.\" Ann Intern Med 151(10):716-726." + }, { + "type": "citation", + "citation": "BreastCancer.org. 2012. U.S. Breast Cancer Statistics. www.breastcancer.org/symptoms/understand_bc/statistics.jsp" + } ], + "library": [ { + "reference": "Library/library-EXM125-FHIR3-7.2.000" + } ], "disclaimer": "The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND.", "scoring": { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-scoring", - "code": "proportion" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/measure-scoring", + "code": "proportion" + } ] }, - "type": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-type", - "code": "process" - } - ] - } - ], + "type": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-type", + "code": "process" + } ] + } ], "rationale": "Breast cancer is one of the most common types of cancers, accounting for a quarter of all new cancer diagnoses for women in the U.S. (BreastCancer.Org, 2011). It ranks as the second leading cause of cancer-related mortality in women, accounting for nearly 40,000 estimated deaths in 2013 (American Cancer Society, 2011). <br> According to the National Cancer Institute's Surveillance Epidemiology and End Results program, the chance of a woman being diagnosed with breast cancer in a given year increases with age. By age 30, it is one in 2,212. By age 40, the chances increase to one in 235, by age 50, it becomes one in 54, and, by age 60, it is one in 25. From 2004 to 2008, the median age at the time of breast cancer diagnosis was 61 years among adult women (Tangka et al, 2010). <br> In the U.S., costs associated with a diagnosis of breast cancer range from $451 to $2,520, factoring in continued testing, multiple office visits, and varying procedures. The total costs related to breast cancer add up to nearly $7 billion per year in the U.S., including $2 billion spent on late-stage treatment (Lavigne et al, 2008; Boykoff et al, 2009).", "clinicalRecommendationStatement": "The U.S. Preventive Services Task Force (USPSTF) recommends biennial screening mammography for women aged 50-74 years (B recommendation). The decision to start regular, biennial screening mammography before the age of 50 years should be an individual one and take patient context into account, including the patient's values regarding specific benefits and harms (C recommendation). The Task Force concludes the evidence is insufficient to assess the additional benefits and harms of screening mammography in women 75 years and older (I statement). <br> U.S. Preventive Services Task Force (2009) <br> Grade: B recommendation. The USPSTF recommends biennial screening mammography for women aged 50 to 74 years. <br> Grade: C recommendation. The decision to start regular, biennial screening mammography before the age of 50 years should be an individual one and take patient context into account, including the patient's values regarding specific benefits and harms. <br> Grade: I Statement. The USPSTF concludes that the current evidence is insufficient to assess the additional benefits and harms of screening mammography in women 75 years or older. <br> Grade: D recommendation. The USPSTF recommends against teaching breast self-examination (BSE). <br> Grade: I Statement. The USPSTF concludes that the current evidence is insufficient to assess the additional benefits and harms of clinical breast examination (CBE) beyond screening mammography in women 40 years or older. <br> Grade: I Statement. The USPSTF concludes that the current evidence is insufficient to assess the additional benefits and harms of either digital mammography or magnetic resonance imaging (MRI) instead of film mammography as screening modalities for breast cancer.", "improvementNotation": "increase", "guidance": "Patient self-report for procedures as well as diagnostic studies should be recorded in 'Procedure, Performed' template or 'Diagnostic Study, Performed' template in QRDA-1. Patient self-report is not allowed for laboratory tests. <br> This measure evaluates primary screening. Do not count biopsies, breast ultrasounds, MRIs or tomosynthesis (3D mammography), because they are not appropriate methods for primary breast cancer screening.", - "group": [ - { + "group": [ { + "identifier": { + "value": "group-1" + }, + "population": [ { "identifier": { - "value": "group-1" + "value": "initial-population-identifier" }, - "population": [ - { - "identifier": { - "value": "initial-population-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "initial-population", - "display": "Initial Population" - } - ] - }, - "criteria": "Initial Population" - }, - { - "identifier": { - "value": "numerator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "numerator", - "display": "Numerator" - } - ] - }, - "criteria": "Numerator" - }, - { - "identifier": { - "value": "denominator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator", - "display": "Denominator" - } - ] - }, - "criteria": "Denominator" - }, - { - "identifier": { - "value": "denominator-exclusions-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator-exclusion", - "display": "Denominator Exclusion" - } - ] - }, - "criteria": "Denominator Exclusion" - } - ] - } - ], - "supplementalData": [ - { - "identifier": { - "value": "sde-ethnicity" + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population", + "display": "Initial Population" + } ] }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Ethnicity" - }, - { + "criteria": "Initial Population" + }, { "identifier": { - "value": "sde-payer" + "value": "numerator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Payer" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "numerator", + "display": "Numerator" + } ] + }, + "criteria": "Numerator" + }, { "identifier": { - "value": "sde-race" + "value": "denominator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Race" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator", + "display": "Denominator" + } ] + }, + "criteria": "Denominator" + }, { "identifier": { - "value": "sde-sex" + "value": "denominator-exclusions-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Sex" - } - ] -} + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator-exclusion", + "display": "Denominator Exclusion" + } ] + }, + "criteria": "Denominator Exclusion" + } ] + } ], + "supplementalData": [ { + "identifier": { + "value": "sde-ethnicity" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Ethnicity" + }, { + "identifier": { + "value": "sde-payer" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Payer" + }, { + "identifier": { + "value": "sde-race" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Race" + }, { + "identifier": { + "value": "sde-sex" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Sex" + } ] +} \ No newline at end of file diff --git a/fhir3/input/resources/measure/measure-EXM130_FHIR3-7.2.000.json b/fhir3/input/resources/measure/measure-EXM130_FHIR3-7.2.000.json index 32d3186f..14f5288d 100644 --- a/fhir3/input/resources/measure/measure-EXM130_FHIR3-7.2.000.json +++ b/fhir3/input/resources/measure/measure-EXM130_FHIR3-7.2.000.json @@ -4,33 +4,31 @@ "meta": { "versionId": "4", "lastUpdated": "2019-08-16T23:22:37.968+00:00", - "profile": [ - "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" - ] + "profile": [ "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" ] }, "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Measure/measure-exm130-FHIR3</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Type: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-type</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>process</span></span></span></span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"2\" scope=\"row\"><b>Identifier: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>system: </b><span>http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms</span><br/><b>value: </b><span>130</span></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><b>system: </b><span>http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/nqf</span><br/><b>value: </b><span>0034</span></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Title: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Colorectal Cancer Screening</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Description: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Percentage of adults 50-75 years of age who had appropriate screening for colorectal cancer</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Purpose: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Patients 50-75 years of age with a visit during the measurement period</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Use Context: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"padding-left: 25px; margin-bottom: 5px;\"><b>code: </b><span>program</span></p><p style=\"padding-left: 25px; margin-bottom: 5px;\"><b>value: </b><br/><span><span style=\"padding-left: 25px;\"><b>text: </b><span>eligible-provider</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Topic: </b></th><td style=\"padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://loinc.org</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>57024-2</span><br/></span><span style=\"padding-left: 25px;\"><b>display: </b><span>Health Quality Measure Document</span></span></span></span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Contributor: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b><span>author</span>: </b><span>National Committee for Quality Assurance</span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"3\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>U.S. Preventive Services Task Force. \"Screening for Colorectal Cancer: U.S. Preventive Services Task Force Recommendation Statement.\" JAMA, vol. 315, no. 23, 2016, pp. 2564-2575. doi: 10.1001/jama.2016.5989</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>Howlader, N., A.M. Noone, M. Krapcho, D. Miller, K. Bishop, C.L. Kosary, M. Yu, J. Ruhl, Z. Tatalovich, A. Mariotto, D.R. Lewis, H.S. Chen, E.J. Feuer, and K.A. Cronin. \"SEER Cancer Statistics Review, 1975-2014.\" Washington, DC: National Cancer Institute, 2017. Available at https://seer.cancer.gov/csr/1975_2014/</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>American Cancer Society. \"Can Colorectal Polyps and Cancer Be Found Early?\" Last modified March 2017. Washington, DC: American Cancer Society. Available at https://www.cancer.org/cancer/colon-rectal-cancer/detection-diagnosis-staging/detection.html.</span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Library: </b></th><td><p style=\"padding-left: 25px; padding-right: 25px;\"><b>reference: </b><span>Library/library-exm130-FHIR3</span></p></td></tr><tr><th scope=\"row\"><b>Disclaimer: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND. Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</td></tr><tr><th scope=\"row\"><b>Scoring: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-scoring</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>proportion</span></span></span></span></td></tr><tr><th scope=\"row\"><b>Rationale: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Colorectal cancer represents 8 percent of all new cancer cases and is the second leading cause of cancer deaths in the United States. In 2017, there were an estimated 135,430 new cases of colorectal cancer and an estimated 50,260 deaths attributed to it. According to the National Cancer Institute, about 4.3 percent of men and women will be diagnosed with colorectal cancer at some point during their lifetimes. For most adults, older age is the most important risk factor for colorectal cancer, although being male and black are also associated with higher incidence and mortality. Colorectal cancer is most frequently diagnosed among people 65 to 74 years old (Howlader et al. 2017). Screening can be effective for finding precancerous lesions (polyps) that could later become malignant, and for detecting early cancers that can be more easily and effectively treated. Precancerous polyps usually take about 10 to 15 years to develop into colorectal cancer, and most can be found and removed before turning into cancer. The five-year relative survival rate for people whose colorectal cancer is found in the early stage before it has spread is about 90 percent (American Cancer Society 2017).</td></tr><tr><th scope=\"row\"><b>Clinical Recommendation: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">The U. S. Preventive Services Task Force (2016) recommends screening for colorectal cancer starting at age 50 years and continuing until age 75 years. This is a Grade A recommendation (U.S. Preventive Services Task Force 2016). Screening tests: -Colonoscopy (every 10 years) -Flexible sigmoidoscopy (every 5 years) -Fecal occult blood test (annually) -FIT-DNA (every 3 years) -Computed tomographic colonography (every 5 years)</td></tr><tr><th scope=\"row\"><b>Guidance: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Patient self-report for procedures as well as diagnostic studies should be recorded in \"Procedure, Performed\" template or \"Diagnostic Study, Performed\" template in QRDA-1. Do not count DRE, FOBT tests performed in an office setting or performed on a sample collected via DRE.</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Group:</b></th><td><p style=\"padding-left: 25px; padding-right: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>group-1</span><br/></span></p></td></tr><tr style=\"vertical-align: top;\"><td colspan=\"2\"><table style=\"margin-bottom: 5px; width: 100%\"><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\" style=\"padding-left: 25px;\"><b>Population:</b></th><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>initial-population-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Initial Population</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>numerator-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Numerator</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>denominator-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Denominator</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>denominator-exclusions-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Denominator Exclusion</span></p></td></tr></table></td></tr><tr><th rowspan=\"4\" scope=\"row\"><b>Supplemental Data:</b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-ethnicity</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Ethnicity</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-payer</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Payer</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-race</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Race</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-sex</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Sex</span></p></td></tr></table></div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table class=\"grid dict\"><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Id: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Measure/measure-exm130-FHIR3</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Type: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-type</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>process</span></span></span></span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"2\" scope=\"row\"><b>Identifier: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b>system: </b><span>http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms</span><br/><b>value: </b><span>130</span></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><b>system: </b><span>http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/nqf</span><br/><b>value: </b><span>0034</span></td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Title: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Colorectal Cancer Screening</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Status: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">active</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Description: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Percentage of adults 50-75 years of age who had appropriate screening for colorectal cancer</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Purpose: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Patients 50-75 years of age with a visit during the measurement period</td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Use Context: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"padding-left: 25px; margin-bottom: 5px;\"><b>code: </b><span>program</span></p><p style=\"padding-left: 25px; margin-bottom: 5px;\"><b>value: </b><br/><span><span style=\"padding-left: 25px;\"><b>text: </b><span>eligible-provider</span></span></span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Topic: </b></th><td style=\"padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://loinc.org</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>57024-2</span><br/></span><span style=\"padding-left: 25px;\"><b>display: </b><span>Health Quality Measure Document</span></span></span></span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Contributor: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><b><span>author</span>: </b><span>National Committee for Quality Assurance</span></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"3\" scope=\"row\"><b>Related: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>U.S. Preventive Services Task Force. "Screening for Colorectal Cancer: U.S. Preventive Services Task Force Recommendation Statement." JAMA, vol. 315, no. 23, 2016, pp. 2564-2575. doi: 10.1001/jama.2016.5989</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>Howlader, N., A.M. Noone, M. Krapcho, D. Miller, K. Bishop, C.L. Kosary, M. Yu, J. Ruhl, Z. Tatalovich, A. Mariotto, D.R. Lewis, H.S. Chen, E.J. Feuer, and K.A. Cronin. "SEER Cancer Statistics Review, 1975-2014." Washington, DC: National Cancer Institute, 2017. Available at https://seer.cancer.gov/csr/1975_2014/</span></p></td></tr><tr style=\"vertical-align: top;\"><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>type: </b><span>citation</span></p><p style=\"margin-bottom: 5px;\"><b>citation: </b><br/><span>American Cancer Society. "Can Colorectal Polyps and Cancer Be Found Early?" Last modified March 2017. Washington, DC: American Cancer Society. Available at https://www.cancer.org/cancer/colon-rectal-cancer/detection-diagnosis-staging/detection.html.</span></p></td></tr><tr style=\"vertical-align: top;\"><th rowspan=\"1\" scope=\"row\"><b>Library: </b></th><td><p style=\"padding-left: 25px; padding-right: 25px;\"><b>reference: </b><span>Library/library-exm130-FHIR3</span></p></td></tr><tr><th scope=\"row\"><b>Disclaimer: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</td></tr><tr><th scope=\"row\"><b>Scoring: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-scoring</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>proportion</span></span></span></span></td></tr><tr><th scope=\"row\"><b>Rationale: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Colorectal cancer represents 8 percent of all new cancer cases and is the second leading cause of cancer deaths in the United States. In 2017, there were an estimated 135,430 new cases of colorectal cancer and an estimated 50,260 deaths attributed to it. According to the National Cancer Institute, about 4.3 percent of men and women will be diagnosed with colorectal cancer at some point during their lifetimes. For most adults, older age is the most important risk factor for colorectal cancer, although being male and black are also associated with higher incidence and mortality. Colorectal cancer is most frequently diagnosed among people 65 to 74 years old (Howlader et al. 2017). Screening can be effective for finding precancerous lesions (polyps) that could later become malignant, and for detecting early cancers that can be more easily and effectively treated. Precancerous polyps usually take about 10 to 15 years to develop into colorectal cancer, and most can be found and removed before turning into cancer. The five-year relative survival rate for people whose colorectal cancer is found in the early stage before it has spread is about 90 percent (American Cancer Society 2017).</td></tr><tr><th scope=\"row\"><b>Clinical Recommendation: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">The U. S. Preventive Services Task Force (2016) recommends screening for colorectal cancer starting at age 50 years and continuing until age 75 years. This is a Grade A recommendation (U.S. Preventive Services Task Force 2016). Screening tests: -Colonoscopy (every 10 years) -Flexible sigmoidoscopy (every 5 years) -Fecal occult blood test (annually) -FIT-DNA (every 3 years) -Computed tomographic colonography (every 5 years)</td></tr><tr><th scope=\"row\"><b>Guidance: </b></th><td style=\"padding-left: 25px; padding-right: 25px;\">Patient self-report for procedures as well as diagnostic studies should be recorded in "Procedure, Performed" template or "Diagnostic Study, Performed" template in QRDA-1. Do not count DRE, FOBT tests performed in an office setting or performed on a sample collected via DRE.</td></tr><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Group:</b></th><td><p style=\"padding-left: 25px; padding-right: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>group-1</span><br/></span></p></td></tr><tr style=\"vertical-align: top;\"><td colspan=\"2\"><table style=\"margin-bottom: 5px; width: 100%\"><tr style=\"vertical-align: top;\"><th rowspan=\"4\" scope=\"row\" style=\"padding-left: 25px;\"><b>Population:</b></th><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>initial-population-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Initial Population</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>numerator-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Numerator</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>denominator-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Denominator</span></p></td></tr><tr style=\"vertical-align: top;\"><td><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>denominator-exclusions-identifier</span><br/></span></p><p style=\"margin-bottom: 5px; padding-left: 25px;\"><b>criteria: </b><span>Denominator Exclusion</span></p></td></tr></table></td></tr><tr><th rowspan=\"4\" scope=\"row\"><b>Supplemental Data:</b></th><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-ethnicity</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Ethnicity</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-payer</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Payer</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-race</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Race</span></p></td></tr><tr><td style=\"padding-left: 25px; padding-right: 25px;\"><p style=\"margin-bottom: 5px;\"><b>Identifier:</b><br/><span style=\"padding-left: 25px;\"><b>value: </b><span>sde-sex</span><br/></span></p><p style=\"margin-bottom: 5px;\"><b>usage: </b><span><span><br/><span><span style=\"padding-left: 25px;\"><b>system: </b><span>http://hl7.org/fhir/measure-data-usage</span><br/></span><span style=\"padding-left: 25px;\"><b>code: </b><span>supplemental-data</span></span></span></span></span></p><p style=\"margin-bottom: 5px;\"><b>criteria: </b><span>SDE Sex</span></p></td></tr></table></div>" }, - "extension": [ - { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", - "valueCode": "boolean" + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", + "valueCode": "boolean" + }, { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" } - ], + } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-exm130-FHIR3", - "identifier": [ - { - "use": "official", - "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms", - "value": "130" - }, - { - "use": "official", - "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/nqf", - "value": "0034" - } - ], + "identifier": [ { + "use": "official", + "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/cms", + "value": "130" + }, { + "use": "official", + "system": "http://hl7.org/fhir/cqi/ecqm/Measure/Identifier/nqf", + "value": "0034" + } ], "version": "7.2.000", "name": "EXM130", "title": "Colorectal Cancer Screening", @@ -46,229 +44,165 @@ "start": "2018-01-01", "end": "2018-12-31" }, - "useContext": [ - { - "code": { - "code": "program" - }, - "valueCodeableConcept": { - "text": "eligible-provider" - } - } - ], - "jurisdiction": [ - { - "coding": [ - { - "system": "urn:iso:std:iso:3166", - "code": "US" - } - ] - } - ], - "topic": [ - { - "coding": [ - { - "system": "http://loinc.org", - "code": "57024-2", - "display": "Health Quality Measure Document" - } - ] - } - ], - "contributor": [ - { - "type": "author", - "name": "National Committee for Quality Assurance" - } - ], - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://www.ncqa.org/" - } - ] - } - ], - "copyright": "This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.", - "relatedArtifact": [ - { - "type": "citation", - "citation": "U.S. Preventive Services Task Force. \"Screening for Colorectal Cancer: U.S. Preventive Services Task Force Recommendation Statement.\" JAMA, vol. 315, no. 23, 2016, pp. 2564-2575. doi: 10.1001/jama.2016.5989" + "useContext": [ { + "code": { + "code": "program" }, - { - "type": "citation", - "citation": "Howlader, N., A.M. Noone, M. Krapcho, D. Miller, K. Bishop, C.L. Kosary, M. Yu, J. Ruhl, Z. Tatalovich, A. Mariotto, D.R. Lewis, H.S. Chen, E.J. Feuer, and K.A. Cronin. \"SEER Cancer Statistics Review, 1975-2014.\" Washington, DC: National Cancer Institute, 2017. Available at https://seer.cancer.gov/csr/1975_2014/" - }, - { - "type": "citation", - "citation": "American Cancer Society. \"Can Colorectal Polyps and Cancer Be Found Early?\" Last modified March 2017. Washington, DC: American Cancer Society. Available at https://www.cancer.org/cancer/colon-rectal-cancer/detection-diagnosis-staging/detection.html." - } - ], - "library": [ - { - "reference": "Library/library-EXM130-FHIR3-7.2.000" + "valueCodeableConcept": { + "text": "eligible-provider" } - ], + } ], + "jurisdiction": [ { + "coding": [ { + "system": "urn:iso:std:iso:3166", + "code": "US" + } ] + } ], + "topic": [ { + "coding": [ { + "system": "http://loinc.org", + "code": "57024-2", + "display": "Health Quality Measure Document" + } ] + } ], + "contributor": [ { + "type": "author", + "name": "National Committee for Quality Assurance" + } ], + "contact": [ { + "telecom": [ { + "system": "url", + "value": "http://www.ncqa.org/" + } ] + } ], + "copyright": "This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.", + "relatedArtifact": [ { + "type": "citation", + "citation": "U.S. Preventive Services Task Force. \"Screening for Colorectal Cancer: U.S. Preventive Services Task Force Recommendation Statement.\" JAMA, vol. 315, no. 23, 2016, pp. 2564-2575. doi: 10.1001/jama.2016.5989" + }, { + "type": "citation", + "citation": "Howlader, N., A.M. Noone, M. Krapcho, D. Miller, K. Bishop, C.L. Kosary, M. Yu, J. Ruhl, Z. Tatalovich, A. Mariotto, D.R. Lewis, H.S. Chen, E.J. Feuer, and K.A. Cronin. \"SEER Cancer Statistics Review, 1975-2014.\" Washington, DC: National Cancer Institute, 2017. Available at https://seer.cancer.gov/csr/1975_2014/" + }, { + "type": "citation", + "citation": "American Cancer Society. \"Can Colorectal Polyps and Cancer Be Found Early?\" Last modified March 2017. Washington, DC: American Cancer Society. Available at https://www.cancer.org/cancer/colon-rectal-cancer/detection-diagnosis-staging/detection.html." + } ], + "library": [ { + "reference": "Library/library-EXM130-FHIR3-7.2.000" + } ], "disclaimer": "The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND. Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].", "scoring": { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-scoring", - "code": "proportion" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/measure-scoring", + "code": "proportion" + } ] }, - "type": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-type", - "code": "process" - } - ] - } - ], + "type": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-type", + "code": "process" + } ] + } ], "rationale": "Colorectal cancer represents 8 percent of all new cancer cases and is the second leading cause of cancer deaths in the United States. In 2017, there were an estimated 135,430 new cases of colorectal cancer and an estimated 50,260 deaths attributed to it. According to the National Cancer Institute, about 4.3 percent of men and women will be diagnosed with colorectal cancer at some point during their lifetimes. For most adults, older age is the most important risk factor for colorectal cancer, although being male and black are also associated with higher incidence and mortality. Colorectal cancer is most frequently diagnosed among people 65 to 74 years old (Howlader et al. 2017). Screening can be effective for finding precancerous lesions (polyps) that could later become malignant, and for detecting early cancers that can be more easily and effectively treated. Precancerous polyps usually take about 10 to 15 years to develop into colorectal cancer, and most can be found and removed before turning into cancer. The five-year relative survival rate for people whose colorectal cancer is found in the early stage before it has spread is about 90 percent (American Cancer Society 2017).", "clinicalRecommendationStatement": "The U. S. Preventive Services Task Force (2016) recommends screening for colorectal cancer starting at age 50 years and continuing until age 75 years. This is a Grade A recommendation (U.S. Preventive Services Task Force 2016). Screening tests: -Colonoscopy (every 10 years) -Flexible sigmoidoscopy (every 5 years) -Fecal occult blood test (annually) -FIT-DNA (every 3 years) -Computed tomographic colonography (every 5 years)", "improvementNotation": "increase", "guidance": "Patient self-report for procedures as well as diagnostic studies should be recorded in \"Procedure, Performed\" template or \"Diagnostic Study, Performed\" template in QRDA-1. Do not count DRE, FOBT tests performed in an office setting or performed on a sample collected via DRE.", - "group": [ - { + "group": [ { + "identifier": { + "value": "group-1" + }, + "population": [ { "identifier": { - "value": "group-1" + "value": "initial-population-identifier" }, - "population": [ - { - "identifier": { - "value": "initial-population-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "initial-population", - "display": "Initial Population" - } - ] - }, - "criteria": "Initial Population" - }, - { - "identifier": { - "value": "numerator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "numerator", - "display": "Numerator" - } - ] - }, - "criteria": "Numerator" - }, - { - "identifier": { - "value": "denominator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator", - "display": "Denominator" - } - ] - }, - "criteria": "Denominator" - }, - { - "identifier": { - "value": "denominator-exclusions-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator-exclusion", - "display": "Denominator Exclusion" - } - ] - }, - "criteria": "Denominator Exclusion" - } - ] - } - ], - "supplementalData": [ - { - "identifier": { - "value": "sde-ethnicity" + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population", + "display": "Initial Population" + } ] }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Ethnicity" - }, - { + "criteria": "Initial Population" + }, { "identifier": { - "value": "sde-payer" + "value": "numerator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Payer" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "numerator", + "display": "Numerator" + } ] + }, + "criteria": "Numerator" + }, { "identifier": { - "value": "sde-race" + "value": "denominator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Race" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator", + "display": "Denominator" + } ] + }, + "criteria": "Denominator" + }, { "identifier": { - "value": "sde-sex" + "value": "denominator-exclusions-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Sex" - } - ] -} + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator-exclusion", + "display": "Denominator Exclusion" + } ] + }, + "criteria": "Denominator Exclusion" + } ] + } ], + "supplementalData": [ { + "identifier": { + "value": "sde-ethnicity" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Ethnicity" + }, { + "identifier": { + "value": "sde-payer" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Payer" + }, { + "identifier": { + "value": "sde-race" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Race" + }, { + "identifier": { + "value": "sde-sex" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Sex" + } ] +} \ No newline at end of file diff --git a/fhir3/input/resources/measure/measure-EXM161_FHIR3-8.0.0.json b/fhir3/input/resources/measure/measure-EXM161_FHIR3-8.0.0.json index 184b819f..71f6ef65 100644 --- a/fhir3/input/resources/measure/measure-EXM161_FHIR3-8.0.0.json +++ b/fhir3/input/resources/measure/measure-EXM161_FHIR3-8.0.0.json @@ -4,20 +4,21 @@ "meta": { "versionId": "2", "lastUpdated": "2019-12-13T06:24:04.405+00:00", - "profile": [ - "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" - ] + "profile": [ "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" ] }, "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table style=\"width: 60%; border-bottom: none;\" class=\"header_table\"> <!-- <tr th:if=\"${resource.hasId()}\" style=\"vertical-align: top;\"><th style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Id: </span></th><td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.id}\"></td></tr> --><tr style=\"vertical-align: top;\"><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Title</span></td><td colspan=\"1\" style=\"width:60%\"><h1 style=\"font-size:10px\">Adult Major Depressive Disorder (MDD): Suicide Risk Assessment</h1></td><td scope=\"row\" style=\"background-color:#656565; width:10%\"><span class=\"td_label\">Measure ID</span></td><td colspan=\"1\" style=\"width:10%\"><h1 style=\"font-size:10px\">EXM161</h1></td></tr> <!-- <th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'CMS'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Identifier (Measure Authoring Tool)</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Version number</span></td><td style=\"width:30%\" th:narrative=\"${resource.version}\"></td></tr></th:block><th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'NQF'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">NQF Number</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">GUID</span></td><td style=\"width:30%\" th:narrative=\"${resource.url}\"></td></tr></th:block> --><tr style=\"vertical-align: top;\"><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Description</span></td><td colspan=\"3\" style=\"width:80%\"><div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><pre><p>Percentage of patients aged 18 years and older with a diagnosis of major depressive disorder (MDD) with a suicide risk assessment completed during the visit in which a new diagnosis or recurrent episode was identified</p>\n</pre>\n </div>\n </td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measurement Period</span></td>\n <td colspan=\"3\" style=\"width:80%\">January 1 - December 31</td>\n </tr>\n <!-- <tr>\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Steward</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td>\n </tr>\n <tr>\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Developer</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td>\n </tr> -->\n <!-- <tr th:if=\"${resource.hasDisclaimer()}\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Disclaimer</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.disclaimer}\"></pre>\n </div>\n </td>\n </tr> -->\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Copyright and Disclaimer Notice</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND.\n \nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</pre>\n <br/>\n <div>This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. %26lt;br%26gt; Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. %26lt;br%26gt; CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.</div>\n </div>\n </td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Clinical Recommendation Statement</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><p>A careful and ongoing evaluation of suicide risk is necessary for all patients with major depressive disorder [I] (American Psychiatric Association, 2010a, reaffirmed 2015).</p>\n<p>Such an assessment includes specific inquiry about suicidal thoughts, intent, plans, means, and behaviors; identification of specific psychiatric symptoms (e.g., psychosis, severe anxiety, substance use) or general medical conditions that may increase the likelihood of acting on suicidal ideas; assessment of past and, particularly, recent suicidal behavior; delineation of current stressors and potential protective factors (e.g., positive reasons for living, strong social support); and identification of any family history of suicide or mental illness [I] (American Psychiatric Association, 2010a, reaffirmed 2015).</p>\n<p>As part of the assessment process, impulsivity and potential for risk to others should also be evaluated, including any history of violence or violent or homicidal ideas, plans, or intentions [I] (American Psychiatric Association, 2010a, reaffirmed 2015).</p>\n<p>The patient's risk of harm to him- or herself and to others should also be monitored as treatment proceeds [I] (American Psychiatric Association, 2010a, reaffirmed 2015).</p>\n<p>Guidelines for Selecting a Treatment Setting for Patients at Risk for Suicide or Suicidal Behaviors (from American Psychiatric Association’s Practice Guideline for Assessment and Treatment of Patients With Suicidal Behaviors, 2010b):<br/>\nAdmission generally indicated<br/>\nAfter a suicide attempt or aborted suicide attempt if:</p>\n<ul>\n<li>Patient is psychotic</li>\n<li>Attempt was violent, near-lethal, or premeditated</li>\n<li>Precautions were taken to avoid rescue or discovery</li>\n<li>Persistent plan and/or intent is present</li>\n<li>Distress is increased or patient regrets surviving</li>\n<li>Patient is male, older than age 45 years, especially with new onset of psychiatric illness or suicidal thinking</li>\n<li>Patient has limited family and/or social support, including lack of stable living situation</li>\n<li>Current impulsive behavior, severe agitation, poor judgment, or refusal of help is evident</li>\n<li>Patient has change in mental status with a metabolic, toxic, infectious, or other etiology requiring further workup in a structured setting</li>\n</ul>\n<p>In the presence of suicidal ideation with:</p>\n<ul>\n<li>Specific plan with high lethality</li>\n<li>High suicidal intent</li>\n</ul>\n<p>Admission may be necessary<br/>\nAfter a suicide attempt or aborted suicide attempt, except in circumstances for which admission is generally indicated</p>\n<p>In the presence of suicidal ideation with:</p>\n<ul>\n<li>Psychosis</li>\n<li>Major psychiatric disorder</li>\n<li>Past attempts, particularly if medically serious</li>\n<li>Possibly contributing medical condition (e.g., acute neurological disorder, cancer, infection)</li>\n<li>Lack of response to or inability to cooperate with partial hospital or outpatient treatment</li>\n<li>Need for supervised setting for medication trial or ECT</li>\n<li>Need for skilled observation, clinical tests, or diagnostic assessments that require a structured setting</li>\n<li>Limited family and/or social support, including lack of stable living situation</li>\n<li>Lack of an ongoing clinician-patient relationship or lack of access to timely outpatient follow-up</li>\n<li>[Evidence of putting one's affairs in order (e.g., giving away possessions, writing a will)]</li>\n</ul>\n<p>In the absence of suicide attempts or reported suicidal ideation/plan/intent but evidence from the psychiatric evaluation and/or history from others suggests a high level of suicide risk and a recent acute increase in risk</p>\n<p>Release from emergency department with follow-up recommendations may be possible<br/>\nAfter a suicide attempt or in the presence of suicidal ideation/plan when:</p>\n<ul>\n<li>Suicidality is a reaction to precipitating events (e.g., exam failure, relationship difficulties), particularly if the patient's view of situation has changed since coming to emergency department</li>\n<li>Plan/method and intent have low lethality</li>\n<li>Patient has stable and supportive living situation</li>\n<li>Patient is able to cooperate with recommendations for follow-up, with treater contacted, if possible, if patient is currently in treatment</li>\n</ul>\n<p>Outpatient treatment may be more beneficial than hospitalization<br/>\nPatient has chronic suicidal ideation and/or self-injury without prior medically serious attempts, if a safe and supportive living situation is available and outpatient psychiatric care is ongoing.</p>\n</div>\n </td>\n </tr>\n \n <tr style=\"vertical-align: top;\">\n <td rowspan=\"14\" scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">References</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. </pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi: 10.1056/NEJMsa1406751. [published correction appears on page 1677] \nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>SPRINT Research Group,; Wright, J. T., Jr., Williamson, J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Yoon, S. S., Fryar, C. D., %26amp; Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics.</pre>\n </div>\n </td>\n </tr>\n \n <tr>\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Characteristics</span></td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Scoring</span></td>\n <td colspan=\"3\" style=\"width:80%\">Proportion</td>\n </tr>\n <!-- <tr th:if=\"${resource.hasCompositeScoring()}\">\n <td style=\"width:20%\" scope=\"row\"><span class=\"td_label\">Composite Scoring</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.compositeScoring.getText().substring(0, 1).toUpperCase() + resource.compositeScoring.getText().substring(1)}\"></td>\n </tr> -->\n \n <tr style=\"vertical-align: top;\">\n <td rowspan=\"1\" scope=\"row\" style=\"width:20%\"><span>Type</span></td>\n <td colspan=\"3\" style=\"width:80%\">Process</td>\n </tr>\n \n <!-- <tr th:if=\"${resource.hasStatus()}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Status</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.status.toString().substring(0, 1).toUpperCase() + resource.status.toString().substring(1).toLowerCase()}\"></td>\n </tr>\n <tr th:if=\"${resource.hasPurpose()}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Purpose</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.purpose}\"></td>\n </tr>\n <tr th:if=\"${resource.hasUsage()}\" style=\"vertical-align: top;\" >\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Usage</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.usage}\"></td>\n </tr>\n <th:block th:each=\"context, iter : ${resource.useContext}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Use Context</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${context}\"></td>\n </tr>\n </th:block>\n <th:block th:each=\"topics, iter : ${resource.topic}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Topic</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${topics}\"></td>\n </tr>\n </th:block>\n <th:block th:each=\"cont, iter : ${resource.contributor}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Contributor</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <b><span th:narrative=\"${cont.type.toCode()}\"></span>: </b><span th:narrative=\"${cont.name}\"></span>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"lib, iter : ${resource.library}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Library</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <p th:if=\"${lib.hasIdentifier()}\"><b>identifier: </b><span th:narrative=\"${lib.identifier}\"></span></p>\n <p th:if=\"${lib.hasReference()}\"><b>reference: </b><span th:narrative=\"${lib.reference}\"></span></p>\n <p th:if=\"${lib.hasDisplay()}\"><b>display: </b><span th:narrative=\"${lib.display}\"></span></p>\n </td>\n </tr>\n </th:block> -->\n \n <!-- <tr th:if=\"${resource.hasRateAggregation()}\" >\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rate Aggregation</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.rateAggregation}\"></pre>\n </div>\n </td>\n </tr>\n <tr th:if=\"${resource.hasRationale()}\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rationale</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.rationale}\"></pre>\n </div>\n </td>\n </tr> -->\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Improvement Notation</span></td>\n <td colspan=\"3\" style=\"width:80%\">A higher rate indicates better performance.</td>\n \n </tr>\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Guidance</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><p>This measure is an episode-of-care measure and should be reported for each instance of a new or recurrent episode of major depressive disorder (MDD); every new or recurrent episode will count separately in the Initial Population.</p>\n<p>As the guidelines state, it is important to assess for additional factors which may increase or decrease suicide risk, such as presence of additional symptoms (e.g., psychosis, severe anxiety, hopelessness, severe chronic pain); presence of substance abuse, history and seriousness of previous attempts, particularly, recent suicidal behavior, current stressors and potential protective factors (e.g., positive reasons for living, strong social support), family history of suicide or mental illness or recent exposure to suicide, impulsivity and potential for risk to others, including history of violence or violent or homicidal ideas, plans, or intentions, and putting one's affairs in order (e.g., giving away possessions, writing a will). In addition, although the measure focuses on the initial visit, it is critical that suicide risk be monitored especially for the 90 days following the initial visit and throughout MDD treatment.</p>\n<p>It is expected that a suicide risk assessment will be completed at the visit during which a new diagnosis is made or at the visit during which a recurrent episode is first identified (i.e., at the initial evaluation). For the purposes of this measure, an episode of major depressive disorder (MDD) would be considered to be recurrent if a patient has not had an MDD-related encounter in the past 105 days. If there is a gap of 105 or more days between visits for major depressive disorder (MDD), that would imply a recurrent episode. The 105-day look-back period is an operational provision and not a clinical recommendation, or definition of relapse, remission, or recurrence.</p>\n<p>Suicide risk assessments completed via telehealth services can also meet numerator performance.</p>\n<p>Use of a standardized tool(s) or instrument(s) to assess suicide risk will meet numerator performance. Standardized tools can be mapped to the concept \"Intervention, Performed\": \"Suicide risk assessment (procedure)\" included in the numerator logic below.</p>\n<p>The logic statement for the age requirement, as written, captures patients who turn 18 years old during the measurement period so that these patients are included in the measure, so long as the minimum criteria noted above is evaluated. To ensure all patients with major depressive disorder (MDD) are assessed for suicide risk, there are two clinical quality measures addressing suicide risk assessment; CMS 177 covers children and adolescents aged 6 through 17, and CMS 161 covers the adult population aged 18 years and older, as no individual suicide risk assessment tool or instrument would satisfy the requirements alone.</p>\n</div>\n </td>\n </tr>\n <tr>\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Definitions</span></td>\n </tr>\n \n \n <!-- <th:block th:each=\"groups, iter : ${resource.uniquePopulationGroup}\" >\n <tr style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\" th:text=\"${groups.identifier.value}\"></span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${pops.description}\"></pre>\n </div>\n </td>\n </tr>\n </th:block> -->\n </table>\n <table style=\"width: 60%; border-top: none; border-bottom: none\" class=\"header_table\">\n \n </table>\n <table style=\"width: 60%; border-top: none;\" class=\"header_table\">\n <!-- <th:block th:each=\"supples, iter : ${resource.supplementalData}\">\n <tr>\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Supplemental Data:</b></th>\n <td style=\"width:80%\" colspan=\"3\" >\n <p style=\"margin-bottom: 5px;\" th:narrative=\"${supples.identifier}\"></p>\n <p style=\"margin-bottom: 5px;\" th:each=\"uses : ${supples.usage}\">\n <b>usage: </b>\n <span th:narrative=\"${uses}\"></span>\n </p>\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasCriteria()}\">\n <b>criteria: </b>\n <span th:narrative=\"${supples.criteria}\"></span>\n </p>\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasPath()}\">\n <b>path: </b>\n <span th:narrative=\"${supples.path}\"></span>\n </p>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"param, iter : ${resource.parameter}\">\n <tr style=\"vertical-align: top;\">\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Parameter: </b></th>\n <td style=\"width:80%\" colspan=\"3\" >\n <span th:if=\"${param.hasName()}\">\n <b>name: </b>\n <span th:narrative=\"${param.name}\"></span>\n <br/>\n </span>\n <b>use: </b>\n <span th:narrative=\"${param.use.toCode()}\"></span>\n <br/>\n <span th:if=\"${param.hasMin()}\">\n <b>minimum cardinality: </b>\n <span th:narrative=\"${param.min}\"></span>\n <br/>\n </span>\n <span th:if=\"${param.hasMax()}\">\n <b>maximum cardinality: </b>\n <span th:narrative=\"${param.max}\"></span>\n <br/>\n </span>\n <b>type: </b>\n <span th:narrative=\"${param.type}\"></span>\n <br/>\n <span th:if=\"${param.hasDocumentation()}\">\n <b>documentation: </b>\n <span th:narrative=\"${param.documentation}\"></span>\n <br/>\n </span>\n <span th:if=\"${param.hasProfile()}\">\n <b>profile: </b>\n <span th:narrative=\"${param.profile}\"></span>\n <br/>\n </span>\n <p style=\"margin-bottom: 5px;\"></p>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"dataReq, iter : ${resource.dataRequirement}\">\n <tr style=\"vertical-align: top;\">\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\" ><b>Data Requirements: </b></th>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${dataReq}\"></td>\n </tr>\n </th:block> -->\n </table>\n <h2><a name=\"toc\">Table of Contents</a></h2>\n <ul style=\"padding-left: 50px;\">\n <li><a href=\"#d1e405\">Population Criteria</a></li>\n <li><a href=\"#d1e649\">Definitions</a></li>\n <li><a href=\"#d1e650\">Functions</a></li>\n <li><a href=\"#d1e555\">Terminology</a></li>\n <li><a href=\"#d1e647\">Data Criteria (QDM Data Elements)</a></li>\n <li><a href=\"#d1e767\">Supplemental Data Elements</a></li>\n <li><a href=\"#d1e879\">Risk Adjustment Variables</a></li>\n </ul>\n <div style=\"float:left; background:teal; height:3px; width:80%\"></div>\n \n <pre><br/></pre>\n <h3><a name=\"d1e405\" href=\"#toc\">Population Criteria</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left:10px;\">\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul class=\"list-unstyled\">\n <li class=\"list-unstyled\"><input id=\"Initial Population\" type=\"checkbox\"/><label for=\"Initial Population\" class=\"list-header\"><strong>Initial Population</strong></label>\n <ul class=\"code\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul>\n <li style=\"padding-left: 0px;\">\n <div>\n <pre class=\"cql-definition-body\">\"New or Recurrent Major Depressive Disorder Encounter\" NewOrRecurrentMDDEncounter\r\n\twhere Global.\"CalendarAgeInYearsAt\"(FHIRHelpers.ToDate(Patient.birthDate), start of \"Measurement Period\")%26gt;= 17</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul></li>\n </ul>\n </div>\n <div class=\"treeview hover p-l-10\">\n <ul class=\"list-unstyled\">\n <li class=\"list-unstyled\"><input id=\"Numerator\" type=\"checkbox\"/><label for=\"Numerator\" class=\"list-header\"><strong>Numerator</strong></label>\n <ul class=\"code\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul>\n <li style=\"padding-left: 0px;\">\n <div>\n <pre class=\"cql-definition-body\"> \"New or Recurrent Major Depressive Disorder Encounter\" NewOrRecurrentMDDEncounter\r\n \twith [\"Procedure\": \"Suicide risk assessment (procedure)\"] SuicideRiskAssessment\r\n\t \tsuch that SuicideRiskAssessment.performed during NewOrRecurrentMDDEncounter.period\r\n and SuicideRiskAssessment.status = 'completed'</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul></li>\n </ul>\n </div>\n <div class=\"treeview hover p-l-10\">\n <ul class=\"list-unstyled\">\n <li class=\"list-unstyled\"><input id=\"Denominator\" type=\"checkbox\"/><label for=\"Denominator\" class=\"list-header\"><strong>Denominator</strong></label>\n <ul class=\"code\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul>\n <li style=\"padding-left: 0px;\">\n <div>\n <pre class=\"cql-definition-body\">\"Initial Population\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul></li>\n </ul>\n </div></li>\n </ul>\n </div>\n\n <h3><a name=\"d1e649\" href=\"#toc\">Definitions</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Denominator\" type=\"checkbox\"/>\n <label for=\"Denominator\" class=\"list-header\"><strong>Denominator</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\"Initial Population\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Initial Population\" type=\"checkbox\"/>\n <label for=\"Initial Population\" class=\"list-header\"><strong>Initial Population</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\"New or Recurrent Major Depressive Disorder Encounter\" NewOrRecurrentMDDEncounter\r\n\twhere Global.\"CalendarAgeInYearsAt\"(FHIRHelpers.ToDate(Patient.birthDate), start of \"Measurement Period\")%26gt;= 17</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Major Depressive Disorder Encounter\" type=\"checkbox\"/>\n <label for=\"Major Depressive Disorder Encounter\" class=\"list-header\"><strong>Major Depressive Disorder Encounter</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">( [\"Encounter\": \"Psych Visit - Diagnostic Evaluation\"]\r\n\tunion [\"Encounter\": \"Emergency Department Visit\"]\r\n\tunion [\"Encounter\": \"Office Visit\"]\r\n\tunion [\"Encounter\": \"Outpatient Consultation\"]\r\n\tunion [\"Encounter\": \"Psych Visit - Psychotherapy\"]\r\n\tunion [\"Encounter\": \"Psychoanalysis\"]\r\n\tunion [\"Encounter\": \"Telehealth Services\"] ) ValidEncounter\r\n\twhere ValidEncounter.status = 'finished'\r\n and Global.EncounterDiagnosis(ValidEncounter).code in \"Major Depressive Disorder-Active\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"New or Recurrent Major Depressive Disorder Encounter\" type=\"checkbox\"/>\n <label for=\"New or Recurrent Major Depressive Disorder Encounter\" class=\"list-header\"><strong>New or Recurrent Major Depressive Disorder Encounter</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\"Major Depressive Disorder Encounter\" NewOrRecurrentMDDEncounter\r\n\twithout \"Major Depressive Disorder Encounter\" PriorMDDEpisodeEncounter\r\n\t\tsuch that PriorMDDEpisodeEncounter !~ NewOrRecurrentMDDEncounter\r\n\t\t\tand PriorMDDEpisodeEncounter.period ends 104 days or less before day of start of NewOrRecurrentMDDEncounter.period\r\n\twhere NewOrRecurrentMDDEncounter.period during \"Measurement Period\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Numerator\" type=\"checkbox\"/>\n <label for=\"Numerator\" class=\"list-header\"><strong>Numerator</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\"> \"New or Recurrent Major Depressive Disorder Encounter\" NewOrRecurrentMDDEncounter\r\n \twith [\"Procedure\": \"Suicide risk assessment (procedure)\"] SuicideRiskAssessment\r\n\t \tsuch that SuicideRiskAssessment.performed during NewOrRecurrentMDDEncounter.period\r\n and SuicideRiskAssessment.status = 'completed'</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <h3><a name=\"d1e650\" href=\"#toc\">Functions</a></h3>\n \n <h3><a name=\"d1e555\" href=\"#toc\">Terminology</a></h3>\n <div>\n <ul style=\"padding-left: 50px;\">\n <li style=\"width:80%\">codesystem \"SNOMEDCT\" : 'https://snomed.info/sct'</li>\n <li style=\"width:80%\">code \"Suicide risk assessment (procedure)\" : '225337009' from \"SNOMEDCT\" display 'Suicide risk assessment (procedure)'</li>\n <li style=\"width:80%\">valueset \"Emergency Department Visit\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010'</li>\n <li style=\"width:80%\">valueset \"Ethnicity\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'</li>\n <li style=\"width:80%\">valueset \"Major Depressive Disorder-Active\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1491'</li>\n <li style=\"width:80%\">valueset \"Office Visit\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'</li>\n <li style=\"width:80%\">valueset \"ONC Administrative Sex\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'</li>\n <li style=\"width:80%\">valueset \"Outpatient Consultation\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008'</li>\n <li style=\"width:80%\">valueset \"Payer\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'</li>\n <li style=\"width:80%\">valueset \"Psych Visit - Diagnostic Evaluation\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1492'</li>\n <li style=\"width:80%\">valueset \"Psych Visit - Psychotherapy\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1496'</li>\n <li style=\"width:80%\">valueset \"Psychoanalysis\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1141'</li>\n <li style=\"width:80%\">valueset \"Race\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'</li>\n <li style=\"width:80%\">valueset \"Telehealth Services\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1031'</li>\n </ul>\n </div>\n <h3><a name=\"d1e647\" href=\"#toc\">Data Criteria (QDM Data Elements)</a></h3>\n <div>\n <ul style=\"padding-left: 50px;\">\n <li style=\"width:80%\">\"Encounter: Emergency Department Visit\" using \"Emergency Department Visit (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010)</li>\n <li style=\"width:80%\">\"Encounter: Office Visit\" using \"Office Visit (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001)</li>\n <li style=\"width:80%\">\"Encounter: Outpatient Consultation\" using \"Outpatient Consultation (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008)</li>\n <li style=\"width:80%\">\"Encounter: Psych Visit - Diagnostic Evaluation\" using \"Psych Visit - Diagnostic Evaluation (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1492)</li>\n <li style=\"width:80%\">\"Encounter: Psych Visit - Psychotherapy\" using \"Psych Visit - Psychotherapy (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1496)</li>\n <li style=\"width:80%\">\"Encounter: Psychoanalysis\" using \"Psychoanalysis (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1141)</li>\n <li style=\"width:80%\">\"Encounter: Telehealth Services\" using \"Telehealth Services (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1031)</li>\n </ul>\n </div>\n <h3><a name=\"d1e767\" href=\"#toc\">Supplemental Data Elements</a></h3>\n \n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li>None</li>\n </ul>\n </div>\n <h3><a name=\"d1e879\" href=\"#toc\">Risk Adjustment Variables</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li>None</li>\n </ul>\n </div>\n <div style=\"float:left; background:teal; height:3px; width:80%\"></div>\n <table>\n \n <!-- <th:block th:each=\"con, iter : ${resource.content}\">\n <tr th:if=\"${con.contentType == 'text/cql'}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Content</span></td>\n <td style=\"width:80%\" ><b>type: </b><span th:text=\"${con.contentType}\"></span></td>\n </tr>\n <tr th:if=\"${con.contentType == 'text/cql'}\">\n <td style=\"width:100%\" colspan=\"2\" >\n <th:block th:if=\"${con.getData() != null }\" >\n <pre><code th:class=\"${con.contentType == 'text/cql' ? 'language-cql' : 'language-xml'}\" th:text=\"${new java.lang.String(con.getData())}\"></code></pre>\n </th:block>\n <th:block th:if=\"${con.getData() == null }\" >\n <span><i>%26lt;content is empty%26gt;</i></span>\n </th:block>\n </td>\n </tr>\n </th:block > -->\n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table style=\"width: 60%; border-bottom: none;\" class=\"header_table\"> <!-- <tr th:if=\"${resource.hasId()}\" style=\"vertical-align: top;\"><th style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Id: </span></th><td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.id}\"></td></tr> --><tr style=\"vertical-align: top;\"><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Title</span></td><td colspan=\"1\" style=\"width:60%\"><h1 style=\"font-size:10px\">Adult Major Depressive Disorder (MDD): Suicide Risk Assessment</h1></td><td scope=\"row\" style=\"background-color:#656565; width:10%\"><span class=\"td_label\">Measure ID</span></td><td colspan=\"1\" style=\"width:10%\"><h1 style=\"font-size:10px\">EXM161</h1></td></tr> <!-- <th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'CMS'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Identifier (Measure Authoring Tool)</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Version number</span></td><td style=\"width:30%\" th:narrative=\"${resource.version}\"></td></tr></th:block><th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'NQF'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">NQF Number</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">GUID</span></td><td style=\"width:30%\" th:narrative=\"${resource.url}\"></td></tr></th:block> --><tr style=\"vertical-align: top;\"><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Description</span></td><td colspan=\"3\" style=\"width:80%\"><div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><pre><p>Percentage of patients aged 18 years and older with a diagnosis of major depressive disorder (MDD) with a suicide risk assessment completed during the visit in which a new diagnosis or recurrent episode was identified</p>\n</pre>\n </div>\n </td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measurement Period</span></td>\n <td colspan=\"3\" style=\"width:80%\">January 1 - December 31</td>\n </tr>\n <!-- <tr>\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Steward</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td>\n </tr>\n <tr>\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Developer</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td>\n </tr> -->\n <!-- <tr th:if=\"${resource.hasDisclaimer()}\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Disclaimer</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.disclaimer}\"></pre>\n </div>\n </td>\n </tr> -->\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Copyright and Disclaimer Notice</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.\n \nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</pre>\n <br/>\n <div>This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. %26lt;br%26gt; Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. %26lt;br%26gt; CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.</div>\n </div>\n </td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Clinical Recommendation Statement</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><p>A careful and ongoing evaluation of suicide risk is necessary for all patients with major depressive disorder [I] (American Psychiatric Association, 2010a, reaffirmed 2015).</p>\n<p>Such an assessment includes specific inquiry about suicidal thoughts, intent, plans, means, and behaviors; identification of specific psychiatric symptoms (e.g., psychosis, severe anxiety, substance use) or general medical conditions that may increase the likelihood of acting on suicidal ideas; assessment of past and, particularly, recent suicidal behavior; delineation of current stressors and potential protective factors (e.g., positive reasons for living, strong social support); and identification of any family history of suicide or mental illness [I] (American Psychiatric Association, 2010a, reaffirmed 2015).</p>\n<p>As part of the assessment process, impulsivity and potential for risk to others should also be evaluated, including any history of violence or violent or homicidal ideas, plans, or intentions [I] (American Psychiatric Association, 2010a, reaffirmed 2015).</p>\n<p>The patient's risk of harm to him- or herself and to others should also be monitored as treatment proceeds [I] (American Psychiatric Association, 2010a, reaffirmed 2015).</p>\n<p>Guidelines for Selecting a Treatment Setting for Patients at Risk for Suicide or Suicidal Behaviors (from American Psychiatric Association’s Practice Guideline for Assessment and Treatment of Patients With Suicidal Behaviors, 2010b):<br/>\nAdmission generally indicated<br/>\nAfter a suicide attempt or aborted suicide attempt if:</p>\n<ul>\n<li>Patient is psychotic</li>\n<li>Attempt was violent, near-lethal, or premeditated</li>\n<li>Precautions were taken to avoid rescue or discovery</li>\n<li>Persistent plan and/or intent is present</li>\n<li>Distress is increased or patient regrets surviving</li>\n<li>Patient is male, older than age 45 years, especially with new onset of psychiatric illness or suicidal thinking</li>\n<li>Patient has limited family and/or social support, including lack of stable living situation</li>\n<li>Current impulsive behavior, severe agitation, poor judgment, or refusal of help is evident</li>\n<li>Patient has change in mental status with a metabolic, toxic, infectious, or other etiology requiring further workup in a structured setting</li>\n</ul>\n<p>In the presence of suicidal ideation with:</p>\n<ul>\n<li>Specific plan with high lethality</li>\n<li>High suicidal intent</li>\n</ul>\n<p>Admission may be necessary<br/>\nAfter a suicide attempt or aborted suicide attempt, except in circumstances for which admission is generally indicated</p>\n<p>In the presence of suicidal ideation with:</p>\n<ul>\n<li>Psychosis</li>\n<li>Major psychiatric disorder</li>\n<li>Past attempts, particularly if medically serious</li>\n<li>Possibly contributing medical condition (e.g., acute neurological disorder, cancer, infection)</li>\n<li>Lack of response to or inability to cooperate with partial hospital or outpatient treatment</li>\n<li>Need for supervised setting for medication trial or ECT</li>\n<li>Need for skilled observation, clinical tests, or diagnostic assessments that require a structured setting</li>\n<li>Limited family and/or social support, including lack of stable living situation</li>\n<li>Lack of an ongoing clinician-patient relationship or lack of access to timely outpatient follow-up</li>\n<li>[Evidence of putting one's affairs in order (e.g., giving away possessions, writing a will)]</li>\n</ul>\n<p>In the absence of suicide attempts or reported suicidal ideation/plan/intent but evidence from the psychiatric evaluation and/or history from others suggests a high level of suicide risk and a recent acute increase in risk</p>\n<p>Release from emergency department with follow-up recommendations may be possible<br/>\nAfter a suicide attempt or in the presence of suicidal ideation/plan when:</p>\n<ul>\n<li>Suicidality is a reaction to precipitating events (e.g., exam failure, relationship difficulties), particularly if the patient's view of situation has changed since coming to emergency department</li>\n<li>Plan/method and intent have low lethality</li>\n<li>Patient has stable and supportive living situation</li>\n<li>Patient is able to cooperate with recommendations for follow-up, with treater contacted, if possible, if patient is currently in treatment</li>\n</ul>\n<p>Outpatient treatment may be more beneficial than hospitalization<br/>\nPatient has chronic suicidal ideation and/or self-injury without prior medically serious attempts, if a safe and supportive living situation is available and outpatient psychiatric care is ongoing.</p>\n</div>\n </td>\n </tr>\n \n <tr style=\"vertical-align: top;\">\n <td rowspan=\"14\" scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">References</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. </pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi: 10.1056/NEJMsa1406751. [published correction appears on page 1677] \nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>SPRINT Research Group,; Wright, J. T., Jr., Williamson, J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Yoon, S. S., Fryar, C. D., %26amp; Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics.</pre>\n </div>\n </td>\n </tr>\n \n <tr>\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Characteristics</span></td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Scoring</span></td>\n <td colspan=\"3\" style=\"width:80%\">Proportion</td>\n </tr>\n <!-- <tr th:if=\"${resource.hasCompositeScoring()}\">\n <td style=\"width:20%\" scope=\"row\"><span class=\"td_label\">Composite Scoring</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.compositeScoring.getText().substring(0, 1).toUpperCase() + resource.compositeScoring.getText().substring(1)}\"></td>\n </tr> -->\n \n <tr style=\"vertical-align: top;\">\n <td rowspan=\"1\" scope=\"row\" style=\"width:20%\"><span>Type</span></td>\n <td colspan=\"3\" style=\"width:80%\">Process</td>\n </tr>\n \n <!-- <tr th:if=\"${resource.hasStatus()}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Status</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.status.toString().substring(0, 1).toUpperCase() + resource.status.toString().substring(1).toLowerCase()}\"></td>\n </tr>\n <tr th:if=\"${resource.hasPurpose()}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Purpose</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.purpose}\"></td>\n </tr>\n <tr th:if=\"${resource.hasUsage()}\" style=\"vertical-align: top;\" >\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Usage</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.usage}\"></td>\n </tr>\n <th:block th:each=\"context, iter : ${resource.useContext}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Use Context</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${context}\"></td>\n </tr>\n </th:block>\n <th:block th:each=\"topics, iter : ${resource.topic}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Topic</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${topics}\"></td>\n </tr>\n </th:block>\n <th:block th:each=\"cont, iter : ${resource.contributor}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Contributor</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <b><span th:narrative=\"${cont.type.toCode()}\"></span>: </b><span th:narrative=\"${cont.name}\"></span>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"lib, iter : ${resource.library}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Library</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <p th:if=\"${lib.hasIdentifier()}\"><b>identifier: </b><span th:narrative=\"${lib.identifier}\"></span></p>\n <p th:if=\"${lib.hasReference()}\"><b>reference: </b><span th:narrative=\"${lib.reference}\"></span></p>\n <p th:if=\"${lib.hasDisplay()}\"><b>display: </b><span th:narrative=\"${lib.display}\"></span></p>\n </td>\n </tr>\n </th:block> -->\n \n <!-- <tr th:if=\"${resource.hasRateAggregation()}\" >\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rate Aggregation</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.rateAggregation}\"></pre>\n </div>\n </td>\n </tr>\n <tr th:if=\"${resource.hasRationale()}\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rationale</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.rationale}\"></pre>\n </div>\n </td>\n </tr> -->\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Improvement Notation</span></td>\n <td colspan=\"3\" style=\"width:80%\">A higher rate indicates better performance.</td>\n \n </tr>\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Guidance</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><p>This measure is an episode-of-care measure and should be reported for each instance of a new or recurrent episode of major depressive disorder (MDD); every new or recurrent episode will count separately in the Initial Population.</p>\n<p>As the guidelines state, it is important to assess for additional factors which may increase or decrease suicide risk, such as presence of additional symptoms (e.g., psychosis, severe anxiety, hopelessness, severe chronic pain); presence of substance abuse, history and seriousness of previous attempts, particularly, recent suicidal behavior, current stressors and potential protective factors (e.g., positive reasons for living, strong social support), family history of suicide or mental illness or recent exposure to suicide, impulsivity and potential for risk to others, including history of violence or violent or homicidal ideas, plans, or intentions, and putting one's affairs in order (e.g., giving away possessions, writing a will). In addition, although the measure focuses on the initial visit, it is critical that suicide risk be monitored especially for the 90 days following the initial visit and throughout MDD treatment.</p>\n<p>It is expected that a suicide risk assessment will be completed at the visit during which a new diagnosis is made or at the visit during which a recurrent episode is first identified (i.e., at the initial evaluation). For the purposes of this measure, an episode of major depressive disorder (MDD) would be considered to be recurrent if a patient has not had an MDD-related encounter in the past 105 days. If there is a gap of 105 or more days between visits for major depressive disorder (MDD), that would imply a recurrent episode. The 105-day look-back period is an operational provision and not a clinical recommendation, or definition of relapse, remission, or recurrence.</p>\n<p>Suicide risk assessments completed via telehealth services can also meet numerator performance.</p>\n<p>Use of a standardized tool(s) or instrument(s) to assess suicide risk will meet numerator performance. Standardized tools can be mapped to the concept "Intervention, Performed": "Suicide risk assessment (procedure)" included in the numerator logic below.</p>\n<p>The logic statement for the age requirement, as written, captures patients who turn 18 years old during the measurement period so that these patients are included in the measure, so long as the minimum criteria noted above is evaluated. To ensure all patients with major depressive disorder (MDD) are assessed for suicide risk, there are two clinical quality measures addressing suicide risk assessment; CMS 177 covers children and adolescents aged 6 through 17, and CMS 161 covers the adult population aged 18 years and older, as no individual suicide risk assessment tool or instrument would satisfy the requirements alone.</p>\n</div>\n </td>\n </tr>\n <tr>\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Definitions</span></td>\n </tr>\n \n \n <!-- <th:block th:each=\"groups, iter : ${resource.uniquePopulationGroup}\" >\n <tr style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\" th:text=\"${groups.identifier.value}\"></span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${pops.description}\"></pre>\n </div>\n </td>\n </tr>\n </th:block> -->\n </table>\n <table style=\"width: 60%; border-top: none; border-bottom: none\" class=\"header_table\">\n \n </table>\n <table style=\"width: 60%; border-top: none;\" class=\"header_table\">\n <!-- <th:block th:each=\"supples, iter : ${resource.supplementalData}\">\n <tr>\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Supplemental Data:</b></th>\n <td style=\"width:80%\" colspan=\"3\" >\n <p style=\"margin-bottom: 5px;\" th:narrative=\"${supples.identifier}\"></p>\n <p style=\"margin-bottom: 5px;\" th:each=\"uses : ${supples.usage}\">\n <b>usage: </b>\n <span th:narrative=\"${uses}\"></span>\n </p>\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasCriteria()}\">\n <b>criteria: </b>\n <span th:narrative=\"${supples.criteria}\"></span>\n </p>\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasPath()}\">\n <b>path: </b>\n <span th:narrative=\"${supples.path}\"></span>\n </p>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"param, iter : ${resource.parameter}\">\n <tr style=\"vertical-align: top;\">\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Parameter: </b></th>\n <td style=\"width:80%\" colspan=\"3\" >\n <span th:if=\"${param.hasName()}\">\n <b>name: </b>\n <span th:narrative=\"${param.name}\"></span>\n <br/>\n </span>\n <b>use: </b>\n <span th:narrative=\"${param.use.toCode()}\"></span>\n <br/>\n <span th:if=\"${param.hasMin()}\">\n <b>minimum cardinality: </b>\n <span th:narrative=\"${param.min}\"></span>\n <br/>\n </span>\n <span th:if=\"${param.hasMax()}\">\n <b>maximum cardinality: </b>\n <span th:narrative=\"${param.max}\"></span>\n <br/>\n </span>\n <b>type: </b>\n <span th:narrative=\"${param.type}\"></span>\n <br/>\n <span th:if=\"${param.hasDocumentation()}\">\n <b>documentation: </b>\n <span th:narrative=\"${param.documentation}\"></span>\n <br/>\n </span>\n <span th:if=\"${param.hasProfile()}\">\n <b>profile: </b>\n <span th:narrative=\"${param.profile}\"></span>\n <br/>\n </span>\n <p style=\"margin-bottom: 5px;\"></p>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"dataReq, iter : ${resource.dataRequirement}\">\n <tr style=\"vertical-align: top;\">\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\" ><b>Data Requirements: </b></th>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${dataReq}\"></td>\n </tr>\n </th:block> -->\n </table>\n <h2><a name=\"toc\">Table of Contents</a></h2>\n <ul style=\"padding-left: 50px;\">\n <li><a href=\"#d1e405\">Population Criteria</a></li>\n <li><a href=\"#d1e649\">Definitions</a></li>\n <li><a href=\"#d1e650\">Functions</a></li>\n <li><a href=\"#d1e555\">Terminology</a></li>\n <li><a href=\"#d1e647\">Data Criteria (QDM Data Elements)</a></li>\n <li><a href=\"#d1e767\">Supplemental Data Elements</a></li>\n <li><a href=\"#d1e879\">Risk Adjustment Variables</a></li>\n </ul>\n <div style=\"float:left; background:teal; height:3px; width:80%\"/>\n \n <pre><br/></pre>\n <h3><a name=\"d1e405\" href=\"#toc\">Population Criteria</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left:10px;\">\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul class=\"list-unstyled\">\n <li class=\"list-unstyled\"><input id=\"Initial Population\" type=\"checkbox\"/><label for=\"Initial Population\" class=\"list-header\"><strong>Initial Population</strong></label>\n <ul class=\"code\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul>\n <li style=\"padding-left: 0px;\">\n <div>\n <pre class=\"cql-definition-body\">"New or Recurrent Major Depressive Disorder Encounter" NewOrRecurrentMDDEncounter\r\n\twhere Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26gt;= 17</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul></li>\n </ul>\n </div>\n <div class=\"treeview hover p-l-10\">\n <ul class=\"list-unstyled\">\n <li class=\"list-unstyled\"><input id=\"Numerator\" type=\"checkbox\"/><label for=\"Numerator\" class=\"list-header\"><strong>Numerator</strong></label>\n <ul class=\"code\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul>\n <li style=\"padding-left: 0px;\">\n <div>\n <pre class=\"cql-definition-body\"> "New or Recurrent Major Depressive Disorder Encounter" NewOrRecurrentMDDEncounter\r\n \twith ["Procedure": "Suicide risk assessment (procedure)"] SuicideRiskAssessment\r\n\t \tsuch that SuicideRiskAssessment.performed during NewOrRecurrentMDDEncounter.period\r\n and SuicideRiskAssessment.status = 'completed'</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul></li>\n </ul>\n </div>\n <div class=\"treeview hover p-l-10\">\n <ul class=\"list-unstyled\">\n <li class=\"list-unstyled\"><input id=\"Denominator\" type=\"checkbox\"/><label for=\"Denominator\" class=\"list-header\"><strong>Denominator</strong></label>\n <ul class=\"code\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul>\n <li style=\"padding-left: 0px;\">\n <div>\n <pre class=\"cql-definition-body\">"Initial Population"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul></li>\n </ul>\n </div></li>\n </ul>\n </div>\n\n <h3><a name=\"d1e649\" href=\"#toc\">Definitions</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Denominator\" type=\"checkbox\"/>\n <label for=\"Denominator\" class=\"list-header\"><strong>Denominator</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">"Initial Population"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Initial Population\" type=\"checkbox\"/>\n <label for=\"Initial Population\" class=\"list-header\"><strong>Initial Population</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">"New or Recurrent Major Depressive Disorder Encounter" NewOrRecurrentMDDEncounter\r\n\twhere Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26gt;= 17</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Major Depressive Disorder Encounter\" type=\"checkbox\"/>\n <label for=\"Major Depressive Disorder Encounter\" class=\"list-header\"><strong>Major Depressive Disorder Encounter</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">( ["Encounter": "Psych Visit - Diagnostic Evaluation"]\r\n\tunion ["Encounter": "Emergency Department Visit"]\r\n\tunion ["Encounter": "Office Visit"]\r\n\tunion ["Encounter": "Outpatient Consultation"]\r\n\tunion ["Encounter": "Psych Visit - Psychotherapy"]\r\n\tunion ["Encounter": "Psychoanalysis"]\r\n\tunion ["Encounter": "Telehealth Services"] ) ValidEncounter\r\n\twhere ValidEncounter.status = 'finished'\r\n and Global.EncounterDiagnosis(ValidEncounter).code in "Major Depressive Disorder-Active"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"New or Recurrent Major Depressive Disorder Encounter\" type=\"checkbox\"/>\n <label for=\"New or Recurrent Major Depressive Disorder Encounter\" class=\"list-header\"><strong>New or Recurrent Major Depressive Disorder Encounter</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">"Major Depressive Disorder Encounter" NewOrRecurrentMDDEncounter\r\n\twithout "Major Depressive Disorder Encounter" PriorMDDEpisodeEncounter\r\n\t\tsuch that PriorMDDEpisodeEncounter !~ NewOrRecurrentMDDEncounter\r\n\t\t\tand PriorMDDEpisodeEncounter.period ends 104 days or less before day of start of NewOrRecurrentMDDEncounter.period\r\n\twhere NewOrRecurrentMDDEncounter.period during "Measurement Period"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Numerator\" type=\"checkbox\"/>\n <label for=\"Numerator\" class=\"list-header\"><strong>Numerator</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\"> "New or Recurrent Major Depressive Disorder Encounter" NewOrRecurrentMDDEncounter\r\n \twith ["Procedure": "Suicide risk assessment (procedure)"] SuicideRiskAssessment\r\n\t \tsuch that SuicideRiskAssessment.performed during NewOrRecurrentMDDEncounter.period\r\n and SuicideRiskAssessment.status = 'completed'</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <h3><a name=\"d1e650\" href=\"#toc\">Functions</a></h3>\n \n <h3><a name=\"d1e555\" href=\"#toc\">Terminology</a></h3>\n <div>\n <ul style=\"padding-left: 50px;\">\n <li style=\"width:80%\">codesystem "SNOMEDCT" : 'https://snomed.info/sct'</li>\n <li style=\"width:80%\">code "Suicide risk assessment (procedure)" : '225337009' from "SNOMEDCT" display 'Suicide risk assessment (procedure)'</li>\n <li style=\"width:80%\">valueset "Emergency Department Visit" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010'</li>\n <li style=\"width:80%\">valueset "Ethnicity" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'</li>\n <li style=\"width:80%\">valueset "Major Depressive Disorder-Active" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1491'</li>\n <li style=\"width:80%\">valueset "Office Visit" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'</li>\n <li style=\"width:80%\">valueset "ONC Administrative Sex" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'</li>\n <li style=\"width:80%\">valueset "Outpatient Consultation" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008'</li>\n <li style=\"width:80%\">valueset "Payer" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'</li>\n <li style=\"width:80%\">valueset "Psych Visit - Diagnostic Evaluation" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1492'</li>\n <li style=\"width:80%\">valueset "Psych Visit - Psychotherapy" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1496'</li>\n <li style=\"width:80%\">valueset "Psychoanalysis" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1141'</li>\n <li style=\"width:80%\">valueset "Race" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'</li>\n <li style=\"width:80%\">valueset "Telehealth Services" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1031'</li>\n </ul>\n </div>\n <h3><a name=\"d1e647\" href=\"#toc\">Data Criteria (QDM Data Elements)</a></h3>\n <div>\n <ul style=\"padding-left: 50px;\">\n <li style=\"width:80%\">"Encounter: Emergency Department Visit" using "Emergency Department Visit (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010)</li>\n <li style=\"width:80%\">"Encounter: Office Visit" using "Office Visit (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001)</li>\n <li style=\"width:80%\">"Encounter: Outpatient Consultation" using "Outpatient Consultation (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008)</li>\n <li style=\"width:80%\">"Encounter: Psych Visit - Diagnostic Evaluation" using "Psych Visit - Diagnostic Evaluation (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1492)</li>\n <li style=\"width:80%\">"Encounter: Psych Visit - Psychotherapy" using "Psych Visit - Psychotherapy (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1496)</li>\n <li style=\"width:80%\">"Encounter: Psychoanalysis" using "Psychoanalysis (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1141)</li>\n <li style=\"width:80%\">"Encounter: Telehealth Services" using "Telehealth Services (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1031)</li>\n </ul>\n </div>\n <h3><a name=\"d1e767\" href=\"#toc\">Supplemental Data Elements</a></h3>\n \n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li>None</li>\n </ul>\n </div>\n <h3><a name=\"d1e879\" href=\"#toc\">Risk Adjustment Variables</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li>None</li>\n </ul>\n </div>\n <div style=\"float:left; background:teal; height:3px; width:80%\"/>\n <table>\n \n <!-- <th:block th:each=\"con, iter : ${resource.content}\">\n <tr th:if=\"${con.contentType == 'text/cql'}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Content</span></td>\n <td style=\"width:80%\" ><b>type: </b><span th:text=\"${con.contentType}\"></span></td>\n </tr>\n <tr th:if=\"${con.contentType == 'text/cql'}\">\n <td style=\"width:100%\" colspan=\"2\" >\n <th:block th:if=\"${con.getData() != null }\" >\n <pre><code th:class=\"${con.contentType == 'text/cql' ? 'language-cql' : 'language-xml'}\" th:text=\"${new java.lang.String(con.getData())}\"></code></pre>\n </th:block>\n <th:block th:if=\"${con.getData() == null }\" >\n <span><i>%26lt;content is empty%26gt;</i></span>\n </th:block>\n </td>\n </tr>\n </th:block > -->\n </table>\n</div>" }, - "extension": [ - { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", - "valueCode": "boolean" + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", + "valueCode": "boolean" + }, { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" } - ], + } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-EXM161-FHIR3-8.0.0", "version": "8.0.0", "name": "EXM161", @@ -31,204 +32,151 @@ "start": "2019-01-01", "end": "2019-12-31" }, - "useContext": [ - { - "code": { - "code": "program" - }, - "valueCodeableConcept": { - "text": "eligible-provider" - } - } - ], - "jurisdiction": [ - { - "coding": [ - { - "system": "urn:iso:std:iso:3166", - "code": "US" - } - ] - } - ], - "topic": [ - { - "coding": [ - { - "system": "http://loinc.org", - "code": "57024-2", - "display": "Health Quality Measure Document" - } - ] - } - ], - "contributor": [ - { - "type": "author", - "name": "National Committee for Quality Assurance" - } - ], - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://www.ncqa.org/" - } - ] + "useContext": [ { + "code": { + "code": "program" + }, + "valueCodeableConcept": { + "text": "eligible-provider" } - ], + } ], + "jurisdiction": [ { + "coding": [ { + "system": "urn:iso:std:iso:3166", + "code": "US" + } ] + } ], + "topic": [ { + "coding": [ { + "system": "http://loinc.org", + "code": "57024-2", + "display": "Health Quality Measure Document" + } ] + } ], + "contributor": [ { + "type": "author", + "name": "National Committee for Quality Assurance" + } ], + "contact": [ { + "telecom": [ { + "system": "url", + "value": "http://www.ncqa.org/" + } ] + } ], "copyright": "This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. <br> Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. <br> CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.", - "relatedArtifact": [ - { - "type": "citation", - "citation": "American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104." - }, - { - "type": "citation", - "citation": "Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485" - }, - { - "type": "citation", - "citation": "Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html" - }, - { - "type": "citation", - "citation": "Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. " - }, - { - "type": "citation", - "citation": "Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html" - }, - { - "type": "citation", - "citation": "Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439." - }, - { - "type": "citation", - "citation": "James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427" - }, - { - "type": "citation", - "citation": "Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi: 10.1056/NEJMsa1406751. [published correction appears on page 1677] \nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9." - }, - { - "type": "citation", - "citation": "Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753" - }, - { - "type": "citation", - "citation": "Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437." - }, - { - "type": "citation", - "citation": "SPRINT Research Group,; Wright, J. T., Jr., Williamson, J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116." - }, - { - "type": "citation", - "citation": "U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787." - }, - { - "type": "citation", - "citation": "Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065" - }, - { - "type": "citation", - "citation": "Yoon, S. S., Fryar, C. D., & Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics." - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" - } + "relatedArtifact": [ { + "type": "citation", + "citation": "American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104." + }, { + "type": "citation", + "citation": "Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485" + }, { + "type": "citation", + "citation": "Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html" + }, { + "type": "citation", + "citation": "Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. " + }, { + "type": "citation", + "citation": "Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html" + }, { + "type": "citation", + "citation": "Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439." + }, { + "type": "citation", + "citation": "James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427" + }, { + "type": "citation", + "citation": "Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi: 10.1056/NEJMsa1406751. [published correction appears on page 1677] \nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9." + }, { + "type": "citation", + "citation": "Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753" + }, { + "type": "citation", + "citation": "Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437." + }, { + "type": "citation", + "citation": "SPRINT Research Group,; Wright, J. T., Jr., Williamson, J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116." + }, { + "type": "citation", + "citation": "U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787." + }, { + "type": "citation", + "citation": "Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065" + }, { + "type": "citation", + "citation": "Yoon, S. S., Fryar, C. D., & Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics." + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-4.0.000" } - ], - "library": [ - { - "reference": "Library/library-EXM161-FHIR3-8.0.0" + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" } - ], + } ], + "library": [ { + "reference": "Library/library-EXM161-FHIR3-8.0.0" + } ], "disclaimer": "The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND.\n \nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].", "scoring": { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-scoring", - "code": "proportion" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/measure-scoring", + "code": "proportion" + } ] }, - "type": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-type", - "code": "process" - } - ] - } - ], + "type": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-type", + "code": "process" + } ] + } ], "rationale": "This measure aims to improve rates of clinician assessment of suicide risk during an encounter where a new or recurrent episode of major depressive disorder is identified. In an epidemiologic study (2010) of mental illness in the United States with a large, representative sample, 69% of respondents with lifetime suicide attempts had also met diagnostic criteria for major depressive disorder. When considering other mood disorders related to depression, such as dysthymia and bipolar disorders, this rate increases to 74% (Bolton & Robinson, 2010). In a 2014 study conducted by Ahmedani et al., 50% of individuals who completed a suicide had been seen in a health care setting within four weeks prior. Better assessment and identification of suicide risk in the health care setting should lead to improved connection to treatment and reduction in suicide attempts and deaths by suicide.", "clinicalRecommendationStatement": "A careful and ongoing evaluation of suicide risk is necessary for all patients with major depressive disorder [I] (American Psychiatric Association, 2010a, reaffirmed 2015).\n\nSuch an assessment includes specific inquiry about suicidal thoughts, intent, plans, means, and behaviors; identification of specific psychiatric symptoms (e.g., psychosis, severe anxiety, substance use) or general medical conditions that may increase the likelihood of acting on suicidal ideas; assessment of past and, particularly, recent suicidal behavior; delineation of current stressors and potential protective factors (e.g., positive reasons for living, strong social support); and identification of any family history of suicide or mental illness [I] (American Psychiatric Association, 2010a, reaffirmed 2015).\n\nAs part of the assessment process, impulsivity and potential for risk to others should also be evaluated, including any history of violence or violent or homicidal ideas, plans, or intentions [I] (American Psychiatric Association, 2010a, reaffirmed 2015).\n\nThe patient's risk of harm to him- or herself and to others should also be monitored as treatment proceeds [I] (American Psychiatric Association, 2010a, reaffirmed 2015).\n\nGuidelines for Selecting a Treatment Setting for Patients at Risk for Suicide or Suicidal Behaviors (from American Psychiatric Association’s Practice Guideline for Assessment and Treatment of Patients With Suicidal Behaviors, 2010b):\nAdmission generally indicated\nAfter a suicide attempt or aborted suicide attempt if:\n* Patient is psychotic\n* Attempt was violent, near-lethal, or premeditated\n* Precautions were taken to avoid rescue or discovery\n* Persistent plan and/or intent is present\n* Distress is increased or patient regrets surviving\n* Patient is male, older than age 45 years, especially with new onset of psychiatric illness or suicidal thinking\n* Patient has limited family and/or social support, including lack of stable living situation\n* Current impulsive behavior, severe agitation, poor judgment, or refusal of help is evident\n* Patient has change in mental status with a metabolic, toxic, infectious, or other etiology requiring further workup in a structured setting\n\nIn the presence of suicidal ideation with:\n* Specific plan with high lethality\n* High suicidal intent\n\nAdmission may be necessary\nAfter a suicide attempt or aborted suicide attempt, except in circumstances for which admission is generally indicated\n\nIn the presence of suicidal ideation with:\n* Psychosis\n* Major psychiatric disorder\n* Past attempts, particularly if medically serious\n* Possibly contributing medical condition (e.g., acute neurological disorder, cancer, infection)\n* Lack of response to or inability to cooperate with partial hospital or outpatient treatment\n* Need for supervised setting for medication trial or ECT\n* Need for skilled observation, clinical tests, or diagnostic assessments that require a structured setting\n* Limited family and/or social support, including lack of stable living situation\n* Lack of an ongoing clinician-patient relationship or lack of access to timely outpatient follow-up\n* [Evidence of putting one's affairs in order (e.g., giving away possessions, writing a will)]\n\nIn the absence of suicide attempts or reported suicidal ideation/plan/intent but evidence from the psychiatric evaluation and/or history from others suggests a high level of suicide risk and a recent acute increase in risk\n\nRelease from emergency department with follow-up recommendations may be possible\nAfter a suicide attempt or in the presence of suicidal ideation/plan when:\n* Suicidality is a reaction to precipitating events (e.g., exam failure, relationship difficulties), particularly if the patient's view of situation has changed since coming to emergency department\n* Plan/method and intent have low lethality\n* Patient has stable and supportive living situation\n* Patient is able to cooperate with recommendations for follow-up, with treater contacted, if possible, if patient is currently in treatment\n\nOutpatient treatment may be more beneficial than hospitalization\nPatient has chronic suicidal ideation and/or self-injury without prior medically serious attempts, if a safe and supportive living situation is available and outpatient psychiatric care is ongoing.", "improvementNotation": "increase", "guidance": "This measure is an episode-of-care measure and should be reported for each instance of a new or recurrent episode of major depressive disorder (MDD); every new or recurrent episode will count separately in the Initial Population.\n\nAs the guidelines state, it is important to assess for additional factors which may increase or decrease suicide risk, such as presence of additional symptoms (e.g., psychosis, severe anxiety, hopelessness, severe chronic pain); presence of substance abuse, history and seriousness of previous attempts, particularly, recent suicidal behavior, current stressors and potential protective factors (e.g., positive reasons for living, strong social support), family history of suicide or mental illness or recent exposure to suicide, impulsivity and potential for risk to others, including history of violence or violent or homicidal ideas, plans, or intentions, and putting one's affairs in order (e.g., giving away possessions, writing a will). In addition, although the measure focuses on the initial visit, it is critical that suicide risk be monitored especially for the 90 days following the initial visit and throughout MDD treatment.\n\nIt is expected that a suicide risk assessment will be completed at the visit during which a new diagnosis is made or at the visit during which a recurrent episode is first identified (i.e., at the initial evaluation). For the purposes of this measure, an episode of major depressive disorder (MDD) would be considered to be recurrent if a patient has not had an MDD-related encounter in the past 105 days. If there is a gap of 105 or more days between visits for major depressive disorder (MDD), that would imply a recurrent episode. The 105-day look-back period is an operational provision and not a clinical recommendation, or definition of relapse, remission, or recurrence.\n\nSuicide risk assessments completed via telehealth services can also meet numerator performance.\n\nUse of a standardized tool(s) or instrument(s) to assess suicide risk will meet numerator performance. Standardized tools can be mapped to the concept \"Intervention, Performed\": \"Suicide risk assessment (procedure)\" included in the numerator logic below.\n\nThe logic statement for the age requirement, as written, captures patients who turn 18 years old during the measurement period so that these patients are included in the measure, so long as the minimum criteria noted above is evaluated. To ensure all patients with major depressive disorder (MDD) are assessed for suicide risk, there are two clinical quality measures addressing suicide risk assessment; CMS 177 covers children and adolescents aged 6 through 17, and CMS 161 covers the adult population aged 18 years and older, as no individual suicide risk assessment tool or instrument would satisfy the requirements alone.", - "group": [ - { + "group": [ { + "identifier": { + "value": "group-1" + }, + "population": [ { "identifier": { - "value": "group-1" + "value": "initial-population-identifier" }, - "population": [ - { - "identifier": { - "value": "initial-population-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "initial-population", - "display": "Initial Population" - } - ] - }, - "criteria": "Initial Population" - }, - { - "identifier": { - "value": "numerator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "numerator", - "display": "Numerator" - } - ] - }, - "criteria": "Numerator" - }, - { - "identifier": { - "value": "denominator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator", - "display": "Denominator" - } - ] - }, - "criteria": "Denominator" - } - ] - } - ] -} + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population", + "display": "Initial Population" + } ] + }, + "criteria": "Initial Population" + }, { + "identifier": { + "value": "numerator-identifier" + }, + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "numerator", + "display": "Numerator" + } ] + }, + "criteria": "Numerator" + }, { + "identifier": { + "value": "denominator-identifier" + }, + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator", + "display": "Denominator" + } ] + }, + "criteria": "Denominator" + } ] + } ] +} \ No newline at end of file diff --git a/fhir3/input/resources/measure/measure-EXM165_FHIR3-8.5.000.json b/fhir3/input/resources/measure/measure-EXM165_FHIR3-8.5.000.json index 9bc92b9e..bd17873b 100644 --- a/fhir3/input/resources/measure/measure-EXM165_FHIR3-8.5.000.json +++ b/fhir3/input/resources/measure/measure-EXM165_FHIR3-8.5.000.json @@ -4,20 +4,21 @@ "meta": { "versionId": "2", "lastUpdated": "2019-12-12T22:16:52.350-07:00", - "profile": [ - "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" - ] + "profile": [ "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" ] }, "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table style=\"width: 60%; border-bottom: none;\" class=\"header_table\"> <!-- <tr th:if=\"${resource.hasId()}\" style=\"vertical-align: top;\"><th style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Id: </span></th><td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.id}\"></td></tr> --><tr style=\"vertical-align: top;\"><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Title</span></td><td colspan=\"1\" style=\"width:60%\"><h1 style=\"font-size:10px\">Controlling High Blood Pressure</h1></td><td scope=\"row\" style=\"background-color:#656565; width:10%\"><span class=\"td_label\">Measure ID</span></td><td colspan=\"1\" style=\"width:10%\"><h1 style=\"font-size:10px\">EXM165</h1></td></tr> <!-- <th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'CMS'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Identifier (Measure Authoring Tool)</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Version number</span></td><td style=\"width:30%\" th:narrative=\"${resource.version}\"></td></tr></th:block><th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'NQF'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">NQF Number</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">GUID</span></td><td style=\"width:30%\" th:narrative=\"${resource.url}\"></td></tr></th:block> --><tr style=\"vertical-align: top;\"><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Description</span></td><td colspan=\"3\" style=\"width:80%\"><div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><pre><p>Percentage of patients 18-85 years of age who had a diagnosis of hypertension overlapping the measurement period and whose most recent blood pressure was adequately controlled (<140/90mmHg) during the measurement period</p>\r\n</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measurement Period</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">January 1 - December 31</td>\r\n </tr>\r\n <!-- <tr>\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Steward</span></td>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Developer</span></td>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td>\r\n </tr> -->\r\n <!-- <tr th:if=\"${resource.hasDisclaimer()}\">\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Disclaimer</span></td>\r\n <td style=\"width:80%\" colspan=\"3\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre th:text=\"${resource.disclaimer}\"></pre>\r\n </div>\r\n </td>\r\n </tr> -->\r\n <tr>\r\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Copyright and Disclaimer Notice</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND.\r\n \r\nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</pre>\r\n <br/>\r\n <pre>This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. <br> Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. <br> CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Clinical Recommendation Statement</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><p>The U.S. Preventive Services Task Force (2015) recommends screening for high blood pressure in adults age 18 years and older. This is a grade A recommendation.</p>\r\n<p>American College of Cardiology/American Heart Association (2017)<br/>\r\n-For adults with confirmed hypertension and known CVD or 10-year ASCVD event risk of 10% or higher, a blood pressure target of less than 130/80 mmHg is recommended<br/>\r\n-For adults with confirmed hypertension, without additional markers of increased CVD risk, a blood pressure target of less than 130/80 mmHg may be reasonable (Note: clinical trial evidence is strongest for a target blood pressure of 140/90 mmHg in this population. However observational studies suggest that these individuals often have a high lifetime risk and would benefit from blood pressure control earlier in life)</p>\r\n<p>American College of Physicians and the American Academy of Family Physicians (2017):<br/>\r\n-Initiate intensifying pharmacologic treatment in adults aged 60 and older at high cardiovascular risk, based on individualized assessment, to achieve a target systolic blood pressure of less than 140 mmHg (Grade: weak recommendation, quality of evidence: low)<br/>\r\n-Initiate intensifying pharmacologic treatment in adults aged 60 and older with a history of stroke or transient ischemic attack to achieve a target systolic blood pressure of less than 140 mmHg to reduce the risk of recurrent stroke (Grade: weak recommendation, quality of evidence: moderate)</p>\r\n<p>American Diabetes Association (2018):<br/>\r\nMost patients with diabetes and hypertension should be treated to a systolic blood pressure goal of <140 mmHg and a diastolic blood pressure goal of <90 mmHg (Level of evidence: A)</p>\r\n<p>Report from the Eighth Joint National Committee (2014)<br/>\r\n-In the general population younger than 60 years, initiate pharmacologic treatment to lower blood pressure at diastolic blood pressure (DBP) of 90 mmHg or higher and treat to a goal of DBP of lower than 90 mmHg (Grade: A (for ages 30-59), Grade: E (for ages 18-29))<br/>\r\n-In the general population younger than 60 years, initiate pharmacologic treatment to lower blood pressure at systolic blood pressure (SBP) to 140 mmHg or higher and treat to a goal of SBP of lower than 140 mmHg (Grade: E)<br/>\r\n-In the general population aged 60 years and older, initiate pharmacologic treatment to lower blood pressure at SBP of 150 mmHg or higher or a DBP of 90 mmHg or higher and treat to a goal of SBP lower than 150 mmHg and goal of DBP lower than 90 mmHg</p>\r\n</div>\r\n </td>\r\n </tr>\r\n \r\n <tr style=\"vertical-align: top;\">\r\n <td rowspan=\"14\" scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">References</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104.</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. </pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439.</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi: 10.1056/NEJMsa1406751. [published correction appears on page 1677] \r\nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9.</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437.</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>SPRINT Research Group,; Wright, J. T., Jr., Williamson, J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116.</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787.</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Yoon, S. S., Fryar, C. D., & Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics.</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n <tr>\r\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Characteristics</span></td>\r\n </tr>\r\n <tr>\r\n <td scope=\"row\" style=\"width:20%\"><span>Scoring</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">Proportion</td>\r\n </tr>\r\n <!-- <tr th:if=\"${resource.hasCompositeScoring()}\">\r\n <td style=\"width:20%\" scope=\"row\"><span class=\"td_label\">Composite Scoring</span></td>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.compositeScoring.getText().substring(0, 1).toUpperCase() + resource.compositeScoring.getText().substring(1)}\"></td>\r\n </tr> -->\r\n \r\n <tr style=\"vertical-align: top;\">\r\n <td rowspan=\"1\" scope=\"row\" style=\"width:20%\"><span>Type</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">Process</td>\r\n </tr>\r\n \r\n <!-- <tr th:if=\"${resource.hasStatus()}\" style=\"vertical-align: top;\">\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Status</span></td>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.status.toString().substring(0, 1).toUpperCase() + resource.status.toString().substring(1).toLowerCase()}\"></td>\r\n </tr>\r\n <tr th:if=\"${resource.hasPurpose()}\" style=\"vertical-align: top;\">\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Purpose</span></td>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.purpose}\"></td>\r\n </tr>\r\n <tr th:if=\"${resource.hasUsage()}\" style=\"vertical-align: top;\" >\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Usage</span></td>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.usage}\"></td>\r\n </tr>\r\n <th:block th:each=\"context, iter : ${resource.useContext}\" >\r\n <tr style=\"vertical-align: top;\">\r\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Use Context</span></td>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${context}\"></td>\r\n </tr>\r\n </th:block>\r\n <th:block th:each=\"topics, iter : ${resource.topic}\" >\r\n <tr style=\"vertical-align: top;\">\r\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Topic</span></td>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${topics}\"></td>\r\n </tr>\r\n </th:block>\r\n <th:block th:each=\"cont, iter : ${resource.contributor}\" >\r\n <tr style=\"vertical-align: top;\">\r\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Contributor</span></td>\r\n <td style=\"width:80%\" colspan=\"3\">\r\n <b><span th:narrative=\"${cont.type.toCode()}\"></span>: </b><span th:narrative=\"${cont.name}\"></span>\r\n </td>\r\n </tr>\r\n </th:block> -->\r\n <!-- <th:block th:each=\"lib, iter : ${resource.library}\" >\r\n <tr style=\"vertical-align: top;\">\r\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Library</span></td>\r\n <td style=\"width:80%\" colspan=\"3\">\r\n <p th:if=\"${lib.hasIdentifier()}\"><b>identifier: </b><span th:narrative=\"${lib.identifier}\"></span></p>\r\n <p th:if=\"${lib.hasReference()}\"><b>reference: </b><span th:narrative=\"${lib.reference}\"></span></p>\r\n <p th:if=\"${lib.hasDisplay()}\"><b>display: </b><span th:narrative=\"${lib.display}\"></span></p>\r\n </td>\r\n </tr>\r\n </th:block> -->\r\n \r\n <!-- <tr th:if=\"${resource.hasRateAggregation()}\" >\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rate Aggregation</span></td>\r\n <td style=\"width:80%\" colspan=\"3\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre th:text=\"${resource.rateAggregation}\"></pre>\r\n </div>\r\n </td>\r\n </tr>\r\n <tr th:if=\"${resource.hasRationale()}\">\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rationale</span></td>\r\n <td style=\"width:80%\" colspan=\"3\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre th:text=\"${resource.rationale}\"></pre>\r\n </div>\r\n </td>\r\n </tr> -->\r\n <tr>\r\n <td scope=\"row\" style=\"width:20%\"><span>Improvement Notation</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">A higher rate indicates better performance.</td>\r\n \r\n </tr>\r\n <tr>\r\n <td scope=\"row\" style=\"width:20%\"><span>Guidance</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><p>In reference to the numerator element, only blood pressure readings performed by a clinician or a remote monitoring device are acceptable for numerator compliance with this measure.</p>\r\n<p>Do not include BP readings:<br/>\r\n-Taken during an acute inpatient stay or an ED visit<br/>\r\n-Taken on the same day as a diagnostic test or diagnostic or therapeutic procedure that requires a change in diet or change in medication on or one day before the day of the test or procedure, with the exception of fasting blood tests.<br/>\r\n-Reported by or taken by the member</p>\r\n<p>If no blood pressure is recorded during the measurement period, the patient's blood pressure is assumed \"not controlled.\"</p>\r\n<p>If there are multiple blood pressure readings on the same day, use the lowest systolic and the lowest diastolic reading as the most recent blood pressure reading.</p>\r\n</div>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Definitions</span></td>\r\n </tr>\r\n \r\n \r\n <!-- <th:block th:each=\"groups, iter : ${resource.uniquePopulationGroup}\" >\r\n <tr style=\"vertical-align: top;\">\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\" th:text=\"${groups.identifier.value}\"></span></td>\r\n <td style=\"width:80%\" colspan=\"3\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre th:text=\"${pops.description}\"></pre>\r\n </div>\r\n </td>\r\n </tr>\r\n </th:block> -->\r\n </table>\r\n <table style=\"width: 60%; border-top: none; border-bottom: none\" class=\"header_table\">\r\n \r\n </table>\r\n <table style=\"width: 60%; border-top: none;\" class=\"header_table\">\r\n <!-- <th:block th:each=\"supples, iter : ${resource.supplementalData}\">\r\n <tr>\r\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Supplemental Data:</b></th>\r\n <td style=\"width:80%\" colspan=\"3\" >\r\n <p style=\"margin-bottom: 5px;\" th:narrative=\"${supples.identifier}\"></p>\r\n <p style=\"margin-bottom: 5px;\" th:each=\"uses : ${supples.usage}\">\r\n <b>usage: </b>\r\n <span th:narrative=\"${uses}\"></span>\r\n </p>\r\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasCriteria()}\">\r\n <b>criteria: </b>\r\n <span th:narrative=\"${supples.criteria}\"></span>\r\n </p>\r\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasPath()}\">\r\n <b>path: </b>\r\n <span th:narrative=\"${supples.path}\"></span>\r\n </p>\r\n </td>\r\n </tr>\r\n </th:block> -->\r\n <!-- <th:block th:each=\"param, iter : ${resource.parameter}\">\r\n <tr style=\"vertical-align: top;\">\r\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Parameter: </b></th>\r\n <td style=\"width:80%\" colspan=\"3\" >\r\n <span th:if=\"${param.hasName()}\">\r\n <b>name: </b>\r\n <span th:narrative=\"${param.name}\"></span>\r\n <br/>\r\n </span>\r\n <b>use: </b>\r\n <span th:narrative=\"${param.use.toCode()}\"></span>\r\n <br/>\r\n <span th:if=\"${param.hasMin()}\">\r\n <b>minimum cardinality: </b>\r\n <span th:narrative=\"${param.min}\"></span>\r\n <br/>\r\n </span>\r\n <span th:if=\"${param.hasMax()}\">\r\n <b>maximum cardinality: </b>\r\n <span th:narrative=\"${param.max}\"></span>\r\n <br/>\r\n </span>\r\n <b>type: </b>\r\n <span th:narrative=\"${param.type}\"></span>\r\n <br/>\r\n <span th:if=\"${param.hasDocumentation()}\">\r\n <b>documentation: </b>\r\n <span th:narrative=\"${param.documentation}\"></span>\r\n <br/>\r\n </span>\r\n <span th:if=\"${param.hasProfile()}\">\r\n <b>profile: </b>\r\n <span th:narrative=\"${param.profile}\"></span>\r\n <br/>\r\n </span>\r\n <p style=\"margin-bottom: 5px;\"></p>\r\n </td>\r\n </tr>\r\n </th:block> -->\r\n <!-- <th:block th:each=\"dataReq, iter : ${resource.dataRequirement}\">\r\n <tr style=\"vertical-align: top;\">\r\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\" ><b>Data Requirements: </b></th>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${dataReq}\"></td>\r\n </tr>\r\n </th:block> -->\r\n </table>\r\n <h2><a name=\"toc\">Table of Contents</a></h2>\r\n <ul style=\"padding-left: 50px;\">\r\n <li><a href=\"#d1e405\">Population Criteria</a></li>\r\n <li><a href=\"#d1e649\">Definitions</a></li>\r\n <li><a href=\"#d1e650\">Functions</a></li>\r\n <li><a href=\"#d1e555\">Terminology</a></li>\r\n <li><a href=\"#d1e647\">Data Criteria (QDM Data Elements)</a></li>\r\n <li><a href=\"#d1e767\">Supplemental Data Elements</a></li>\r\n <li><a href=\"#d1e879\">Risk Adjustment Variables</a></li>\r\n </ul>\r\n <div style=\"float:left; background:teal; height:3px; width:80%\"></div>\r\n \r\n <pre><br/></pre>\r\n <h3><a name=\"d1e405\" href=\"#toc\">Population Criteria</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left:10px;\">\r\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\r\n \r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"Initial Population\" type=\"checkbox\"/><label for=\"Initial Population\" class=\"list-header\"><strong>Initial Population</strong></label>\r\n <ul class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul>\r\n <li style=\"padding-left: 0px;\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\tCommon.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of \"Measurement Period\") between 18 and 85\r\n\t\tand exists \"Essential Hypertension Diagnosis\"\r\n\t\tand exists AdultOutpatientEncounters.\"Qualifying Encounters\"(\"Measurement Period\")</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div>\r\n \r\n \r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"Numerator\" type=\"checkbox\"/><label for=\"Numerator\" class=\"list-header\"><strong>Numerator</strong></label>\r\n <ul class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul>\r\n <li style=\"padding-left: 0px;\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t\"Has Diastolic Blood Pressure Less Than 90\"\r\n\t\tand \"Has Systolic Blood Pressure Less Than 140\"</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div>\r\n \r\n \r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"Denominator\" type=\"checkbox\"/><label for=\"Denominator\" class=\"list-header\"><strong>Denominator</strong></label>\r\n <ul class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul>\r\n <li style=\"padding-left: 0px;\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t\"Initial Population\"</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div>\r\n \r\n \r\n <div class=\"treeview hover p-l-10\">\r\n \r\n </div>\r\n \r\n \r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <h3><a name=\"d1e649\" href=\"#toc\">Definitions</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Blood Pressure Days\" type=\"checkbox\"/>\r\n <label for=\"Blood Pressure Days\" class=\"list-header\"><strong>Blood Pressure Days</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t( ( \"Qualifying Diastolic Blood Pressure Reading\" DBPExam\r\n\t\t\t\treturn date from DBPExam.effective\r\n\t\t)\r\n\t\t\tintersect ( \"Qualifying Systolic Blood Pressure Reading\" SBPExam\r\n\t\t\t\t\treturn date from SBPExam.effective\r\n\t\t\t)\r\n\t)</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Denominator\" type=\"checkbox\"/>\r\n <label for=\"Denominator\" class=\"list-header\"><strong>Denominator</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t\"Initial Population\"</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"End Stage Renal Disease Encounter\" type=\"checkbox\"/>\r\n <label for=\"End Stage Renal Disease Encounter\" class=\"list-header\"><strong>End Stage Renal Disease Encounter</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t[\"Encounter\": \"ESRD Monthly Outpatient Services\"] ESRDEncounter\r\n\t\twhere ESRDEncounter.status.value in { 'planned', 'arrived', 'triaged', 'in-progress', 'onleave', 'finished' }\r\n\t\t and ESRDEncounter.period starts before end of \"Measurement Period\"</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"End Stage Renal Disease Procedures\" type=\"checkbox\"/>\r\n <label for=\"End Stage Renal Disease Procedures\" class=\"list-header\"><strong>End Stage Renal Disease Procedures</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t( [\"Procedure\": \"Vascular Access for Dialysis\"]\r\n\t\tunion [\"Procedure\": \"Kidney Transplant\"]\r\n\t\tunion [\"Procedure\": \"Dialysis Services\"] ) ESRDProcedure\r\n\t\twhere ESRDProcedure.status = 'completed'\r\n and ESRDProcedure.performed starts before end of \"Measurement Period\"</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Essential Hypertension Diagnosis\" type=\"checkbox\"/>\r\n <label for=\"Essential Hypertension Diagnosis\" class=\"list-header\"><strong>Essential Hypertension Diagnosis</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t[\"Condition\": \"Essential Hypertension\"] Hypertension\r\n where Hypertension.verificationStatus = 'confirmed'\r\n and (Hypertension.assertedDate 6 months or less on or after start of \"Measurement Period\"\r\n or Hypertension.assertedDate before end of \"Measurement Period\"\r\n )</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Has Diastolic Blood Pressure Less Than 90\" type=\"checkbox\"/>\r\n <label for=\"Has Diastolic Blood Pressure Less Than 90\" class=\"list-header\"><strong>Has Diastolic Blood Pressure Less Than 90</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t\"Lowest Diastolic Reading on Most Recent Blood Pressure Day\".value < 90</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Has Systolic Blood Pressure Less Than 140\" type=\"checkbox\"/>\r\n <label for=\"Has Systolic Blood Pressure Less Than 140\" class=\"list-header\"><strong>Has Systolic Blood Pressure Less Than 140</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t\"Lowest Systolic Reading on Most Recent Blood Pressure Day\".value < 140</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Initial Population\" type=\"checkbox\"/>\r\n <label for=\"Initial Population\" class=\"list-header\"><strong>Initial Population</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\tCommon.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of \"Measurement Period\") between 18 and 85\r\n\t\tand exists \"Essential Hypertension Diagnosis\"\r\n\t\tand exists AdultOutpatientEncounters.\"Qualifying Encounters\"(\"Measurement Period\")</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Lowest Diastolic Reading on Most Recent Blood Pressure Day\" type=\"checkbox\"/>\r\n <label for=\"Lowest Diastolic Reading on Most Recent Blood Pressure Day\" class=\"list-header\"><strong>Lowest Diastolic Reading on Most Recent Blood Pressure Day</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\tFirst(\r\n \"Qualifying Diastolic Blood Pressure Reading\" DBPReading\r\n\t\t where DBPReading.effective same day as \"Most Recent Blood Pressure Day\"\r\n return singleton from (\r\n DBPReading.component C\r\n where C.code ~ \"Diastolic blood pressure\"\r\n return C.value as Quantity\r\n )\r\n\t\t\tsort ascending\r\n\t)</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Lowest Systolic Reading on Most Recent Blood Pressure Day\" type=\"checkbox\"/>\r\n <label for=\"Lowest Systolic Reading on Most Recent Blood Pressure Day\" class=\"list-header\"><strong>Lowest Systolic Reading on Most Recent Blood Pressure Day</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\tFirst(\r\n \"Qualifying Systolic Blood Pressure Reading\" SBPReading\r\n\t\t where SBPReading.effective same day as \"Most Recent Blood Pressure Day\"\r\n return singleton from (\r\n SBPReading.component C\r\n where C.code ~ \"Systolic blood pressure\"\r\n return C.value as Quantity\r\n )\r\n sort ascending\r\n\t)</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Most Recent Blood Pressure Day\" type=\"checkbox\"/>\r\n <label for=\"Most Recent Blood Pressure Day\" class=\"list-header\"><strong>Most Recent Blood Pressure Day</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\tMax(\"Blood Pressure Days\")</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Numerator\" type=\"checkbox\"/>\r\n <label for=\"Numerator\" class=\"list-header\"><strong>Numerator</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t\"Has Diastolic Blood Pressure Less Than 90\"\r\n\t\tand \"Has Systolic Blood Pressure Less Than 140\"</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Pregnancy Or Renal Diagnosis Exclusions\" type=\"checkbox\"/>\r\n <label for=\"Pregnancy Or Renal Diagnosis Exclusions\" class=\"list-header\"><strong>Pregnancy Or Renal Diagnosis Exclusions</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t( [\"Condition\": \"Pregnancy\"]\r\n\t\tunion [\"Condition\": \"End Stage Renal Disease\"]\r\n\t\tunion [\"Condition\": \"Kidney Transplant Recipient\"]\r\n\t\tunion [\"Condition\": \"Chronic Kidney Disease, Stage 5\"] ) PregnancyESRDDiagnosis\r\n where PregnancyESRDDiagnosis.verificationStatus = 'confirmed'\r\n and PregnancyESRDDiagnosis.assertedDate before end of \"Measurement Period\"</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Qualifying Diastolic Blood Pressure Reading\" type=\"checkbox\"/>\r\n <label for=\"Qualifying Diastolic Blood Pressure Reading\" class=\"list-header\"><strong>Qualifying Diastolic Blood Pressure Reading</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t[\"Observation\": \"Blood pressure\"] BloodPressure \r\n\t where BloodPressure.status in {'final', 'amended'} \r\n and BloodPressure.effective during \"Measurement Period\"\r\n // TODO: Turn this into a value set\r\n\t //and not (GetEncounter(BloodPressure.\"context\").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS' })\r\n and exists (\r\n BloodPressure.component DiastolicBP \r\n where FHIRHelpers.ToConcept(DiastolicBP.code) ~ \"Diastolic blood pressure\"\r\n and DiastolicBP.value.unit = 'mm[Hg]'\r\n )</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Qualifying Systolic Blood Pressure Reading\" type=\"checkbox\"/>\r\n <label for=\"Qualifying Systolic Blood Pressure Reading\" class=\"list-header\"><strong>Qualifying Systolic Blood Pressure Reading</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t[\"Observation\": \"Blood pressure\"] BloodPressure \r\n\t where BloodPressure.status in {'final', 'amended'} \r\n and BloodPressure.effective during \"Measurement Period\"\r\n // TODO: Turn this into a value set\r\n\t and not (GetEncounter(BloodPressure.\"context\").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS'})\r\n and exists (\r\n BloodPressure.component SystolicBP \r\n where FHIRHelpers.ToConcept(SystolicBP.code) ~ \"Systolic blood pressure\"\r\n and SystolicBP.value.unit = 'mm[Hg]'\r\n )</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e650\" href=\"#toc\">Functions</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"GetEncounter\" type=\"checkbox\"/>\r\n <label for=\"GetEncounter\" class=\"list-header\"><strong>GetEncounter</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">define function GetEncounter(reference Reference):\r\n singleton from ( [Encounter: id in Common.GetId(reference.reference)] )</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e555\" href=\"#toc\">Terminology</a></h3>\r\n <div>\r\n <ul style=\"padding-left: 50px;\">\r\n <li style=\"width:80%\">codesystem \"LOINC\" : '2.16.840.1.113883.6.1'</li>\r\n <li style=\"width:80%\">code \"Birth date\" : '21112-8' from \"LOINC\" display 'Birth date'</li>\r\n <li style=\"width:80%\">code \"Blood pressure\" : '85354-9' from \"LOINC\" display 'blood pressure'</li>\r\n <li style=\"width:80%\">code \"Diastolic blood pressure\" : '8462-4' from \"LOINC\" display 'Diastolic blood pressure'</li>\r\n <li style=\"width:80%\">code \"Systolic blood pressure\" : '8480-6' from \"LOINC\" display 'Systolic blood pressure'</li>\r\n <li style=\"width:80%\">valueset \"Chronic Kidney Disease, Stage 5\" : '2.16.840.1.113883.3.526.3.1002'</li>\r\n <li style=\"width:80%\">valueset \"Dialysis Services\" : '2.16.840.1.113883.3.464.1003.109.12.1013'</li>\r\n <li style=\"width:80%\">valueset \"ED\" : '2.16.840.1.113883.3.464.1003.101.12.1085'</li>\r\n <li style=\"width:80%\">valueset \"Encounter Inpatient\" : '2.16.840.1.113883.3.666.5.307'</li>\r\n <li style=\"width:80%\">valueset \"End Stage Renal Disease\" : '2.16.840.1.113883.3.526.3.353'</li>\r\n <li style=\"width:80%\">valueset \"ESRD Monthly Outpatient Services\" : '2.16.840.1.113883.3.464.1003.109.12.1014'</li>\r\n <li style=\"width:80%\">valueset \"Essential Hypertension\" : '2.16.840.1.113883.3.464.1003.104.12.1011'</li>\r\n <li style=\"width:80%\">valueset \"Ethnicity\" : '2.16.840.1.114222.4.11.837'</li>\r\n <li style=\"width:80%\">valueset \"Kidney Transplant Recipient\" : '2.16.840.1.113883.3.464.1003.109.12.1029'</li>\r\n <li style=\"width:80%\">valueset \"Kidney Transplant\" : '2.16.840.1.113883.3.464.1003.109.12.1012'</li>\r\n <li style=\"width:80%\">valueset \"ONC Administrative Sex\" : '2.16.840.1.113762.1.4.1'</li>\r\n <li style=\"width:80%\">valueset \"Payer\" : '2.16.840.1.114222.4.11.3591'</li>\r\n <li style=\"width:80%\">valueset \"Pregnancy\" : '2.16.840.1.113883.3.526.3.378'</li>\r\n <li style=\"width:80%\">valueset \"Race\" : '2.16.840.1.114222.4.11.836'</li>\r\n <li style=\"width:80%\">valueset \"Vascular Access for Dialysis\" : '2.16.840.1.113883.3.464.1003.109.12.1011'</li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e647\" href=\"#toc\">Data Criteria (QDM Data Elements)</a></h3>\r\n <div>\r\n <ul style=\"padding-left: 50px;\">\r\n \r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e767\" href=\"#toc\">Supplemental Data Elements</a></h3>\r\n \r\n <div>\r\n <ul style=\"list-style:none;padding-left: 25px;\">\r\n <li>None</li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e879\" href=\"#toc\">Risk Adjustment Variables</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 25px;\">\r\n <li>None</li>\r\n </ul>\r\n </div>\r\n <div style=\"float:left; background:teal; height:3px; width:80%\"></div>\r\n <table>\r\n \r\n <!-- <th:block th:each=\"con, iter : ${resource.content}\">\r\n <tr th:if=\"${con.contentType == 'text/cql'}\" style=\"vertical-align: top;\">\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Content</span></td>\r\n <td style=\"width:80%\" ><b>type: </b><span th:text=\"${con.contentType}\"></span></td>\r\n </tr>\r\n <tr th:if=\"${con.contentType == 'text/cql'}\">\r\n <td style=\"width:100%\" colspan=\"2\" >\r\n <th:block th:if=\"${con.getData() != null }\" >\r\n <pre><code th:class=\"${con.contentType == 'text/cql' ? 'language-cql' : 'language-xml'}\" th:text=\"${new java.lang.String(con.getData())}\"></code></pre>\r\n </th:block>\r\n <th:block th:if=\"${con.getData() == null }\" >\r\n <span><i><content is empty></i></span>\r\n </th:block>\r\n </td>\r\n </tr>\r\n </th:block > -->\r\n </table>\r\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table style=\"width: 60%; border-bottom: none;\" class=\"header_table\"> <!-- <tr th:if=\"${resource.hasId()}\" style=\"vertical-align: top;\"><th style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Id: </span></th><td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.id}\"></td></tr> --><tr style=\"vertical-align: top;\"><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Title</span></td><td colspan=\"1\" style=\"width:60%\"><h1 style=\"font-size:10px\">Controlling High Blood Pressure</h1></td><td scope=\"row\" style=\"background-color:#656565; width:10%\"><span class=\"td_label\">Measure ID</span></td><td colspan=\"1\" style=\"width:10%\"><h1 style=\"font-size:10px\">EXM165</h1></td></tr> <!-- <th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'CMS'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Identifier (Measure Authoring Tool)</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Version number</span></td><td style=\"width:30%\" th:narrative=\"${resource.version}\"></td></tr></th:block><th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'NQF'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">NQF Number</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">GUID</span></td><td style=\"width:30%\" th:narrative=\"${resource.url}\"></td></tr></th:block> --><tr style=\"vertical-align: top;\"><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Description</span></td><td colspan=\"3\" style=\"width:80%\"><div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><pre><p>Percentage of patients 18-85 years of age who had a diagnosis of hypertension overlapping the measurement period and whose most recent blood pressure was adequately controlled (<140/90mmHg) during the measurement period</p>\r\n</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measurement Period</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">January 1 - December 31</td>\r\n </tr>\r\n <!-- <tr>\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Steward</span></td>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td>\r\n </tr>\r\n <tr>\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Developer</span></td>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td>\r\n </tr> -->\r\n <!-- <tr th:if=\"${resource.hasDisclaimer()}\">\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Disclaimer</span></td>\r\n <td style=\"width:80%\" colspan=\"3\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre th:text=\"${resource.disclaimer}\"></pre>\r\n </div>\r\n </td>\r\n </tr> -->\r\n <tr>\r\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Copyright and Disclaimer Notice</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.\r\n \r\nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</pre>\r\n <br/>\r\n <pre>This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. <br> Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. <br> CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Clinical Recommendation Statement</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><p>The U.S. Preventive Services Task Force (2015) recommends screening for high blood pressure in adults age 18 years and older. This is a grade A recommendation.</p>\r\n<p>American College of Cardiology/American Heart Association (2017)<br/>\r\n-For adults with confirmed hypertension and known CVD or 10-year ASCVD event risk of 10% or higher, a blood pressure target of less than 130/80 mmHg is recommended<br/>\r\n-For adults with confirmed hypertension, without additional markers of increased CVD risk, a blood pressure target of less than 130/80 mmHg may be reasonable (Note: clinical trial evidence is strongest for a target blood pressure of 140/90 mmHg in this population. However observational studies suggest that these individuals often have a high lifetime risk and would benefit from blood pressure control earlier in life)</p>\r\n<p>American College of Physicians and the American Academy of Family Physicians (2017):<br/>\r\n-Initiate intensifying pharmacologic treatment in adults aged 60 and older at high cardiovascular risk, based on individualized assessment, to achieve a target systolic blood pressure of less than 140 mmHg (Grade: weak recommendation, quality of evidence: low)<br/>\r\n-Initiate intensifying pharmacologic treatment in adults aged 60 and older with a history of stroke or transient ischemic attack to achieve a target systolic blood pressure of less than 140 mmHg to reduce the risk of recurrent stroke (Grade: weak recommendation, quality of evidence: moderate)</p>\r\n<p>American Diabetes Association (2018):<br/>\r\nMost patients with diabetes and hypertension should be treated to a systolic blood pressure goal of <140 mmHg and a diastolic blood pressure goal of <90 mmHg (Level of evidence: A)</p>\r\n<p>Report from the Eighth Joint National Committee (2014)<br/>\r\n-In the general population younger than 60 years, initiate pharmacologic treatment to lower blood pressure at diastolic blood pressure (DBP) of 90 mmHg or higher and treat to a goal of DBP of lower than 90 mmHg (Grade: A (for ages 30-59), Grade: E (for ages 18-29))<br/>\r\n-In the general population younger than 60 years, initiate pharmacologic treatment to lower blood pressure at systolic blood pressure (SBP) to 140 mmHg or higher and treat to a goal of SBP of lower than 140 mmHg (Grade: E)<br/>\r\n-In the general population aged 60 years and older, initiate pharmacologic treatment to lower blood pressure at SBP of 150 mmHg or higher or a DBP of 90 mmHg or higher and treat to a goal of SBP lower than 150 mmHg and goal of DBP lower than 90 mmHg</p>\r\n</div>\r\n </td>\r\n </tr>\r\n \r\n <tr style=\"vertical-align: top;\">\r\n <td rowspan=\"14\" scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">References</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104.</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. </pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439.</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi: 10.1056/NEJMsa1406751. [published correction appears on page 1677] \r\nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9.</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437.</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>SPRINT Research Group,; Wright, J. T., Jr., Williamson, J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116.</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787.</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n \r\n <tr style=\"vertical-align: top;\">\r\n \r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre>Yoon, S. S., Fryar, C. D., & Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics.</pre>\r\n </div>\r\n </td>\r\n </tr>\r\n \r\n <tr>\r\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Characteristics</span></td>\r\n </tr>\r\n <tr>\r\n <td scope=\"row\" style=\"width:20%\"><span>Scoring</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">Proportion</td>\r\n </tr>\r\n <!-- <tr th:if=\"${resource.hasCompositeScoring()}\">\r\n <td style=\"width:20%\" scope=\"row\"><span class=\"td_label\">Composite Scoring</span></td>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.compositeScoring.getText().substring(0, 1).toUpperCase() + resource.compositeScoring.getText().substring(1)}\"></td>\r\n </tr> -->\r\n \r\n <tr style=\"vertical-align: top;\">\r\n <td rowspan=\"1\" scope=\"row\" style=\"width:20%\"><span>Type</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">Process</td>\r\n </tr>\r\n \r\n <!-- <tr th:if=\"${resource.hasStatus()}\" style=\"vertical-align: top;\">\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Status</span></td>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.status.toString().substring(0, 1).toUpperCase() + resource.status.toString().substring(1).toLowerCase()}\"></td>\r\n </tr>\r\n <tr th:if=\"${resource.hasPurpose()}\" style=\"vertical-align: top;\">\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Purpose</span></td>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.purpose}\"></td>\r\n </tr>\r\n <tr th:if=\"${resource.hasUsage()}\" style=\"vertical-align: top;\" >\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Usage</span></td>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.usage}\"></td>\r\n </tr>\r\n <th:block th:each=\"context, iter : ${resource.useContext}\" >\r\n <tr style=\"vertical-align: top;\">\r\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Use Context</span></td>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${context}\"></td>\r\n </tr>\r\n </th:block>\r\n <th:block th:each=\"topics, iter : ${resource.topic}\" >\r\n <tr style=\"vertical-align: top;\">\r\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Topic</span></td>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${topics}\"></td>\r\n </tr>\r\n </th:block>\r\n <th:block th:each=\"cont, iter : ${resource.contributor}\" >\r\n <tr style=\"vertical-align: top;\">\r\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Contributor</span></td>\r\n <td style=\"width:80%\" colspan=\"3\">\r\n <b><span th:narrative=\"${cont.type.toCode()}\"></span>: </b><span th:narrative=\"${cont.name}\"></span>\r\n </td>\r\n </tr>\r\n </th:block> -->\r\n <!-- <th:block th:each=\"lib, iter : ${resource.library}\" >\r\n <tr style=\"vertical-align: top;\">\r\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Library</span></td>\r\n <td style=\"width:80%\" colspan=\"3\">\r\n <p th:if=\"${lib.hasIdentifier()}\"><b>identifier: </b><span th:narrative=\"${lib.identifier}\"></span></p>\r\n <p th:if=\"${lib.hasReference()}\"><b>reference: </b><span th:narrative=\"${lib.reference}\"></span></p>\r\n <p th:if=\"${lib.hasDisplay()}\"><b>display: </b><span th:narrative=\"${lib.display}\"></span></p>\r\n </td>\r\n </tr>\r\n </th:block> -->\r\n \r\n <!-- <tr th:if=\"${resource.hasRateAggregation()}\" >\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rate Aggregation</span></td>\r\n <td style=\"width:80%\" colspan=\"3\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre th:text=\"${resource.rateAggregation}\"></pre>\r\n </div>\r\n </td>\r\n </tr>\r\n <tr th:if=\"${resource.hasRationale()}\">\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rationale</span></td>\r\n <td style=\"width:80%\" colspan=\"3\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre th:text=\"${resource.rationale}\"></pre>\r\n </div>\r\n </td>\r\n </tr> -->\r\n <tr>\r\n <td scope=\"row\" style=\"width:20%\"><span>Improvement Notation</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">A higher rate indicates better performance.</td>\r\n \r\n </tr>\r\n <tr>\r\n <td scope=\"row\" style=\"width:20%\"><span>Guidance</span></td>\r\n <td colspan=\"3\" style=\"width:80%\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><p>In reference to the numerator element, only blood pressure readings performed by a clinician or a remote monitoring device are acceptable for numerator compliance with this measure.</p>\r\n<p>Do not include BP readings:<br/>\r\n-Taken during an acute inpatient stay or an ED visit<br/>\r\n-Taken on the same day as a diagnostic test or diagnostic or therapeutic procedure that requires a change in diet or change in medication on or one day before the day of the test or procedure, with the exception of fasting blood tests.<br/>\r\n-Reported by or taken by the member</p>\r\n<p>If no blood pressure is recorded during the measurement period, the patient's blood pressure is assumed "not controlled."</p>\r\n<p>If there are multiple blood pressure readings on the same day, use the lowest systolic and the lowest diastolic reading as the most recent blood pressure reading.</p>\r\n</div>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Definitions</span></td>\r\n </tr>\r\n \r\n \r\n <!-- <th:block th:each=\"groups, iter : ${resource.uniquePopulationGroup}\" >\r\n <tr style=\"vertical-align: top;\">\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\" th:text=\"${groups.identifier.value}\"></span></td>\r\n <td style=\"width:80%\" colspan=\"3\">\r\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\r\n <pre th:text=\"${pops.description}\"></pre>\r\n </div>\r\n </td>\r\n </tr>\r\n </th:block> -->\r\n </table>\r\n <table style=\"width: 60%; border-top: none; border-bottom: none\" class=\"header_table\">\r\n \r\n </table>\r\n <table style=\"width: 60%; border-top: none;\" class=\"header_table\">\r\n <!-- <th:block th:each=\"supples, iter : ${resource.supplementalData}\">\r\n <tr>\r\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Supplemental Data:</b></th>\r\n <td style=\"width:80%\" colspan=\"3\" >\r\n <p style=\"margin-bottom: 5px;\" th:narrative=\"${supples.identifier}\"></p>\r\n <p style=\"margin-bottom: 5px;\" th:each=\"uses : ${supples.usage}\">\r\n <b>usage: </b>\r\n <span th:narrative=\"${uses}\"></span>\r\n </p>\r\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasCriteria()}\">\r\n <b>criteria: </b>\r\n <span th:narrative=\"${supples.criteria}\"></span>\r\n </p>\r\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasPath()}\">\r\n <b>path: </b>\r\n <span th:narrative=\"${supples.path}\"></span>\r\n </p>\r\n </td>\r\n </tr>\r\n </th:block> -->\r\n <!-- <th:block th:each=\"param, iter : ${resource.parameter}\">\r\n <tr style=\"vertical-align: top;\">\r\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Parameter: </b></th>\r\n <td style=\"width:80%\" colspan=\"3\" >\r\n <span th:if=\"${param.hasName()}\">\r\n <b>name: </b>\r\n <span th:narrative=\"${param.name}\"></span>\r\n <br/>\r\n </span>\r\n <b>use: </b>\r\n <span th:narrative=\"${param.use.toCode()}\"></span>\r\n <br/>\r\n <span th:if=\"${param.hasMin()}\">\r\n <b>minimum cardinality: </b>\r\n <span th:narrative=\"${param.min}\"></span>\r\n <br/>\r\n </span>\r\n <span th:if=\"${param.hasMax()}\">\r\n <b>maximum cardinality: </b>\r\n <span th:narrative=\"${param.max}\"></span>\r\n <br/>\r\n </span>\r\n <b>type: </b>\r\n <span th:narrative=\"${param.type}\"></span>\r\n <br/>\r\n <span th:if=\"${param.hasDocumentation()}\">\r\n <b>documentation: </b>\r\n <span th:narrative=\"${param.documentation}\"></span>\r\n <br/>\r\n </span>\r\n <span th:if=\"${param.hasProfile()}\">\r\n <b>profile: </b>\r\n <span th:narrative=\"${param.profile}\"></span>\r\n <br/>\r\n </span>\r\n <p style=\"margin-bottom: 5px;\"></p>\r\n </td>\r\n </tr>\r\n </th:block> -->\r\n <!-- <th:block th:each=\"dataReq, iter : ${resource.dataRequirement}\">\r\n <tr style=\"vertical-align: top;\">\r\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\" ><b>Data Requirements: </b></th>\r\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${dataReq}\"></td>\r\n </tr>\r\n </th:block> -->\r\n </table>\r\n <h2><a name=\"toc\">Table of Contents</a></h2>\r\n <ul style=\"padding-left: 50px;\">\r\n <li><a href=\"#d1e405\">Population Criteria</a></li>\r\n <li><a href=\"#d1e649\">Definitions</a></li>\r\n <li><a href=\"#d1e650\">Functions</a></li>\r\n <li><a href=\"#d1e555\">Terminology</a></li>\r\n <li><a href=\"#d1e647\">Data Criteria (QDM Data Elements)</a></li>\r\n <li><a href=\"#d1e767\">Supplemental Data Elements</a></li>\r\n <li><a href=\"#d1e879\">Risk Adjustment Variables</a></li>\r\n </ul>\r\n <div style=\"float:left; background:teal; height:3px; width:80%\"/>\r\n \r\n <pre><br/></pre>\r\n <h3><a name=\"d1e405\" href=\"#toc\">Population Criteria</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left:10px;\">\r\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\r\n \r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"Initial Population\" type=\"checkbox\"/><label for=\"Initial Population\" class=\"list-header\"><strong>Initial Population</strong></label>\r\n <ul class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul>\r\n <li style=\"padding-left: 0px;\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\tCommon.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period") between 18 and 85\r\n\t\tand exists "Essential Hypertension Diagnosis"\r\n\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div>\r\n \r\n \r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"Numerator\" type=\"checkbox\"/><label for=\"Numerator\" class=\"list-header\"><strong>Numerator</strong></label>\r\n <ul class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul>\r\n <li style=\"padding-left: 0px;\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t"Has Diastolic Blood Pressure Less Than 90"\r\n\t\tand "Has Systolic Blood Pressure Less Than 140"</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div>\r\n \r\n \r\n <div class=\"treeview hover p-l-10\">\r\n <ul class=\"list-unstyled\">\r\n <li class=\"list-unstyled\"><input id=\"Denominator\" type=\"checkbox\"/><label for=\"Denominator\" class=\"list-header\"><strong>Denominator</strong></label>\r\n <ul class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <ul>\r\n <li style=\"padding-left: 0px;\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t"Initial Population"</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul></li>\r\n </ul>\r\n </div>\r\n \r\n \r\n <div class=\"treeview hover p-l-10\">\r\n \r\n </div>\r\n \r\n \r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <h3><a name=\"d1e649\" href=\"#toc\">Definitions</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Blood Pressure Days\" type=\"checkbox\"/>\r\n <label for=\"Blood Pressure Days\" class=\"list-header\"><strong>Blood Pressure Days</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t( ( "Qualifying Diastolic Blood Pressure Reading" DBPExam\r\n\t\t\t\treturn date from DBPExam.effective\r\n\t\t)\r\n\t\t\tintersect ( "Qualifying Systolic Blood Pressure Reading" SBPExam\r\n\t\t\t\t\treturn date from SBPExam.effective\r\n\t\t\t)\r\n\t)</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Denominator\" type=\"checkbox\"/>\r\n <label for=\"Denominator\" class=\"list-header\"><strong>Denominator</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t"Initial Population"</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"End Stage Renal Disease Encounter\" type=\"checkbox\"/>\r\n <label for=\"End Stage Renal Disease Encounter\" class=\"list-header\"><strong>End Stage Renal Disease Encounter</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t["Encounter": "ESRD Monthly Outpatient Services"] ESRDEncounter\r\n\t\twhere ESRDEncounter.status.value in { 'planned', 'arrived', 'triaged', 'in-progress', 'onleave', 'finished' }\r\n\t\t and ESRDEncounter.period starts before end of "Measurement Period"</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"End Stage Renal Disease Procedures\" type=\"checkbox\"/>\r\n <label for=\"End Stage Renal Disease Procedures\" class=\"list-header\"><strong>End Stage Renal Disease Procedures</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t( ["Procedure": "Vascular Access for Dialysis"]\r\n\t\tunion ["Procedure": "Kidney Transplant"]\r\n\t\tunion ["Procedure": "Dialysis Services"] ) ESRDProcedure\r\n\t\twhere ESRDProcedure.status = 'completed'\r\n and ESRDProcedure.performed starts before end of "Measurement Period"</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Essential Hypertension Diagnosis\" type=\"checkbox\"/>\r\n <label for=\"Essential Hypertension Diagnosis\" class=\"list-header\"><strong>Essential Hypertension Diagnosis</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t["Condition": "Essential Hypertension"] Hypertension\r\n where Hypertension.verificationStatus = 'confirmed'\r\n and (Hypertension.assertedDate 6 months or less on or after start of "Measurement Period"\r\n or Hypertension.assertedDate before end of "Measurement Period"\r\n )</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Has Diastolic Blood Pressure Less Than 90\" type=\"checkbox\"/>\r\n <label for=\"Has Diastolic Blood Pressure Less Than 90\" class=\"list-header\"><strong>Has Diastolic Blood Pressure Less Than 90</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t"Lowest Diastolic Reading on Most Recent Blood Pressure Day".value < 90</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Has Systolic Blood Pressure Less Than 140\" type=\"checkbox\"/>\r\n <label for=\"Has Systolic Blood Pressure Less Than 140\" class=\"list-header\"><strong>Has Systolic Blood Pressure Less Than 140</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t"Lowest Systolic Reading on Most Recent Blood Pressure Day".value < 140</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Initial Population\" type=\"checkbox\"/>\r\n <label for=\"Initial Population\" class=\"list-header\"><strong>Initial Population</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\tCommon.CalendarAgeInYearsAt(FHIRHelpers.ToDate(Patient.birthDate), end of "Measurement Period") between 18 and 85\r\n\t\tand exists "Essential Hypertension Diagnosis"\r\n\t\tand exists AdultOutpatientEncounters."Qualifying Encounters"("Measurement Period")</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Lowest Diastolic Reading on Most Recent Blood Pressure Day\" type=\"checkbox\"/>\r\n <label for=\"Lowest Diastolic Reading on Most Recent Blood Pressure Day\" class=\"list-header\"><strong>Lowest Diastolic Reading on Most Recent Blood Pressure Day</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\tFirst(\r\n "Qualifying Diastolic Blood Pressure Reading" DBPReading\r\n\t\t where DBPReading.effective same day as "Most Recent Blood Pressure Day"\r\n return singleton from (\r\n DBPReading.component C\r\n where C.code ~ "Diastolic blood pressure"\r\n return C.value as Quantity\r\n )\r\n\t\t\tsort ascending\r\n\t)</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Lowest Systolic Reading on Most Recent Blood Pressure Day\" type=\"checkbox\"/>\r\n <label for=\"Lowest Systolic Reading on Most Recent Blood Pressure Day\" class=\"list-header\"><strong>Lowest Systolic Reading on Most Recent Blood Pressure Day</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\tFirst(\r\n "Qualifying Systolic Blood Pressure Reading" SBPReading\r\n\t\t where SBPReading.effective same day as "Most Recent Blood Pressure Day"\r\n return singleton from (\r\n SBPReading.component C\r\n where C.code ~ "Systolic blood pressure"\r\n return C.value as Quantity\r\n )\r\n sort ascending\r\n\t)</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Most Recent Blood Pressure Day\" type=\"checkbox\"/>\r\n <label for=\"Most Recent Blood Pressure Day\" class=\"list-header\"><strong>Most Recent Blood Pressure Day</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\tMax("Blood Pressure Days")</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Numerator\" type=\"checkbox\"/>\r\n <label for=\"Numerator\" class=\"list-header\"><strong>Numerator</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t"Has Diastolic Blood Pressure Less Than 90"\r\n\t\tand "Has Systolic Blood Pressure Less Than 140"</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Pregnancy Or Renal Diagnosis Exclusions\" type=\"checkbox\"/>\r\n <label for=\"Pregnancy Or Renal Diagnosis Exclusions\" class=\"list-header\"><strong>Pregnancy Or Renal Diagnosis Exclusions</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t( ["Condition": "Pregnancy"]\r\n\t\tunion ["Condition": "End Stage Renal Disease"]\r\n\t\tunion ["Condition": "Kidney Transplant Recipient"]\r\n\t\tunion ["Condition": "Chronic Kidney Disease, Stage 5"] ) PregnancyESRDDiagnosis\r\n where PregnancyESRDDiagnosis.verificationStatus = 'confirmed'\r\n and PregnancyESRDDiagnosis.assertedDate before end of "Measurement Period"</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Qualifying Diastolic Blood Pressure Reading\" type=\"checkbox\"/>\r\n <label for=\"Qualifying Diastolic Blood Pressure Reading\" class=\"list-header\"><strong>Qualifying Diastolic Blood Pressure Reading</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t["Observation": "Blood pressure"] BloodPressure \r\n\t where BloodPressure.status in {'final', 'amended'} \r\n and BloodPressure.effective during "Measurement Period"\r\n // TODO: Turn this into a value set\r\n\t //and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS' })\r\n and exists (\r\n BloodPressure.component DiastolicBP \r\n where FHIRHelpers.ToConcept(DiastolicBP.code) ~ "Diastolic blood pressure"\r\n and DiastolicBP.value.unit = 'mm[Hg]'\r\n )</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"Qualifying Systolic Blood Pressure Reading\" type=\"checkbox\"/>\r\n <label for=\"Qualifying Systolic Blood Pressure Reading\" class=\"list-header\"><strong>Qualifying Systolic Blood Pressure Reading</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">\t["Observation": "Blood pressure"] BloodPressure \r\n\t where BloodPressure.status in {'final', 'amended'} \r\n and BloodPressure.effective during "Measurement Period"\r\n // TODO: Turn this into a value set\r\n\t and not (GetEncounter(BloodPressure."context").class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS'})\r\n and exists (\r\n BloodPressure.component SystolicBP \r\n where FHIRHelpers.ToConcept(SystolicBP.code) ~ "Systolic blood pressure"\r\n and SystolicBP.value.unit = 'mm[Hg]'\r\n )</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e650\" href=\"#toc\">Functions</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 10px;\">\r\n <li style=\"list-style:none;\" class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\r\n <li class=\"list-unstyled\">\r\n <div class=\"treeview hover p-l-10\">\r\n <input id=\"GetEncounter\" type=\"checkbox\"/>\r\n <label for=\"GetEncounter\" class=\"list-header\"><strong>GetEncounter</strong></label>\r\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\r\n <li class=\"list-unstyled\">\r\n <div>\r\n <ul style=\"padding-left: 0px;\">\r\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\r\n <div>\r\n <pre class=\"cql-definition-body\">define function GetEncounter(reference Reference):\r\n singleton from ( [Encounter: id in Common.GetId(reference.reference)] )</pre>\r\n </div></li>\r\n </ul>p;\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div></li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e555\" href=\"#toc\">Terminology</a></h3>\r\n <div>\r\n <ul style=\"padding-left: 50px;\">\r\n <li style=\"width:80%\">codesystem "LOINC" : '2.16.840.1.113883.6.1'</li>\r\n <li style=\"width:80%\">code "Birth date" : '21112-8' from "LOINC" display 'Birth date'</li>\r\n <li style=\"width:80%\">code "Blood pressure" : '85354-9' from "LOINC" display 'blood pressure'</li>\r\n <li style=\"width:80%\">code "Diastolic blood pressure" : '8462-4' from "LOINC" display 'Diastolic blood pressure'</li>\r\n <li style=\"width:80%\">code "Systolic blood pressure" : '8480-6' from "LOINC" display 'Systolic blood pressure'</li>\r\n <li style=\"width:80%\">valueset "Chronic Kidney Disease, Stage 5" : '2.16.840.1.113883.3.526.3.1002'</li>\r\n <li style=\"width:80%\">valueset "Dialysis Services" : '2.16.840.1.113883.3.464.1003.109.12.1013'</li>\r\n <li style=\"width:80%\">valueset "ED" : '2.16.840.1.113883.3.464.1003.101.12.1085'</li>\r\n <li style=\"width:80%\">valueset "Encounter Inpatient" : '2.16.840.1.113883.3.666.5.307'</li>\r\n <li style=\"width:80%\">valueset "End Stage Renal Disease" : '2.16.840.1.113883.3.526.3.353'</li>\r\n <li style=\"width:80%\">valueset "ESRD Monthly Outpatient Services" : '2.16.840.1.113883.3.464.1003.109.12.1014'</li>\r\n <li style=\"width:80%\">valueset "Essential Hypertension" : '2.16.840.1.113883.3.464.1003.104.12.1011'</li>\r\n <li style=\"width:80%\">valueset "Ethnicity" : '2.16.840.1.114222.4.11.837'</li>\r\n <li style=\"width:80%\">valueset "Kidney Transplant Recipient" : '2.16.840.1.113883.3.464.1003.109.12.1029'</li>\r\n <li style=\"width:80%\">valueset "Kidney Transplant" : '2.16.840.1.113883.3.464.1003.109.12.1012'</li>\r\n <li style=\"width:80%\">valueset "ONC Administrative Sex" : '2.16.840.1.113762.1.4.1'</li>\r\n <li style=\"width:80%\">valueset "Payer" : '2.16.840.1.114222.4.11.3591'</li>\r\n <li style=\"width:80%\">valueset "Pregnancy" : '2.16.840.1.113883.3.526.3.378'</li>\r\n <li style=\"width:80%\">valueset "Race" : '2.16.840.1.114222.4.11.836'</li>\r\n <li style=\"width:80%\">valueset "Vascular Access for Dialysis" : '2.16.840.1.113883.3.464.1003.109.12.1011'</li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e647\" href=\"#toc\">Data Criteria (QDM Data Elements)</a></h3>\r\n <div>\r\n <ul style=\"padding-left: 50px;\">\r\n \r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e767\" href=\"#toc\">Supplemental Data Elements</a></h3>\r\n \r\n <div>\r\n <ul style=\"list-style:none;padding-left: 25px;\">\r\n <li>None</li>\r\n </ul>\r\n </div>\r\n <h3><a name=\"d1e879\" href=\"#toc\">Risk Adjustment Variables</a></h3>\r\n <div>\r\n <ul style=\"list-style:none;padding-left: 25px;\">\r\n <li>None</li>\r\n </ul>\r\n </div>\r\n <div style=\"float:left; background:teal; height:3px; width:80%\"/>\r\n <table>\r\n \r\n <!-- <th:block th:each=\"con, iter : ${resource.content}\">\r\n <tr th:if=\"${con.contentType == 'text/cql'}\" style=\"vertical-align: top;\">\r\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Content</span></td>\r\n <td style=\"width:80%\" ><b>type: </b><span th:text=\"${con.contentType}\"></span></td>\r\n </tr>\r\n <tr th:if=\"${con.contentType == 'text/cql'}\">\r\n <td style=\"width:100%\" colspan=\"2\" >\r\n <th:block th:if=\"${con.getData() != null }\" >\r\n <pre><code th:class=\"${con.contentType == 'text/cql' ? 'language-cql' : 'language-xml'}\" th:text=\"${new java.lang.String(con.getData())}\"></code></pre>\r\n </th:block>\r\n <th:block th:if=\"${con.getData() == null }\" >\r\n <span><i><content is empty></i></span>\r\n </th:block>\r\n </td>\r\n </tr>\r\n </th:block > -->\r\n </table>\r\n</div>" }, - "extension": [ - { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", - "valueCode": "boolean" + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", + "valueCode": "boolean" + }, { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" } - ], + } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-EXM165-FHIR3", "version": "1.0.000", "name": "EXM165", @@ -33,297 +34,218 @@ "start": "2019-01-01", "end": "2019-12-31" }, - "useContext": [ - { - "code": { - "code": "program" - }, - "valueCodeableConcept": { - "text": "eligible-provider" - } + "useContext": [ { + "code": { + "code": "program" + }, + "valueCodeableConcept": { + "text": "eligible-provider" } - ], - "jurisdiction": [ - { - "coding": [ - { - "system": "urn:iso:std:iso:3166", - "code": "US" - } - ] + } ], + "jurisdiction": [ { + "coding": [ { + "system": "urn:iso:std:iso:3166", + "code": "US" + } ] + } ], + "topic": [ { + "coding": [ { + "system": "http://loinc.org", + "code": "57024-2", + "display": "Health Quality Measure Document" + } ] + } ], + "contributor": [ { + "type": "author", + "name": "National Committee for Quality Assurance" + } ], + "contact": [ { + "telecom": [ { + "system": "url", + "value": "http://www.ncqa.org/" + } ] + } ], + "copyright": "This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. <br> Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. <br> CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.", + "relatedArtifact": [ { + "type": "citation", + "citation": "American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104." + }, { + "type": "citation", + "citation": "Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485" + }, { + "type": "citation", + "citation": "Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html" + }, { + "type": "citation", + "citation": "Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. " + }, { + "type": "citation", + "citation": "Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html" + }, { + "type": "citation", + "citation": "Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439." + }, { + "type": "citation", + "citation": "James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427" + }, { + "type": "citation", + "citation": "Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi: 10.1056/NEJMsa1406751. [published correction appears on page 1677] \nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9." + }, { + "type": "citation", + "citation": "Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753" + }, { + "type": "citation", + "citation": "Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437." + }, { + "type": "citation", + "citation": "SPRINT Research Group,; Wright, J. T., Jr., Williamson, J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116." + }, { + "type": "citation", + "citation": "U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787." + }, { + "type": "citation", + "citation": "Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065" + }, { + "type": "citation", + "citation": "Yoon, S. S., Fryar, C. D., & Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics." + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" } - ], - "topic": [ - { - "coding": [ - { - "system": "http://loinc.org", - "code": "57024-2", - "display": "Health Quality Measure Document" - } - ] + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" } - ], - "contributor": [ - { - "type": "author", - "name": "National Committee for Quality Assurance" + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" } - ], - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://www.ncqa.org/" - } - ] + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-AdvancedIllnessandFrailtyExclusion-FHIR3-4.0.000" } - ], - "copyright": "This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. <br> Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. <br> CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.", - "relatedArtifact": [ - { - "type": "citation", - "citation": "American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104." - }, - { - "type": "citation", - "citation": "Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485" - }, - { - "type": "citation", - "citation": "Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html" - }, - { - "type": "citation", - "citation": "Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. " - }, - { - "type": "citation", - "citation": "Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html" - }, - { - "type": "citation", - "citation": "Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439." - }, - { - "type": "citation", - "citation": "James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427" - }, - { - "type": "citation", - "citation": "Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi: 10.1056/NEJMsa1406751. [published correction appears on page 1677] \nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9." - }, - { - "type": "citation", - "citation": "Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753" - }, - { - "type": "citation", - "citation": "Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437." - }, - { - "type": "citation", - "citation": "SPRINT Research Group,; Wright, J. T., Jr., Williamson, J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116." - }, - { - "type": "citation", - "citation": "U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787." - }, - { - "type": "citation", - "citation": "Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065" - }, - { - "type": "citation", - "citation": "Yoon, S. S., Fryar, C. D., & Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics." - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-AdultOutpatientEncounters-FHIR3-1.1.000" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-AdvancedIllnessandFrailtyExclusion-FHIR3-4.0.000" - } - } - ], - "library": [ - { - "reference": "Library/library-EXM165-FHIR3-8.5.000" - } - ], + } ], + "library": [ { + "reference": "Library/library-EXM165-FHIR3-8.5.000" + } ], "disclaimer": "The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND.\n \nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].", "scoring": { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-scoring", - "code": "proportion" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/measure-scoring", + "code": "proportion" + } ] }, - "type": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-type", - "code": "process" - } - ] - } - ], + "type": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-type", + "code": "process" + } ] + } ], "rationale": "High blood pressure (HBP), also known as hypertension, is when the pressure in blood vessels is higher than normal (Centers for Disease Control and Prevention [CDC], 2016). The causes of hypertension are multiple and multifaceted and can be based on genetic predisposition, environmental risk factors, being overweight and obese, sodium intake, potassium intake, physical activity, and alcohol use. High Blood Pressure is common, according to the National Health and Nutrition Examination Survey (NHANES), approximately 85.7 million adults >= 20 years of age had HBP (140/90 mm Hg) between 2011 to 2014 (Crim, 2012. Between 2011-2014 the prevalence of hypertension (>=140/90 mm Hg) among US adults 60 and older was approximately 67.2 percent (Benjamin et al., 2017). \n\nHBP, known as the “silent killer,” increases risks of heart disease and stroke which are two of the leading causes of death in the U.S. (Yoon, Fryar, & Carroll, 2015). A person who has HBP is four times more likely to die from a stroke and three times more likely to die from heart disease (CDC, 2012) The National Vital Statistics Systems Center for Disease Control and Prevention reported that in 2014 there were approximately 73,300 deaths directly due to HBP and 410,624 deaths with any mention of HBP (CDC, 20145).Between 2004 and 2014 the number of deaths due to HBP rose by 34.1 percent (Benjamin et al., 2017). Managing and treating HBP would reduce cardiovascular disease mortality for males and females by 30.4 percent and 38.0 percent, respectively (Patel et al., 2015).\n\nThe estimated annual average direct and indirect cost of HBP from 2012 to 2013 was $51.2 billion (Benjamin et al., 2017). Total direct costs of HBP is projected to increase to $200 billion by 2030 (Benjamin et al., 2017). A study on cost-effectiveness on treating hypertension found that controlling HBP in patients with cardiovascular disease and systolic blood pressures of >=160 mm Hg could be effective and cost-saving (Moran et al., 2015). \n\nMany studies have shown that controlling high blood pressure reduces cardiovascular events and mortality. The Systolic Blood Pressure Intervention Trial (SPRINT) investigated the impact of obtaining a SBP goal of <120 mm Hg compared to a SBP goal of <140 mm Hg among patients 50 and older with established cardiovascular disease and found that the patients with the former goal had reduced cardiovascular events and mortality (SPRINT Research Group et al., 2015). \n\nControlling HBP will significantly reduce the risks of cardiovascular disease mortality and lead to better health outcomes like reduction of heart attacks, stroke, and kidney disease (James et al., 2014). Thus, the relationship between the measure (control of hypertension) and the long-term clinical outcomes listed is well established.", "clinicalRecommendationStatement": "The U.S. Preventive Services Task Force (2015) recommends screening for high blood pressure in adults age 18 years and older. This is a grade A recommendation. \n\nAmerican College of Cardiology/American Heart Association (2017)\n-For adults with confirmed hypertension and known CVD or 10-year ASCVD event risk of 10% or higher, a blood pressure target of less than 130/80 mmHg is recommended\n-For adults with confirmed hypertension, without additional markers of increased CVD risk, a blood pressure target of less than 130/80 mmHg may be reasonable (Note: clinical trial evidence is strongest for a target blood pressure of 140/90 mmHg in this population. However observational studies suggest that these individuals often have a high lifetime risk and would benefit from blood pressure control earlier in life)\n\nAmerican College of Physicians and the American Academy of Family Physicians (2017): \n-Initiate intensifying pharmacologic treatment in adults aged 60 and older at high cardiovascular risk, based on individualized assessment, to achieve a target systolic blood pressure of less than 140 mmHg (Grade: weak recommendation, quality of evidence: low)\n-Initiate intensifying pharmacologic treatment in adults aged 60 and older with a history of stroke or transient ischemic attack to achieve a target systolic blood pressure of less than 140 mmHg to reduce the risk of recurrent stroke (Grade: weak recommendation, quality of evidence: moderate)\n\nAmerican Diabetes Association (2018):\nMost patients with diabetes and hypertension should be treated to a systolic blood pressure goal of <140 mmHg and a diastolic blood pressure goal of <90 mmHg (Level of evidence: A)\n\nReport from the Eighth Joint National Committee (2014)\n-In the general population younger than 60 years, initiate pharmacologic treatment to lower blood pressure at diastolic blood pressure (DBP) of 90 mmHg or higher and treat to a goal of DBP of lower than 90 mmHg (Grade: A (for ages 30-59), Grade: E (for ages 18-29))\n-In the general population younger than 60 years, initiate pharmacologic treatment to lower blood pressure at systolic blood pressure (SBP) to 140 mmHg or higher and treat to a goal of SBP of lower than 140 mmHg (Grade: E)\n-In the general population aged 60 years and older, initiate pharmacologic treatment to lower blood pressure at SBP of 150 mmHg or higher or a DBP of 90 mmHg or higher and treat to a goal of SBP lower than 150 mmHg and goal of DBP lower than 90 mmHg", "improvementNotation": "increase", "guidance": "In reference to the numerator element, only blood pressure readings performed by a clinician or a remote monitoring device are acceptable for numerator compliance with this measure. \n\nDo not include BP readings:\n-Taken during an acute inpatient stay or an ED visit\n-Taken on the same day as a diagnostic test or diagnostic or therapeutic procedure that requires a change in diet or change in medication on or one day before the day of the test or procedure, with the exception of fasting blood tests.\n-Reported by or taken by the member\n\n\nIf no blood pressure is recorded during the measurement period, the patient's blood pressure is assumed \"not controlled.\"\n\nIf there are multiple blood pressure readings on the same day, use the lowest systolic and the lowest diastolic reading as the most recent blood pressure reading.", - "group": [ - { + "group": [ { + "identifier": { + "value": "group-1" + }, + "population": [ { "identifier": { - "value": "group-1" + "value": "initial-population-identifier" }, - "population": [ - { - "identifier": { - "value": "initial-population-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "initial-population", - "display": "Initial Population" - } - ] - }, - "criteria": "Initial Population" - }, - { - "identifier": { - "value": "numerator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "numerator", - "display": "Numerator" - } - ] - }, - "criteria": "Numerator" - }, - { - "identifier": { - "value": "denominator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator", - "display": "Denominator" - } - ] - }, - "criteria": "Denominator" - }, - { - "identifier": { - "value": "denominator-exclusions-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator-exclusion", - "display": "Denominator Exclusion" - } - ] - }, - "criteria": "Denominator Exclusion" - } - ] - } - ], - "supplementalData": [ - { - "identifier": { - "value": "sde-ethnicity" + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population", + "display": "Initial Population" + } ] }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Ethnicity" - }, - { + "criteria": "Initial Population" + }, { "identifier": { - "value": "sde-payer" + "value": "numerator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Payer" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "numerator", + "display": "Numerator" + } ] + }, + "criteria": "Numerator" + }, { "identifier": { - "value": "sde-race" + "value": "denominator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Race" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator", + "display": "Denominator" + } ] + }, + "criteria": "Denominator" + }, { "identifier": { - "value": "sde-sex" + "value": "denominator-exclusions-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Sex" - } - ] -} + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator-exclusion", + "display": "Denominator Exclusion" + } ] + }, + "criteria": "Denominator Exclusion" + } ] + } ], + "supplementalData": [ { + "identifier": { + "value": "sde-ethnicity" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Ethnicity" + }, { + "identifier": { + "value": "sde-payer" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Payer" + }, { + "identifier": { + "value": "sde-race" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Race" + }, { + "identifier": { + "value": "sde-sex" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Sex" + } ] +} \ No newline at end of file diff --git a/fhir3/input/resources/measure/measure-EXM349_FHIR3-2.9.000.json b/fhir3/input/resources/measure/measure-EXM349_FHIR3-2.9.000.json index ecddb60d..40d955fa 100644 --- a/fhir3/input/resources/measure/measure-EXM349_FHIR3-2.9.000.json +++ b/fhir3/input/resources/measure/measure-EXM349_FHIR3-2.9.000.json @@ -4,20 +4,21 @@ "meta": { "versionId": "2", "lastUpdated": "2019-12-13T06:15:57.263+00:00", - "profile": [ - "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" - ] + "profile": [ "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" ] }, "text": { "status": "generated", - "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table style=\"width: 60%; border-bottom: none;\" class=\"header_table\"> <!-- <tr th:if=\"${resource.hasId()}\" style=\"vertical-align: top;\"><th style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Id: </span></th><td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.id}\"></td></tr> --><tr style=\"vertical-align: top;\"><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Title</span></td><td colspan=\"1\" style=\"width:60%\"><h1 style=\"font-size:10px\">HIV Screening</h1></td><td scope=\"row\" style=\"background-color:#656565; width:10%\"><span class=\"td_label\">Measure ID</span></td><td colspan=\"1\" style=\"width:10%\"><h1 style=\"font-size:10px\">EXM349</h1></td></tr> <!-- <th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'CMS'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Identifier (Measure Authoring Tool)</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Version number</span></td><td style=\"width:30%\" th:narrative=\"${resource.version}\"></td></tr></th:block><th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'NQF'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">NQF Number</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">GUID</span></td><td style=\"width:30%\" th:narrative=\"${resource.url}\"></td></tr></th:block> --><tr style=\"vertical-align: top;\"><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Description</span></td><td colspan=\"3\" style=\"width:80%\"><div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><pre><p>Percentage of patients aged 15-65 at the start of the measurement period who were between 15-65 years old when tested for HIV</p>\n</pre>\n </div>\n </td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measurement Period</span></td>\n <td colspan=\"3\" style=\"width:80%\">January 1 - December 31</td>\n </tr>\n <!-- <tr>\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Steward</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td>\n </tr>\n <tr>\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Developer</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td>\n </tr> -->\n <!-- <tr th:if=\"${resource.hasDisclaimer()}\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Disclaimer</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.disclaimer}\"></pre>\n </div>\n </td>\n </tr> -->\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Copyright and Disclaimer Notice</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND.\n \nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</pre>\n <br/>\n <div>This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. %26lt;br%26gt; Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. %26lt;br%26gt; CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.</div>\n </div>\n </td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Clinical Recommendation Statement</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><p>The US Preventive Services Task Force recommends that clinicians screen for HIV infection in adolescents and adults aged 15 to 65 years. Younger adolescents and older adults who are at increased risk should also be screened (A Recommendation) (Moyer, 2013).</p>\n<p>Since 2006, the CDC has recommended routine opt-out HIV screening (i.e., patient is notified that testing will be performed unless the patient declines) in healthcare facilities of adolescents and adults 13-64 years of age and HIV diagnostic testing of adolescents and adults with clinical signs or symptoms consistent with HIV infection (Centers for Disease Control and Prevention, 2006).</p>\n</div>\n </td>\n </tr>\n \n <tr style=\"vertical-align: top;\">\n <td rowspan=\"14\" scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">References</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. </pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi: 10.1056/NEJMsa1406751. [published correction appears on page 1677] \nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>SPRINT Research Group,; Wright, J. T., Jr., Williamson, J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Yoon, S. S., Fryar, C. D., %26amp; Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics.</pre>\n </div>\n </td>\n </tr>\n \n <tr>\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Characteristics</span></td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Scoring</span></td>\n <td colspan=\"3\" style=\"width:80%\">Proportion</td>\n </tr>\n <!-- <tr th:if=\"${resource.hasCompositeScoring()}\">\n <td style=\"width:20%\" scope=\"row\"><span class=\"td_label\">Composite Scoring</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.compositeScoring.getText().substring(0, 1).toUpperCase() + resource.compositeScoring.getText().substring(1)}\"></td>\n </tr> -->\n \n <tr style=\"vertical-align: top;\">\n <td rowspan=\"1\" scope=\"row\" style=\"width:20%\"><span>Type</span></td>\n <td colspan=\"3\" style=\"width:80%\">Process</td>\n </tr>\n \n <!-- <tr th:if=\"${resource.hasStatus()}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Status</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.status.toString().substring(0, 1).toUpperCase() + resource.status.toString().substring(1).toLowerCase()}\"></td>\n </tr>\n <tr th:if=\"${resource.hasPurpose()}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Purpose</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.purpose}\"></td>\n </tr>\n <tr th:if=\"${resource.hasUsage()}\" style=\"vertical-align: top;\" >\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Usage</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.usage}\"></td>\n </tr>\n <th:block th:each=\"context, iter : ${resource.useContext}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Use Context</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${context}\"></td>\n </tr>\n </th:block>\n <th:block th:each=\"topics, iter : ${resource.topic}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Topic</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${topics}\"></td>\n </tr>\n </th:block>\n <th:block th:each=\"cont, iter : ${resource.contributor}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Contributor</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <b><span th:narrative=\"${cont.type.toCode()}\"></span>: </b><span th:narrative=\"${cont.name}\"></span>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"lib, iter : ${resource.library}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Library</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <p th:if=\"${lib.hasIdentifier()}\"><b>identifier: </b><span th:narrative=\"${lib.identifier}\"></span></p>\n <p th:if=\"${lib.hasReference()}\"><b>reference: </b><span th:narrative=\"${lib.reference}\"></span></p>\n <p th:if=\"${lib.hasDisplay()}\"><b>display: </b><span th:narrative=\"${lib.display}\"></span></p>\n </td>\n </tr>\n </th:block> -->\n \n <!-- <tr th:if=\"${resource.hasRateAggregation()}\" >\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rate Aggregation</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.rateAggregation}\"></pre>\n </div>\n </td>\n </tr>\n <tr th:if=\"${resource.hasRationale()}\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rationale</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.rationale}\"></pre>\n </div>\n </td>\n </tr> -->\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Improvement Notation</span></td>\n <td colspan=\"3\" style=\"width:80%\">A higher rate indicates better performance.</td>\n \n </tr>\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Guidance</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><p>This measure evaluates the proportion of patients aged 15 to 65 at the start of the measurement period who have documentation of having received an HIV test at least once on or after their 15th birthday and before their 66th birthday. In order to satisfy the measure, the reporting provider must have documentation of the administration of the laboratory test present in the patient's medical record. In cases where the HIV test was performed elsewhere, providers cannot rely on patient attestation or self-report to meet the measure requirements, as previous research has shown that patient self-report is an unreliable indicator of previous HIV testing history. Rather, providers must request documentation of those test results. If such documentation is not available, the patient should be considered still eligible for HIV screening. If such documentation is available, but cannot be provided in a standardized, structured format (such that the lab test and results can be readily incorporated as structured data within the EHR), providers should enter the information into their EHR as a laboratory test in a manner consistent with the EHR in use. If the specific Human Immunodeficiency Virus (HIV) Laboratory Test LOINC code of the test is not known, the entry should use the more generic code LOINC panel code [75622-1].</p>\n</div>\n </td>\n </tr>\n <tr>\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Definitions</span></td>\n </tr>\n \n \n <!-- <th:block th:each=\"groups, iter : ${resource.uniquePopulationGroup}\" >\n <tr style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\" th:text=\"${groups.identifier.value}\"></span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${pops.description}\"></pre>\n </div>\n </td>\n </tr>\n </th:block> -->\n </table>\n <table style=\"width: 60%; border-top: none; border-bottom: none\" class=\"header_table\">\n \n </table>\n <table style=\"width: 60%; border-top: none;\" class=\"header_table\">\n <!-- <th:block th:each=\"supples, iter : ${resource.supplementalData}\">\n <tr>\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Supplemental Data:</b></th>\n <td style=\"width:80%\" colspan=\"3\" >\n <p style=\"margin-bottom: 5px;\" th:narrative=\"${supples.identifier}\"></p>\n <p style=\"margin-bottom: 5px;\" th:each=\"uses : ${supples.usage}\">\n <b>usage: </b>\n <span th:narrative=\"${uses}\"></span>\n </p>\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasCriteria()}\">\n <b>criteria: </b>\n <span th:narrative=\"${supples.criteria}\"></span>\n </p>\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasPath()}\">\n <b>path: </b>\n <span th:narrative=\"${supples.path}\"></span>\n </p>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"param, iter : ${resource.parameter}\">\n <tr style=\"vertical-align: top;\">\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Parameter: </b></th>\n <td style=\"width:80%\" colspan=\"3\" >\n <span th:if=\"${param.hasName()}\">\n <b>name: </b>\n <span th:narrative=\"${param.name}\"></span>\n <br/>\n </span>\n <b>use: </b>\n <span th:narrative=\"${param.use.toCode()}\"></span>\n <br/>\n <span th:if=\"${param.hasMin()}\">\n <b>minimum cardinality: </b>\n <span th:narrative=\"${param.min}\"></span>\n <br/>\n </span>\n <span th:if=\"${param.hasMax()}\">\n <b>maximum cardinality: </b>\n <span th:narrative=\"${param.max}\"></span>\n <br/>\n </span>\n <b>type: </b>\n <span th:narrative=\"${param.type}\"></span>\n <br/>\n <span th:if=\"${param.hasDocumentation()}\">\n <b>documentation: </b>\n <span th:narrative=\"${param.documentation}\"></span>\n <br/>\n </span>\n <span th:if=\"${param.hasProfile()}\">\n <b>profile: </b>\n <span th:narrative=\"${param.profile}\"></span>\n <br/>\n </span>\n <p style=\"margin-bottom: 5px;\"></p>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"dataReq, iter : ${resource.dataRequirement}\">\n <tr style=\"vertical-align: top;\">\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\" ><b>Data Requirements: </b></th>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${dataReq}\"></td>\n </tr>\n </th:block> -->\n </table>\n <h2><a name=\"toc\">Table of Contents</a></h2>\n <ul style=\"padding-left: 50px;\">\n <li><a href=\"#d1e405\">Population Criteria</a></li>\n <li><a href=\"#d1e649\">Definitions</a></li>\n <li><a href=\"#d1e650\">Functions</a></li>\n <li><a href=\"#d1e555\">Terminology</a></li>\n <li><a href=\"#d1e647\">Data Criteria (QDM Data Elements)</a></li>\n <li><a href=\"#d1e767\">Supplemental Data Elements</a></li>\n <li><a href=\"#d1e879\">Risk Adjustment Variables</a></li>\n </ul>\n <div style=\"float:left; background:teal; height:3px; width:80%\"></div>\n \n <pre><br/></pre>\n <h3><a name=\"d1e405\" href=\"#toc\">Population Criteria</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left:10px;\">\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul class=\"list-unstyled\">\n <li class=\"list-unstyled\"><input id=\"Initial Population\" type=\"checkbox\"/><label for=\"Initial Population\" class=\"list-header\"><strong>Initial Population</strong></label>\n <ul class=\"code\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul>\n <li style=\"padding-left: 0px;\">\n <div>\n <pre class=\"cql-definition-body\"> Global.\"CalendarAgeInYearsAt\"(FHIRHelpers.ToDate(Patient.birthDate), start of \"Measurement Period\")%26gt;= 15\r\n\t\tand Global.\"CalendarAgeInYearsAt\"(FHIRHelpers.ToDate(Patient.birthDate), start of \"Measurement Period\")%26lt; 66\r\n\t\tand exists \"Qualifying Encounters\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul></li>\n </ul>\n </div>\n <div class=\"treeview hover p-l-10\">\n <ul class=\"list-unstyled\">\n <li class=\"list-unstyled\"><input id=\"Numerator\" type=\"checkbox\"/><label for=\"Numerator\" class=\"list-header\"><strong>Numerator</strong></label>\n <ul class=\"code\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul>\n <li style=\"padding-left: 0px;\">\n <div>\n <pre class=\"cql-definition-body\">\texists ( \"HIV Test Performed\" )</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul></li>\n </ul>\n </div>\n <div class=\"treeview hover p-l-10\">\n <ul class=\"list-unstyled\">\n <li class=\"list-unstyled\"><input id=\"Denominator\" type=\"checkbox\"/><label for=\"Denominator\" class=\"list-header\"><strong>Denominator</strong></label>\n <ul class=\"code\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul>\n <li style=\"padding-left: 0px;\">\n <div>\n <pre class=\"cql-definition-body\">\t\"Initial Population\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul></li>\n </ul>\n </div>\n <div class=\"treeview hover p-l-10\">\n <ul class=\"list-unstyled\">\n <li class=\"list-unstyled\"><input id=\"Denominator Exclusion\" type=\"checkbox\"/><label for=\"Denominator Exclusion\" class=\"list-header\"><strong>Denominator Exclusion</strong></label>\n <ul class=\"code\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul>\n <li style=\"padding-left: 0px;\">\n <div>\n <pre class=\"cql-definition-body\">\texists ( [Condition: code in \"Conditions Due To Human Immunodeficiency Virus (HIV)\"] HIVConditions\r\n\t\t\twhere HIVConditions.clinicalStatus = 'active'\r\n\t\t\tand HIVConditions.verificationStatus = 'confirmed'\r\n\t\t\tand (HIVConditions.onset as dateTime) before start of \"Measurement Period\"\r\n\t)</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul></li>\n </ul>\n </div></li>\n </ul>\n </div>\n\n <h3><a name=\"d1e649\" href=\"#toc\">Definitions</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Denominator\" type=\"checkbox\"/>\n <label for=\"Denominator\" class=\"list-header\"><strong>Denominator</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\t\"Initial Population\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Denominator Exclusion\" type=\"checkbox\"/>\n <label for=\"Denominator Exclusion\" class=\"list-header\"><strong>Denominator Exclusion</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\texists ( [Condition: code in \"Conditions Due To Human Immunodeficiency Virus (HIV)\"] HIVConditions\r\n\t\t\twhere HIVConditions.clinicalStatus = 'active'\r\n\t\t\tand HIVConditions.verificationStatus = 'confirmed'\r\n\t\t\tand (HIVConditions.onset as dateTime) before start of \"Measurement Period\"\r\n\t)</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"HIV Test Performed\" type=\"checkbox\"/>\n <label for=\"HIV Test Performed\" class=\"list-header\"><strong>HIV Test Performed</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\t( [Observation: \"Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)\"]\r\n\t\tunion [Observation: \"HIV 1 and 2 tests - Meaningful Use set\"] ) HIVTest\r\n\t\twhere (\r\n\t\t\t\t( Global.\"CalendarAgeInYearsAt\"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)%26gt;= 15\r\n\t\t\t \t\tor Global.\"CalendarAgeInYearsAt\"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)%26gt;= 15)\r\n\t\t\t\t\tand ( Global.\"CalendarAgeInYearsAt\"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)%26lt; 66 )\r\n\t\t\t\t\t\tor Global.\"CalendarAgeInYearsAt\"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)%26lt; 66)\r\n\r\n\t\t\tand HIVTest.status in {'final', 'amended', 'corrected', 'preliminary'}\r\n\t\t\tand (\r\n\t\t\t\tHIVTest.effective starts before end of \"Measurement Period\"\r\n\t\t\t\t\tor HIVTest.effective as dateTime before end of \"Measurement Period\"\r\n\t\t\t)</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Initial Population\" type=\"checkbox\"/>\n <label for=\"Initial Population\" class=\"list-header\"><strong>Initial Population</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\"> Global.\"CalendarAgeInYearsAt\"(FHIRHelpers.ToDate(Patient.birthDate), start of \"Measurement Period\")%26gt;= 15\r\n\t\tand Global.\"CalendarAgeInYearsAt\"(FHIRHelpers.ToDate(Patient.birthDate), start of \"Measurement Period\")%26lt; 66\r\n\t\tand exists \"Qualifying Encounters\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Numerator\" type=\"checkbox\"/>\n <label for=\"Numerator\" class=\"list-header\"><strong>Numerator</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\texists ( \"HIV Test Performed\" )</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Qualifying Encounters\" type=\"checkbox\"/>\n <label for=\"Qualifying Encounters\" class=\"list-header\"><strong>Qualifying Encounters</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\t( [Encounter: \"Preventive Care Services, Initial Office Visit, 0 to 17\"]\r\n\t\tunion [Encounter: \"Preventive Care Services-Initial Office Visit, 18 and Up\"]\r\n\t\tunion [Encounter: \"Preventive Care, Established Office Visit, 0 to 17\"]\r\n\t\tunion [Encounter: \"Preventive Care Services - Established Office Visit, 18 and Up\"]\r\n\t\tunion [Encounter: \"Office Visit\"] ) ValidEncounter\r\n\t\twhere ValidEncounter.status = 'finished'\r\n\t\tand ValidEncounter.period during \"Measurement Period\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"SDE Ethnicity\" type=\"checkbox\"/>\n <label for=\"SDE Ethnicity\" class=\"list-header\"><strong>SDE Ethnicity</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\t SDE.\"SDE Ethnicity\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"SDE Payer\" type=\"checkbox\"/>\n <label for=\"SDE Payer\" class=\"list-header\"><strong>SDE Payer</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\tSDE.\"SDE Payer\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"SDE Race\" type=\"checkbox\"/>\n <label for=\"SDE Race\" class=\"list-header\"><strong>SDE Race</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\tSDE.\"SDE Race\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"SDE Sex\" type=\"checkbox\"/>\n <label for=\"SDE Sex\" class=\"list-header\"><strong>SDE Sex</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\tSDE.\"SDE Sex\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <h3><a name=\"d1e650\" href=\"#toc\">Functions</a></h3>\n \n <h3><a name=\"d1e555\" href=\"#toc\">Terminology</a></h3>\n <div>\n <ul style=\"padding-left: 50px;\">\n <li style=\"width:80%\">codesystem \"LOINC\" : 'http://loinc.org'</li>\n <li style=\"width:80%\">code \"HIV 1 and 2 tests - Meaningful Use set\" : '75622-1' from \"LOINC\" display 'HIV 1 and 2 tests - Meaningful Use set'</li>\n <li style=\"width:80%\">valueset \"Conditions Due To Human Immunodeficiency Virus (HIV)\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54'</li>\n <li style=\"width:80%\">valueset \"Ethnicity\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'</li>\n <li style=\"width:80%\">valueset \"Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50'</li>\n <li style=\"width:80%\">valueset \"Office Visit\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'</li>\n <li style=\"width:80%\">valueset \"ONC Administrative Sex\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'</li>\n <li style=\"width:80%\">valueset \"Payer\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'</li>\n <li style=\"width:80%\">valueset \"Preventive Care Services - Established Office Visit, 18 and Up\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'</li>\n <li style=\"width:80%\">valueset \"Preventive Care Services, Initial Office Visit, 0 to 17\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022'</li>\n <li style=\"width:80%\">valueset \"Preventive Care Services-Initial Office Visit, 18 and Up\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'</li>\n <li style=\"width:80%\">valueset \"Preventive Care, Established Office Visit, 0 to 17\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024'</li>\n <li style=\"width:80%\">valueset \"Race\" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'</li>\n </ul>\n </div>\n <h3><a name=\"d1e647\" href=\"#toc\">Data Criteria (QDM Data Elements)</a></h3>\n <div>\n <ul style=\"padding-left: 50px;\">\n <li style=\"width:80%\">\"Condition: Conditions Due To Human Immunodeficiency Virus (HIV)\" using \"Conditions Due To Human Immunodeficiency Virus (HIV) (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54)</li>\n <li style=\"width:80%\">\"Encounter: Office Visit\" using \"Office Visit (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001)</li>\n <li style=\"width:80%\">\"Encounter: Preventive Care Services - Established Office Visit, 18 and Up\" using \"Preventive Care Services - Established Office Visit, 18 and Up (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025)</li>\n <li style=\"width:80%\">\"Encounter: Preventive Care Services, Initial Office Visit, 0 to 17\" using \"Preventive Care Services, Initial Office Visit, 0 to 17 (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022)</li>\n <li style=\"width:80%\">\"Encounter: Preventive Care Services-Initial Office Visit, 18 and Up\" using \"Preventive Care Services-Initial Office Visit, 18 and Up (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023)</li>\n <li style=\"width:80%\">\"Encounter: Preventive Care, Established Office Visit, 0 to 17\" using \"Preventive Care, Established Office Visit, 0 to 17 (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024)</li>\n <li style=\"width:80%\">\"Observation: Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)\" using \"Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag) (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50)</li>\n </ul>\n </div>\n <h3><a name=\"d1e767\" href=\"#toc\">Supplemental Data Elements</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"SDE Ethnicity\" type=\"checkbox\"/>\n <label for=\"SDE Ethnicity\" class=\"list-header\"><strong>SDE Ethnicity</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\t SDE.\"SDE Ethnicity\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"SDE Payer\" type=\"checkbox\"/>\n <label for=\"SDE Payer\" class=\"list-header\"><strong>SDE Payer</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\tSDE.\"SDE Payer\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"SDE Race\" type=\"checkbox\"/>\n <label for=\"SDE Race\" class=\"list-header\"><strong>SDE Race</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\tSDE.\"SDE Race\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"SDE Sex\" type=\"checkbox\"/>\n <label for=\"SDE Sex\" class=\"list-header\"><strong>SDE Sex</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\tSDE.\"SDE Sex\"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n \n <h3><a name=\"d1e879\" href=\"#toc\">Risk Adjustment Variables</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li>None</li>\n </ul>\n </div>\n <div style=\"float:left; background:teal; height:3px; width:80%\"></div>\n <table>\n \n <!-- <th:block th:each=\"con, iter : ${resource.content}\">\n <tr th:if=\"${con.contentType == 'text/cql'}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Content</span></td>\n <td style=\"width:80%\" ><b>type: </b><span th:text=\"${con.contentType}\"></span></td>\n </tr>\n <tr th:if=\"${con.contentType == 'text/cql'}\">\n <td style=\"width:100%\" colspan=\"2\" >\n <th:block th:if=\"${con.getData() != null }\" >\n <pre><code th:class=\"${con.contentType == 'text/cql' ? 'language-cql' : 'language-xml'}\" th:text=\"${new java.lang.String(con.getData())}\"></code></pre>\n </th:block>\n <th:block th:if=\"${con.getData() == null }\" >\n <span><i>%26lt;content is empty%26gt;</i></span>\n </th:block>\n </td>\n </tr>\n </th:block > -->\n </table>\n</div>" + "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><table style=\"width: 60%; border-bottom: none;\" class=\"header_table\"> <!-- <tr th:if=\"${resource.hasId()}\" style=\"vertical-align: top;\"><th style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Id: </span></th><td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.id}\"></td></tr> --><tr style=\"vertical-align: top;\"><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measure Title</span></td><td colspan=\"1\" style=\"width:60%\"><h1 style=\"font-size:10px\">HIV Screening</h1></td><td scope=\"row\" style=\"background-color:#656565; width:10%\"><span class=\"td_label\">Measure ID</span></td><td colspan=\"1\" style=\"width:10%\"><h1 style=\"font-size:10px\">EXM349</h1></td></tr> <!-- <th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'CMS'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Identifier (Measure Authoring Tool)</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">eCQM Version number</span></td><td style=\"width:30%\" th:narrative=\"${resource.version}\"></td></tr></th:block><th:block th:each=\"ident, iter : ${resource.identifier}\"><tr th:if=\"${ident.type.coding[0].code == 'NQF'}\" style=\"vertical-align: top;\"><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">NQF Number</span></td><td style=\"width:30%\" th:narrative=\"${ident.value}\"></td><td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">GUID</span></td><td style=\"width:30%\" th:narrative=\"${resource.url}\"></td></tr></th:block> --><tr style=\"vertical-align: top;\"><td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Description</span></td><td colspan=\"3\" style=\"width:80%\"><div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><pre><p>Percentage of patients aged 15-65 at the start of the measurement period who were between 15-65 years old when tested for HIV</p>\n</pre>\n </div>\n </td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Measurement Period</span></td>\n <td colspan=\"3\" style=\"width:80%\">January 1 - December 31</td>\n </tr>\n <!-- <tr>\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Steward</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td>\n </tr>\n <tr>\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Measure Developer</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.publisher}\"></td>\n </tr> -->\n <!-- <tr th:if=\"${resource.hasDisclaimer()}\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Disclaimer</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.disclaimer}\"></pre>\n </div>\n </td>\n </tr> -->\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Copyright and Disclaimer Notice</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.\n \nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</pre>\n <br/>\n <div>This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. %26lt;br%26gt; Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. %26lt;br%26gt; CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.</div>\n </div>\n </td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">Clinical Recommendation Statement</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><p>The US Preventive Services Task Force recommends that clinicians screen for HIV infection in adolescents and adults aged 15 to 65 years. Younger adolescents and older adults who are at increased risk should also be screened (A Recommendation) (Moyer, 2013).</p>\n<p>Since 2006, the CDC has recommended routine opt-out HIV screening (i.e., patient is notified that testing will be performed unless the patient declines) in healthcare facilities of adolescents and adults 13-64 years of age and HIV diagnostic testing of adolescents and adults with clinical signs or symptoms consistent with HIV infection (Centers for Disease Control and Prevention, 2006).</p>\n</div>\n </td>\n </tr>\n \n <tr style=\"vertical-align: top;\">\n <td rowspan=\"14\" scope=\"row\" style=\"background-color:#656565; width:20%\"><span class=\"td_label\">References</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. </pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi: 10.1056/NEJMsa1406751. [published correction appears on page 1677] \nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>SPRINT Research Group,; Wright, J. T., Jr., Williamson, J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787.</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065</pre>\n </div>\n </td>\n </tr>\n \n \n <tr style=\"vertical-align: top;\">\n \n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre>Yoon, S. S., Fryar, C. D., %26amp; Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics.</pre>\n </div>\n </td>\n </tr>\n \n <tr>\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Characteristics</span></td>\n </tr>\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Scoring</span></td>\n <td colspan=\"3\" style=\"width:80%\">Proportion</td>\n </tr>\n <!-- <tr th:if=\"${resource.hasCompositeScoring()}\">\n <td style=\"width:20%\" scope=\"row\"><span class=\"td_label\">Composite Scoring</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.compositeScoring.getText().substring(0, 1).toUpperCase() + resource.compositeScoring.getText().substring(1)}\"></td>\n </tr> -->\n \n <tr style=\"vertical-align: top;\">\n <td rowspan=\"1\" scope=\"row\" style=\"width:20%\"><span>Type</span></td>\n <td colspan=\"3\" style=\"width:80%\">Process</td>\n </tr>\n \n <!-- <tr th:if=\"${resource.hasStatus()}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Status</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.status.toString().substring(0, 1).toUpperCase() + resource.status.toString().substring(1).toLowerCase()}\"></td>\n </tr>\n <tr th:if=\"${resource.hasPurpose()}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Purpose</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.purpose}\"></td>\n </tr>\n <tr th:if=\"${resource.hasUsage()}\" style=\"vertical-align: top;\" >\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Usage</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${resource.usage}\"></td>\n </tr>\n <th:block th:each=\"context, iter : ${resource.useContext}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Use Context</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${context}\"></td>\n </tr>\n </th:block>\n <th:block th:each=\"topics, iter : ${resource.topic}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Topic</span></td>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${topics}\"></td>\n </tr>\n </th:block>\n <th:block th:each=\"cont, iter : ${resource.contributor}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Contributor</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <b><span th:narrative=\"${cont.type.toCode()}\"></span>: </b><span th:narrative=\"${cont.name}\"></span>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"lib, iter : ${resource.library}\" >\n <tr style=\"vertical-align: top;\">\n <td th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Library</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <p th:if=\"${lib.hasIdentifier()}\"><b>identifier: </b><span th:narrative=\"${lib.identifier}\"></span></p>\n <p th:if=\"${lib.hasReference()}\"><b>reference: </b><span th:narrative=\"${lib.reference}\"></span></p>\n <p th:if=\"${lib.hasDisplay()}\"><b>display: </b><span th:narrative=\"${lib.display}\"></span></p>\n </td>\n </tr>\n </th:block> -->\n \n <!-- <tr th:if=\"${resource.hasRateAggregation()}\" >\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rate Aggregation</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.rateAggregation}\"></pre>\n </div>\n </td>\n </tr>\n <tr th:if=\"${resource.hasRationale()}\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Rationale</span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${resource.rationale}\"></pre>\n </div>\n </td>\n </tr> -->\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Improvement Notation</span></td>\n <td colspan=\"3\" style=\"width:80%\">A higher rate indicates better performance.</td>\n \n </tr>\n <tr>\n <td scope=\"row\" style=\"width:20%\"><span>Guidance</span></td>\n <td colspan=\"3\" style=\"width:80%\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\"><p>This measure evaluates the proportion of patients aged 15 to 65 at the start of the measurement period who have documentation of having received an HIV test at least once on or after their 15th birthday and before their 66th birthday. In order to satisfy the measure, the reporting provider must have documentation of the administration of the laboratory test present in the patient's medical record. In cases where the HIV test was performed elsewhere, providers cannot rely on patient attestation or self-report to meet the measure requirements, as previous research has shown that patient self-report is an unreliable indicator of previous HIV testing history. Rather, providers must request documentation of those test results. If such documentation is not available, the patient should be considered still eligible for HIV screening. If such documentation is available, but cannot be provided in a standardized, structured format (such that the lab test and results can be readily incorporated as structured data within the EHR), providers should enter the information into their EHR as a laboratory test in a manner consistent with the EHR in use. If the specific Human Immunodeficiency Virus (HIV) Laboratory Test LOINC code of the test is not known, the entry should use the more generic code LOINC panel code [75622-1].</p>\n</div>\n </td>\n </tr>\n <tr>\n <td colspan=\"4\" scope=\"row\" style=\"background-color:#656565; width:100%\"><span class=\"td_label\">Definitions</span></td>\n </tr>\n \n \n <!-- <th:block th:each=\"groups, iter : ${resource.uniquePopulationGroup}\" >\n <tr style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\" th:text=\"${groups.identifier.value}\"></span></td>\n <td style=\"width:80%\" colspan=\"3\">\n <div style=\"width:660px;overflow-x:hidden;overflow-y:auto\">\n <pre th:text=\"${pops.description}\"></pre>\n </div>\n </td>\n </tr>\n </th:block> -->\n </table>\n <table style=\"width: 60%; border-top: none; border-bottom: none\" class=\"header_table\">\n \n </table>\n <table style=\"width: 60%; border-top: none;\" class=\"header_table\">\n <!-- <th:block th:each=\"supples, iter : ${resource.supplementalData}\">\n <tr>\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Supplemental Data:</b></th>\n <td style=\"width:80%\" colspan=\"3\" >\n <p style=\"margin-bottom: 5px;\" th:narrative=\"${supples.identifier}\"></p>\n <p style=\"margin-bottom: 5px;\" th:each=\"uses : ${supples.usage}\">\n <b>usage: </b>\n <span th:narrative=\"${uses}\"></span>\n </p>\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasCriteria()}\">\n <b>criteria: </b>\n <span th:narrative=\"${supples.criteria}\"></span>\n </p>\n <p style=\"margin-bottom: 5px;\" th:if=\"${supples.hasPath()}\">\n <b>path: </b>\n <span th:narrative=\"${supples.path}\"></span>\n </p>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"param, iter : ${resource.parameter}\">\n <tr style=\"vertical-align: top;\">\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\"><b>Parameter: </b></th>\n <td style=\"width:80%\" colspan=\"3\" >\n <span th:if=\"${param.hasName()}\">\n <b>name: </b>\n <span th:narrative=\"${param.name}\"></span>\n <br/>\n </span>\n <b>use: </b>\n <span th:narrative=\"${param.use.toCode()}\"></span>\n <br/>\n <span th:if=\"${param.hasMin()}\">\n <b>minimum cardinality: </b>\n <span th:narrative=\"${param.min}\"></span>\n <br/>\n </span>\n <span th:if=\"${param.hasMax()}\">\n <b>maximum cardinality: </b>\n <span th:narrative=\"${param.max}\"></span>\n <br/>\n </span>\n <b>type: </b>\n <span th:narrative=\"${param.type}\"></span>\n <br/>\n <span th:if=\"${param.hasDocumentation()}\">\n <b>documentation: </b>\n <span th:narrative=\"${param.documentation}\"></span>\n <br/>\n </span>\n <span th:if=\"${param.hasProfile()}\">\n <b>profile: </b>\n <span th:narrative=\"${param.profile}\"></span>\n <br/>\n </span>\n <p style=\"margin-bottom: 5px;\"></p>\n </td>\n </tr>\n </th:block> -->\n <!-- <th:block th:each=\"dataReq, iter : ${resource.dataRequirement}\">\n <tr style=\"vertical-align: top;\">\n <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\" scope=\"row\" ><b>Data Requirements: </b></th>\n <td style=\"width:80%\" colspan=\"3\" th:narrative=\"${dataReq}\"></td>\n </tr>\n </th:block> -->\n </table>\n <h2><a name=\"toc\">Table of Contents</a></h2>\n <ul style=\"padding-left: 50px;\">\n <li><a href=\"#d1e405\">Population Criteria</a></li>\n <li><a href=\"#d1e649\">Definitions</a></li>\n <li><a href=\"#d1e650\">Functions</a></li>\n <li><a href=\"#d1e555\">Terminology</a></li>\n <li><a href=\"#d1e647\">Data Criteria (QDM Data Elements)</a></li>\n <li><a href=\"#d1e767\">Supplemental Data Elements</a></li>\n <li><a href=\"#d1e879\">Risk Adjustment Variables</a></li>\n </ul>\n <div style=\"float:left; background:teal; height:3px; width:80%\"/>\n \n <pre><br/></pre>\n <h3><a name=\"d1e405\" href=\"#toc\">Population Criteria</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left:10px;\">\n <li style=\"list-style:none;padding-left:0px;\" class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul class=\"list-unstyled\">\n <li class=\"list-unstyled\"><input id=\"Initial Population\" type=\"checkbox\"/><label for=\"Initial Population\" class=\"list-header\"><strong>Initial Population</strong></label>\n <ul class=\"code\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul>\n <li style=\"padding-left: 0px;\">\n <div>\n <pre class=\"cql-definition-body\"> Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26gt;= 15\r\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26lt; 66\r\n\t\tand exists "Qualifying Encounters"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul></li>\n </ul>\n </div>\n <div class=\"treeview hover p-l-10\">\n <ul class=\"list-unstyled\">\n <li class=\"list-unstyled\"><input id=\"Numerator\" type=\"checkbox\"/><label for=\"Numerator\" class=\"list-header\"><strong>Numerator</strong></label>\n <ul class=\"code\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul>\n <li style=\"padding-left: 0px;\">\n <div>\n <pre class=\"cql-definition-body\">\texists ( "HIV Test Performed" )</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul></li>\n </ul>\n </div>\n <div class=\"treeview hover p-l-10\">\n <ul class=\"list-unstyled\">\n <li class=\"list-unstyled\"><input id=\"Denominator\" type=\"checkbox\"/><label for=\"Denominator\" class=\"list-header\"><strong>Denominator</strong></label>\n <ul class=\"code\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul>\n <li style=\"padding-left: 0px;\">\n <div>\n <pre class=\"cql-definition-body\">\t"Initial Population"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul></li>\n </ul>\n </div>\n <div class=\"treeview hover p-l-10\">\n <ul class=\"list-unstyled\">\n <li class=\"list-unstyled\"><input id=\"Denominator Exclusion\" type=\"checkbox\"/><label for=\"Denominator Exclusion\" class=\"list-header\"><strong>Denominator Exclusion</strong></label>\n <ul class=\"code\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <ul>\n <li style=\"padding-left: 0px;\">\n <div>\n <pre class=\"cql-definition-body\">\texists ( [Condition: code in "Conditions Due To Human Immunodeficiency Virus (HIV)"] HIVConditions\r\n\t\t\twhere HIVConditions.clinicalStatus = 'active'\r\n\t\t\tand HIVConditions.verificationStatus = 'confirmed'\r\n\t\t\tand (HIVConditions.onset as dateTime) before start of "Measurement Period"\r\n\t)</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul></li>\n </ul>\n </div></li>\n </ul>\n </div>\n\n <h3><a name=\"d1e649\" href=\"#toc\">Definitions</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Denominator\" type=\"checkbox\"/>\n <label for=\"Denominator\" class=\"list-header\"><strong>Denominator</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\t"Initial Population"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Denominator Exclusion\" type=\"checkbox\"/>\n <label for=\"Denominator Exclusion\" class=\"list-header\"><strong>Denominator Exclusion</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\texists ( [Condition: code in "Conditions Due To Human Immunodeficiency Virus (HIV)"] HIVConditions\r\n\t\t\twhere HIVConditions.clinicalStatus = 'active'\r\n\t\t\tand HIVConditions.verificationStatus = 'confirmed'\r\n\t\t\tand (HIVConditions.onset as dateTime) before start of "Measurement Period"\r\n\t)</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"HIV Test Performed\" type=\"checkbox\"/>\n <label for=\"HIV Test Performed\" class=\"list-header\"><strong>HIV Test Performed</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\t( [Observation: "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)"]\r\n\t\tunion [Observation: "HIV 1 and 2 tests - Meaningful Use set"] ) HIVTest\r\n\t\twhere (\r\n\t\t\t\t( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)%26gt;= 15\r\n\t\t\t \t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)%26gt;= 15)\r\n\t\t\t\t\tand ( Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), HIVTest.effective as dateTime)%26lt; 66 )\r\n\t\t\t\t\t\tor Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of HIVTest.effective)%26lt; 66)\r\n\r\n\t\t\tand HIVTest.status in {'final', 'amended', 'corrected', 'preliminary'}\r\n\t\t\tand (\r\n\t\t\t\tHIVTest.effective starts before end of "Measurement Period"\r\n\t\t\t\t\tor HIVTest.effective as dateTime before end of "Measurement Period"\r\n\t\t\t)</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Initial Population\" type=\"checkbox\"/>\n <label for=\"Initial Population\" class=\"list-header\"><strong>Initial Population</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\"> Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26gt;= 15\r\n\t\tand Global."CalendarAgeInYearsAt"(FHIRHelpers.ToDate(Patient.birthDate), start of "Measurement Period")%26lt; 66\r\n\t\tand exists "Qualifying Encounters"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Numerator\" type=\"checkbox\"/>\n <label for=\"Numerator\" class=\"list-header\"><strong>Numerator</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\texists ( "HIV Test Performed" )</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"Qualifying Encounters\" type=\"checkbox\"/>\n <label for=\"Qualifying Encounters\" class=\"list-header\"><strong>Qualifying Encounters</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\t( [Encounter: "Preventive Care Services, Initial Office Visit, 0 to 17"]\r\n\t\tunion [Encounter: "Preventive Care Services-Initial Office Visit, 18 and Up"]\r\n\t\tunion [Encounter: "Preventive Care, Established Office Visit, 0 to 17"]\r\n\t\tunion [Encounter: "Preventive Care Services - Established Office Visit, 18 and Up"]\r\n\t\tunion [Encounter: "Office Visit"] ) ValidEncounter\r\n\t\twhere ValidEncounter.status = 'finished'\r\n\t\tand ValidEncounter.period during "Measurement Period"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"SDE Ethnicity\" type=\"checkbox\"/>\n <label for=\"SDE Ethnicity\" class=\"list-header\"><strong>SDE Ethnicity</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\t SDE."SDE Ethnicity"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"SDE Payer\" type=\"checkbox\"/>\n <label for=\"SDE Payer\" class=\"list-header\"><strong>SDE Payer</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\tSDE."SDE Payer"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"SDE Race\" type=\"checkbox\"/>\n <label for=\"SDE Race\" class=\"list-header\"><strong>SDE Race</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\tSDE."SDE Race"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 10px;\">\n <li style=\"list-style:none;\" class=\"list-unstyled\">\n <div>\n <ul style=\"list-style:none;padding-left:0;\" class=\"list-unstyled\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"SDE Sex\" type=\"checkbox\"/>\n <label for=\"SDE Sex\" class=\"list-header\"><strong>SDE Sex</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\tSDE."SDE Sex"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <h3><a name=\"d1e650\" href=\"#toc\">Functions</a></h3>\n \n <h3><a name=\"d1e555\" href=\"#toc\">Terminology</a></h3>\n <div>\n <ul style=\"padding-left: 50px;\">\n <li style=\"width:80%\">codesystem "LOINC" : 'http://loinc.org'</li>\n <li style=\"width:80%\">code "HIV 1 and 2 tests - Meaningful Use set" : '75622-1' from "LOINC" display 'HIV 1 and 2 tests - Meaningful Use set'</li>\n <li style=\"width:80%\">valueset "Conditions Due To Human Immunodeficiency Virus (HIV)" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54'</li>\n <li style=\"width:80%\">valueset "Ethnicity" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'</li>\n <li style=\"width:80%\">valueset "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50'</li>\n <li style=\"width:80%\">valueset "Office Visit" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'</li>\n <li style=\"width:80%\">valueset "ONC Administrative Sex" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'</li>\n <li style=\"width:80%\">valueset "Payer" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591'</li>\n <li style=\"width:80%\">valueset "Preventive Care Services - Established Office Visit, 18 and Up" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025'</li>\n <li style=\"width:80%\">valueset "Preventive Care Services, Initial Office Visit, 0 to 17" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022'</li>\n <li style=\"width:80%\">valueset "Preventive Care Services-Initial Office Visit, 18 and Up" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023'</li>\n <li style=\"width:80%\">valueset "Preventive Care, Established Office Visit, 0 to 17" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024'</li>\n <li style=\"width:80%\">valueset "Race" : 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836'</li>\n </ul>\n </div>\n <h3><a name=\"d1e647\" href=\"#toc\">Data Criteria (QDM Data Elements)</a></h3>\n <div>\n <ul style=\"padding-left: 50px;\">\n <li style=\"width:80%\">"Condition: Conditions Due To Human Immunodeficiency Virus (HIV)" using "Conditions Due To Human Immunodeficiency Virus (HIV) (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.54)</li>\n <li style=\"width:80%\">"Encounter: Office Visit" using "Office Visit (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001)</li>\n <li style=\"width:80%\">"Encounter: Preventive Care Services - Established Office Visit, 18 and Up" using "Preventive Care Services - Established Office Visit, 18 and Up (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025)</li>\n <li style=\"width:80%\">"Encounter: Preventive Care Services, Initial Office Visit, 0 to 17" using "Preventive Care Services, Initial Office Visit, 0 to 17 (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022)</li>\n <li style=\"width:80%\">"Encounter: Preventive Care Services-Initial Office Visit, 18 and Up" using "Preventive Care Services-Initial Office Visit, 18 and Up (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023)</li>\n <li style=\"width:80%\">"Encounter: Preventive Care, Established Office Visit, 0 to 17" using "Preventive Care, Established Office Visit, 0 to 17 (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024)</li>\n <li style=\"width:80%\">"Observation: Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)" using "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag) (http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1056.50)</li>\n </ul>\n </div>\n <h3><a name=\"d1e767\" href=\"#toc\">Supplemental Data Elements</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"SDE Ethnicity\" type=\"checkbox\"/>\n <label for=\"SDE Ethnicity\" class=\"list-header\"><strong>SDE Ethnicity</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\t SDE."SDE Ethnicity"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"SDE Payer\" type=\"checkbox\"/>\n <label for=\"SDE Payer\" class=\"list-header\"><strong>SDE Payer</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\tSDE."SDE Payer"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"SDE Race\" type=\"checkbox\"/>\n <label for=\"SDE Race\" class=\"list-header\"><strong>SDE Race</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\tSDE."SDE Race"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li class=\"list-unstyled\">\n <div class=\"treeview hover p-l-10\">\n <input id=\"SDE Sex\" type=\"checkbox\"/>\n <label for=\"SDE Sex\" class=\"list-header\"><strong>SDE Sex</strong></label>\n <ul style=\"margin-right: 20%; opacity: 1;\" class=\"code\">\n <li class=\"list-unstyled\">\n <div>\n <ul style=\"padding-left: 0px;\">\n <li style=\"padding-left: 0px;\" class=\"list-unstyled\">\n <div>\n <pre class=\"cql-definition-body\">\tSDE."SDE Sex"</pre>\n </div></li>\n </ul>%26nbsp;\n </div></li>\n </ul>\n </div></li>\n </ul>\n </div>\n \n <h3><a name=\"d1e879\" href=\"#toc\">Risk Adjustment Variables</a></h3>\n <div>\n <ul style=\"list-style:none;padding-left: 25px;\">\n <li>None</li>\n </ul>\n </div>\n <div style=\"float:left; background:teal; height:3px; width:80%\"/>\n <table>\n \n <!-- <th:block th:each=\"con, iter : ${resource.content}\">\n <tr th:if=\"${con.contentType == 'text/cql'}\" style=\"vertical-align: top;\">\n <td style=\"background-color:#656565; width:20%\" scope=\"row\"><span class=\"td_label\">Content</span></td>\n <td style=\"width:80%\" ><b>type: </b><span th:text=\"${con.contentType}\"></span></td>\n </tr>\n <tr th:if=\"${con.contentType == 'text/cql'}\">\n <td style=\"width:100%\" colspan=\"2\" >\n <th:block th:if=\"${con.getData() != null }\" >\n <pre><code th:class=\"${con.contentType == 'text/cql' ? 'language-cql' : 'language-xml'}\" th:text=\"${new java.lang.String(con.getData())}\"></code></pre>\n </th:block>\n <th:block th:if=\"${con.getData() == null }\" >\n <span><i>%26lt;content is empty%26gt;</i></span>\n </th:block>\n </td>\n </tr>\n </th:block > -->\n </table>\n</div>" }, - "extension": [ - { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", - "valueCode": "boolean" + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", + "valueCode": "boolean" + }, { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" } - ], + } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-EXM349-FHIR3-2.9.000", "version": "2.9.000", "name": "EXM349", @@ -31,291 +32,213 @@ "start": "2019-01-01", "end": "2019-12-31" }, - "useContext": [ - { - "code": { - "code": "program" - }, - "valueCodeableConcept": { - "text": "eligible-provider" - } - } - ], - "jurisdiction": [ - { - "coding": [ - { - "system": "urn:iso:std:iso:3166", - "code": "US" - } - ] - } - ], - "topic": [ - { - "coding": [ - { - "system": "http://loinc.org", - "code": "57024-2", - "display": "Health Quality Measure Document" - } - ] - } - ], - "contributor": [ - { - "type": "author", - "name": "National Committee for Quality Assurance" - } - ], - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://www.ncqa.org/" - } - ] + "useContext": [ { + "code": { + "code": "program" + }, + "valueCodeableConcept": { + "text": "eligible-provider" } - ], + } ], + "jurisdiction": [ { + "coding": [ { + "system": "urn:iso:std:iso:3166", + "code": "US" + } ] + } ], + "topic": [ { + "coding": [ { + "system": "http://loinc.org", + "code": "57024-2", + "display": "Health Quality Measure Document" + } ] + } ], + "contributor": [ { + "type": "author", + "name": "National Committee for Quality Assurance" + } ], + "contact": [ { + "telecom": [ { + "system": "url", + "value": "http://www.ncqa.org/" + } ] + } ], "copyright": "This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. <br> Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. <br> CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.", - "relatedArtifact": [ - { - "type": "citation", - "citation": "American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104." - }, - { - "type": "citation", - "citation": "Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485" - }, - { - "type": "citation", - "citation": "Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html" - }, - { - "type": "citation", - "citation": "Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. " - }, - { - "type": "citation", - "citation": "Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html" - }, - { - "type": "citation", - "citation": "Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439." - }, - { - "type": "citation", - "citation": "James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427" - }, - { - "type": "citation", - "citation": "Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi: 10.1056/NEJMsa1406751. [published correction appears on page 1677] \nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9." - }, - { - "type": "citation", - "citation": "Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753" - }, - { - "type": "citation", - "citation": "Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437." - }, - { - "type": "citation", - "citation": "SPRINT Research Group,; Wright, J. T., Jr., Williamson, J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116." - }, - { - "type": "citation", - "citation": "U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787." - }, - { - "type": "citation", - "citation": "Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065" - }, - { - "type": "citation", - "citation": "Yoon, S. S., Fryar, C. D., & Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics." - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-FHIRHelpers-3.0.0" - } - }, - { - "type": "depends-on", - "resource": { - "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" - } + "relatedArtifact": [ { + "type": "citation", + "citation": "American Diabetes Association. (2018). 9. Cardiovascular disease and risk management: Standards of medical care in diabetes 2018. Diabetes Care, 41(Suppl. 1), S86-S104." + }, { + "type": "citation", + "citation": "Benjamin, E. J., Blaha, M. J., Chiuve, S. E., et al. (2017). Heart disease and stroke statistics-2017 update: A report from the American Heart Association. Circulation, 135(10), e146-e603.doi: 10.1161/CIR.0000000000000485" + }, { + "type": "citation", + "citation": "Centers for Disease Control and Prevention. (2012). Vital signs: Getting blood pressure under control. Retrieved from https://www.cdc.gov/vitalsigns/hypertension/index.html" + }, { + "type": "citation", + "citation": "Centers for Disease Control and Prevention. Division for Heart Disease and Stroke Prevention. (2016). High blood pressure fact sheet. Retrieved from https://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htmhttps://www.cdc.gov/dhdsp/data_statistics/fact_sheets/fs_bloodpressure.htm. " + }, { + "type": "citation", + "citation": "Centers for Disease Control and Prevention, National Center for Health Statistics. (2015). Underlying Cause of Death 1999-2013 on CDC WONDER Online Database. Data are from the Multiple Cause of Death Files, 1999-2013, as compiled from data provided by the 57 vital statistics jurisdictions through the Vital Statistics Cooperative Program. Retrieved from http://wonder.cdc.gov/ucd-icd10.html" + }, { + "type": "citation", + "citation": "Crim, M. T., Yoon, S. S., Ortiz, E., et al. (2012). National surveillance definitions for hypertension prevalence and control among adults. Circulation: Cardiovascular Quality and Outcomes. 2012, ;5(3), :343-–351. doi: 10.1161/ CIRCOUTCOMES.111.963439." + }, { + "type": "citation", + "citation": "James, P. A., Oparil, S., Carter, B. L., et al (2014). 2014 evidence-based guideline for the management of high blood pressure in adults: Report from the panel members appointed to the Eighth Joint National Committee (JNC8). JAMA. 311(5), 507-520. doi:10.1001/jama.2013.284427" + }, { + "type": "citation", + "citation": "Moran, A. E., Odden, M. C., Thanataveerat, A., et al.Tzong KY, Rasmussen PW, Guzman D, Williams L, Bibbins-Domingo K, Coxson PG, Goldman L. (2015). Cost-effectiveness of hypertension therapy according to 2014 guidelines. [published correction appears in N Engl J. Med. 2015;372:1677]. New England Journal of Medicine,. 2015 ;372, :447-–455. doi: 10.1056/NEJMsa1406751. [published correction appears on page 1677] \nFarley TA, Dalal MA, Mostashari F, Frieden TR. Deaths preventable in the US by improvements in the use of clinical preventive services. Am J Prev Med. 2010;38:600-9." + }, { + "type": "citation", + "citation": "Patel, S. A., Winkel, M., Ali, M. K., et al. (2015). Cardiovascular mortality associated with 5 leading risk factors: National and state preventable fractions estimated from survey data. Annals of Internal Medicine, 163(4), :245–253. doi: 10.7326/M14-1753" + }, { + "type": "citation", + "citation": "Qaseem, A., Wilt, T. J., Rich, R., et al. (2017). Pharmacologic treatment of hypertension in adults aged 60 years or older to higher versus lower blood pressure targets: A clinical practice guideline from the American College of Physicians and the American Academy of Family Physicians. Annals of Internal Medicine, 166(6), 430-437." + }, { + "type": "citation", + "citation": "SPRINT Research Group,; Wright, J. T., Jr., Williamson, J. D., et al. (2015). A randomized trial of intensive versus standard blood-pressure control. New England Journal of Medicine, 373(22), 2103–2116." + }, { + "type": "citation", + "citation": "U.S. Preventive Services Task Force. (2015). Screening for high blood pressure in adults: U.S. Preventive Services Task Force recommendation statement. Annals of Internal Medicine, 163(10), 778-787." + }, { + "type": "citation", + "citation": "Whelton, P. K., Carey, R. M., Aronow, W. S., et al. (2017). Guideline for the prevention, detection, evaluation, and management of high blood pressure in adults: A report of the American College of Cardiology/American Heart Association Task Force on Clinical Practice Guidelines. Journal of the American College of Cardiology, . https://doi.org/10.1161/HYP.0000000000000065" + }, { + "type": "citation", + "citation": "Yoon, S. S., Fryar, C. D., & Carroll, M. D. (2015). Hypertension prevalence and control among adults: United States, 2011-2014. NCHS Data Brief No. 220. Hyattsville, MD: National Center for Health Statistics." + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-MATGlobalCommonFunctions-FHIR3-2.0.000" } - ], - "library": [ - { - "reference": "Library/library-EXM349-FHIR3-2.9.000" + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-FHIRHelpers-3.0.0" } - ], + }, { + "type": "depends-on", + "resource": { + "reference": "Library/library-SupplementalDataElements-FHIR3-1.0.0" + } + } ], + "library": [ { + "reference": "Library/library-EXM349-FHIR3-2.9.000" + } ], "disclaimer": "The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND.\n \nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].", "scoring": { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-scoring", - "code": "proportion" - } - ] + "coding": [ { + "system": "http://hl7.org/fhir/measure-scoring", + "code": "proportion" + } ] }, - "type": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-type", - "code": "process" - } - ] - } - ], + "type": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-type", + "code": "process" + } ] + } ], "rationale": "Human immunodeficiency virus (HIV) is a communicable infection that leads to a progressive disease with a long asymptomatic period. There were an estimated 38,500 new HIV infections in the United States in 2015 (Centers for Disease Control and Prevention, 2018a). Without treatment, most persons develop acquired immunodeficiency syndrome (AIDS) within 10 years of HIV infection. Antiretroviral therapy (ART) delays this progression and increases the length of survival, but it is most effective when initiated during the asymptomatic phase. Persons living with HIV who use ART and achieve viral suppression can have a nearly normal life expectancy (Samji et al., 2013). DHHS Guidelines for the Use of Antiretroviral Agents in HIV-1-Infected Adults and Adolescents recommends antiretroviral therapy for all HIV-infected individuals to reduce the risk of disease progression (regardless of CD4 cell count at diagnosis) (Panel on Antiretroviral Guidelines for Adults and Adolescents, 2017).\n\nCDC estimates that almost 15% of the 1.1 million adults and adolescents living with HIV infection in the United States are unaware of their infection (Centers for Disease Control and Prevention, 2018b). Among persons diagnosed with HIV in 2011, one quarter were diagnosed with Stage 3 HIV (AIDS) at the time of HIV diagnosis (Centers for Disease Control and Prevention, 2018c), which is when the median CD4 count at diagnosis is less than 200 cells/mm3 for persons aged greater than or equal to 6 years (Centers for Disease Control and Prevention, 2018a). HIV screening identifies infected persons who were previously unaware of their infection, which enables them to seek medical and social services that can improve their health and the quality and length of their lives. Additionally, using ART with high levels of medication adherence has been shown to substantially reduce risk for HIV transmission (Panel on Antiretroviral Guidelines for Adults and Adolescents, 2017).\n\nBased on the National Health Interview Survey, fewer than half of persons 18 and older reported ever having been tested for HIV as of 2017 (Blackwell et al., 2019).", "clinicalRecommendationStatement": "The US Preventive Services Task Force recommends that clinicians screen for HIV infection in adolescents and adults aged 15 to 65 years. Younger adolescents and older adults who are at increased risk should also be screened (A Recommendation) (Moyer, 2013).\n\nSince 2006, the CDC has recommended routine opt-out HIV screening (i.e., patient is notified that testing will be performed unless the patient declines) in healthcare facilities of adolescents and adults 13-64 years of age and HIV diagnostic testing of adolescents and adults with clinical signs or symptoms consistent with HIV infection (Centers for Disease Control and Prevention, 2006).", "improvementNotation": "increase", "guidance": "This measure evaluates the proportion of patients aged 15 to 65 at the start of the measurement period who have documentation of having received an HIV test at least once on or after their 15th birthday and before their 66th birthday. In order to satisfy the measure, the reporting provider must have documentation of the administration of the laboratory test present in the patient's medical record. In cases where the HIV test was performed elsewhere, providers cannot rely on patient attestation or self-report to meet the measure requirements, as previous research has shown that patient self-report is an unreliable indicator of previous HIV testing history. Rather, providers must request documentation of those test results. If such documentation is not available, the patient should be considered still eligible for HIV screening. If such documentation is available, but cannot be provided in a standardized, structured format (such that the lab test and results can be readily incorporated as structured data within the EHR), providers should enter the information into their EHR as a laboratory test in a manner consistent with the EHR in use. If the specific Human Immunodeficiency Virus (HIV) Laboratory Test LOINC code of the test is not known, the entry should use the more generic code LOINC panel code [75622-1].", - "group": [ - { + "group": [ { + "identifier": { + "value": "group-1" + }, + "population": [ { "identifier": { - "value": "group-1" + "value": "initial-population-identifier" }, - "population": [ - { - "identifier": { - "value": "initial-population-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "initial-population", - "display": "Initial Population" - } - ] - }, - "criteria": "Initial Population" - }, - { - "identifier": { - "value": "numerator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "numerator", - "display": "Numerator" - } - ] - }, - "criteria": "Numerator" - }, - { - "identifier": { - "value": "denominator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator", - "display": "Denominator" - } - ] - }, - "criteria": "Denominator" - }, - { - "identifier": { - "value": "denominator-exclusions-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator-exclusion", - "display": "Denominator Exclusion" - } - ] - }, - "criteria": "Denominator Exclusion" - } - ] - } - ], - "supplementalData": [ - { - "identifier": { - "value": "sde-ethnicity" + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population", + "display": "Initial Population" + } ] }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Ethnicity" - }, - { + "criteria": "Initial Population" + }, { "identifier": { - "value": "sde-payer" + "value": "numerator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Payer" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "numerator", + "display": "Numerator" + } ] + }, + "criteria": "Numerator" + }, { "identifier": { - "value": "sde-race" + "value": "denominator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Race" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator", + "display": "Denominator" + } ] + }, + "criteria": "Denominator" + }, { "identifier": { - "value": "sde-sex" + "value": "denominator-exclusions-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Sex" - } - ] -} + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator-exclusion", + "display": "Denominator Exclusion" + } ] + }, + "criteria": "Denominator Exclusion" + } ] + } ], + "supplementalData": [ { + "identifier": { + "value": "sde-ethnicity" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Ethnicity" + }, { + "identifier": { + "value": "sde-payer" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Payer" + }, { + "identifier": { + "value": "sde-race" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Race" + }, { + "identifier": { + "value": "sde-sex" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Sex" + } ] +} \ No newline at end of file diff --git a/fhir3/input/resources/measure/measure-EXM506_FHIR3-2.0.000.json b/fhir3/input/resources/measure/measure-EXM506_FHIR3-2.0.000.json index fccffe03..653b5e9c 100644 --- a/fhir3/input/resources/measure/measure-EXM506_FHIR3-2.0.000.json +++ b/fhir3/input/resources/measure/measure-EXM506_FHIR3-2.0.000.json @@ -1,21 +1,21 @@ { -"resourceType": "Measure", -"id": "measure-EXM506-FHIR3-2.0.000", + "resourceType": "Measure", + "id": "measure-EXM506-FHIR3-2.0.000", "meta": { - "profile": [ - "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" - ] + "profile": [ "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm" ] }, "text": { - "status": "generated", - "div": "" - }, - "extension": [ - { - "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", - "valueCode": "boolean" + "status": "generated" + }, + "extension": [ { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis", + "valueCode": "boolean" + }, { + "url": "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem", + "valueReference": { + "reference": "cqf-tooling" } - ], + } ], "url": "http://hl7.org/fhir/us/cqfmeasures/Measure/measure-EXM506-FHIR3", "version": "2.0.000", "name": "EXM506", @@ -31,285 +31,207 @@ "start": "2019-01-01", "end": "2019-12-31" }, - "useContext": [ - { - "code": { - "code": "program" - }, - "valueCodeableConcept": { - "text": "eligible-provider" - } - } - ], - "jurisdiction": [ - { - "coding": [ - { - "system": "urn:iso:std:iso:3166", - "code": "US" - } - ] - } - ], - "topic": [ - { - "coding": [ - { - "system": "http://loinc.org", - "code": "57024-2", - "display": "Health Quality Measure Document" - } - ] - } - ], - "contributor": [ - { - "type": "author", - "name": "National Committee for Quality Assurance" - } - ], - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://www.ncqa.org/" - } - ] + "useContext": [ { + "code": { + "code": "program" + }, + "valueCodeableConcept": { + "text": "eligible-provider" } - ], + } ], + "jurisdiction": [ { + "coding": [ { + "system": "urn:iso:std:iso:3166", + "code": "US" + } ] + } ], + "topic": [ { + "coding": [ { + "system": "http://loinc.org", + "code": "57024-2", + "display": "Health Quality Measure Document" + } ] + } ], + "contributor": [ { + "type": "author", + "name": "National Committee for Quality Assurance" + } ], + "contact": [ { + "telecom": [ { + "system": "url", + "value": "http://www.ncqa.org/" + } ] + } ], "copyright": "This Physician Performance Measure (Measure) and related data specifications were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (eg, use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2017 National Committee for Quality Assurance. All Rights Reserved. <br> Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications. <br> CPT(R) contained in the Measure specifications is copyright 2004-2017 American Medical Association. LOINC(R) copyright 2004-2017 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R] ) copyright 2004-2017 International Health Terminology Standards Development Organisation. ICD-10 copyright 2017 World Health Organization. All Rights Reserved.", - "relatedArtifact": [ - { + "relatedArtifact": [ { "type": "citation", "citation": "American Academy of Emergency Medicine (AAEM). (2013). Emergency department opioid-prescribing guidelines for the treatment of non-cancer-related pain. Retrieved from https://www.deepdyve.com/lp/elsevier/american-academy-of-emergency-medicine-PlQtPNi8J4" - }, - { + }, { "type": "citation", "citation": "American Society of Interventional Pain Physicians (ASIPP). (2012). Guidelines for responsible opioid prescribing in chronic noncancer pain. Retrieved from https://www.asipp.org/opioidguidelines.htm " - }, - { + }, { "type": "citation", "citation": "Dasgupta, N., Jonsson Funk, M., Proescholdbell, S., et al. (2015, September). Cohort study of the impact of high-dose opioid analgesics on overdose mortality. Pain Medicine. Retrieved from http://onlinelibrary.wiley.com/doi/10.1111/pme.12907/abstract" - }, - { + }, { "type": "citation", "citation": "Dowell, D., Haegerich, T., & Chou, R. (2016). CDC guideline for prescribing opioids for chronic pain—United States, 2016. MMWR Recommendations and Reports, 65. Retrieved from http://www.cdc.gov/media/dpk/2016/dpk-opioid-prescription-guidelines.html" - }, - { + }, { "type": "citation", "citation": "Herzig, S., Rothberg, M., Cheung, M., et al. (2014). Opioid utilization and opioid-related adverse events in nonsurgical patients in U.S. hospitals. Journal of Hospital Medicine, 9(2), 73-81." - }, - { + }, { "type": "citation", "citation": "Jena, A., Goldman, D., Schaeffer, L. D., et al. (2014). Opioid prescribing by multiple providers in Medicare: Retrospective observational study of insurance claims. BMJ, 348, g1393. DOI: 10.1136/bmj.g1393" - }, - { + }, { "type": "citation", "citation": "Liu, Y., Logan, J., Paulozzi, L., et al. (2013). Potential misuse and inappropriate prescription practices involving opioid analgesics. American Journal of Managed Care, 19(8), 648–665. Retrieved from http://www.ajmc.com/journals/issue/2013/2013-1-vol19-n8/Potential-Misuse-and-Inappropriate-Prescription-Practices-Involving-Opioid-Analgesics/" - }, - { + }, { "type": "citation", "citation": "Lin, L. A., Bohnert, A. S., Kerns, R. D., et al. (2017). Impact of the opioid safety initiative on opioid-related prescribing in veterans. Pain, 158(5), 833–839. Retrieved from https://www.ncbi.nlm.nih.gov/pubmed/28240996" - }, - { + }, { "type": "citation", "citation": "Mack, K., Zhang, K., Paulozzi, L., et al. (2015, February). Prescription practices involving opioid analgesics among Americans with Medicaid, 2010. Journal of Health Care for the Poor and Underserved, 26(1), 182–198. Retrieved from http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4365785" - }, - { + }, { "type": "citation", "citation": "National Institute on Drug Abuse. (2011). Analysis of opioid prescription practices finds areas of concern. Retrieved from https://www.drugabuse.gov/news-events/news-releases/2011/04/analysis-opioid-prescription-practices-finds-areas-concern" - }, - { + }, { "type": "citation", "citation": "New York City (NYC) Department of Health and Mental Hygiene (NYC DOHMH). (2013). NYC emergency department discharge opioid-prescribing guidelines. Retrieved from https://www1.nyc.gov/site/doh/providers/health-topics/opioid-prescribing-resources-for-emergency-departments.page" - }, - { + }, { "type": "citation", "citation": "Park, T., Saitz, R., Ganoczy, D., et al. (2015). Benzodiazepine-prescribing patterns and deaths from drug overdose among U.S. veterans receiving opioid analgesics: Case-cohort study. BMJ, 350, h2698. Retrieved from http://www.bmj.com/content/350/bmj.h2698" - }, - { + }, { "type": "citation", "citation": "Rudd, R., Aleshire, N., Zibbell, J., et al. (2016, January). Increases in drug and opioid overdose deaths—United States, 2000–2014. Morbidity and Mortality Weekly Report, 64(50), 1378–1382. Retrieved from http://www.cdc.gov/mmwr/preview/mmwrhtml/mm6450a3.htm" - }, - { + }, { "type": "citation", "citation": "Sun, E., Dixit, A., Humphreys, K., et al. (2017). Association between concurrent use of prescription opioids and benzodiazepines and overdose: Retrospective analysis. BMJ, 356, j760. Retrieved from http://www.bmj.com/content/356/bmj.j760" - }, - { + }, { "type": "citation", "citation": "U.S. Department of Veterans Affairs. (2014). Opioid safety initiative toolkit. Retrieved from https://www.va.gov/PAINMANAGEMENT/Opioid_Safety_Initiative_OSI.asp" - }, - { + }, { "type": "citation", "citation": "U.S. Department of Veterans Affairs. (2016). Opioid safety initiative: Opioids (including tramadol) used in combination with benzodiazepine derivative sedatives/hypnotics. Unpublished manuscript." - }, - { + }, { "type": "citation", "citation": "Washington Agency Medical Directors’ Group (WAMDG). (2015). Interagency guideline on prescribing opioids for pain, Part II: Prescribing opioids in the acute and subacute phase. Retrieved from http://www.agencymeddirectors.wa.gov/Files/2015AMDGOpioidGuideline.pdf" - } - ], - "library": [ - { - "reference": "Library/library-EXM506-FHIR3-2.0.000" - } - ], + } ], + "library": [ { + "reference": "Library/library-EXM506-FHIR3-2.0.000" + } ], "disclaimer": "These performance measures are not clinical guidelines and do not establish a standard of medical care and have not been tested for all potential applications. The measures and specifications are provided without warranty. CMS has contracted with Mathematica for the continued maintenance of this electronic measure.", "scoring": { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-scoring", - "code": "proportion" - } - ] - }, - "type": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-type", - "code": "process" - } - ] - } - ], + "coding": [ { + "system": "http://hl7.org/fhir/measure-scoring", + "code": "proportion" + } ] + }, + "type": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-type", + "code": "process" + } ] + } ], "rationale": "Unintentional opioid overdose fatalities have become a major public health concern in the United States (Rudd et al., 2016). Reducing the number of unintentional overdoses has become a priority for numerous federal organizations including, but not limited to, the Centers for Disease Control and Prevention (CDC), the Federal Interagency Workgroup for Opioid Adverse Drug Events, and the Substance Abuse and Mental Health Services Administration. Concurrent prescriptions of opioids or opioids and benzodiazepines places patients at a greater risk of unintentional overdose due to the increased risk of respiratory depression (Dowell, Haegerich, & Chou, 2016). An analysis of national prescribing patterns shows that more than half of patients who received an opioid prescription in 2009 had filled another opioid prescription within the previous 30 days (National Institute on Drug Abuse, 2011). Studies of multiple claims and prescription databases have shown that between 5%-15% of patients receive concurrent opioid prescriptions and 5%-20% of patients receive concurrent opioid and benzodiazepine prescriptions across various settings (Liu et al., 2013; Mack et al., 2015, Park et al., 2015). Patients who have multiple opioid prescriptions have an increased risk for overdose (Jena et al., 2014). Rates of fatal overdose are ten times higher in patients who are co-dispensed opioid analgesics and benzodiazepines than opioids alone (Dasgupta et al., 2015). The number of opioid overdose deaths involving benzodiazepines increased 14% on average each year from 2006 to 2011, while the number of opioid analgesic overdose deaths not involving benzodiazepines did not change significantly (Jones & McAninch, 2015). Furthermore, concurrent use of benzodiazepines with opioids was prevalent in 31%-51% of fatal overdoses (Dowell, Haegerich, & Chou, 2016). One study found that eliminating concurrent use of opioids and benzodiazepines could reduce the risk of opioid overdose-related ED and inpatient visits by 15% and potentially could have prevented an estimated 2,630 deaths related to opioid painkiller overdoses in 2015 (Sun et al., 2017). A study on The Opioid Safety Initiative in the Veterans Health Administration (VHA), which includes an opioid and benzodiazepine concurrent prescribing measure that this measure is based on, was associated with a decrease of 20.67% overall and 0.86% patients per month (781 patients per month) receiving concurrent benzodiazepine with an opioid among all adult VHA patients who filled outpatient opioid prescriptions from October 2012 to September 2014 (Lin et al., 2017). Adopting a measure that calculates the proportion of patients with two or more opioids or opioids and benzodiazepines concurrently has the potential to reduce preventable mortality and reduce the costs associated with adverse events related to opioid use by (1) encouraging providers to identify patients with concurrent prescriptions of opioids or opioids and benzodiazepines and (2) discouraging providers from prescribing two or more opioids or opioids and benzodiazepines concurrently.", "clinicalRecommendationStatement": "The 2016 CDC Guideline for Prescribing Opioids for Chronic Pain also recommends that: - \"Clinicians should avoid prescribing opioids and benzodiazepines concurrently whenever possible. Clinicians should communicate with others managing the patient to discuss the patient's needs, prioritize patient goals, weigh risks of concurrent benzodiazepine and opioid exposure, and coordinate care.\" \n- \"Clinicians should check the PDMP for concurrent controlled medications prescribed by other clinicians and should consider involving pharmacists and pain specialists as part of the management team when opioids are co-prescribed with other central nervous system depressants.\"\n- \"Experts emphasized that clinicians should communicate with mental health professionals managing the patient to discuss the patient's needs, prioritize patient goals, weigh risks of concurrent benzodiazepine and opioid exposure, and coordinate care.\" \nIn addition to the 2016 CDC Guideline for Prescribing Opioids for Chronic Pain, opioid prescribing guidelines issued by various state agencies and professional societies for various settings agree with the recommendation to avoid concurrently prescribing opioids (AAEM, WAMDG) and opioids and benzodiazepines (WAMDG, ASIPP, NYC DOHMH) whenever possible as the combination of these medications may potentiate opioid-induced respiratory depression. \n The CDC Guideline for Prescribing Opioids for Chronic Pain (Dowell, 2016) also recommends that for patients found to have multiple opioid prescriptions clinicians should: \n- \"Discuss information from the PDMP with their patient and confirm that the patient is aware of the additional prescriptions.\" \n - \"Discuss safety concerns, including increased risk for respiratory depression and overdose, with patients found to be receiving opioids from more than one prescriber or receiving medications that increase risk when combined with opioids and consider offering naloxone.\" \n - \"Discuss safety concerns with other clinicians who are prescribing controlled substances for their patient. Ideally clinicians should first discuss concerns with their patient and inform him or her that they plan to coordinate care with the patient's other prescribers to improve the patient's safety.\"", "improvementNotation": "decrease", "guidance": "Clinician judgement, clinical appropriateness, or both may indicate concurrent prescribing of two unique opioids or an opioid and benzodiazepine is medically necessary, thus the measure is not expected to have a zero rate. \n Inpatient hospitalizations with discharge medications of a new or continuing opioid or a new or continuing benzodiazepine prescription should be included in the initial population. \n Inpatient hospitalizations with discharge medications of two or more new or continuing opioids or new or continuing opioid and benzodiazepine resulting in concurrent therapy at discharge should be included in the numerator.", - "group": [ - { + "group": [ { + "identifier": { + "value": "group-1" + }, + "population": [ { "identifier": { - "value": "group-1" + "value": "initial-population-identifier" }, - "population": [ - { - "identifier": { - "value": "initial-population-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "initial-population", - "display": "Initial Population" - } - ] - }, - "criteria": "Initial Population" - }, - { - "identifier": { - "value": "numerator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "numerator", - "display": "Numerator" - } - ] - }, - "criteria": "Numerator" - }, - { - "identifier": { - "value": "denominator-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator", - "display": "Denominator" - } - ] - }, - "criteria": "Denominator" - }, - { - "identifier": { - "value": "denominator-exclusions-identifier" - }, - "code": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/measure-population", - "code": "denominator-exclusion", - "display": "Denominator Exclusion" - } - ] - }, - "criteria": "Denominator Exclusion" - } - ] - } - ], - "supplementalData": [ - { - "identifier": { - "value": "sde-ethnicity" + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "initial-population", + "display": "Initial Population" + } ] }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Ethnicity" - }, - { + "criteria": "Initial Population" + }, { "identifier": { - "value": "sde-payer" + "value": "numerator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Payer" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "numerator", + "display": "Numerator" + } ] + }, + "criteria": "Numerator" + }, { "identifier": { - "value": "sde-race" + "value": "denominator-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Race" - }, - { + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator", + "display": "Denominator" + } ] + }, + "criteria": "Denominator" + }, { "identifier": { - "value": "sde-sex" + "value": "denominator-exclusions-identifier" }, - "usage": [ - { - "coding": [ - { - "system": "http://hl7.org/fhir/measure-data-usage", - "code": "supplemental-data" - } - ] - } - ], - "criteria": "SDE Sex" - } - ] -} + "code": { + "coding": [ { + "system": "http://terminology.hl7.org/CodeSystem/measure-population", + "code": "denominator-exclusion", + "display": "Denominator Exclusion" + } ] + }, + "criteria": "Denominator Exclusion" + } ] + } ], + "supplementalData": [ { + "identifier": { + "value": "sde-ethnicity" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Ethnicity" + }, { + "identifier": { + "value": "sde-payer" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Payer" + }, { + "identifier": { + "value": "sde-race" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Race" + }, { + "identifier": { + "value": "sde-sex" + }, + "usage": [ { + "coding": [ { + "system": "http://hl7.org/fhir/measure-data-usage", + "code": "supplemental-data" + } ] + } ], + "criteria": "SDE Sex" + } ] +} \ No newline at end of file